Skip to content

CAP-ACC-BKS-006Assign accounts to standard posting purposes

Markdown

CAP-ACC-BKS-006

Assign accounts to standard posting purposes

Markdown
  • DocumentDraft
  • Product intentConfirmed
  • ImplementationInconsistent

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
A posting purpose selects no more than one active account of its unit.The chart highlights important unassigned defaults.Account configuration gaps are addressed during posting without blocking invoice issue.
Surfaces
consoleapi
Intent sources
services-accounting:docs/milestones/ACCT-M1-books-and-invoices.md#R2services-accounting:docs/milestones/ACCT-M1-books-and-invoices.md#D12services-accounting:docs/architecture/accounting-2.0/02-decisions.md#A-1

Controls

23 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-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.readapitenant
accounting.business-units.updateapitenant
accounting.application.accessapitenant

Business Rules

8 rules, 4 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
The default-purpose vocabulary returns fifteen purposes in display order: nine legacy purposes, four reconciliation purposes, sales tax payable and doubtful-account allowance, with expected types supplied as guidance.
policydatabase, apitest
services-accounting:modules/books/tests/e2e/default-gl-accounts.e2e.spec.js#answers all fifteen purposes in display order, with the count
02must prove
Confirmed
Each purpose has at most one assigned active GL account of its own unit; a new assignment replaces the previous one and cross-unit choices identify both units in the refusal.
validationapi, service, databasetest
services-accounting:modules/books/tests/e2e/default-gl-accounts.e2e.spec.js#answers 400 to another unit’s GL account, naming both units
03must prove
Confirmed
Reading defaults requires business-unit read permission, while assignment and clearing require business-unit update permission.
permissionapitest
services-accounting:modules/books/tests/e2e/default-gl-accounts.e2e.spec.js#refuses that principal an assignment 403 permission_missing
04
Confirmed
Clearing a purpose removes its assignment and succeeds even when the assignment is already absent.
lifecycleservicetest
services-accounting:modules/books/tests/integration/services/persistence/default-gl-accounts.integration.spec.js#answers the purpose with no account when clearing a purpose the unit has no default for
05
Confirmed
The service accepts a default account whose type differs from the purpose’s expected types.
policyservice, databaseobserved
06
Confirmed
Missing default accounts do not prevent invoice issue; posting resolves them later and reports a document error if neither the document nor the unit supplies the needed account.
policyservicedocumented
07must prove
Confirmed
The Chart of Accounts page offers the assignment drawer and displays Default Accounts Needed while receivables, deferred revenue, bad-debt expense, missing-product revenue or sales tax payable is unassigned.
policyconsoledocumented
08
Confirmed
The console offers only active accounts in the selected unit with types expected by the purpose.
policyconsoleobserved

Scenarios

IdGivenWhenThenProvenance
01A chapter has GL accounts but no assigned defaults.The controller visits the chapter’s chart.The missing-default notice identifies the gaps; completing the assignment drawer removes the notice.test
02A user has business-unit read permission only.They inspect defaults and request clearing of an assignment.Reading succeeds, but clearing is refused without changing the assignment.test
services-accounting:modules/books/tests/e2e/default-gl-accounts.e2e.spec.js#leaves accounts_receivable assigned after the refused clear

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.