---
id: CAP-ACC-REC-018
title: Assess reconciliation work before period close
feature: FEAT-ACC-REC-06
product_area: accounting
module: reconciliation
revision: 2
status: draft
product_intent: confirmed
implementation_evidence: observed
supersedes:
  - react-console acceptance inventory CAP-ACC-REC-013
source_sha:
  services-accounting: f47cb263875bbc0c5640fba7dae6785ec32695f8
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
intent_sources:
  - >-
    services-accounting:docs/milestones/plans/ACCT-M8-plan.md#D10 (§1: month-end close reads reconciliation’s
    readiness and refuses to close over overdue or unexplained money)
  - >-
    services-accounting:docs/reconciliation/architecture.md#15.2 Structured finding (one finding per problem,
    Andrew, 2026-10-16)
  - >-
    services-accounting:docs/milestones/plans/ACCT-M8-plan.md#D10 (§4: the architecture §6 invariants hold;
    INV-17)
  - >-
    services-accounting:docs/milestones/plans/ACCT-M8-plan.md#D6 (architecture §3.4 U11: Close Readiness, one
    close)
purpose: Controllers need a current assessment of missing or unfinished reconciliation money for a selected period.
outcomes:
  - Close assessment identifies missing and unfinished reconciliation work.
  - Transit alone remains advisory.
  - Each financial concern has one principal finding.
concepts:
  - CON-ACC-REC-005
actors:
  - ACT-ACC-019
  - ACT-ACC-018
  - ACT-ACC-007
surfaces:
  - console
  - api
preconditions: []
postconditions: []
permissions:
  - key: accounting.reconciliation-batches.read
    where_checked: api
    scope: tenant
  - key: accounting.reconciliation-batches.read
    where_checked: console
    scope: tenant
