Skip to content

CAP-ACC-PRD-014Configure a purchase confirmation message

Markdown

CAP-ACC-PRD-014

Configure a purchase confirmation message

Markdown
  • DocumentDraft
  • Product intentProposed
  • ImplementationPartially observed

KindCapabilityProduct areaAccountingModuleProductsRevision5

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
Confirmation choices remain consistent with product configuration.
Surfaces
api
Intent sources
services-accounting:docs/milestones/ACCT-M1-books-and-invoices.md#R22

Controls

28 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-LOG-001 TC-LOG-002 TC-LOG-003 TC-LOG-004 TC-LOG-005 TC-AVL-004 TC-MON-002 TC-PI-001 TC-PI-003 TC-PI-004 TC-PI-005 TC-PRV-001 TC-PRV-002

Permissions

KeyChecked atScope
accounting.products.updateapitenant

Business Rules

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

IdRuleKindEnforced atProvenance
01
Proposed
Confirmation configuration selects either a product-owned template or a shared workspace template for product confirmations, with an empty setting disabling it.
policyapi, databasetest
02must prove
Proposed
A newly selected shared template must be active, belong to the workspace and confirmation purpose, and have no record owner.
validationservicetest
03must prove
Proposed
Platform stores product-owned content and validates its Liquid, allowed variables and required reply-to information.
validationservicetest
04must prove
Proposed
Accounting requests template changes after its product writes but before committing, and a Platform failure rolls back those product writes.
invariantservicetest
05must prove
Proposed
Disabling a product-owned confirmation or choosing a shared template clears the previously owned template.
lifecycleservicetest
06must prove
Proposed
Omitting confirmation configuration preserves both setting and template; supplied owned content merges retained fields and clears optional fields explicitly set empty.
policyapi, servicetest
07
Proposed
The documented confirmation purpose provides product and unit details, line quantity and price, and customer name.
policydocumented
08
Proposed
The current console hides confirmation controls.
policyconsoleobserved

Scenarios

IdGivenWhenThenProvenance
01A product uses an owned confirmation template.A client supplies content Platform rejects.The product remains unchanged and the refusal identifies the content problem.test

Edge Cases

IdGivenWhenThenProvenance
02A product has owned confirmation content.Replacement omits confirmation configuration.Both content and setting remain and no Platform call is made.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.