Skip to content

CAP-ACC-CLS-001Understand a business unit’s close calendar

Markdown

CAP-ACC-CLS-001

Understand a business unit’s close calendar

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
Staff identify the current month and distinguish completed closes from work in progress.Reviewers see the closer, close time and number of completed reopens.
Surfaces
consoleapi
Preconditions
Books has generated a fiscal calendar for the selected unit.
Constraints
The calendar limit applies to the complete unit calendar, with refusal above one hundred fiscal years.
Intent sources
services-accounting:docs/milestones/ACCT-M4-contracts-and-events-for-commerce.md#Rulings recorded during the milestoneservices-accounting:docs/milestones/plans/ACCT-M4-plan.md#D8. Closing a fiscal period: the closer's name, the A/R snapshot and how long it may take

Controls

21 controls apply, from the corpus control catalogue.

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

Permissions

KeyChecked atScope
accounting.fiscal-periods.readapitenant
accounting.fiscal-periods.readconsoletenant

Business Rules

9 rules, 8 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
01
Proposed
The calendar presents a selected business unit’s fiscal years from oldest to newest, with months in date order and their open, closing, closed or reopening state.
policyservicetest
02must prove
Proposed
The first month by date that is not closed is current; a fully closed calendar has no current month.
✓ With August closed and September open, the selection advances to September.✗ An earlier unfinished month prevents selection of a later one as current.
origin: fiscal-close design L1 (Rhythm 1.0 behaviour kept; recommendation, no recorded ruling)
calculationservicetest
03must prove
Proposed
A period retains a closer and close time only in the closed state.
invariantdatabasetest
04must prove
Proposed
The reopen count begins at zero and cannot be negative.
origin: services-accounting:docs/milestones/plans/ACCT-M4-plan.md#4a row 75 (class A; plan approved 2026-10-21)
invariantdatabasetest
05must prove
Proposed
A year remains open until all its periods are closed, and its displayed close details come from its last period.
origin: fiscal-close design L6 (Rhythm 1.0 CLOSE-8 kept)
calculationdatabase, servicetest
06must prove
Proposed
A calendar request must identify a business unit available in the workspace; an absent unit returns not found.
validationapi, servicetest
07must prove
Proposed
The fiscal-periods read permission controls access to the calendar and the console close workspace.
permissionapi, consoletest
services-accounting:modules/fiscal-close/tests/e2e/fiscal-close-readiness.e2e.spec.js#refuses a principal without accounting.fiscal-periods.read with 403
08must prove
Proposed
The product should resolve the closer’s name in service responses as well as in the console, without storing a separate name.
✓ The console resolves the closer reference into a displayed person’s name.✗ The service still returns an unresolved person reference.
origin: services-accounting:docs/milestones/plans/ACCT-M4-plan.md#D8. Closing a fiscal period: the closer's name, the A/R snapshot and how long it may take
no proof recorded yet
policydocumented
services-accounting:docs/milestones/plans/ACCT-M4-plan.md#D8. Closing a fiscal period: the closer's name, the A/R snapshot and how long it may take
09must prove
Proposed
A calendar with more than one hundred fiscal years returns a refusal instead of a partial result.
validationserviceobserved

Scenarios

IdGivenWhenThenProvenance
01August is closed and September remains open for one unit.The controller views that unit’s close calendar.The calendar marks September current and retains August’s close details.test
02Eleven periods are closed and the final period is closing.A reviewer reads the year before and after finalization.The year changes from open to closed when its last period closes.test

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.