Skip to content

ATS-ACC-REC-007Explain partial or unrecoverable settlement money: Capability Test Specification

Markdown

ATS-ACC-REC-007

Explain partial or unrecoverable settlement money: Capability Test Specification

Markdown
  • DocumentProposed

KindAcceptance test setProduct areaAccountingModuleReconciliationRevision3

Read atservices-accounting f47cb263react-console baf6dae3

Coverage

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

Test Scenarios

12 scenarios proving CAP-ACC-REC-007; 8 bound to an existing test.

01 Exact same-sign splittingvalidationapinegativetest
Proves
BR-CAP-ACC-REC-007-01
Preconditions
An unclaimed two-hundred-fifty-dollar capture exists.
Steps
Try one part, an incorrect total and wrong sign, then split into two hundred and fifty dollars.
Expected
Invalid splits fail and the exact same-sign split succeeds.
Data
Provide outstanding fixture for this case.
Bound to
services-accounting:modules/reconciliation/tests/e2e/outstanding.e2e.spec.js#answers 200 with the item resolved as split by the caller
Source
services-accounting:modules/reconciliation/tests/integration/services/persistence/settlement-items.integration.spec.js#refuses parts that do not total the item (400, `split_parts_total`)
02 Held and resolved items cannot be resolved againvalidationapinegativetest
Proves
BR-CAP-ACC-REC-007-02
Preconditions
One item is claimed and another already resolved.
Steps
Try splitting or resolving each.
Expected
Both are rejected, with the holding reconciliation identified for the claimed item.
Data
Provide draft holding the item for this case.
Bound to
services-accounting:modules/reconciliation/tests/e2e/outstanding.e2e.spec.js#refuses an item claimed by a reconciliation with 409 item_claimed
Source
services-accounting:modules/reconciliation/tests/integration/services/persistence/settlement-items.integration.spec.js#refuses an item a reconciliation claims, naming it (409, `item_claimed`)
03 Split preserves evidence and clears the parent probleminteractionapitest
Proves
BR-CAP-ACC-REC-007-03 BR-CAP-ACC-REC-007-04
Preconditions
An overdue item has evidence and an open exception.
Steps
Divide the item.
Expected
Parts retain its facts and evidence; the original becomes split and its open overdue problem closes.
Data
No additional fixture beyond the case setup.
Bound to
services-accounting:modules/reconciliation/tests/integration/services/persistence/settlement-items.integration.spec.js#writes parts that inherit every fact of the parent, with their own amounts, parent and source keys
Source
services-accounting:modules/reconciliation/tests/integration/services/persistence/settlement-items.integration.spec.js#resolves the parent `split`, by the caller, at the next version
04 Signed write-off postingsruleapitest
Proves
BR-CAP-ACC-REC-007-05 BR-CAP-ACC-REC-007-06
Preconditions
A unit has write-off configuration and an open batch.
Steps
Write off positive and negative items, then submit an unknown resolution.
Expected
Balanced write-off requests use opposite sides for the signs; unknown resolution fails.
Data
Provide Write-off default account for this case.
Bound to
services-accounting:modules/reconciliation/tests/integration/services/persistence/settlement-items.integration.spec.js#writes off an item with its entry: Dr the write-off account, Cr the merchant clearing account, in the unit’s batch on its date
services-accounting:modules/reconciliation/tests/integration/services/persistence/settlement-items.integration.spec.js#mirrors the entry of a negative item: Dr the clearing account, Cr the write-off account
services-accounting:modules/reconciliation/tests/integration/services/persistence/settlement-items.integration.spec.js#dates the request on the November batch’s date, the resolution date its document date
services-accounting:modules/reconciliation/tests/e2e/outstanding.e2e.spec.js#refuses a resolution outside the vocabulary with 400
Source
services-accounting:modules/reconciliation/tests/integration/services/persistence/settlement-items.integration.spec.js#writes off an item with its entry: Dr the write-off account, Cr the merchant clearing account, in the unit’s batch on its date
05 Write-off refuses missing accounting setupfailureapinegativetest
Proves
BR-CAP-ACC-REC-007-07
Preconditions
One unit lacks its write-off account and another has only a closed-period batch.
Steps
Resolve an item as written off in each unit.
Expected
Neither resolution commits and the items remain outstanding.
Data
Configure both business units used by the case.
Bound to
services-accounting:modules/reconciliation/tests/integration/services/persistence/settlement-items.integration.spec.js#refuses a write-off where the unit has no write-off account (409, `write_off_account_missing`)
services-accounting:modules/reconciliation/tests/integration/services/persistence/settlement-items.integration.spec.js#leaves the item unresolved when its write-off is refused (the transaction rolled back)
services-accounting:modules/reconciliation/tests/integration/services/persistence/settlement-items.integration.spec.js#refuses a write-off where the unit has no batch for its request (400, `no_open_batch`)
services-accounting:modules/reconciliation/tests/integration/services/persistence/settlement-items.integration.spec.js#leaves the item unresolved, and asks for nothing, when refused for want of a batch
Source
services-accounting:modules/reconciliation/tests/integration/services/persistence/settlement-items.integration.spec.js#refuses a write-off where the unit has no write-off account (409, `write_off_account_missing`)
06 Other resolution needs no ledger entryruleapitest
Proves
BR-CAP-ACC-REC-007-08
Preconditions
An unclaimed item awaits an explanation.
Steps
Resolve it otherwise with a written reason.
Expected
The item is resolved without a ledger request.
Data
No additional fixture beyond the case setup.
Bound to
services-accounting:modules/reconciliation/tests/e2e/outstanding.e2e.spec.js#answers 200 with the item resolved otherwise by the caller
Source
services-accounting:modules/reconciliation/tests/integration/services/persistence/settlement-items.integration.spec.js#resolves an item otherwise, asking the ledger for nothing
07 Resolution permissions and request keyspermissionapinegativetest
Proves
BR-CAP-ACC-REC-007-09 BR-CAP-ACC-REC-007-10
Preconditions
An unauthorized caller and an existing keyed split are available.
Steps
Try the unauthorized split, unchanged and changed retries and keyless split or resolution.
Expected
Missing authority or keys and changed bodies fail; unchanged replay returns the stored result.
Data
Assign callers through the relevant role policies.
Bound to
services-accounting:modules/reconciliation/tests/e2e/outstanding.e2e.spec.js#refuses a principal without accounting.settlement-items.resolve with 403
services-accounting:modules/reconciliation/tests/e2e/outstanding.e2e.spec.js#answers the same request under the same key with the first answer
services-accounting:modules/reconciliation/tests/e2e/outstanding.e2e.spec.js#refuses the same key with another request with 409 idempotency_key_reused
services-accounting:modules/reconciliation/tests/e2e/outstanding.e2e.spec.js#refuses a split without an Idempotency-Key with 400 idempotency_key_required
Source
services-accounting:modules/reconciliation/tests/e2e/outstanding.e2e.spec.js#refuses a principal without accounting.settlement-items.resolve with 403
08 Part-paid capture resolution journeyinteractionapitest
Proves
BR-CAP-ACC-REC-007-01 BR-CAP-ACC-REC-007-06 BR-CAP-ACC-REC-007-07 AS-JNY-ACC-REC-004-03
Preconditions
A claimed capture is partly paid by the processor.
Steps
Release, split, reconcile and finalize the paid part, then write off the remainder with and without its configured account.
Expected
The paid part settles; write-off succeeds only with complete accounting setup and clears the remaining problem.
Data
Provide Two REC units for this case.
Bound to
Source
react-console:acceptance/accounting/playwright/journeys/reconciliation-close/ACT-ACC-0603.spec.ts#ACT-ACC-0603
09 Splitting and write-off change outstanding positionsinteractionapiproposed
Proves
BR-CAP-ACC-REC-007-01 BR-CAP-ACC-REC-007-06 BR-CAP-ACC-REC-007-07 AS-JNY-ACC-REC-004-03 BR-CAP-ACC-REC-006-01
Preconditions
Use one isolated workspace with the financial records and caller roles required by the relied-on cases.
Steps
[ { "do": "Inspect a free overdue item, split it and write off the unpaid part before rereading positions.", "expect": "The parent is resolved and its parts retain the original total; the written-off part stops being outstanding.", "provenance": "proposed", "source": [ "specs/accounting/reconciliation/planning/capabilities/CAP-ACC-REC-007-split-or-write-off-money-that-will-never-arrive-as-recorded.md", "specs/accounting/reconciliation/planning/capabilities/CAP-ACC-REC-006-see-what-money-is-in-transit-late-or-missing.md" ] } ]
Expected
The parent is resolved and its parts retain the original total; the written-off part stops being outstanding.
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-007-split-or-write-off-money-that-will-never-arrive-as-recorded.md,specs/accounting/reconciliation/planning/capabilities/CAP-ACC-REC-006-see-what-money-is-in-transit-late-or-missing.md
10 Item resolution concludes overdue workinteractionapiproposed
Proves
BR-CAP-ACC-REC-007-03 BR-CAP-ACC-REC-007-04 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": "Raise overdue work for a free item, resolve it with an explanation and reload its concern.", "expect": "The concern closes with the explanation while the financial record remains reviewable.", "provenance": "proposed", "source": [ "specs/accounting/reconciliation/planning/capabilities/CAP-ACC-REC-007-split-or-write-off-money-that-will-never-arrive-as-recorded.md", "specs/accounting/reconciliation/planning/capabilities/CAP-ACC-REC-015-raise-work-and-resolve-reconciliation-problems.md" ] } ]
Expected
The concern closes with the explanation while the financial record remains reviewable.
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-007-split-or-write-off-money-that-will-never-arrive-as-recorded.md,specs/accounting/reconciliation/planning/capabilities/CAP-ACC-REC-015-raise-work-and-resolve-reconciliation-problems.md
11 Write-off supplies a batch requestinteractionapiproposed
Proves
BR-CAP-ACC-REC-007-05 BR-CAP-ACC-REC-007-06 BR-CAP-ACC-REC-014-01 BR-CAP-ACC-REC-014-02 BR-CAP-ACC-REC-014-03
Preconditions
Use one isolated workspace with the financial records and caller roles required by the relied-on cases.
Steps
[ { "do": "Write off a positive overdue item and inspect its operational requests before posting.", "expect": "The item is resolved and its distinct request remains pending in the selected batch.", "provenance": "proposed", "source": [ "specs/accounting/reconciliation/planning/capabilities/CAP-ACC-REC-007-split-or-write-off-money-that-will-never-arrive-as-recorded.md", "specs/accounting/reconciliation/planning/capabilities/CAP-ACC-REC-014-hand-reconciliations-accounting-to-the-ledger-through-the.md" ] } ]
Expected
The item is resolved and its distinct request remains pending in the selected batch.
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-007-split-or-write-off-money-that-will-never-arrive-as-recorded.md,specs/accounting/reconciliation/planning/capabilities/CAP-ACC-REC-014-hand-reconciliations-accounting-to-the-ledger-through-the.md
12 Failed accounting leaves write-off unresolvedinteractionapinegativeproposed
Proves
BR-CAP-ACC-REC-007-07 BR-CAP-ACC-REC-014-01 BR-CAP-ACC-REC-014-02 BR-CAP-ACC-REC-014-03
Preconditions
Use one isolated workspace with the financial records and caller roles required by the relied-on cases.
Steps
[ { "do": "Try write-off without an accepting batch, repair the batch context and retry.", "expect": "The first attempt changes no resolution or request; retry retains both together.", "provenance": "proposed", "source": [ "specs/accounting/reconciliation/planning/capabilities/CAP-ACC-REC-007-split-or-write-off-money-that-will-never-arrive-as-recorded.md", "specs/accounting/reconciliation/planning/capabilities/CAP-ACC-REC-014-hand-reconciliations-accounting-to-the-ledger-through-the.md" ] } ]
Expected
The first attempt changes no resolution or request; retry retains both together.
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-007-split-or-write-off-money-that-will-never-arrive-as-recorded.md,specs/accounting/reconciliation/planning/capabilities/CAP-ACC-REC-014-hand-reconciliations-accounting-to-the-ledger-through-the.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.