Skip to content

ATS-ACC-CLS-009Recognize close-owned revenue and reverse it on reopen: Capability Test Specification

Markdown

ATS-ACC-CLS-009

Recognize close-owned revenue and reverse it on reopen: Capability Test Specification

Markdown
  • DocumentProposed

KindAcceptance test setProduct areaAccountingModuleMonth-End ClosingRevision1

Read atservices-accounting f47cb263react-console baf6dae3

Coverage

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

Test Scenarios

7 scenarios proving CAP-ACC-CLS-009; 5 bound to an existing test.

01 Recognize only the due shares in one system batchruleapitest
Proves
BR-CAP-ACC-CLS-009-01 BR-CAP-ACC-CLS-009-02 BR-CAP-ACC-CLS-009-03
Preconditions
The revenue schedule has July and later shares.
Steps
Complete July’s close.
Expected
July shares debit deferred revenue in the period-end batch under the close key, while later shares remain deferred.
Data
An invoice with a multi-month schedule.
Bound to
services-accounting:modules/fiscal-close/tests/integration/services/jobs/revenue-recognition.integration.spec.js#writes one entry per July schedule entry, `<transaction_id>-<entry_id>`, debiting deferred revenue
Source
services-accounting:modules/fiscal-close/tests/integration/services/jobs/revenue-recognition.integration.spec.js#July's close
02 Avoid empty recognition batchesedgeapitest
Proves
BR-CAP-ACC-CLS-009-04
Preconditions
No schedule entry is due by period end.
Steps
Complete closing.
Expected
Recognition is skipped with its reason and no batch is produced.
Data
A month without due schedules.
Bound to
Source
services-accounting:modules/fiscal-close/tests/integration/services/jobs/close-job.integration.spec.js#records why revenue recognition and COGS were skipped
03 Reverse the recognized shares on reopeningtransitionapitest
Proves
BR-CAP-ACC-CLS-009-05
Preconditions
One closed month recognized revenue and another recognized none.
Steps
Reopen each month.
Expected
Recognized shares return to unrecognized with reversing lines, while empty recognition yields a skipped reversal.
Data
Recognized and empty close fixtures.
Bound to
services-accounting:modules/fiscal-close/tests/integration/services/jobs/revenue-recognition.integration.spec.js#reverses the close’s posting by its event key, the batch open again with no count or total
Source
services-accounting:modules/fiscal-close/tests/integration/services/jobs/revenue-recognition.integration.spec.js#July's reopen
04 Recognize again after correctiontransitionapitest
Proves
BR-CAP-ACC-CLS-009-06
Preconditions
July was closed and reopened.
Steps
Close July a second time.
Expected
The same batch receives another posting under the new close key and shares become recognized again.
Data
A completed close-reopen cycle.
Bound to
services-accounting:modules/fiscal-close/tests/integration/services/jobs/revenue-recognition.integration.spec.js#posts the same batch again, as its second posting, under the new run’s key
Source
services-accounting:modules/fiscal-close/tests/integration/services/jobs/revenue-recognition.integration.spec.js#July's re-close
05 Protect the system batch from manual actionspermissionbrowsernegativetest
Proves
BR-CAP-ACC-CLS-009-07
Preconditions
The close produced a deferred revenue batch.
Steps
Attempt manual posting, reopening and archiving in the service and console.
Expected
Each action is unavailable or refused for the system-owned batch.
Data
A close-owned system batch.
Bound to
Source
react-console:acceptance/accounting/playwright/journeys/reconciliation-close/ACT-ACC-0615.spec.ts#ACT-ACC-0615
06 Recover recognized work before correctioninteractionapiproposed
Proves
BR-CAP-ACC-CLS-009-03 BR-CAP-ACC-CLS-009-05 BR-CAP-ACC-CLS-009-06 BR-CAP-ACC-CLS-009-08
Preconditions
An ended month has due revenue and finalization can fail after recognition.
Steps
Fail finalization, try cancellation, recover the retained close, reopen it and close again; inspect postings at every stage.
Expected
Recovery reuses committed recognition, reopening reverses that close’s work and the next close recognizes it under its own command.
Data
An ended month has due revenue and finalization can fail after recognition.
Source
rhythm-v2-docs:specs/accounting/close/design/workflows/WF-ACC-CLS-002-reopen-the-latest-closed-month.md#What It Does,services-accounting:modules/fiscal-close/tests/integration/services/jobs/revenue-recognition.integration.spec.js#posts it once, under the close’s event key,services-accounting:modules/fiscal-close/tests/integration/services/jobs/revenue-recognition.integration.spec.js#writes a reversing entry for each, debits and credits swapped,services-accounting:modules/fiscal-close/tests/integration/services/jobs/revenue-recognition.integration.spec.js#posts the same batch again, as its second posting, under the new run’s key,services-accounting:modules/fiscal-close/services/jobs/fiscal-close-job-tasks.ts:recognizeRevenue
07 Retain the month after recognition refusalfailureapinegativeproposed
Proves
BR-CAP-ACC-CLS-009-08
Preconditions
A close has taken an ended month; its recognition port returns a domain refusal.
Steps
Invoke recognition and settle the failure consequence, then read the period and run.
Expected
The failed recognition and retry eligibility remain visible while the month stays protected for recovery.
Data
A close has taken an ended month; its recognition port returns a domain refusal.
Source
services-accounting:modules/fiscal-close/services/jobs/fiscal-close-job-tasks.ts:recognizeRevenue

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.