Skip to content

ATS-ACC-REC-003Verify payouts using bank evidence: Capability Test Specification

Markdown

ATS-ACC-REC-003

Verify payouts using bank evidence: Capability Test Specification

Markdown
  • DocumentProposed

KindAcceptance test setProduct areaAccountingModuleReconciliationRevision3

Read atservices-accounting f47cb263react-console baf6dae3

Coverage

  • Rule covered
  • Transition covered
  • Permission covered
  • Failure covered
  • Invariant covered
  • Interaction covered
  • Validation gap: FND-ACC-REC-048
  • Edge gap: FND-ACC-REC-048
  • Boundary gap: FND-ACC-REC-048
  • Concurrency gap: FND-ACC-REC-048

Test Scenarios

8 scenarios proving CAP-ACC-REC-003; 4 bound to an existing test.

01 Verification requires authority and evidencepermissionapinegativetest
Proves
BR-CAP-ACC-REC-003-01 BR-CAP-ACC-REC-003-09
Preconditions
A payout is ready for verification.
Steps
Omit evidence, use a caller without verify, then repeat a complete keyed verification.
Expected
Missing evidence and permission fail; a valid repeated request records only one verification.
Data
Provide statement asset id for this case.
Bound to
services-accounting:modules/reconciliation/tests/e2e/payouts.e2e.spec.js#refuses a verification without its evidence with 400 naming the field
services-accounting:modules/reconciliation/tests/e2e/payouts.e2e.spec.js#refuses a principal without accounting.payouts.verify with 403
Source
services-accounting:modules/reconciliation/tests/e2e/payouts.e2e.spec.js#refuses a verification without its evidence with 400 naming the field
02 Bank agreement controls the accounting dayruleapitest
Proves
BR-CAP-ACC-REC-003-02 BR-CAP-ACC-REC-003-03 BR-CAP-ACC-REC-003-04
Preconditions
The reported payout day precedes its bank-posted day.
Steps
Verify agreement and name the same statement again.
Expected
Verification records person and time, accounting uses the posted day and evidence remains singular.
Data
Provide two-period calendar for this case.
Bound to
services-accounting:modules/reconciliation/tests/integration/services/persistence/payouts.integration.spec.js#records the verification, the bank’s posted date becoming the accounting date, and keeps the statement as evidence
services-accounting:modules/reconciliation/tests/unit/rules/payout-rules.spec.js#is the bank posted date once the bank verified the payout
services-accounting:modules/reconciliation/tests/unit/rules/payout-rules.spec.js#is the reported deposit date while the bank evidence is a mismatch
services-accounting:modules/reconciliation/tests/unit/rules/payout-rules.spec.js#is the processor funding date when nothing was reported
Source
services-accounting:modules/reconciliation/tests/integration/services/persistence/payouts.integration.spec.js#records the verification, the bank’s posted date becoming the accounting date, and keeps the statement as evidence
03 Mismatch lifecycle and outcome consistencytransitionapitest
Proves
BR-CAP-ACC-REC-003-05 BR-CAP-ACC-REC-003-06 BR-CAP-ACC-REC-003-07
Preconditions
The payout starts bank-unverified.
Steps
Supply a mismatch amount, repeat mismatch, contradict the outcome and finally verify agreement.
Expected
One informative warning opens, contradictory money fails and later agreement closes it.
Data
No additional fixture beyond the case setup.
Bound to
services-accounting:modules/reconciliation/tests/integration/services/persistence/payouts.integration.spec.js#keeps the reported date as the accounting date of a mismatch and raises a bank-mismatch exception
services-accounting:modules/reconciliation/tests/integration/services/persistence/payouts.integration.spec.js#says what the bank showed and by how much it differs, in the exception’s title and description (DEF-ACT-0593)
services-accounting:modules/reconciliation/tests/integration/services/persistence/payouts.integration.spec.js#raises no second exception for a second mismatch while the first is open
services-accounting:modules/reconciliation/tests/integration/services/persistence/payouts.integration.spec.js#resolves the open mismatch when the bank’s evidence later verifies the payout
Source
services-accounting:modules/reconciliation/tests/integration/services/persistence/payouts.integration.spec.js#keeps the reported date as the accounting date of a mismatch and raises a bank-mismatch exception
04 Finalized payout cannot be reverifiedinvariantapinegativetest
Proves
BR-CAP-ACC-REC-003-08
Preconditions
A finalized reconciliation owns the payout.
Steps
Submit another bank verification.
Expected
The service refuses verification of the reconciled record.
Data
Provide finalized reconciliation for this case.
Bound to
Source
services-accounting:modules/reconciliation/tests/integration/services/persistence/payouts.integration.spec.js#refuses a payout in a finalized reconciliation with payout-reconciled
05 Live rejection of incomplete console verificationfailurebrowsernegativeproposed
Proves
BR-CAP-ACC-REC-003-10
Preconditions
An editable payout and verify permission are available.
Steps
Invoke the console verification command against the live route.
Expected
Missing required bank fields cause refusal and verification stays unset.
Data
Provide statement asset; the live service for this case.
Source
FND-ACC-REC-001
06 Verification across a period boundaryinteractionapiproposed
Proves
BR-CAP-ACC-REC-003-03 BR-CAP-ACC-REC-003-05 BR-CAP-ACC-REC-003-06 AS-JNY-ACC-REC-002-03
Preconditions
A payout is reported on the last day of a month.
Steps
Record mismatch, verify the correct bank line, finalize and attempt another change.
Expected
The warning closes, accounting moves to the next month and finalization prevents further change.
Data
Use the isolated reconciliation fixture unit.
Source
FND-ACC-REC-026
07 Bank agreement concludes mismatch workinteractionapiproposed
Proves
BR-CAP-ACC-REC-003-05 BR-CAP-ACC-REC-003-06 BR-CAP-ACC-REC-003-07 BR-CAP-ACC-REC-015-07
Preconditions
Use one isolated workspace with the financial records and caller roles required by the relied-on cases.
Steps
[ { "do": "Report bank disagreement, inspect the warning and record agreement at the next version.", "expect": "The same warning closes and retains the earlier mismatch history.", "provenance": "proposed", "source": [ "specs/accounting/reconciliation/planning/capabilities/CAP-ACC-REC-003-prove-a-deposit-against-the-banks-own-record.md", "specs/accounting/reconciliation/planning/capabilities/CAP-ACC-REC-015-raise-work-and-resolve-reconciliation-problems.md" ] } ]
Expected
The same warning closes and retains the earlier mismatch history.
Data
Local merchant and bank accounts, an open operational batch and distinct preparation and approval callers.
Source
specs/accounting/reconciliation/planning/capabilities/CAP-ACC-REC-003-prove-a-deposit-against-the-banks-own-record.md,specs/accounting/reconciliation/planning/capabilities/CAP-ACC-REC-015-raise-work-and-resolve-reconciliation-problems.md
08 Bank day changes period assessmentinteractionapiproposed
Proves
BR-CAP-ACC-REC-003-02 BR-CAP-ACC-REC-003-03 BR-CAP-ACC-REC-003-04 BR-CAP-ACC-REC-018-02 BR-CAP-ACC-REC-018-03
Preconditions
Use one isolated workspace with the financial records and caller roles required by the relied-on cases.
Steps
[ { "do": "Record agreement with a bank day in the following month and assess both months.", "expect": "The payout appears in the bank month and no longer carries its payout finding in the earlier month.", "provenance": "proposed", "source": [ "specs/accounting/reconciliation/planning/capabilities/CAP-ACC-REC-003-prove-a-deposit-against-the-banks-own-record.md", "specs/accounting/reconciliation/planning/capabilities/CAP-ACC-REC-018-tell-month-end-close-what-stops-a-period-from-closing.md" ] } ]
Expected
The payout appears in the bank month and no longer carries its payout finding in the earlier month.
Data
Local merchant and bank accounts, an open operational batch and distinct preparation and approval callers.
Source
specs/accounting/reconciliation/planning/capabilities/CAP-ACC-REC-003-prove-a-deposit-against-the-banks-own-record.md,specs/accounting/reconciliation/planning/capabilities/CAP-ACC-REC-018-tell-month-end-close-what-stops-a-period-from-closing.md

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.