Skip to content

ATS-ACC-REC-018Assess reconciliation work before period close: Capability Test Specification

Markdown

ATS-ACC-REC-018

Assess reconciliation work before period close: Capability Test Specification

Markdown
  • DocumentProposed

KindAcceptance test setProduct areaAccountingModuleReconciliationRevision3

Read atservices-accounting f47cb263react-console baf6dae3

Coverage

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

Test Scenarios

13 scenarios proving CAP-ACC-REC-018; 10 bound to an existing test.

01 Period selection and read permissionpermissionapinegativetest
Proves
BR-CAP-ACC-REC-018-01 BR-CAP-ACC-REC-018-14
Preconditions
A unit has configured fiscal periods.
Steps
Read by explicit period or date, submit incomplete or absent periods and omit read permission.
Expected
Valid selection returns that period, incomplete queries fail, absent periods are not found and missing grants are forbidden.
Data
Provide Fiscal periods for this case.
Bound to
services-accounting:modules/reconciliation/tests/e2e/batch-lifecycle.e2e.spec.js#answers 200 with the blockers, warnings, clearing lines and period of tenant A’s October
services-accounting:modules/reconciliation/tests/e2e/batch-lifecycle.e2e.spec.js#answers the period containing asOf when no period is named
services-accounting:modules/reconciliation/tests/e2e/batch-lifecycle.e2e.spec.js#refuses a fiscal year without a period number with 400
services-accounting:modules/reconciliation/tests/e2e/batch-lifecycle.e2e.spec.js#refuses a principal without accounting.reconciliation-batches.read with 403
Source
services-accounting:modules/reconciliation/tests/e2e/batch-lifecycle.e2e.spec.js#answers 200 with the blockers, warnings, clearing lines and period of tenant A’s October
02 Payout and older-draft blockersruleapinegativetest
Proves
BR-CAP-ACC-REC-018-02 BR-CAP-ACC-REC-018-03
Preconditions
Payouts span holding states and an older unbalanced open draft.
Steps
Assess the selected period.
Expected
Each in-period live unfinalized payout blocks once with related records, and the older draft blocks separately.
Data
Provide readiness world for this case.
Bound to
services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period.integration.spec.js#reports C1 for each live payout of the period not in a finalized batch, carrying its unbalanced-payout exception
services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period.integration.spec.js#reports one C1 for the payout whose open batch does not balance, carrying the batch and its difference
services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period.integration.spec.js#reports C2 only for the unbalanced open batch dated before the period, the batch with its difference
Source
services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period.integration.spec.js#reports C1 for each live payout of the period not in a finalized batch, carrying its unbalanced-payout exception
03 Overdue acceptance changes the blockerinteractionapinegativetest
Proves
BR-CAP-ACC-REC-018-04
Preconditions
Overdue items have no, open or accepted exceptions.
Steps
Assess their period.
Expected
Unaccepted money blocks with its related exception, while accepted overdue money produces no overdue blocker.
Data
No additional fixture beyond the case setup.
Bound to
services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period.integration.spec.js#reports one C3 for the overdue item with its open exception, carrying the exception id
Source
services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period.integration.spec.js#reports C3 for the item overdue at the period’s end with no exception
04 Pending approvals, accounting and integrityruleapinegativetest
Proves
BR-CAP-ACC-REC-018-05 BR-CAP-ACC-REC-018-06
Preconditions
One example exists for each blocker category.
Steps
Assess the period and compare the ordered blocker list.
Expected
Open problems, pending reversals, unposted or late-unreviewed requests and totals drift each appear once in check order.
Data
No additional fixture beyond the case setup.
Bound to
services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period.integration.spec.js#reports C4 for the open blocker exception anchored in the period that no other finding carries
services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period.integration.spec.js#reports a possible-duplicate exception of blocker severity once, as C4 and not as W5
services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period.integration.spec.js#reports C6 for the finalize batch posting has not posted, and not for the request it posted
services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period.integration.spec.js#reports it no more once an unreversed batch posting holds its reconciliation entry
Source
services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period.integration.spec.js#reports C4 for the open blocker exception anchored in the period that no other finding carries
05 Clearing balance explains outstanding moneyinvariantapinegativetest
Proves
BR-CAP-ACC-REC-018-07 BR-CAP-ACC-REC-018-10
Preconditions
Posted clearing entries and unresolved items are available.
Steps
Read the state-day clearing line and assessment.
Expected
Posted balance is limited by day, unresolved items count once and any difference blocks.
Data
Provide Subledger entries for this case.
Bound to
services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period.integration.spec.js#reports C9 for the clearing account whose posted balance differs from its outstanding items
services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period.integration.spec.js#counts the entries dated up to the state date: debits less credits of the merchant account’s clearing account
services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period.integration.spec.js#answers the clearing line, overdue items (the accepted one too) apart from those in transit and in open reconciliation
services-accounting:modules/reconciliation/tests/e2e/reconciliation-scenario.e2e.spec.js#step 10: counts the gift in transit on 2026-10-13 and overdue on 2026-10-16 on the clearing line, with C9 blocking on the ledger holding none of it
Source
services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period.integration.spec.js#reports C9 for the clearing account whose posted balance differs from its outstanding items
06 Warnings alone do not prevent closeedgeapitest
Proves
BR-CAP-ACC-REC-018-08
Preconditions
Findings represent all warning categories.
Steps
Classify the findings.
Expected
Every warning remains nonblocking, including money still in transit.
Data
No additional fixture beyond the case setup.
Bound to
services-accounting:modules/reconciliation/tests/unit/rules/readiness.spec.js#classifies funds in transit as a warning, never a blocker
services-accounting:modules/reconciliation/tests/unit/rules/readiness.spec.js#classifies a possible duplicate payout as a warning
Source
services-accounting:modules/reconciliation/tests/unit/rules/readiness.spec.js#classifies funds in transit as a warning, never a blocker
07 One finding per problem in stable orderinvariantapitest
Proves
BR-CAP-ACC-REC-018-09
Preconditions
Findings span several checks and related records.
Steps
Classify and sort them.
Expected
Check and record ordering is stable and carried exceptions do not duplicate a principal finding.
Data
No additional fixture beyond the case setup.
Bound to
services-accounting:modules/reconciliation/tests/unit/rules/readiness.spec.js#reports blockers in the checks’ order, then by entity id
services-accounting:modules/reconciliation/tests/unit/rules/readiness.spec.js#lists every check with its code and severity, in report order
services-accounting:modules/reconciliation/tests/e2e/reconciliation-scenario.e2e.spec.js#step 10: reports the gift and its overdue exception as that one finding, no exception-unresolved beside it
Source
services-accounting:modules/reconciliation/tests/unit/rules/readiness.spec.js#reports blockers in the checks’ order, then by entity id
08 Payment occurrence and acceptance anchorboundaryapitest
Proves
BR-CAP-ACC-REC-018-11 BR-CAP-ACC-REC-018-12
Preconditions
Items occur in the period and accepted exceptions have differing anchors and acceptance days.
Steps
Assess both months and inspect buckets and accepted lists.
Expected
Item occurrence assigns six currency buckets; period anchors assign accepted exceptions, sorted by acceptance time and truncated after five hundred.
Data
Configure both business units used by the case.
Bound to
services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period-close-fields.integration.spec.js#answers the six buckets in order, each with its count and signed amount, matched to processor unavailable
services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period-close-fields.integration.spec.js#counts each item of the period in one bucket at most: the buckets and the two excluded make the thirteen in scope
services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period-close-fields.integration.spec.js#counts the item of 23:00 Eastern on October 31 and neither the item of September 30 nor that of November 1
services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period-close-fields.integration.spec.js#answers the warning and the blocker accepted in the period, by when they were accepted, whole
services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period-close-fields.integration.spec.js#answers the first 500 accepted exceptions by when they were accepted, and says there were more
services-accounting:modules/reconciliation/tests/unit/rules/payment-states.spec.js#marks only matched to processor unavailable, with its reason
Source
services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period-close-fields.integration.spec.js#answers the six buckets in order, each with its count and signed amount, matched to processor unavailable
09 Assessment requires an open transactionfailureapinegativetest
Proves
BR-CAP-ACC-REC-018-13
Preconditions
No caller transaction is active.
Steps
Assess readiness and check period writability.
Expected
Both calls fail before taking usable transactional locks.
Data
No additional fixture beyond the case setup.
Bound to
Source
services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period.integration.spec.js#refuses an assessment outside a transaction
10 Console previews without closinginteractionbrowsertest
Proves
BR-CAP-ACC-REC-018-15 AS-JNY-ACC-REC-005-01
Preconditions
A selected unit has blockers.
Steps
Open Close Readiness and select the period.
Expected
Linked blockers and warnings are displayed without close or prototype actions.
Data
Use the live Accounting service boundary.
Bound to
react-console:e2e/mock/accounting-reconciliation.mock.spec.ts#Close Readiness reads what reconciliation would block
Source
react-console:e2e/mock/accounting-reconciliation.mock.spec.ts#Close Readiness reads what reconciliation would block
11 Independent acceptance changes readinessinteractionapiproposed
Proves
BR-CAP-ACC-REC-018-04 BR-CAP-ACC-REC-016-02 BR-CAP-ACC-REC-016-05
Preconditions
Use one isolated workspace with the financial records and caller roles required by the relied-on cases.
Steps
[ { "do": "Request acceptance of an overdue blocker, assess, approve independently and assess again.", "expect": "The request leaves the blocker; completed acceptance removes that overdue blocker.", "provenance": "proposed", "source": [ "specs/accounting/reconciliation/planning/capabilities/CAP-ACC-REC-018-tell-month-end-close-what-stops-a-period-from-closing.md", "specs/accounting/reconciliation/planning/capabilities/CAP-ACC-REC-016-accept-a-problem-under-policy-with-a-second-persons-approval.md" ] } ]
Expected
The request leaves the blocker; completed acceptance removes that overdue 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-018-tell-month-end-close-what-stops-a-period-from-closing.md,specs/accounting/reconciliation/planning/capabilities/CAP-ACC-REC-016-accept-a-problem-under-policy-with-a-second-persons-approval.md
12 Overview and assessment use their own datesinteractionapiproposed
Proves
BR-CAP-ACC-REC-018-02 BR-CAP-ACC-REC-018-03 BR-CAP-ACC-REC-019-01 BR-CAP-ACC-REC-019-03
Preconditions
Use one isolated workspace with the financial records and caller roles required by the relied-on cases.
Steps
[ { "do": "Read current overview and assess a prior period while a deposit is finalized today.", "expect": "Current progress shows completion while assessment follows its selected period and state day.", "provenance": "proposed", "source": [ "specs/accounting/reconciliation/planning/capabilities/CAP-ACC-REC-018-tell-month-end-close-what-stops-a-period-from-closing.md", "specs/accounting/reconciliation/planning/capabilities/CAP-ACC-REC-019-see-the-state-of-reconciliation-at-a-glance.md" ] } ]
Expected
Current progress shows completion while assessment follows its selected period and state day.
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-018-tell-month-end-close-what-stops-a-period-from-closing.md,specs/accounting/reconciliation/planning/capabilities/CAP-ACC-REC-019-see-the-state-of-reconciliation-at-a-glance.md
13 Period locking coordinates approvalinteractionapiproposed
Proves
BR-CAP-ACC-REC-018-13 BR-CAP-ACC-REC-011-11
Preconditions
Use one isolated workspace with the financial records and caller roles required by the relied-on cases.
Steps
[ { "do": "Hold a period close lock during approval, complete close and retry with an open selected batch.", "expect": "Approval waits for the lock and later accounting preserves the original document day.", "provenance": "proposed", "source": [ "specs/accounting/reconciliation/planning/capabilities/CAP-ACC-REC-018-tell-month-end-close-what-stops-a-period-from-closing.md", "specs/accounting/reconciliation/planning/capabilities/CAP-ACC-REC-011-approve-a-balanced-reconciliation-and-move-the-deposit-to.md" ] } ]
Expected
Approval waits for the lock and later accounting preserves the original document day.
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-018-tell-month-end-close-what-stops-a-period-from-closing.md,specs/accounting/reconciliation/planning/capabilities/CAP-ACC-REC-011-approve-a-balanced-reconciliation-and-move-the-deposit-to.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.