Skip to content

CAP-ACC-CLS-010Finish the fiscal year and maintain future calendars

Markdown

CAP-ACC-CLS-010

Finish the fiscal year and maintain future calendars

Markdown
  • DocumentDraft
  • Product intentProposed
  • ImplementationObserved

KindCapabilityProduct areaAccountingModuleMonth-End ClosingRevision1

Read atservices-accounting f47cb263react-console baf6dae3

The Formal Contract

The narrative above explains; the sections below are authoritative — the rules, scenarios and tests this document binds.

Outcomes
Controllers complete a fiscal year through its final period.Future-year generation follows closing, subject to the calendar horizon and failures.
Surfaces
consoleapijob
Constraints
Books supplies generation and calendar validation, including the five-year horizon.
Intent sources
services-accounting:docs/milestones/ACCT-M1-books-and-invoices.md#D10.2

Controls

30 controls apply, from the corpus control catalogue.

TC-IAM-001 TC-IAM-002 TC-IAM-004 TC-IAM-005 TC-IAM-006 TC-AZ-001 TC-AZ-002 TC-AZ-003 TC-AZ-004 TC-AZ-005 TC-AZ-006 TC-TEN-001 TC-TEN-002 TC-TEN-003 TC-DAT-001 TC-LOG-001 TC-LOG-002 TC-LOG-003 TC-LOG-004 TC-LOG-005 TC-AVL-001 TC-AVL-004 TC-MON-001 TC-MON-002 TC-MON-004 TC-PI-001 TC-PI-002 TC-PI-003 TC-PI-004 TC-PI-005

Permissions

KeyChecked atScope
accounting.fiscal-periods.closeapitenant

Business Rules

7 rules, 6 to be proved before approval. A rule's product intent is derived from its origin: 0 confirmed by a product decision, the rest inheriting this capability's proposed.

IdRuleKindEnforced atProvenance
01must prove
Proposed
Closing the final period closes its fiscal year without a separate year-close operation.
origin: fiscal-close design L6 (Rhythm 1.0 CLOSE-8 kept)
lifecycledatabase, servicetest
02must prove
Proposed
Fiscal-year readiness requires the other periods closed and includes a next-year check that passes with a promise of generation when that year is missing.
origin: fiscal-close design §5
validationservicetest
services-accounting:modules/fiscal-close/tests/unit/readiness/period-rules.spec.js#is blocked by every other period of the year not closed
03must prove
Proposed
Year-end reconciliation review warns about findings in other periods and never blocks closing.
origin: fiscal-close design §5
policyservicetest
04
Proposed
The year close creates no closing entries, retained earnings entries or opening balances in Rhythm.
origin: fiscal-close design R4 (recommendation, no recorded ruling)
policyservicedocumented
05must prove
Proposed
Roll-forward generates years individually until three open years start after the closed period.
✓ The September fixture adds 2028 and 2029 after its existing two-year calendar.
origin: fiscal-close design L7 (Rhythm 1.0 GEN-6, counted after the closed month)
calculationservicetest
services-accounting:modules/fiscal-close/tests/integration/services/jobs/close-job.integration.spec.js#rolls the fiscal years forward to three open years after September 2026
06must prove
Proposed
A calendar-validation refusal stops generation without failing the close, including the five-year horizon refusal.
policyserviceobserved
07must prove
Proposed
A roll-forward failure after finalization leaves the run successful and the job failed, with a later close able to replenish the calendar.
policyservicedocumented
services-accounting:docs/migrations/fiscal-close/README.md#Decisions and departures from the brief

Scenarios

IdGivenWhenThenProvenance
01The first eleven months of the year are closed.The controller reviews year scope and closes December.The year checks accompany the final-month close and generation attempts to provide future years.test
02The calendar contains 2026 and 2027 when September closes.Roll-forward completes.The step reports newly generated 2028 and 2029.test
services-accounting:modules/fiscal-close/tests/e2e/fiscal-close-runs.e2e.spec.js#lists the fiscal years the roll-forward generated as the step’s outputs

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.