Skip to content

CAP-ACC-BKS-007Configure where received money lands

Markdown

CAP-ACC-BKS-007

Configure where received money lands

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
Receiving configuration directs money to accounts in the appropriate unit and currency.Bank-number storage is limited to four digits and processor references exclude credentials.
Surfaces
consoleapi
Intent sources
services-accounting:docs/milestones/plans/ACCT-M1-plan.md#2. Scopeservices-accounting:docs/milestones/ACCT-M1-books-and-invoices.md#D2services-accounting:docs/milestones/ACCT-M1-books-and-invoices.md#R5services-accounting:docs/milestones/ACCT-M1-books-and-invoices.md#R6

Controls

32 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-SEC-001 TC-SEC-002 TC-SEC-003 TC-SEC-004 TC-CRY-001 TC-DAT-001 TC-DAT-002 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-VEN-001 TC-VEN-002 TC-VEN-003

Permissions

KeyChecked atScope
accounting.bank-accounts.readapitenant
accounting.bank-accounts.createapitenant
accounting.bank-accounts.updateapitenant
accounting.bank-accounts.deleteapitenant
accounting.merchant-accounts.readapitenant
accounting.merchant-accounts.createapitenant
accounting.merchant-accounts.updateapitenant
accounting.merchant-accounts.deleteapitenant
accounting.application.accessapitenant

Business Rules

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

IdRuleKindEnforced atProvenance
01must prove
Confirmed
Bank and merchant accounts require a GL account from their own business unit, and a cross-unit reference is refused with both units identified.
validationapi, service, databasetest
services-accounting:modules/books/tests/e2e/bank-accounts.e2e.spec.js#answers 400 to another unit’s GL account, naming both units
02must prove
Confirmed
A bank account stores exactly four account-number digits or none, with no full account-number or routing-number field.
validationapi, databasetest
services-accounting:modules/books/tests/e2e/bank-accounts.e2e.spec.js#answers 400 to an account_number_last4 of five digits
03must prove
Confirmed
Bank and merchant accounts retain their original business unit and currency.
invariantservice, databasetest
services-accounting:modules/books/tests/e2e/bank-accounts.e2e.spec.js#answers 409 to a change of currency, naming the column (0049)
04must prove
Confirmed
A merchant account may choose one of four known processors and may store a processor account reference only with that processor, without storing a credential.
validationapi, service, databasetest
services-accounting:modules/books/tests/e2e/merchant-accounts.e2e.spec.js#answers 400 to a processor account reference without a processor
05must prove
Confirmed
Merchant accounts report Not Connected during this implementation phase even when a processor is selected.
policyservice, consoletest
services-accounting:modules/books/tests/e2e/merchant-accounts.e2e.spec.js#answers the processing status not_connected all the same
06must prove
Confirmed
Reconciliation owns merchant settlement-bank and timing settings, which this API omits and preserves on replacement.
policyservicetest
services-accounting:modules/books/tests/integration/services/persistence/merchant-accounts.integration.spec.js#leaves the settlement columns payout reconciliation owns as they were stored
07must prove
Confirmed
A bank account used as a merchant account’s settlement destination cannot be deleted.
invariantdatabasetest
08
Confirmed
Bank lists sort by unit and name, merchant lists by unit, priority with empty priorities last and name; both support unit, currency, activity and name or identifier search, merchants also filter by processor, and processor lookup needs only application access.
policyapi, servicetest
services-accounting:modules/books/tests/e2e/merchant-accounts.e2e.spec.js#answers every account by business unit, then priority with none last, then name
09must prove
Confirmed
A restricting reference, including a batch assignment rule or payout, prevents deletion of a bank or merchant account and identifies the dependent kind.
validationserviceobserved

Scenarios

IdGivenWhenThenProvenance
01The chapter’s operating bank account ends in 4421.The controller links it to the chapter’s cash GL account.The list presents masked account-number information and the associated GL account.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.