---
id: JNY-ACC-BAT-005
title: Fiscal close recognises deferred amounts and protects the period
feature: FEAT-ACC-BAT-05
product_area: accounting
module: batches
revision: 1
status: draft
product_intent: proposed
implementation_evidence: observed
supersedes:
- ACT-ACC-0520
- ACT-ACC-0528
- ACT-ACC-0529
- ACT-ACC-0531
source_sha:
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
  services-accounting: f47cb263875bbc0c5640fba7dae6785ec32695f8
actor: ACT-ACC-006
goal: Complete monthly recognition, preserve the closed-period safeguards and use reopening when fiscal recovery
  is required.
capabilities:
- CAP-ACC-BAT-019
- CAP-ACC-BAT-020
- CAP-ACC-BAT-001
- CAP-ACC-BAT-016
- CAP-ACC-BAT-004
screens:
- /console/{tenantId}/accounting/close
- /console/{tenantId}/accounting/batches
- /console/{tenantId}/accounting/batches/new
steps:
- n: 1
  surface: /console/{tenantId}/accounting/batches/{batchId}
  action: Post the collection containing an annual membership invoice.
  capability: CAP-ACC-BAT-019
  expected: Its deferred revenue plan contains twelve monthly releases.
  provenance: test
  source: react-console:acceptance/accounting/playwright/journeys/batches-posting/ACT-ACC-0529.spec.ts#ACT-ACC-0529
- n: 2
  surface: /console/{tenantId}/accounting/close (Month-End Close, Close Period)
  action: Complete the period-close workflow.
  capability: CAP-ACC-BAT-020
  expected: The period’s deferred-revenue system batch records the month’s recognition in its fiscal context.
  provenance: test
  source: react-console:acceptance/accounting/playwright/journeys/batches-posting/ACT-ACC-0528.spec.ts#ACT-ACC-0528
- n: 3
  surface: /console/{tenantId}/accounting/batches/new
  action: Request a new batch dated in the closed month.
  capability: CAP-ACC-BAT-001
  expected: The calendar refusal identifies the period; a current-date batch can still be created.
  provenance: documented
  source: services-accounting:docs/milestones/walkthroughs/ACCT-M3-handoff.md#Start here (step 8)
- n: 4
  surface: unpostBatches
  action: Request ordinary recovery of the month’s invoice collection.
  capability: CAP-ACC-BAT-016
  expected: The closed-period guard leaves the collection Posted.
  provenance: test
  source: react-console:acceptance/accounting/playwright/journeys/batches-posting/ACT-ACC-0520.spec.ts#ACT-ACC-0520
- n: 5
  surface: /console/{tenantId}/accounting/batches/{batchId} (the deferred revenue batch)
  action: Inspect the fiscal system collection.
  capability: CAP-ACC-BAT-004
  expected: Its ordinary action list is empty and attempted staff actions fail.
  provenance: test
  source: services-accounting:modules/batches/tests/e2e/system-batches.e2e.spec.js#offers an administrator no action
    for the system batch
- n: 6
  surface: /console/{tenantId}/accounting/close (Reopen)
  action: Reopen the month through fiscal close.
  capability: CAP-ACC-BAT-020
  expected: System accounting adds mirrors of the retained originals, opens the system batch and resets that month’s
    recognition.
  provenance: test
  source: react-console:acceptance/accounting/playwright/journeys/batches-posting/ACT-ACC-0528.spec.ts#ACT-ACC-0528
alternates:
- from_step: 2
  condition: A proportional membership credit follows three recognised months.
  path: Its adjustment plan reduces the remaining nine unrecognised months.
  outcome: Later close recognises the adjusted remaining releases.
  provenance: test
  source: react-console:acceptance/accounting/playwright/journeys/batches-posting/ACT-ACC-0531.spec.ts#ACT-ACC-0531
failures:
- from_step: 2
  condition: Accounting work still holds the period when close begins.
  path: The shared period guard serializes the conflicting work.
  outcome: The held posting transaction completes before the close can advance.
  provenance: test
  source: services-accounting:modules/batches/tests/integration/services/close/posting-period-guard.integration.spec.js#holds
    the period row FOR SHARE for the rest of the caller's transaction
rules_in_play:
- BR-CAP-ACC-BAT-019-01
- BR-CAP-ACC-BAT-020-01
- BR-CAP-ACC-BAT-020-05
- BR-CAP-ACC-BAT-020-07
- BR-CAP-ACC-BAT-020-08
- BR-CAP-ACC-BAT-001-04
- BR-CAP-ACC-BAT-016-08
- BR-CAP-ACC-BAT-004-09
assertions:
- id: AS-JNY-ACC-BAT-005-01
  statement: The closed period’s system collection holds the recognition completed for that period.
  provenance: test
  source: services-accounting:modules/batches/tests/integration/services/close/revenue-recognition.integration.spec.js#posts
    the entries in July's deferred revenue batch, named and dated as 1.0 did, with one entry per schedule entry
- id: AS-JNY-ACC-BAT-005-02
  statement: Closed-period safeguards reject creation, fiscal relocation, posting and ordinary unposting in that
    period.
  provenance: test
  source: react-console:acceptance/accounting/playwright/journeys/batches-posting/ACT-ACC-0520.spec.ts#ACT-ACC-0520
- id: AS-JNY-ACC-BAT-005-03
  statement: Fiscal reopening retains original recognition entries, adds mirrors and resets the applicable recognition
    facts.
  provenance: test
  source: services-accounting:modules/batches/tests/integration/services/close/reverse-system-batch.integration.spec.js#writes
    a reversing entry for each entry, debits and credits swapped, and keeps the originals
- id: AS-JNY-ACC-BAT-005-04
  statement: Ordinary staff actions remain unavailable for the system collection.
  provenance: test
  source: services-accounting:modules/batches/tests/e2e/system-batches.e2e.spec.js#leaves the batch unchanged after
    every refused action
e2e_policy: required
e2e_reason: Browser acceptance is required across fiscal close and batch inspection to demonstrate the closed-period
  safeguards and reopening result.
evidence:
- 'Inspected references: react-console at baf6dae3: acceptance/accounting/journeys/batches-posting/ACT-ACC-0520.json,
  0528, 0529, 0531 with corresponding browser specifications.'
- 'Inspected references: services-accounting at f47cb263: docs/milestones/walkthroughs/ACCT-M3-handoff.md (step
  8); step-level capability citations.'
proved_by: []
---

# Fiscal close recognises deferred amounts and protects the period

## Story

Complete monthly recognition, preserve the closed-period safeguards and use reopening when fiscal recovery is required. The cited steps show how the relevant capabilities connect. Documented walkthrough expectations remain distinct from tested behavior, and the alternative paths identify where staff need a different workflow.
