Skip to content

ATS-ACC-REC-006Distinguish money in transit from missing settlement: Capability Test Specification

Markdown

ATS-ACC-REC-006

Distinguish money in transit from missing settlement: Capability Test Specification

Markdown
  • DocumentProposed

KindAcceptance test setProduct areaAccountingModuleReconciliationRevision3

Read atservices-accounting f47cb263react-console baf6dae3

Coverage

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

Test Scenarios

11 scenarios proving CAP-ACC-REC-006; 8 bound to an existing test.

01 Outstanding-state precedenceruleunittest
Proves
BR-CAP-ACC-REC-006-01
Preconditions
Items vary by resolution, holdings, eligibility and exception status.
Steps
Calculate their requested-day states.
Expected
The earliest applicable precedence branch determines each result.
Data
No additional fixture beyond the case setup.
Bound to
services-accounting:modules/reconciliation/tests/unit/rules/outstanding-state.spec.js#is resolved when the item has a resolution, even with a finalized claim
services-accounting:modules/reconciliation/tests/unit/rules/outstanding-state.spec.js#is settled when its active claim is finalized, even long overdue
services-accounting:modules/reconciliation/tests/unit/rules/outstanding-state.spec.js#is in an open reconciliation when its active claim is open, even long overdue
Source
services-accounting:modules/reconciliation/tests/unit/rules/outstanding-state.spec.js#is resolved when the item has a resolution, even with a finalized claim
02 Grace and calendar boundariesboundaryunittest
Proves
BR-CAP-ACC-REC-006-02 BR-CAP-ACC-REC-006-03
Preconditions
A two-business-day grace and an override are available.
Steps
Evaluate expected-day, weekend, holiday and final-grace boundaries.
Expected
Transit and late persist through their inclusive end days, followed by the appropriate overdue state.
Data
No additional fixture beyond the case setup.
Bound to
services-accounting:modules/reconciliation/tests/unit/rules/outstanding-state.spec.js#is late the day after its expected date, over the weekend
services-accounting:modules/reconciliation/tests/unit/rules/outstanding-state.spec.js#is still late on the Tuesday when the grace runs over Columbus Day
services-accounting:modules/reconciliation/tests/integration/services/persistence/settlement-items.queries.integration.spec.js#names the grace of the merchant account’s override and the payment a capture came from
Source
services-accounting:modules/reconciliation/tests/unit/rules/outstanding-state.spec.js#is late the day after its expected date, over the weekend
03 Outstanding list filters and refusalsvalidationapinegativetest
Proves
BR-CAP-ACC-REC-006-04 BR-CAP-ACC-REC-006-05
Preconditions
Items span states, units and operational batches.
Steps
Exercise list filters and cursors, then send unsupported state, cursor and date values.
Expected
Valid pages retain chronological status-bearing records; invalid queries fail.
Data
Provide outstanding fixture for this case.
Bound to
services-accounting:modules/reconciliation/tests/e2e/outstanding.e2e.spec.js#answers 200 with alpha’s items oldest first, each with its derived state at asOf
services-accounting:modules/reconciliation/tests/e2e/outstanding.e2e.spec.js#answers the calendar days each item has been outstanding since its local occurrence date
Source
services-accounting:modules/reconciliation/tests/e2e/outstanding.e2e.spec.js#answers 200 with alpha’s items oldest first, each with its derived state at asOf
04 State summaries respect processor selectionruleapitest
Proves
BR-CAP-ACC-REC-006-06
Preconditions
Settlement records use two processors.
Steps
Read a unit summary and repeat for one processor.
Expected
Counts and signed amounts group by state, processor and currency within the selection.
Data
No additional fixture beyond the case setup.
Bound to
services-accounting:modules/reconciliation/tests/e2e/outstanding.e2e.spec.js#answers 200 with alpha’s counts and totals by state, processor and currency
Source
services-accounting:modules/reconciliation/tests/e2e/outstanding.e2e.spec.js#answers 200 with alpha’s counts and totals by state, processor and currency
05 Payout suggestions before eligibilityedgeapitest
Proves
BR-CAP-ACC-REC-006-07
Preconditions
A pending item and a free payout share the expected arrival day.
Steps
Read the settlement list and item detail.
Expected
The free compatible payout is offered despite the item not yet being eligible.
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, its state facts and the payout that may carry it
Source
services-accounting:modules/reconciliation/tests/integration/services/persistence/settlement-items.queries.integration.spec.js#offers the free payout dated on its expected date, in the list
06 SQL and pure state agree by dayinvariantapitest
Proves
BR-CAP-ACC-REC-006-08
Preconditions
A post-cut-off capture spans the Columbus Day calendar.
Steps
Compare list results and pure status at each boundary day.
Expected
The two calculations give the same literal state throughout the boundaries.
Data
Provide calendar fixture for this case.
Bound to
services-accounting:modules/reconciliation/tests/integration/services/persistence/settlement-items.queries.integration.spec.js#answers the same literal state for every item on Friday 2026-10-09, the expected date, by the SQL and by the rule
services-accounting:modules/reconciliation/tests/integration/services/persistence/settlement-items.queries.integration.spec.js#answers the same literal state for every item on Monday 2026-10-12, Columbus Day, by the SQL and by the rule
services-accounting:modules/reconciliation/tests/integration/services/persistence/settlement-items.queries.integration.spec.js#answers the same literal state for every item on Thursday 2026-10-15, past the grace, by the SQL and by the rule
Source
services-accounting:modules/reconciliation/tests/integration/services/persistence/settlement-items.queries.integration.spec.js#answers the same literal state for every item on Friday 2026-10-09, the expected date, by the SQL and by the rule
07 Read permission and isolationpermissionapinegativetest
Proves
BR-CAP-ACC-REC-006-09
Preconditions
Two workspaces include a caller without settlement read.
Steps
List, summarize and inspect items as permitted and unpermitted callers.
Expected
Missing grants are forbidden and another workspace’s items remain absent.
Data
Provide records in each of the two isolated workspaces.
Bound to
services-accounting:modules/reconciliation/tests/e2e/outstanding.e2e.spec.js#refuses the list without accounting.settlement-items.read with 403
services-accounting:modules/reconciliation/tests/e2e/outstanding.e2e.spec.js#refuses the summary without accounting.settlement-items.read with 403
Source
services-accounting:modules/reconciliation/tests/e2e/outstanding.e2e.spec.js#refuses the list without accounting.settlement-items.read with 403
08 Calendar-driven aging journeytransitionbrowsertest
Proves
AS-JNY-ACC-REC-004-01
Preconditions
A capture and pending electronic check are recorded.
Steps
Inspect Outstanding Payments over successive calendar days.
Expected
Eligibility, expected arrival and grace produce the corresponding aging states.
Data
Use the isolated reconciliation fixture unit.
Bound to
Source
react-console:acceptance/accounting/playwright/journeys/reconciliation-close/ACT-ACC-0602.spec.ts#ACT-ACC-0602
09 Splitting and write-off change outstanding positionsinteractionapiproposed
Proves
BR-CAP-ACC-REC-006-01 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
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-006-see-what-money-is-in-transit-late-or-missing.md", "specs/accounting/reconciliation/planning/capabilities/CAP-ACC-REC-007-split-or-write-off-money-that-will-never-arrive-as-recorded.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-006-see-what-money-is-in-transit-late-or-missing.md,specs/accounting/reconciliation/planning/capabilities/CAP-ACC-REC-007-split-or-write-off-money-that-will-never-arrive-as-recorded.md
10 Detection changes overdue standinginteractionapiproposed
Proves
BR-CAP-ACC-REC-006-01 BR-CAP-ACC-REC-017-02 BR-CAP-ACC-REC-017-03 BR-CAP-ACC-REC-017-10
Preconditions
Use one isolated workspace with the financial records and caller roles required by the relied-on cases.
Steps
[ { "do": "Inspect an overdue free item before and after a detection pass.", "expect": "The same money moves into investigation without a duplicate financial effect.", "provenance": "proposed", "source": [ "specs/accounting/reconciliation/planning/capabilities/CAP-ACC-REC-006-see-what-money-is-in-transit-late-or-missing.md", "specs/accounting/reconciliation/planning/capabilities/CAP-ACC-REC-017-catch-overdue-money-stale-deposits-and-drifting-totals-every.md" ] } ]
Expected
The same money moves into investigation without a duplicate financial effect.
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-006-see-what-money-is-in-transit-late-or-missing.md,specs/accounting/reconciliation/planning/capabilities/CAP-ACC-REC-017-catch-overdue-money-stale-deposits-and-drifting-totals-every.md
11 Acceptance changes standing and assessmentinteractionapiproposed
Proves
BR-CAP-ACC-REC-006-01 BR-CAP-ACC-REC-018-04
Preconditions
Use one isolated workspace with the financial records and caller roles required by the relied-on cases.
Steps
[ { "do": "Inspect overdue money and assessment, accept its blocker independently and inspect both again.", "expect": "Accepted money loses its overdue blocker while remaining represented in clearing positions.", "provenance": "proposed", "source": [ "specs/accounting/reconciliation/planning/capabilities/CAP-ACC-REC-006-see-what-money-is-in-transit-late-or-missing.md", "specs/accounting/reconciliation/planning/capabilities/CAP-ACC-REC-018-tell-month-end-close-what-stops-a-period-from-closing.md" ] } ]
Expected
Accepted money loses its overdue blocker while remaining represented in clearing positions.
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-006-see-what-money-is-in-transit-late-or-missing.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.