---
id: JNY-ACC-CLS-002
title: A controller resolves the work preventing a close
feature: FEAT-ACC-CLS-02
product_area: accounting
module: close
revision: 1
status: draft
product_intent: proposed
implementation_evidence: observed
supersedes:
  - ACT-ACC-0616 (react-console acceptance journey)
source_sha:
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
  services-accounting: f47cb263875bbc0c5640fba7dae6785ec32695f8
actor: ACT-ACC-015
goal: Locate and resolve required work before submitting a new close.
capabilities:
  - CAP-ACC-CLS-004
  - CAP-ACC-CLS-005
  - CAP-ACC-CLS-006
  - CAP-ACC-CLS-008
  - CAP-ACC-CLS-012
screens:
  - '/console/{tenantId}/accounting/close/periods/{fiscalYearId}/{periodNumber}'
  - '/console/{tenantId}/accounting/batches'
steps:
  - 'n': 1
    surface: '/console/{tenantId}/accounting/close/periods/{fiscalYearId}/{periodNumber}'
    action: Open the month and select the blocking-check filter.
    capability: CAP-ACC-CLS-004
    expected: The verdict identifies required work preventing closure.
    provenance: test
    source: >-
      react-console:acceptance/accounting/playwright/journeys/reconciliation-close/ACT-ACC-0616.spec.ts#ACT-ACC-0616
  - 'n': 2
    surface: '/console/{tenantId}/accounting/close/periods/{fiscalYearId}/{periodNumber}'
    action: Inspect the batch and transaction results.
    capability: CAP-ACC-CLS-005
    expected: >-
      The fixture exposes open and archived batches and an invoice without
      completed posting.
    provenance: test
    source: >-
      react-console:acceptance/accounting/playwright/journeys/reconciliation-close/ACT-ACC-0616.spec.ts#ACT-ACC-0616
  - 'n': 3
    surface: '/console/{tenantId}/accounting/close/periods/{fiscalYearId}/{periodNumber}'
    action: Review the reconciliation result and context.
    capability: CAP-ACC-CLS-006
    expected: >-
      The findings remain ordered with blockers first and transit amounts
      displayed.
    provenance: observed
    source: >-
      react-console:components/accounting/close/reconciliation-panel.tsx:ReconciliationPanel
  - 'n': 4
    surface: closeFiscalPeriod
    action: Submit a direct close request despite the blockers.
    capability: CAP-ACC-CLS-008
    expected: 'The job stops at revalidation, names the blockers and releases the period.'
    provenance: test
    source: >-
      react-console:acceptance/accounting/playwright/journeys/reconciliation-close/ACT-ACC-0616.spec.ts#ACT-ACC-0616
  - 'n': 5
    surface: retryFiscalCloseRun
    action: Attempt recovery on the released run.
    capability: CAP-ACC-CLS-012
    expected: >-
      Retry is unavailable; eligible cancellation can end the failed request,
      and closing requires a fresh run.
    provenance: observed
    source: >-
      services-accounting:modules/fiscal-close/services/jobs/close-run-actions.ts:cancelCloseRun
  - 'n': 6
    surface: '/console/{tenantId}/accounting/close/periods/{fiscalYearId}/{periodNumber}'
    action: >-
      Resolve ledger work through the supplied record actions and evaluate
      again.
    capability: CAP-ACC-CLS-005
    expected: The resolved fixture passes its ledger checks and becomes ready.
    provenance: test
    source: >-
      react-console:acceptance/accounting/playwright/journeys/reconciliation-close/ACT-ACC-0616.spec.ts#ACT-ACC-0616
  - 'n': 7
    surface: closeFiscalPeriod
    action: Submit a fresh console close.
    capability: CAP-ACC-CLS-008
    expected: The new run completes while prior failures remain in history.
    provenance: test
    source: >-
      react-console:acceptance/accounting/playwright/journeys/reconciliation-close/ACT-ACC-0616.spec.ts#ACT-ACC-0616
alternates:
  - from_step: 1
    condition: The checklist displayed earlier information.
    path: >-
      The dialog’s fresh evaluation displays the required failures and sends no
      command.
    outcome: The period has no new close request.
    provenance: test
    source: >-
      react-console:acceptance/accounting/playwright/journeys/reconciliation-close/ACT-ACC-0616.spec.ts#ACT-ACC-0616
failures:
  - from_step: 3
    condition: The payment assessment is unavailable.
    path: Readiness reports its failed check and unavailable reconciliation section.
    outcome: The required condition remains unresolved.
    provenance: test
    source: >-
      services-accounting:modules/fiscal-close/tests/unit/readiness/reconciliation-checks.spec.js#is
      unavailable, not ready and empty when the assessment could not run
rules_in_play:
  - BR-CAP-ACC-CLS-004-02
  - BR-CAP-ACC-CLS-005-03
  - BR-CAP-ACC-CLS-005-04
  - BR-CAP-ACC-CLS-005-07
  - BR-CAP-ACC-CLS-006-01
  - BR-CAP-ACC-CLS-008-06
  - BR-CAP-ACC-CLS-008-10
  - BR-CAP-ACC-CLS-012-03
assertions:
  - id: AS-JNY-ACC-CLS-002-01
    statement: The fixture’s unfinished ledger work prevents successful closure.
    provenance: test
    source: >-
      react-console:acceptance/accounting/playwright/journeys/reconciliation-close/ACT-ACC-0616.spec.ts#ACT-ACC-0616
  - id: AS-JNY-ACC-CLS-002-02
    statement: Readiness refusal releases the month and prevents retry of that run.
    provenance: test
    source: >-
      react-console:acceptance/accounting/playwright/journeys/reconciliation-close/ACT-ACC-0616.spec.ts#ACT-ACC-0616
  - id: AS-JNY-ACC-CLS-002-03
    statement: Resolving the fixture’s required causes allows a fresh close to complete.
    provenance: test
    source: >-
      react-console:acceptance/accounting/playwright/journeys/reconciliation-close/ACT-ACC-0616.spec.ts#ACT-ACC-0616
e2e_policy: required
e2e_reason: >-
  The outcome crosses console decisions and service effects, so browser coverage
  is required.
proved_by: []
---

# A controller resolves the work preventing a close

## Story

The controller uses the checklist to find unfinished ledger and reconciliation work. A direct request demonstrates that execution also refuses the required blockers and releases the month. After the causes are resolved, the controller starts a new close. The failed request remains available as execution history rather than being mistaken for a completed close.
