Skip to content

CAP-ACC-BKS-015Select templates for business documents

Markdown

CAP-ACC-BKS-015

Select templates for business documents

Markdown
  • DocumentDraft
  • Product intentConfirmed
  • ImplementationPartially observed

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
Resolution selects explicit, configured or built-in content while excluding inactive templates.Assignments protect the templates that document production still uses.
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#D2

Controls

24 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-TEN-004 TC-DAT-001 TC-DAT-004 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.business-units.updateapitenant
accounting.settings.updateapitenant
accounting.document-templates.readapitenant

Business Rules

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

IdRuleKindEnforced atProvenance
01must prove
Confirmed
Resolution prefers an explicit template, then the unit’s kind-specific choice or workspace statement default, then the built-in, with batch downloads using the unit’s software-package format.
calculationservicetest
02must prove
Confirmed
A missing, wrong-kind or inactive explicit template is refused rather than silently substituted.
validationservicetest
services-accounting:modules/books/tests/unit/document-templates/resolution.spec.js#refuses an inactive template named explicitly, in Rhythm 1.0’s words
03must prove
Confirmed
A unit using QuickBooks Online or Other without its own download template receives the legacy no-format refusal.
validationservicetest
services-accounting:modules/books/tests/unit/document-templates/resolution.spec.js#refuses a download for a QuickBooks Online unit, whose entries Rhythm 1.0 pushed through its API
04must prove
Confirmed
Unit document choices and the statement default accept only active same-workspace templates of the matching kind; empty choices mean built-in and explicit built-in identifiers are refused.
validationservice, databasetest
services-accounting:modules/books/tests/e2e/document-templates.e2e.spec.js#answers 400 to a business unit naming an inactive template
05must prove
Confirmed
Templates referenced by units or the statement default cannot be deleted or deactivated, and reads identify their users.
invariantservice, databasetest
services-accounting:modules/books/tests/e2e/document-templates.e2e.spec.js#answers 409 to deleting the business unit’s template, naming the unit
06must prove
Confirmed
The shared resolver never renders an inactive template for any document kind.
policyservicetest
services-accounting:modules/books/tests/unit/document-templates/resolution.spec.js#refuses an inactive statement template named explicitly, which Rhythm 1.0 rendered
07must prove
Confirmed
Omitting a unit template choice on replacement restores that kind’s built-in choice.
policyservicetest
services-accounting:modules/books/tests/integration/services/persistence/document-templates.integration.spec.js#returns a unit to the built-in when a replacement leaves its reference out
08
Confirmed
Which document producers adopt the shared resolution order remains unestablished within this module’s permitted source scope.
policyunknown

Scenarios

IdGivenWhenThenProvenance
01A chapter has selected a customer invoice template.The controller requests deletion and then deactivation of that template.Both requests identify the chapter and refuse the change.test
02The unit selects QuickBooks Online as its software.A download is resolved with no customer template selected.Resolution refuses because no built-in file format applies.test
services-accounting:modules/books/tests/unit/document-templates/resolution.spec.js#refuses a download for a QuickBooks Online unit, whose entries Rhythm 1.0 pushed through its API

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.