rules:
  - id: BR-CAP-ACC-REC-018-01
    proved_by: [ATS-ACC-REC-018-01, TST-ACC-REC-023]
    statement: >-
      Readiness selects a unit and a year-period pair, or derives the period from the supplied day or
      workspace-local today, rejecting incomplete pairs and absent unit periods.
    kind: validation
    enforced_at:
      - api
    must_prove: true
    provenance: test
    source: >-
      services-accounting:modules/reconciliation/tests/e2e/batch-lifecycle.e2e.spec.js#refuses a fiscal year
      without a period number with 400;
      services-accounting:modules/reconciliation/tests/e2e/batch-lifecycle.e2e.spec.js#answers 200 with the
      blockers, warnings, clearing lines and period of tenant A’s October;
      services-accounting:modules/reconciliation/tests/e2e/batch-lifecycle.e2e.spec.js#answers the period
      containing asOf when no period is named;
      services-accounting:modules/reconciliation/tests/e2e/batch-lifecycle.e2e.spec.js#answers 404 for a unit
      with no such period;
      services-accounting:modules/reconciliation/tests/e2e/batch-lifecycle.e2e.spec.js#refuses a principal
      without accounting.reconciliation-batches.read with 403
    origin: >-
      services-accounting:docs/milestones/plans/ACCT-M8-plan.md#D10 (plan approved 2026-10-22 10:40 ET; §2
      scope); the readiness contract for close
  - id: BR-CAP-ACC-REC-018-02
    proved_by: [ATS-ACC-REC-003-08, ATS-ACC-REC-018-02, ATS-ACC-REC-018-12, ATS-ACC-REC-019-06, TST-ACC-REC-055]
    statement: >-
      Each live in-period payout outside a finalized reconciliation produces a blocker carrying its open
      reconciliation, difference and unbalanced-payout exception when present.
    kind: calculation
    enforced_at:
      - service
    must_prove: true
    provenance: test
    source: >-
      services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period.integration.spec.js#reports
      C1 for each live payout of the period not in a finalized batch, carrying its unbalanced-payout
      exception;
      services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period.integration.spec.js#reports
      one C1 for the payout whose open batch does not balance, carrying the batch and its difference;
      services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period.integration.spec.js#reports
      C2 only for the unbalanced open batch dated before the period, the batch with its difference
    origin: >-
      services-accounting:docs/reconciliation/architecture.md#15.2 Structured finding (one finding per
      problem, Andrew, 2026-10-16)
  - id: BR-CAP-ACC-REC-018-03
    proved_by: [ATS-ACC-REC-003-08, ATS-ACC-REC-018-02, ATS-ACC-REC-018-12, ATS-ACC-REC-019-06, TST-ACC-REC-055]
    statement: >-
      An older open reconciliation with nonzero difference blocks separately when all its payout dates precede
      the period.
    kind: calculation
    enforced_at:
      - service
    must_prove: true
    provenance: test
    source: >-
      services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period.integration.spec.js#reports
      C2 only for the unbalanced open batch dated before the period, the batch with its difference;
      services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period.integration.spec.js#reports
      C1 for each live payout of the period not in a finalized batch, carrying its unbalanced-payout
      exception;
      services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period.integration.spec.js#reports
      one C1 for the payout whose open batch does not balance, carrying the batch and its difference
    origin: >-
      services-accounting:docs/reconciliation/architecture.md#15.2 Structured finding (one finding per
      problem, Andrew, 2026-10-16)
  - id: BR-CAP-ACC-REC-018-04
    proved_by: [ATS-ACC-REC-006-11, ATS-ACC-REC-016-09, ATS-ACC-REC-017-11, ATS-ACC-REC-018-03, ATS-ACC-REC-018-11, TST-ACC-REC-055]
    statement: >-
      Unclaimed money beyond grace at the earlier of period end and preview day blocks unless its overdue
      exception is accepted, linking its open exception when present.
    kind: calculation
    enforced_at:
      - service
    must_prove: true
    provenance: test
    source: >-
      services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period.integration.spec.js#reports
      one C3 for the overdue item with its open exception, carrying the exception id;
      services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period.integration.spec.js#reports
      C3 for the item overdue at the period’s end with no exception;
      services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period.integration.spec.js#reports
      no C3 for the overdue item whose exception is accepted
    origin: 'services-accounting:docs/milestones/plans/ACCT-M8-plan.md#D10 (§1: refuses to close over overdue money)'
  - id: BR-CAP-ACC-REC-018-05
    proved_by: [ATS-ACC-REC-013-11, ATS-ACC-REC-014-13, ATS-ACC-REC-018-04, TST-ACC-REC-055]
    statement: >-
      An open or investigating period-anchored blocker not already carried by another finding gets its own
      finding, including blocker-severity duplicate exceptions.
    kind: calculation
    enforced_at:
      - service
    must_prove: true
    provenance: test
    source: >-
      services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period.integration.spec.js#reports
      C4 for the open blocker exception anchored in the period that no other finding carries;
      services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period.integration.spec.js#reports
      a possible-duplicate exception of blocker severity once, as C4 and not as W5;
      services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period.integration.spec.js#reports
      C5 for the reversal awaiting its second approval;
      services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period.integration.spec.js#reports
      C6 for the finalize batch posting has not posted, and not for the request it posted;
      services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period.integration.spec.js#reports
      C7 for the September effect posted in October, not reviewed;
      services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period.integration.spec.js#reports
      C8 for the open batch whose totals disagree with its rows;
      services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period.integration.spec.js#reports
      the blockers in the checks’ order and nothing else;
      services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period.integration.spec.js#still
      reports it once the batch posting that held it was reversed;
      services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period.integration.spec.js#reports
      it no more once an unreversed batch posting holds its reconciliation entry
    origin: >-
      services-accounting:docs/reconciliation/architecture.md#15.2 Structured finding (one finding per
      problem, Andrew, 2026-10-16)
  - id: BR-CAP-ACC-REC-018-06
    proved_by: [ATS-ACC-REC-013-11, ATS-ACC-REC-014-13, ATS-ACC-REC-018-04, TST-ACC-REC-055]
    statement: >-
      Pending reversal approvals, in-period unposted requests, unreviewed late effects from an earlier closed
      period and inconsistent reconciliation totals each block readiness.
    kind: calculation
    enforced_at:
      - service
    must_prove: true
    provenance: test
    source: >-
      services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period.integration.spec.js#reports
      C6 for the finalize batch posting has not posted, and not for the request it posted;
      services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period.integration.spec.js#reports
      C4 for the open blocker exception anchored in the period that no other finding carries;
      services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period.integration.spec.js#reports
      a possible-duplicate exception of blocker severity once, as C4 and not as W5;
      services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period.integration.spec.js#reports
      C5 for the reversal awaiting its second approval;
      services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period.integration.spec.js#reports
      C7 for the September effect posted in October, not reviewed;
      services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period.integration.spec.js#reports
      C8 for the open batch whose totals disagree with its rows;
      services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period.integration.spec.js#reports
      the blockers in the checks’ order and nothing else;
      services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period.integration.spec.js#still
      reports it once the batch posting that held it was reversed;
      services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period.integration.spec.js#reports
      it no more once an unreversed batch posting holds its reconciliation entry
    origin: 'services-accounting:docs/milestones/plans/ACCT-M8-plan.md#D7'
  - id: BR-CAP-ACC-REC-018-07
    proved_by: [ATS-ACC-REC-018-05, TST-ACC-REC-028, TST-ACC-REC-055]
    statement: >-
      The clearing check compares posted balance through the state day with transit, overdue and
      open-reconciliation money per merchant and blocks on a difference.
    kind: calculation
    enforced_at:
      - service
    must_prove: true
    provenance: test
    source: >-
      services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period.integration.spec.js#reports
      C9 for the clearing account whose posted balance differs from its outstanding items;
      services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period.integration.spec.js#counts
      the entries dated up to the state date: debits less credits of the merchant account’s clearing account;
      services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period.integration.spec.js#counts
      none dated after the state date;
      services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period.integration.spec.js#answers
      the clearing line, overdue items (the accepted one too) apart from those in transit and in open
      reconciliation;
      services-accounting:modules/reconciliation/tests/e2e/reconciliation-scenario.e2e.spec.js#step 10: counts
      the gift in transit on 2026-10-13 and overdue on 2026-10-16 on the clearing line, with C9 blocking on
      the ledger holding none of it
    origin: 'services-accounting:docs/milestones/plans/ACCT-M8-plan.md#D7 (with D2: the clearing account)'
  - id: BR-CAP-ACC-REC-018-08
    proved_by: [ATS-ACC-REC-018-06, TST-ACC-REC-055, TST-ACC-REC-092]
    statement: >-
      Transit, late arrivals, finalized but bank-unverified payouts, later-period drafts holding
      current-period items and possible duplicates are warnings; transit itself cannot prevent close.
    kind: policy
    enforced_at:
      - service
    must_prove: true
    provenance: test
    source: >-
      services-accounting:modules/reconciliation/tests/unit/rules/readiness.spec.js#classifies funds in
      transit as a warning, never a blocker;
      services-accounting:modules/reconciliation/tests/unit/rules/readiness.spec.js#classifies a possible
      duplicate payout as a warning;
      services-accounting:modules/reconciliation/tests/unit/rules/readiness.spec.js#is false with only
      warnings;
      services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period.integration.spec.js#reports
      W1 to W5, each whole and in order;
      services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period.integration.spec.js#answers
      the item in transit as its only warning
    origin: >-
      services-accounting:docs/milestones/plans/ACCT-M8-plan.md#D10 (§4: the architecture §6 invariants hold;
      INV-17)
  - id: BR-CAP-ACC-REC-018-09
    proved_by: [ATS-ACC-REC-015-13, ATS-ACC-REC-018-07, TST-ACC-REC-028, TST-ACC-REC-055, TST-ACC-REC-092]
    statement: >-
      Readiness represents a problem once with one principal record and related records, suppressing duplicate
      exception findings and ordering by check then record.
    kind: policy
    enforced_at:
      - service
    must_prove: true
    provenance: test
    source: >-
      services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period.integration.spec.js#reports
      no finding of its own for an exception another finding carries;
      services-accounting:modules/reconciliation/tests/unit/rules/readiness.spec.js#reports blockers in the
      checks’ order, then by entity id;
      services-accounting:modules/reconciliation/tests/unit/rules/readiness.spec.js#lists every check with its
      code and severity, in report order;
      services-accounting:modules/reconciliation/tests/e2e/reconciliation-scenario.e2e.spec.js#step 10:
      reports the gift and its overdue exception as that one finding, no exception-unresolved beside it
    origin: >-
      services-accounting:docs/reconciliation/architecture.md#15.2 Structured finding (one finding per
      problem, Andrew, 2026-10-16)
  - id: BR-CAP-ACC-REC-018-10
    proved_by: [ATS-ACC-REC-018-05, TST-ACC-REC-028, TST-ACC-REC-055]
    statement: >-
      Clearing summaries count unresolved items occurring by the state day once as open-held, overdue
      including accepted cases, or transit including pending, held and late cases.
    kind: calculation
    enforced_at:
      - service
    must_prove: true
    provenance: test
    source: >-
      services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period.integration.spec.js#answers
      the clearing line, overdue items (the accepted one too) apart from those in transit and in open
      reconciliation;
      services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period.integration.spec.js#reports
      C9 for the clearing account whose posted balance differs from its outstanding items;
      services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period.integration.spec.js#counts
      the entries dated up to the state date: debits less credits of the merchant account’s clearing account;
      services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period.integration.spec.js#counts
      none dated after the state date;
      services-accounting:modules/reconciliation/tests/e2e/reconciliation-scenario.e2e.spec.js#step 10: counts
      the gift in transit on 2026-10-13 and overdue on 2026-10-16 on the clearing line, with C9 blocking on
      the ledger holding none of it
    origin: >-
      services-accounting:docs/milestones/plans/ACCT-M8-plan.md#D10 (plan approved 2026-10-22 10:40 ET; §2
      scope)
  - id: BR-CAP-ACC-REC-018-11
    proved_by: [ATS-ACC-REC-018-08, TST-ACC-REC-054, TST-ACC-REC-089]
    statement: >-
      Period-local occurrence assigns items to six currency buckets, at most one per item, with
      processor-matched status unavailable until imports exist.
    kind: calculation
    enforced_at:
      - service
    must_prove: true
    provenance: test
    source: >-
      services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period-close-fields.integration.spec.js#answers
      the six buckets in order, each with its count and signed amount, matched to processor unavailable;
      services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period-close-fields.integration.spec.js#counts
      each item of the period in one bucket at most: the buckets and the two excluded make the thirteen in
      scope;
      services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period-close-fields.integration.spec.js#counts
      the item of 23:00 Eastern on October 31 and neither the item of September 30 nor that of November 1;
      services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period-close-fields.integration.spec.js#answers
      the warning and the blocker accepted in the period, by when they were accepted, whole;
      services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period-close-fields.integration.spec.js#answers
      the first 500 accepted exceptions by when they were accepted, and says there were more;
      services-accounting:modules/reconciliation/tests/unit/rules/payment-states.spec.js#marks only matched to
      processor unavailable, with its reason
    origin: 'services-accounting:docs/milestones/plans/ACCT-M8-plan.md#D8 (processor import out of this milestone)'
  - id: BR-CAP-ACC-REC-018-12
    proved_by: [ATS-ACC-REC-018-08, TST-ACC-REC-054, TST-ACC-REC-089]
    statement: >-
      The accepted list uses exceptions’ period anchors rather than acceptance dates, orders by acceptance
      time and returns at most five hundred with a truncation flag and applicable approval identities.
    kind: policy
    enforced_at:
      - service
    must_prove: true
    provenance: observed
    source: >-
      services-accounting:modules/reconciliation/services/persistence/readiness-findings.ts:acceptedExceptionsOfPeriod
    origin: 'services-accounting:docs/reconciliation/architecture.md#13.2 Workflow (Andrew''s Decision 2, 2026-10-16)'
  - id: BR-CAP-ACC-REC-018-13
    proved_by: [ATS-ACC-REC-011-15, ATS-ACC-REC-018-09, ATS-ACC-REC-018-13, TST-ACC-REC-055]
    statement: >-
      Assessment requires its caller’s transaction; Month-End Close assesses after its period lock and refuses
      remaining blockers.
    kind: invariant
    enforced_at:
      - service
    must_prove: true
    provenance: test
    source: >-
      services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period.integration.spec.js#refuses
      an assessment outside a transaction;
      services-accounting:modules/reconciliation/tests/integration/services/close-readiness/assess-period.integration.spec.js#refuses
      a writability check outside a transaction
    origin: >-
      services-accounting:docs/reconciliation/brief.md#Period close (Andrew’s product brief, 2026-10-15):
      enforced in the service, not the UI
  - id: BR-CAP-ACC-REC-018-14
    proved_by: [ATS-ACC-REC-018-01, TST-ACC-REC-023]
    statement: Reconciliation read permission is required for readiness access.
    kind: permission
    enforced_at:
      - api
    must_prove: true
    provenance: test
    source: >-
      services-accounting:modules/reconciliation/tests/e2e/batch-lifecycle.e2e.spec.js#refuses a principal
      without accounting.reconciliation-batches.read with 403;
      services-accounting:modules/reconciliation/tests/e2e/batch-lifecycle.e2e.spec.js#answers 200 with the
      blockers, warnings, clearing lines and period of tenant A’s October;
      services-accounting:modules/reconciliation/tests/e2e/batch-lifecycle.e2e.spec.js#answers the period
      containing asOf when no period is named;
      services-accounting:modules/reconciliation/tests/e2e/batch-lifecycle.e2e.spec.js#refuses a fiscal year
      without a period number with 400;
      services-accounting:modules/reconciliation/tests/e2e/batch-lifecycle.e2e.spec.js#answers 404 for a unit
      with no such period
    origin: 'services-accounting:docs/milestones/plans/ACCT-M8-plan.md#D10 (§2: permissions)'
  - id: BR-CAP-ACC-REC-018-15
    proved_by: [ATS-ACC-REC-018-10, TST-ACC-REC-015, TST-ACC-REC-022]
    statement: >-
      The console offers unit, period and date selection and linked readiness findings, without a close
      command.
    kind: policy
    enforced_at:
      - console
    must_prove: false
    provenance: observed
    source: 'react-console:components/accounting/reconciliation/close-screen.tsx:CloseScreen'
    origin: 'services-accounting:docs/milestones/plans/ACCT-M8-plan.md#D6 (architecture §3.4 U11)'
