Skip to content

ATS-ACC-REC-017Detect reconciliation concerns through scheduled checks: Capability Test Specification

Markdown

ATS-ACC-REC-017

Detect reconciliation concerns through scheduled checks: Capability Test Specification

Markdown
  • DocumentProposed

KindAcceptance test setProduct areaAccountingModuleReconciliationRevision3

Read atservices-accounting f47cb263react-console baf6dae3

Coverage

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

Test Scenarios

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

01 Daily schedules are created without overriding changesruleapitest
Proves
BR-CAP-ACC-REC-017-01
Preconditions
Two workspaces include one disabled existing schedule.
Steps
Ensure schedules twice in each workspace.
Expected
Missing local-zone schedules are created once and the disabled schedule remains disabled.
Data
No additional fixture beyond the case setup.
Bound to
Source
services-accounting:modules/reconciliation/tests/integration/services/scheduled/reconciliation-schedules.integration.spec.js#creates the three daily schedules on the first pass
02 Overdue detection and repeat deliveryinvariantapitest
Proves
BR-CAP-ACC-REC-017-02 BR-CAP-ACC-REC-017-03 BR-CAP-ACC-REC-017-10
Preconditions
Items include transit, overdue, resolved and investigating cases.
Steps
Sweep a selected day twice.
Expected
Only newly overdue cases raise informative blockers, and the repeat produces no duplicate problem.
Data
Provide sweep fixture for this case.
Bound to
services-accounting:modules/reconciliation/tests/integration/services/scheduled/reconciliation-scheduled-work.integration.spec.js#titles the item’s exception with its amount, payment method, kind and the date it occurred, never its source key
services-accounting:modules/reconciliation/tests/unit/exceptions/exception-titles.spec.js#reads the amount, the payment method, the kind, the date and the customer
Source
services-accounting:modules/reconciliation/tests/integration/services/scheduled/reconciliation-scheduled-work.integration.spec.js#raises the item past its grace as an open `overdue-settlement` blocker
03 Sweep clears settled or resolved conditionstransitionapitest
Proves
BR-CAP-ACC-REC-017-04
Preconditions
Open overdue exceptions refer to now-finalized claims or resolved items.
Steps
Run the overdue sweep.
Expected
Both problems close with the reconciliation or resolution explanation.
Data
No additional fixture beyond the case setup.
Bound to
Source
services-accounting:modules/reconciliation/tests/integration/services/scheduled/reconciliation-scheduled-work.integration.spec.js#clears the exception of an item a finalized batch now claims, naming the batch
04 Payout-age boundary and clearingboundaryapitest
Proves
BR-CAP-ACC-REC-017-05
Preconditions
Live deposits are four, five or six business days old alongside a voided one.
Steps
Sweep, finalize an eligible old deposit and sweep again.
Expected
Only beyond-five-day live deposits are raised, and finalization clears their detected problem.
Data
No additional fixture beyond the case setup.
Bound to
services-accounting:modules/reconciliation/tests/integration/services/scheduled/reconciliation-scheduled-work.integration.spec.js#raises no unbalanced payout on 2026-10-12: the old payout’s fifth business day is Tuesday 10-13
services-accounting:modules/reconciliation/tests/integration/services/scheduled/reconciliation-scheduled-work.integration.spec.js#raises the old payout and not the payout exactly five business days old, nor the voided one
services-accounting:modules/reconciliation/tests/unit/exceptions/exception-titles.spec.js#titles an unbalanced deposit with its amount, accounting date and number
Source
services-accounting:modules/reconciliation/tests/integration/services/scheduled/reconciliation-scheduled-work.integration.spec.js#raises no unbalanced payout on 2026-10-12: the old payout’s fifth business day is Tuesday 10-13
05 Drift detects without repairinvariantapitest
Proves
BR-CAP-ACC-REC-017-06
Preconditions
A reconciliation’s maintained counters disagree with its rows.
Steps
Run drift inspection twice and inspect totals.
Expected
One drift problem identifies discrepancies, totals remain untouched and no duplicate exception is created.
Data
Provide Altered counters for this case.
Bound to
Source
services-accounting:modules/reconciliation/tests/integration/services/scheduled/reconciliation-scheduled-work.integration.spec.js#checks every open and finalized batch, and raises the drifting one
06 Global purge preserves current keysboundaryapitest
Proves
BR-CAP-ACC-REC-017-07
Preconditions
Expired completions, abandoned claims and fresh completions span workspaces.
Steps
Run request-key purge.
Expected
Expired and abandoned records are removed while fresh completions survive.
Data
Provide Keys of several workspaces for this case.
Bound to
services-accounting:modules/reconciliation/tests/integration/services/scheduled/reconciliation-scheduled-work.integration.spec.js#removes every tenant’s old completions and lost claims and answers how many (at least these four; the purge is every tenant’s)
services-accounting:modules/reconciliation/tests/integration/db/idempotency-keys.table.integration.spec.js#let that transaction delete the purgeable keys and no other, rolled back here
Source
services-accounting:modules/reconciliation/tests/integration/services/scheduled/reconciliation-scheduled-work.integration.spec.js#removes every tenant’s old completions and lost claims and answers how many (at least these four; the purge is every tenant’s)
07 On-demand job grants and unit scopepermissionapinegativetest
Proves
BR-CAP-ACC-REC-017-08 BR-CAP-ACC-REC-017-09
Preconditions
Two units and a caller lacking accept are available.
Steps
Run every supported job, scope new overdue detection to one unit and try unauthorized or unknown jobs.
Expected
Authorized jobs report their outcome, new overdue detection respects its unit and invalid calls fail.
Data
Configure both business units used by the case.
Bound to
services-accounting:modules/reconciliation/tests/e2e/outstanding.e2e.spec.js#runs the totals drift check for the tenant and answers its outcome
services-accounting:modules/reconciliation/tests/e2e/outstanding.e2e.spec.js#runs the overdue sweep as of today in the tenant’s zone
services-accounting:modules/reconciliation/tests/e2e/outstanding.e2e.spec.js#refuses a job that is not one of the three with 400
services-accounting:modules/reconciliation/tests/e2e/outstanding.e2e.spec.js#refuses a principal without accounting.reconciliation-exceptions.accept with 403
services-accounting:modules/reconciliation/tests/integration/services/scheduled/reconciliation-scheduled-work.integration.spec.js#raises one exception: the beta unit’s overdue item, and leaves alpha’s item alone
Source
services-accounting:modules/reconciliation/tests/e2e/outstanding.e2e.spec.js#runs the totals drift check for the tenant and answers its outcome
08 Missing-money sweep journeyinteractionapitest
Proves
AS-JNY-ACC-REC-004-02
Preconditions
An overdue item and stale deposit are recorded.
Steps
Sweep repeatedly, try resolution, accept or settle and sweep again.
Expected
Detection is deduplicated, premature resolution fails and explained money clears its problem.
Data
Use the isolated reconciliation fixture unit.
Bound to
Source
react-console:acceptance/accounting/playwright/journeys/reconciliation-close/ACT-ACC-0606.spec.ts#ACT-ACC-0606
09 Bounded scans do not establish full coverageboundaryapinegativeproposed
Proves
BR-CAP-ACC-REC-017-12
Preconditions
More than five hundred unresolved payouts include one outside the lookback.
Steps
Repeat a same-day sweep and inspect examined records and its more-work flag.
Expected
The bounded selection does not establish traversal of later or older payouts without a cursor.
Data
Provide Isolated records for the cases described for this case.
Source
services-accounting:modules/reconciliation/services/scheduled/overdue-sweep.ts
10 Detection preserves accepted workinteractionapiproposed
Proves
AS-JNY-ACC-REC-004-02 BR-CAP-ACC-REC-015-03
Preconditions
Use one isolated workspace with the financial records and caller roles required by the relied-on cases.
Steps
[ { "do": "Detect missing money, accept its concern independently and rerun the same condition.", "expect": "The raiser preserves the accepted record without creating a replacement blocker.", "provenance": "proposed", "source": [ "specs/accounting/reconciliation/planning/capabilities/CAP-ACC-REC-017-catch-overdue-money-stale-deposits-and-drifting-totals-every.md", "specs/accounting/reconciliation/planning/capabilities/CAP-ACC-REC-015-raise-work-and-resolve-reconciliation-problems.md" ] } ]
Expected
The raiser preserves the accepted record without creating a replacement blocker.
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-017-catch-overdue-money-stale-deposits-and-drifting-totals-every.md,specs/accounting/reconciliation/planning/capabilities/CAP-ACC-REC-015-raise-work-and-resolve-reconciliation-problems.md
11 Assessment detects money before its sweepinteractionapiproposed
Proves
BR-CAP-ACC-REC-017-02 BR-CAP-ACC-REC-017-03 BR-CAP-ACC-REC-017-10 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": "Assess overdue money before the sweep, run the sweep and assess again.", "expect": "Both reads identify overdue money and the later read links the detected concern.", "provenance": "proposed", "source": [ "specs/accounting/reconciliation/planning/capabilities/CAP-ACC-REC-017-catch-overdue-money-stale-deposits-and-drifting-totals-every.md", "specs/accounting/reconciliation/planning/capabilities/CAP-ACC-REC-018-tell-month-end-close-what-stops-a-period-from-closing.md" ] } ]
Expected
Both reads identify overdue money and the later read links the detected concern.
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-017-catch-overdue-money-stale-deposits-and-drifting-totals-every.md,specs/accounting/reconciliation/planning/capabilities/CAP-ACC-REC-018-tell-month-end-close-what-stops-a-period-from-closing.md
12 Publication failure rolls back detected workinteractionapinegativeproposed
Proves
BR-CAP-ACC-REC-017-02 BR-CAP-ACC-REC-017-03 BR-CAP-ACC-REC-017-10 BR-CAP-ACC-REC-015-08
Preconditions
Use one isolated workspace with the financial records and caller roles required by the relied-on cases.
Steps
[ { "do": "Make enabled attention publication fail during detection and retry after restoring publication.", "expect": "Failure commits no new concern; the successful repeat retains concern and attention together.", "provenance": "proposed", "source": [ "specs/accounting/reconciliation/planning/capabilities/CAP-ACC-REC-017-catch-overdue-money-stale-deposits-and-drifting-totals-every.md", "specs/accounting/reconciliation/planning/capabilities/CAP-ACC-REC-015-raise-work-and-resolve-reconciliation-problems.md" ] } ]
Expected
Failure commits no new concern; the successful repeat retains concern and attention 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-017-catch-overdue-money-stale-deposits-and-drifting-totals-every.md,specs/accounting/reconciliation/planning/capabilities/CAP-ACC-REC-015-raise-work-and-resolve-reconciliation-problems.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.