---
id: CON-ACC-BKS-003
name: Fiscal Calendar
feature: FEAT-ACC-BKS-03
product_area: accounting
module: books
revision: 1
status: draft
product_intent: confirmed
implementation_evidence: observed
source_sha:
  services-accounting: f47cb263875bbc0c5640fba7dae6785ec32695f8
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
definition: >-
  A fiscal calendar is the unit’s consecutive sequence of accounting years and
  monthly periods.
owned_by: MOD-ACC-BKS
synonyms:
  - fiscal years
  - accounting periods
not_to_be_confused_with:
  - The workflow that closes accounting periods.
  - A January-to-December calendar year.
facets:
  - name: Annual span
    meaning: A fiscal year covers twelve months from the unit’s chosen first month.
    used_for: Annual reporting and calendar extension.
  - name: Monthly interval
    meaning: A numbered period supplies one month within its year.
    used_for: Dating financial work and supporting close.
  - name: Earliest open work
    meaning: >-
      The current lookup selects the earliest open period in the earliest open
      year.
    used_for: Choosing accounting defaults and checking method changes.
  - name: Allowed future reach
    meaning: >-
      Generation limits a year’s start date relative to the workspace’s current
      date.
    used_for: Bounding future setup.
  - name: Annual standing
    meaning: Year standing summarizes whether any period remains open.
    used_for: Reviewing close progress.
relationships:
  - to: CON-ACC-BKS-001
    statement: >-
      The calendar follows the unit’s fiscal start and is removed with an
      eligible unit deletion.
    provenance: test
    source: >-
      services-accounting:modules/books/tests/e2e/fiscal-years.e2e.spec.js#answers
      200 with the id deleted, in one call (migration 0041, as Rhythm 1.0 did)
lifecycle:
  - state: open
    meaning: The period remains open for accounting work.
    how_it_changes: The close workflow closes the period.
  - state: closed
    meaning: The period has completed close; annual standing follows all periods.
    how_it_changes: The close workflow reopens it.
acted_on_by:
  - CAP-ACC-BKS-001
  - CAP-ACC-BKS-009
  - CAP-ACC-BKS-010
visible_to:
  - ACT-ACC-001
  - ACT-ACC-002
  - ACT-ACC-004
evidence:
  - >-
    Verified source file:
    services-accounting:modules/books/db/fiscal-periods.table.ts
  - >-
    Verified source file:
    services-accounting:modules/books/db/fiscal-years.table.ts
  - >-
    Verified source file:
    services-accounting:modules/books/tests/e2e/fiscal-years.e2e.spec.js
supersedes: []
---

# Fiscal Calendar

## What It Is

A fiscal calendar supplies the years and monthly periods used to date a business unit’s accounting work. It begins in the month selected for that unit. A January start produces a familiar calendar year; a July start produces a year spanning parts of two calendar years. The calendar is a continuing sequence rather than a collection of unrelated date ranges staff assemble independently.

A newly created unit receives its initial years. Later generation extends the sequence with complete years and their monthly periods. Staff see the year names and can inspect the period dates and standing beneath them. This gives invoice, batch and scheduled work a common answer about which period contains a date. The year’s internal identity remains stable when staff replace its display name with terminology familiar to their finance team.

## What It Is Not

Calendar setup does not perform month-end close. It establishes the periods that closing workflows operate on. A fiscal year is not necessarily a calendar year, and a current accounting period is not necessarily the month containing today. Open work can remain in an earlier period until the separate close process advances it. A requested date outside the generated calendar does not authorize lookup to extend that calendar automatically.

## How It Is Used

Controllers review upcoming coverage and generate years before transaction and recurring work need them. They can rename a year while retaining its dates and period labels. Removing an accidentally generated year is a different action, limited by the calendar’s order and the standing of its periods. Good maintenance keeps enough future coverage for scheduled work without treating generation as an unlimited forecast.

Staff issuing or processing financial work use period lookup rather than constructing period names themselves. When a roll reaches an uncovered date, its failure identifies the calendar gap. The controller extends coverage and retries the work instead of relying on a background process to choose new fiscal setup.

## Its Facets

**Years.** A year is the annual reporting span beginning in the unit’s selected month. Generation gives it an initial name that staff can later adjust.

**Monthly periods.** Each year contains its complete ordered months. The period combines a readable label, dates and standing, supplying the smaller interval that transactions and close use.

**Current accounting work.** The current-period lookup follows the earliest open work. It helps defaults and policy checks refer to the accounting state rather than the computer’s calendar alone.

**Generation reach.** The allowed horizon bounds a year’s start date relative to the workspace’s local date. The whole request is checked before incomplete future coverage can be saved.

**Year standing.** The year summarizes its periods’ open or closed state. Staff do not change that summary through a calendar edit; it follows the periods managed by close.

## How It Relates

The calendar belongs to the business unit and uses its founding start month. Financial documents, batches and scheduled rolls locate periods from it. Month-end close governs period transitions, while the unit’s accounting-method guard uses the current open period to determine whether a policy change is permitted.

## What It Could Become

The product should keep calendar maintenance and close clearly connected without combining their authority. Better advance warnings could show when a recurring schedule will outgrow generated coverage. Any future non-monthly calendar would need a recorded product decision because the present model assumes complete monthly years.