scenarios:
  - id: SC-CAP-ACC-REC-018-01
    given: The overdue gift has an active exception in October.
    when: Assess that month.
    then: One linked financial finding includes the exception without a duplicate exception finding.
    provenance: test
    source: >-
      services-accounting:modules/reconciliation/tests/e2e/reconciliation-scenario.e2e.spec.js#step 10:
      reports the gift and its overdue exception as that one finding, no exception-unresolved beside it
  - id: SC-CAP-ACC-REC-018-02
    given: The gift has reached its expected day but not grace expiry.
    when: Preview readiness for that day.
    then: Transit produces advisory information rather than an overdue blocker.
    provenance: test
    source: >-
      services-accounting:modules/reconciliation/tests/e2e/reconciliation-scenario.e2e.spec.js#step 10: warns
      of funds in transit for the gift on 2026-10-13, and never blocks on them
edge_cases:
  - id: SC-CAP-ACC-REC-018-03
    given: Financial work has cleared all blockers and posting has completed the requests.
    when: Reassess October.
    then: No reconciliation blocker remains.
    provenance: test
    source: >-
      services-accounting:modules/reconciliation/tests/e2e/reconciliation-scenario.e2e.spec.js#step 12: shows
      October 2026 with no blockers once batch posting posted them
constraints: []
depends_on:
  - CAP-ACC-REC-006
  - CAP-ACC-REC-014
  - CAP-ACC-REC-015
