---
id: SCR-ACC-CLS-001
title: Month-End Close
route: '/console/{tenantId}/accounting/close'
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: >-
  Help controllers review the current month’s readiness and initiate an
  authorized close or latest-month reopen.
supports:
  - JNY-ACC-CLS-001
  - JNY-ACC-CLS-002
  - JNY-ACC-CLS-003
  - CAP-ACC-CLS-001
  - CAP-ACC-CLS-002
  - CAP-ACC-CLS-004
  - CAP-ACC-CLS-005
  - CAP-ACC-CLS-006
  - CAP-ACC-CLS-007
  - CAP-ACC-CLS-008
  - CAP-ACC-CLS-011
permission: accounting.fiscal-periods.read (the close layout's guard)
entry_from:
  - Accounting navigation’s close entry
  - '/console/{tenantId}/accounting/close/runs/{runId} (Back to Period Close)'
  - '/console/{tenantId}/accounting/close/years/{fiscalYearId} (breadcrumb)'
exits_to:
  - >-
    /console/{tenantId}/accounting/close/periods/{fiscalYearId}/{periodNumber}
    (choosing another month)
  - >-
    /console/{tenantId}/accounting/close/runs/{runId} (after submitting a close
    or reopen, or opening a run)
  - '/console/{tenantId}/accounting/close/history'
  - '/console/{tenantId}/accounting/close/years/{fiscalYearId}'
  - Accounting record pages reached through the checklist’s supporting links
displays:
  - field: >-
      Business unit selection remembered for the person, plus calendar-month
      selection.
    source: >-
      Books business units (listBusinessUnits in Books); listFiscalClosePeriods
      (DOM-ACC-CLS-001)
  - field: Current month label and closing state.
    source: listFiscalClosePeriods (DOM-ACC-CLS-001 current)
  - field: >-
      Readiness verdict, review counts, outstanding reconciliation amount and
      evaluation timestamp.
    source: getFiscalCloseReadiness (DOM-ACC-CLS-002 overall verdict and counts)
  - field: >-
      Categorized checks and a drawer with figures, supporting items and next
      actions.
    source: getFiscalCloseReadiness (DOM-ACC-CLS-002 checks)
  - field: >-
      Payment buckets, approved exceptions, findings and merchant clearing
      lines.
    source: getFiscalCloseReadiness (DOM-ACC-CLS-002 reconciliation section)
  - field: The available action and its authorization or readiness explanation.
    source: getFiscalCloseAuthorization; getFiscalCloseReadiness
  - field: Captured closing evidence when the displayed month is closed.
    source: getFiscalCloseRecord (DOM-ACC-CLS-004)
  - field: Display names for relevant participants resolved by the adapter.
    source: 'Platform user names, resolved by the console'
actions:
  - label: Close <month>
    operation_id: closeFiscalPeriod
    permission: accounting.fiscal-periods.close
    confirm: true
  - label: Reopen <latest closed month>
    operation_id: reopenFiscalPeriod
    permission: accounting.fiscal-periods.reopen
    confirm: true
  - label: Evaluate Again
    operation_id: getFiscalCloseReadiness
    permission: accounting.fiscal-periods.read
    confirm: false
  - label: View Close History
    operation_id: listFiscalCloseRuns
    permission: accounting.fiscal-periods.read
    confirm: false
  - label: Close Fiscal Year
    operation_id: getFiscalCloseReadiness
    permission: accounting.fiscal-periods.read
    confirm: false
states:
  - loading
  - >-
    empty (unit or year selection has no records; an entirely closed calendar
    needs a null current-month response to reach this notice)
  - >-
    error (includes the live current-month lookup failure for an entirely closed
    calendar)
  - >-
    read-only (missing action authority disables submission and supplies an
    explanation)
  - >-
    inactive (a protected month cannot close here and has no link to its holding
    run)
validation:
  - BR-CAP-ACC-CLS-002-01
  - BR-CAP-ACC-CLS-002-09
  - BR-CAP-ACC-CLS-004-02
  - BR-CAP-ACC-CLS-008-01
  - BR-CAP-ACC-CLS-008-12
  - BR-CAP-ACC-CLS-011-01
  - BR-CAP-ACC-CLS-011-10
patterns:
  - Full layout (PageLayout and PageHeader)
  - Permission guard (RequirePermission on the close layout)
  - 'Loading indicator panel, Notice and Error panel with Retry'
  - Readiness summary and checklist with a check detail drawer
  - Reconciliation panel
  - Dialogs for close and reopen with typed confirmation
  - Action button with pending state and the more-actions dropdown
  - Demonstration-data notice in mock mode
component: >-
  react-console:components/accounting/close/close-workspace.tsx
  (CloseWorkspace), readiness-summary.tsx, readiness-checklist.tsx,
  check-detail-drawer.tsx, reconciliation-panel.tsx, close-dialog.tsx,
  reopen-dialog.tsx, close-record.tsx, period-selector.tsx
evidence:
  - >-
    react-console at baf6dae3:
    app/(console)/console/[tenantId]/accounting/close/page.tsx, layout.tsx;
    components/accounting/close/*.tsx; lib/accounting/close/checks.ts, hooks.ts,
    http-service.ts, provider.tsx.
  - 'services-accounting at f47cb263: modules/fiscal-close/aws/api/*.routes.ts.'
  - >-
    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-TEN-004, 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]
---

# Month-End Close

## What the Screen Is For

Controllers use the workspace to review the selected business unit’s current month, resolve outstanding work and submit an eligible close. The same workspace offers correction of the latest closed month when reopen authorization permits it.

## What It Shows and Lets People Do

The unit and month selectors lead to the calendar subject. Readiness supplies the verdict, counts, categorized checks, detail drawer and payment section. A closed month additionally loads its retained record. The more-actions menu links history and the fiscal year and can offer reopen.

Close refreshes readiness in a confirmation dialog, collects warning acknowledgements and an optional note, and requires the month label. Reopen requires its reason and label. Accepted submissions navigate to the recorded run.

## States and Errors

Independent loads expose loading, error and retry controls. Close stays disabled while authority is unavailable, the month is protected or noncurrent, or readiness is unusable. The live adapter treats an entirely closed calendar as a not-found error; the empty notice describes the service-returned-null or mock path. Transitional state disables Close but this workspace does not render its holding-run backlink.

## Patterns It Must Respect

The hosted page uses PageLayout and PageHeader with RequirePermission at the close layout. Its workspace uses the existing selectors, summary, checklist, drawer, reconciliation panel and close and reopen dialogs. Mock mode shows a demonstration notice. Warning grouping and confirmation guidance have recorded discrepancies; the design describes the built components without authorizing a redesign.
