---
id: SCR-ACC-CLS-003
title: Fiscal Year Close
route: '/console/{tenantId}/accounting/close/years/{fiscalYearId}'
surface: console
product_area: accounting
module: close
revision: 1
status: draft
design_intent: proposed
implementation_evidence: observed
inference: []
source_sha:
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
  services-accounting: f47cb263875bbc0c5640fba7dae6785ec32695f8
purpose: >-
  Review year-level readiness and finish the fiscal year through its final
  month.
supports:
  - JNY-ACC-CLS-004
  - CAP-ACC-CLS-001
  - CAP-ACC-CLS-004
  - CAP-ACC-CLS-008
  - CAP-ACC-CLS-010
permission: accounting.fiscal-periods.read (the close layout's guard)
entry_from:
  - '/console/{tenantId}/accounting/close (more actions: Close Fiscal Year)'
  - '/console/{tenantId}/accounting/close/history (a year heading)'
  - >-
    /console/{tenantId}/accounting/close/runs/{runId} (View Close Record of a
    year close)
exits_to:
  - '/console/{tenantId}/accounting/close (breadcrumb)'
  - '/console/{tenantId}/accounting/close/history (breadcrumb)'
  - >-
    /console/{tenantId}/accounting/close/periods/{fiscalYearId}/{periodNumber}
    (a month without a run)
  - >-
    /console/{tenantId}/accounting/close/runs/{runId} (a month with a run, or
    after submitting)
displays:
  - field: The year’s months and their links to run evidence or period review.
    source: listFiscalClosePeriods (DOM-ACC-CLS-001)
  - field: Final-month evaluation including fiscal-year checks.
    source: getFiscalCloseReadiness with scope fiscal_year (DOM-ACC-CLS-002)
  - field: Guidance about year-end entries in the external general ledger.
    source: Static guidance reflecting BR-CAP-ACC-CLS-010-04
  - field: The authorization and sequence reason for an unavailable close.
    source: getFiscalCloseAuthorization
actions:
  - label: Close <final month> and the fiscal year
    operation_id: closeFiscalPeriod
    permission: accounting.fiscal-periods.close
    confirm: true
  - label: Evaluate Again
    operation_id: getFiscalCloseReadiness
    permission: accounting.fiscal-periods.read
    confirm: false
states:
  - loading
  - empty (the year is unavailable or contains no periods)
  - error (failed year or readiness requests expose Retry)
  - read-only (closing requires action authority and completed earlier months)
  - inactive (all months are closed or execution protects the final month)
validation:
  - BR-CAP-ACC-CLS-010-02
  - BR-CAP-ACC-CLS-010-03
  - BR-CAP-ACC-CLS-008-12
  - BR-CAP-ACC-CLS-004-05
patterns:
  - Full layout (PageLayout and PageHeader) with breadcrumb
  - Permission guard (RequirePermission on the close layout)
  - 'Loading indicator panel, Notice and Error panel with Retry'
  - Readiness summary and checklist
  - Close dialog with typed confirmation in the fiscal-year scope
component: >-
  react-console:components/accounting/close/fiscal-year-close.tsx
  (FiscalYearClose)
evidence:
  - >-
    react-console at baf6dae3:
    app/(console)/console/[tenantId]/accounting/close/years/[fiscalYearId]/page.tsx;
    components/accounting/close/fiscal-year-close.tsx, close-dialog.tsx.
  - >-
    react-console:components/console/page-layout.tsx:PageLayout;
    lib/layout/page-width.ts:DEFAULT_PAGE_WIDTH (dependencies imported by the
    hosted pages); components/accounting/close/close-dialog.tsx:CloseDialog;
    reopen-dialog.tsx:ReopenDialog
controls: [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-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-PI-001, TC-PI-002, TC-PI-003, TC-PI-005]
---

# Fiscal Year Close

## What the Screen Is For

The year review prepares controllers to close the final month with year-level checks. Year closure follows the period state through the database trigger rather than a separate year-close endpoint.

## What It Shows and Lets People Do

The page shows the year’s months and final-month readiness with the other-month, future-year and reconciliation-review checks. Month links open a closed run when available or the period workspace otherwise. Guidance explains that closing, retained-earnings and opening-balance entries remain in the customer’s external general ledger. The year-scoped close dialog leads to its run.

## States and Errors

Missing calendar data and readiness failures show their notices or retry panels. Earlier outstanding months disable the close action. A closed final month displays its status and a run link. This page has no reopen dialog; correction is reached from another close surface.

## Patterns It Must Respect

The year page uses PageLayout and PageHeader, breadcrumb links, the shared permission guard, readiness summary and checklist, a check drawer, a period strip and the existing close dialog.