related:
  - CAP-ACC-REC-016
  - CAP-ACC-REC-019
journeys:
  - JNY-ACC-REC-003
  - JNY-ACC-REC-005
open_questions: []
evidence:
  - >-
    Examined supporting service material: batch-lifecycle.routes.ts (getReconciliationReadiness),
    batch-lifecycle.schemas.ts (readinessQuerySchema), services/close-readiness/assess-period.ts,
    persistence/readiness-findings.ts, rules/readiness.ts, rules/payment-states.ts; tests integration
    assess-period and assess-period-close-fields, unit readiness and payment-states, e2e batch-lifecycle
    (readiness) and scenario steps 10 to 12; docs/reconciliation/architecture.md §15.
  - >-
    Examined supporting console material: components/accounting/reconciliation/close-screen.tsx;
    lib/accounting/reconciliation/adapter.ts (toReadiness), store.tsx (readReadiness); acceptance journeys
    ACT-ACC-0607, ACT-ACC-0625, ACT-ACC-0626.
controls: [TC-IAM-001, TC-IAM-002, TC-IAM-004, TC-IAM-005, TC-IAM-006, 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-DAT-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]
exercised_by: [FAS-ACC-REC-06-01, FAS-ACC-REC-06-02, FAS-ACC-REC-06-03, FAS-ACC-REC-06-04, FAS-ACC-REC-06-05]
suites: [TST-ACC-REC-015, TST-ACC-REC-022, TST-ACC-REC-023, TST-ACC-REC-028, TST-ACC-REC-054, TST-ACC-REC-055, TST-ACC-REC-089, TST-ACC-REC-092]
---

# Assess reconciliation work before period close

## Purpose

Controllers need a current assessment of missing or unfinished reconciliation money for a selected period.

## How It Works

The controller selects a business unit and accounting period. Rhythm produces blocking and advisory findings, links related financial records and explains processor clearing. Preparers and approvers follow those findings into the work that changes them. Month-End Close consumes the assessment within its protected transaction. The reconciliation preview does not itself perform close, and unreviewed late accounting can remain a blocker.

## Relationships

Settlement status, accounting requests and exception decisions provide the assessment; Month-End Close owns the resulting close decision.
