Skip to content

CAP-ACC-BKS-014Prepare Accounting document and export templates

Markdown

CAP-ACC-BKS-014

Prepare Accounting document and export templates

Markdown
  • DocumentDraft
  • Product intentConfirmed
  • ImplementationObserved

KindCapabilityProduct areaAccountingModuleBooks, Business Units and Chart of AccountsRevision1

Read atservices-accounting f47cb263react-console baf6dae3

The Formal Contract

The narrative above explains; the sections below are authoritative — the rules, scenarios and tests this document binds.

Outcomes
Saved sources pass template validation.Protected built-ins provide a starting point for customer copies.Preview makes draft output inspectable before delivery.
Surfaces
consoleapi
Intent sources
services-accounting:docs/milestones/plans/ACCT-M1-plan.md#3. How it works for the userservices-accounting:docs/milestones/ACCT-M1-books-and-invoices.md#R25services-accounting:docs/milestones/ACCT-M1-books-and-invoices.md#D11

Controls

25 controls apply, from the corpus control catalogue.

TC-IAM-001 TC-IAM-002 TC-IAM-004 TC-IAM-005 TC-AZ-001 TC-AZ-002 TC-AZ-003 TC-AZ-004 TC-AZ-005 TC-AZ-006 TC-TEN-001 TC-TEN-002 TC-TEN-003 TC-DAT-001 TC-DAT-002 TC-DAT-004 TC-DAT-005 TC-LOG-001 TC-LOG-002 TC-LOG-003 TC-LOG-004 TC-LOG-005 TC-PI-001 TC-PI-003 TC-PI-005

Permissions

KeyChecked atScope
accounting.document-templates.readapitenant
accounting.document-templates.createapitenant
accounting.document-templates.updateapitenant
accounting.document-templates.deleteapitenant

Business Rules

10 rules, 7 to be proved before approval. A rule's product intent is derived from its origin: 10 confirmed by a product decision, the rest inheriting this capability's confirmed.

IdRuleKindEnforced atProvenance
01must prove
Confirmed
Templates have one immutable kind among invoice, payment receipt, refund receipt, statement and batch download.
invariantapi, service, databasetest
services-accounting:modules/books/tests/e2e/document-templates.e2e.spec.js#answers 409 to a change of kind, which is write-once
02must prove
Confirmed
Saved body, e-mail and filename sources must be valid Liquid using the kind’s variables and permitted currency, number, row-number, title-case and date filters; problems identify field and position together and Handlebars input receives Liquid guidance.
validationapi, servicetest
services-accounting:modules/books/tests/e2e/document-templates.e2e.spec.js#answers 400 naming the line and column of Liquid that cannot be read
03must prove
Confirmed
E-mail requires subject and body together and permits sender, reply-to and copies only with them; statements require e-mail, downloads instead require CSV, IIF or text output and a filename, and normalized copy addresses number at most ten.
validationapi, databasetest
04must prove
Confirmed
Statements default to all customer contacts or select contacts through one to fifty named roles.
policyapi, databasetest
services-accounting:modules/books/tests/e2e/document-templates.e2e.spec.js#sends a statement to all contacts when send_to is not stated
05must prove
Confirmed
The nine built-ins—four document templates and five software downloads—list first and allow reading, preview and duplication, but reject replacement, deletion and customer reuse of their identifiers.
policyservice, databasetest
06must prove
Confirmed
Duplication copies the complete content of a built-in or customer template into a new active template with a new identifier.
lifecycleservicetest
services-accounting:modules/books/tests/e2e/document-templates.e2e.spec.js#copies a built-in into a new, active tenant template with the built-in’s content
07must prove
Confirmed
Preview renders unsaved sources against kind-specific samples, escapes documents as HTML and exports as plain text, identifies empty fields and problems and still renders unaffected parts.
calculationservicetest
08
Confirmed
Each kind exposes allowed variables with type, description and example together with its available filters.
policyapi, servicetest
services-accounting:modules/books/tests/e2e/document-templates.e2e.spec.js#describes each merge field with its type, description and example
09
Confirmed
The console separates template kinds into tabs without a kind column or filter, creates within the current tab and opens read-only editors for readers.
policyconsoledocumented
10
Confirmed
The built-in invoice template contains no invoice line items.
policyservicedocumented

Scenarios

IdGivenWhenThenProvenance
01The chapter needs a personalized invoice greeting.The controller copies the built-in, inserts an invalid merge-field name and saves it.The error identifies the position; correcting the field permits saving.test

The Markdown files under specs/ in rhythmsoftware/rhythm-v2-docs are the canonical source of truth. This reader is a generated, read-only projection of them.