---
id: MOD-ACC-REC
title: Reconciliation
product_area: accounting
module: reconciliation
revision: 3
status: draft
source_sha:
  services-accounting: f47cb263875bbc0c5640fba7dae6785ec32695f8
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
repositories:
  - name: services-accounting
    paths:
      - modules/reconciliation
      - >-
        aws/accounting.service.ts (payouts, reconciliation-batches, settlement-items,
        reconciliation-exceptions permission groups; ReconciliationBuiltInPolicies)
      - aws/accounting.responsibilities.ts (accounting.reconciliation)
      - tests/unit/reconciliation-permissions.spec.ts
      - tests/unit/reconciliation-matching-routes.spec.ts
      - docs/reconciliation
      - docs/milestones/ACCT-M8-payout-reconciliation.md
      - docs/milestones/plans/ACCT-M8-plan.md
      - docs/forge-handoff/accounting.md (cited by the milestone record)
  - name: react-console
    paths:
      - 'app/(console)/console/[tenantId]/accounting/reconciliation'
      - components/accounting/reconciliation
      - lib/accounting/reconciliation
      - lib/authz/permissions.ts and lib/authz/backend-aliases.ts (reconciliation keys)
      - e2e/mock/accounting-reconciliation.mock.spec.ts
      - acceptance/accounting/inventory (area REC)
      - 'acceptance/accounting/journeys/reconciliation-close (ACT-ACC-0590 to 0612, 0623 to 0629)'
      - acceptance/accounting/playwright/journeys/reconciliation-close
      - acceptance/accounting/reports/defects/reconciliation-close.md
owns:
  - 'Processor payouts and their verification, supporting documents and lifecycle'
  - 'Settlement obligations, expected timing, matching allocations and resolution'
  - 'Reconciliation drafts, payout membership, approval, abandonment and reversal'
  - Accounting requests awaiting operational batch posting
  - Reconciliation exceptions and their review records
  - Reconciliation findings supplied to fiscal close
  - 'Overview summaries, daily checks and the reconciliation audit history'
  - Request-key tracking and seeded settlement calendar definitions
does_not_own:
  - record: 'Financial configuration, account destinations, settlement overrides and approval settings'
    owner: 'MOD-ACC-BKS (Books, business units and chart of accounts)'
  - record: Source payment documents and their settlement obligations
    owner: MOD-ACC-TRX (Transactions)
  - record: Operational batches and the ledger posting of reconciliation requests
    owner: MOD-ACC-BAT (Batch management)
  - record: 'Fiscal periods, close locks, checklists and close records'
    owner: MOD-ACC-CLS (Month-end close)
  - record: Shared scheduled execution for accounting work
    owner: MOD-ACC-BKS (Books; modules/maintenance)
  - record: Attention delivery and responsibility assignment
    owner: MOD-PFM-ELG
  - record: Role administration and permission evaluation
    owner: MOD-PFM-SEC
  - record: Workspace export execution
    owner: MOD-PFM-QRY
  - record: Future processor import workflows
    owner: MOD-PFM-INT
hosted_screens:
  - route: '/console/{tenantId}/accounting/reconciliation'
    purpose: Review reconciliation progress and attention
  - route: '/console/{tenantId}/accounting/reconciliation/payouts'
    purpose: Browse payouts and record a new deposit
  - route: '/console/{tenantId}/accounting/reconciliation/payouts/{id}'
    purpose: 'Prepare, review and correct the payout explanation'
  - route: '/console/{tenantId}/accounting/reconciliation/batches'
    purpose: Browse reconciliation work
  - route: '/console/{tenantId}/accounting/reconciliation/outstanding'
    purpose: Review outstanding settlement money
  - route: '/console/{tenantId}/accounting/reconciliation/exceptions'
    purpose: Review exceptions and their approval decisions
  - route: '/console/{tenantId}/accounting/reconciliation/close'
    purpose: Inspect the reconciliation contribution to period readiness
supersedes:
  - >-
    react-console acceptance inventory area REC: capabilities CAP-ACC-REC-001 to 014 and 024 to 027, rules
    RUL-ACC-REC-001 to 061, 096 and 097 (the close entries 015 to 023 and 062 to 095 belong to MOD-ACC-CLS)
  - react-console acceptance journeys ACT-ACC-0590 to ACT-ACC-0612 and ACT-ACC-0623 to ACT-ACC-0629
evidence:
  - >-
    Service sources: services-accounting:modules/reconciliation;
    services-accounting:aws/accounting.service.ts; services-accounting:aws/accounting.responsibilities.ts;
    services-accounting:tests/unit/reconciliation-permissions.spec.ts;
    services-accounting:tests/unit/reconciliation-matching-routes.spec.ts;
    services-accounting:tests/unit/reconciliation/outstanding-api-mapper.spec.ts.
  - >-
    Intent and dependency records: services-accounting:docs/milestones/plans/ACCT-M8-plan.md;
    services-accounting:docs/milestones/ACCT-M8-payout-reconciliation.md;
    services-accounting:docs/reconciliation/brief.md; services-accounting:docs/reconciliation/architecture.md;
    services-accounting:docs/forge-handoff/accounting.md. The approved plan confirms the module decisions;
    observed numerical defaults remain subject to findings.
  - >-
    Console sources: react-console:app/(console)/console/[tenantId]/accounting/reconciliation;
    react-console:components/accounting/reconciliation; react-console:lib/accounting/reconciliation;
    react-console:lib/authz/permissions.ts; react-console:lib/authz/backend-aliases.ts;
    react-console:e2e/mock/accounting-reconciliation.mock.spec.ts;
    react-console:acceptance/accounting/inventory/parts/reconciliation-close.json;
    react-console:acceptance/accounting/journeys/reconciliation-close;
    react-console:acceptance/accounting/playwright/journeys/reconciliation-close;
    react-console:acceptance/accounting/reports/defects/reconciliation-close.md.
  - >-
    Coverage: 45 HTTP operations, 18 tables, 16 permission keys, two declared policies, seven console pages,
    three daily work kinds and one attention schedule. Acceptance bindings name all seven service end-to-end
    files, 49 integration files, 17 module unit files and three additional scoped service unit files. Nineteen
    of 21 browser journey files retain bindings; stale verification and obsolete close premises remain
    findings. One console mock file is bound; the two console library unit files are inspected as evidence but
    not bound.
  - >-
    Testing inventory: 20 capability test specifications, 235 capability scenarios, seven feature suites with
    35 scenarios and 98 executable suite registrations. Capability bindings retain 170 previously bound cases;
    65 cases remain proposed. Six feature cases have verified source bindings and 29 remain proposed. Category
    coverage does not establish complete execution or design traceability.
coverage_catalog: >-
  ### Operations by capability (45 of 45)

  | Operation | Capability |

  |---|---|

  | `acceptAuthoritativeCandidates` | `CAP-ACC-REC-009` |

  | `acceptReconciliationException` | `CAP-ACC-REC-016` |

  | `addReconciliationExceptionNote` | `CAP-ACC-REC-015` |

  | `addReconciliationManualItem` | `CAP-ACC-REC-010` |

  | `approveReconciliationBatchReversal` | `CAP-ACC-REC-013` |

  | `approveReconciliationExceptionAcceptance` | `CAP-ACC-REC-016` |

  | `attachPayoutEvidence` | `CAP-ACC-REC-002` |

  | `checkPayoutDuplicates` | `CAP-ACC-REC-001` |

  | `claimReconciliationItems` | `CAP-ACC-REC-009` |

  | `createPayout` | `CAP-ACC-REC-001` |

  | `createReconciliationBatch` | `CAP-ACC-REC-008` |

  | `createReconciliationException` | `CAP-ACC-REC-015` |

  | `dismissReconciliationItem` | `CAP-ACC-REC-008` |

  | `finalizeReconciliationBatch` | `CAP-ACC-REC-011` |

  | `getPayout` | `CAP-ACC-REC-004` |

  | `getReconciliationBatch` | `CAP-ACC-REC-008` |

  | `getReconciliationException` | `CAP-ACC-REC-015` |

  | `getReconciliationOverview` | `CAP-ACC-REC-019` |

  | `getReconciliationReadiness` | `CAP-ACC-REC-018` |

  | `getSettlementItem` | `CAP-ACC-REC-006` |

  | `listPayoutEvents` | `CAP-ACC-REC-004` |

  | `listPayouts` | `CAP-ACC-REC-004` |

  | `listReconciliationBatchEvents` | `CAP-ACC-REC-008` |

  | `listReconciliationBatches` | `CAP-ACC-REC-019` |

  | `listReconciliationCandidates` | `CAP-ACC-REC-008` |

  | `listReconciliationExceptions` | `CAP-ACC-REC-015` |

  | `listReconciliationSourceBatches` | `CAP-ACC-REC-008` |

  | `listSettlementItems` | `CAP-ACC-REC-006` |

  | `releaseReconciliationItems` | `CAP-ACC-REC-009` |

  | `removeReconciliationManualItem` | `CAP-ACC-REC-010` |

  | `resolveReconciliationException` | `CAP-ACC-REC-015` |

  | `resolveSettlementItem` | `CAP-ACC-REC-007` |

  | `reverseReconciliationBatch` | `CAP-ACC-REC-013` |

  | `runReconciliationScheduledWork` | `CAP-ACC-REC-017` |

  | `setReconciliationExceptionStep` | `CAP-ACC-REC-015` |

  | `splitSettlementItem` | `CAP-ACC-REC-007` |

  | `summarizeSettlementItems` | `CAP-ACC-REC-006` |

  | `undismissReconciliationItem` | `CAP-ACC-REC-008` |

  | `updatePayout` | `CAP-ACC-REC-002` |

  | `updateReconciliationBatchNotes` | `CAP-ACC-REC-008` |

  | `updateReconciliationException` | `CAP-ACC-REC-015` |

  | `verifyPayoutBank` | `CAP-ACC-REC-003` |

  | `voidPayout` | `CAP-ACC-REC-002` |

  | `voidReconciliationBatch` | `CAP-ACC-REC-012` |

  | `withdrawReconciliationExceptionAcceptance` | `CAP-ACC-REC-016` |

  ### Tables by capability (18 of 18, in 11 table files)

  | Table | Capabilities |

  |---|---|

  | `accounting.payouts` | `CAP-ACC-REC-001`, `CAP-ACC-REC-002`, `CAP-ACC-REC-003`, `CAP-ACC-REC-004` |

  | `accounting.reconciliation_batches` | `CAP-ACC-REC-008`, `CAP-ACC-REC-009`, `CAP-ACC-REC-011`,
  `CAP-ACC-REC-012`, `CAP-ACC-REC-013` |

  | `accounting.reconciliation_batch_payouts` | `CAP-ACC-REC-008` |

  | `accounting.reconciliation_allocations` | `CAP-ACC-REC-009` |

  | `accounting.reconciliation_dismissals` | `CAP-ACC-REC-008` |

  | `accounting.settlement_items` | `CAP-ACC-REC-005`, `CAP-ACC-REC-006`, `CAP-ACC-REC-007` |

  | `accounting.settlement_item_evidence_links` | `CAP-ACC-REC-005` |

  | `accounting.reconciliation_evidence_files` | `CAP-ACC-REC-002`, `CAP-ACC-REC-010` |

  | `accounting.bank_holidays` | `CAP-ACC-REC-005` |

  | `accounting.settlement_lead_times` | `CAP-ACC-REC-005` |

  | `accounting.reconciliation_postings` | `CAP-ACC-REC-014` |

  | `accounting.reconciliation_posting_lines` | `CAP-ACC-REC-014` |

  | `accounting.reconciliation_events` | `CAP-ACC-REC-020` |

  | `accounting.idempotency_keys` | `CAP-ACC-REC-020` |

  | `accounting.reconciliation_exceptions` | `CAP-ACC-REC-015`, `CAP-ACC-REC-016` |

  | `accounting.reconciliation_exception_subjects` | `CAP-ACC-REC-015` |

  | `accounting.reconciliation_exception_steps` | `CAP-ACC-REC-015` |

  | `accounting.reconciliation_exception_notes` | `CAP-ACC-REC-015` |

  ### Permission keys by capability (16 of 16)

  | Permission key | Capabilities |

  |---|---|

  | `accounting.payouts.read` | `CAP-ACC-REC-001`, `CAP-ACC-REC-004` |

  | `accounting.payouts.create` | `CAP-ACC-REC-001` |

  | `accounting.payouts.update` | `CAP-ACC-REC-002` |

  | `accounting.payouts.delete` | `CAP-ACC-REC-002` |

  | `accounting.payouts.verify` | `CAP-ACC-REC-003` |

  | `accounting.reconciliation-batches.read` | `CAP-ACC-REC-008`, `CAP-ACC-REC-018`, `CAP-ACC-REC-019` |

  | `accounting.reconciliation-batches.create` | `CAP-ACC-REC-008` |

  | `accounting.reconciliation-batches.update` | `CAP-ACC-REC-008`, `CAP-ACC-REC-009`, `CAP-ACC-REC-010` |

  | `accounting.reconciliation-batches.delete` | `CAP-ACC-REC-012` |

  | `accounting.reconciliation-batches.finalize` | `CAP-ACC-REC-011`, `CAP-ACC-REC-020` |

  | `accounting.reconciliation-batches.reverse` | `CAP-ACC-REC-013`, `CAP-ACC-REC-020` |

  | `accounting.settlement-items.read` | `CAP-ACC-REC-006` |

  | `accounting.settlement-items.resolve` | `CAP-ACC-REC-007`, `CAP-ACC-REC-020` |

  | `accounting.reconciliation-exceptions.read` | `CAP-ACC-REC-015` |

  | `accounting.reconciliation-exceptions.update` | `CAP-ACC-REC-015` |

  | `accounting.reconciliation-exceptions.accept` | `CAP-ACC-REC-016`, `CAP-ACC-REC-017`, `CAP-ACC-REC-020` |

  ### Other surfaces

  | Surface | Capabilities |

  |---|---|

  | Service functions called by other modules: record_settlement_item and mark_settlement_item_eligible
  (Transactions) | `CAP-ACC-REC-005` |

  | Service functions: assess_reconciliation_readiness and assert_period_writable (Month-End Close) |
  `CAP-ACC-REC-018`, `CAP-ACC-REC-011` |

  | Service functions: recordPostings, listPendingPostings, listPostingsInBatches, loadPosting (Batch
  Management) | `CAP-ACC-REC-014` |

  | Scheduled execution for overdue settlement, totals drift and expired request keys, plus hourly blocker
  attention | `CAP-ACC-REC-017`, `CAP-ACC-REC-015` |

  | Role policy declarations for preparation and approval | `CAP-ACC-REC-020` |

  | Blocker attention definition and exception metadata registration | `CAP-ACC-REC-015` |

  | Reconciliation workspace export dataset | `CAP-ACC-REC-020` |

  | Independent queue and state-machine ownership: none | — |
testing_artifacts:
  capability_test_specifications:
    - id: ATS-ACC-REC-001
      path: design/tests/ATS-ACC-REC-001-record-a-processor-deposit-exactly-once.md
    - id: ATS-ACC-REC-002
      path: design/tests/ATS-ACC-REC-002-correct-document-or-void-a-deposit-until-it-is-reconciled.md
    - id: ATS-ACC-REC-003
      path: design/tests/ATS-ACC-REC-003-prove-a-deposit-against-the-banks-own-record.md
    - id: ATS-ACC-REC-004
      path: design/tests/ATS-ACC-REC-004-find-deposits-and-see-where-each-one-stands.md
    - id: ATS-ACC-REC-005
      path: design/tests/ATS-ACC-REC-005-capture-every-money-movement-a-processor-should-pay-out-with.md
    - id: ATS-ACC-REC-006
      path: design/tests/ATS-ACC-REC-006-see-what-money-is-in-transit-late-or-missing.md
    - id: ATS-ACC-REC-007
      path: design/tests/ATS-ACC-REC-007-split-or-write-off-money-that-will-never-arrive-as-recorded.md
    - id: ATS-ACC-REC-008
      path: design/tests/ATS-ACC-REC-008-open-a-reconciliation-over-a-deposit-and-see-what-explains.md
    - id: ATS-ACC-REC-009
      path: design/tests/ATS-ACC-REC-009-claim-what-a-deposit-paid-out-without-two-people-claiming.md
    - id: ATS-ACC-REC-010
      path: design/tests/ATS-ACC-REC-010-enter-the-fees-reserves-and-corrections-the-processor-took.md
    - id: ATS-ACC-REC-011
      path: design/tests/ATS-ACC-REC-011-approve-a-balanced-reconciliation-and-move-the-deposit-to.md
    - id: ATS-ACC-REC-012
      path: design/tests/ATS-ACC-REC-012-abandon-a-draft-reconciliation-and-free-what-it-held.md
    - id: ATS-ACC-REC-013
      path: design/tests/ATS-ACC-REC-013-correct-a-finalized-reconciliation-by-reversing-it-and.md
    - id: ATS-ACC-REC-014
      path: design/tests/ATS-ACC-REC-014-hand-reconciliations-accounting-to-the-ledger-through-the.md
    - id: ATS-ACC-REC-015
      path: design/tests/ATS-ACC-REC-015-raise-work-and-resolve-reconciliation-problems.md
    - id: ATS-ACC-REC-016
      path: design/tests/ATS-ACC-REC-016-accept-a-problem-under-policy-with-a-second-persons-approval.md
    - id: ATS-ACC-REC-017
      path: design/tests/ATS-ACC-REC-017-catch-overdue-money-stale-deposits-and-drifting-totals-every.md
    - id: ATS-ACC-REC-018
      path: design/tests/ATS-ACC-REC-018-tell-month-end-close-what-stops-a-period-from-closing.md
    - id: ATS-ACC-REC-019
      path: design/tests/ATS-ACC-REC-019-see-the-state-of-reconciliation-at-a-glance.md
    - id: ATS-ACC-REC-020
      path: design/tests/ATS-ACC-REC-020-keep-preparing-apart-from-approving-and-leave-a-trail-of.md
  feature_acceptance_suites:
    - id: FAS-ACC-REC-01
      path: planning/acceptance/FAS-ACC-REC-01-processor-payout.md
    - id: FAS-ACC-REC-02
      path: planning/acceptance/FAS-ACC-REC-02-deposit.md
    - id: FAS-ACC-REC-03
      path: planning/acceptance/FAS-ACC-REC-03-reconciliation-approval-and.md
    - id: FAS-ACC-REC-04
      path: planning/acceptance/FAS-ACC-REC-04-expected-settlement.md
    - id: FAS-ACC-REC-05
      path: planning/acceptance/FAS-ACC-REC-05-problem-investigation-and.md
    - id: FAS-ACC-REC-06
      path: planning/acceptance/FAS-ACC-REC-06-period-assessment-and-daily.md
    - id: FAS-ACC-REC-07
      path: planning/acceptance/FAS-ACC-REC-07-financial-record.md
  executable_test_suites:
    - id: TST-ACC-REC-001
      path: implementation/tests/TST-ACC-REC-001-independent-approval-of-a-processor.md
    - id: TST-ACC-REC-002
      path: implementation/tests/TST-ACC-REC-002-duplicate-deposit-and-request-replay.md
    - id: TST-ACC-REC-003
      path: implementation/tests/TST-ACC-REC-003-draft-abandonment-and-payout.md
    - id: TST-ACC-REC-004
      path: implementation/tests/TST-ACC-REC-004-bank-comparison-across-an-accounting.md
    - id: TST-ACC-REC-005
      path: implementation/tests/TST-ACC-REC-005-evidence-matching-and-claim.md
    - id: TST-ACC-REC-006
      path: implementation/tests/TST-ACC-REC-006-documented-fees-and-reserve.md
    - id: TST-ACC-REC-007
      path: implementation/tests/TST-ACC-REC-007-finalization-guards-and-zero.md
    - id: TST-ACC-REC-008
      path: implementation/tests/TST-ACC-REC-008-competing-preparation.md
    - id: TST-ACC-REC-009
      path: implementation/tests/TST-ACC-REC-009-reversal-and-replacement-of-approved.md
    - id: TST-ACC-REC-010
      path: implementation/tests/TST-ACC-REC-010-late-accounting-and-closed-period.md
    - id: TST-ACC-REC-011
      path: implementation/tests/TST-ACC-REC-011-calendar-driven-outstanding.md
    - id: TST-ACC-REC-012
      path: implementation/tests/TST-ACC-REC-012-partial-settlement-and-write.md
    - id: TST-ACC-REC-013
      path: implementation/tests/TST-ACC-REC-013-independent-acceptance-of-a.md
    - id: TST-ACC-REC-014
      path: implementation/tests/TST-ACC-REC-014-on-demand-overdue.md
    - id: TST-ACC-REC-015
      path: implementation/tests/TST-ACC-REC-015-readiness-findings-and-related.md
    - id: TST-ACC-REC-016
      path: implementation/tests/TST-ACC-REC-016-assigned-reconciliation.md
    - id: TST-ACC-REC-017
      path: implementation/tests/TST-ACC-REC-017-replay-of-reconciliation-money.md
    - id: TST-ACC-REC-018
      path: implementation/tests/TST-ACC-REC-018-financial-context-and-workspace.md
    - id: TST-ACC-REC-019
      path: implementation/tests/TST-ACC-REC-019-persisted-reconciliation-records-on-live.md
    - id: TST-ACC-REC-020
      path: implementation/tests/TST-ACC-REC-020-historical-unfinished-posting-close.md
    - id: TST-ACC-REC-021
      path: implementation/tests/TST-ACC-REC-021-deferred-operational-posting.md
    - id: TST-ACC-REC-022
      path: implementation/tests/TST-ACC-REC-022-reconciliation-commands-and-views-with-mocked.md
    - id: TST-ACC-REC-023
      path: implementation/tests/TST-ACC-REC-023-explanation.md
    - id: TST-ACC-REC-024
      path: implementation/tests/TST-ACC-REC-024-outstanding.md
    - id: TST-ACC-REC-025
      path: implementation/tests/TST-ACC-REC-025-payout.md
    - id: TST-ACC-REC-026
      path: implementation/tests/TST-ACC-REC-026-reconciliation.md
    - id: TST-ACC-REC-027
      path: implementation/tests/TST-ACC-REC-027-reconciliation.md
    - id: TST-ACC-REC-028
      path: implementation/tests/TST-ACC-REC-028-reconciliation.md
    - id: TST-ACC-REC-029
      path: implementation/tests/TST-ACC-REC-029-refusal.md
    - id: TST-ACC-REC-030
      path: implementation/tests/TST-ACC-REC-030-bank-holidays-record.md
    - id: TST-ACC-REC-031
      path: implementation/tests/TST-ACC-REC-031-request-replay-keys-record.md
    - id: TST-ACC-REC-032
      path: implementation/tests/TST-ACC-REC-032-request-replay-ledger.md
    - id: TST-ACC-REC-033
      path: implementation/tests/TST-ACC-REC-033-payout-record.md
    - id: TST-ACC-REC-034
      path: implementation/tests/TST-ACC-REC-034-reconciliation-allocations-record.md
    - id: TST-ACC-REC-035
      path: implementation/tests/TST-ACC-REC-035-reconciliation-explanation-payout-record.md
    - id: TST-ACC-REC-036
      path: implementation/tests/TST-ACC-REC-036-reconciliation-explanations-record.md
    - id: TST-ACC-REC-037
      path: implementation/tests/TST-ACC-REC-037-reconciliation-dismissals-record.md
    - id: TST-ACC-REC-038
      path: implementation/tests/TST-ACC-REC-038-reconciliation-events-record.md
    - id: TST-ACC-REC-039
      path: implementation/tests/TST-ACC-REC-039-reconciliation-evidence-files-record.md
    - id: TST-ACC-REC-040
      path: implementation/tests/TST-ACC-REC-040-reconciliation-exception-notes-record.md
    - id: TST-ACC-REC-041
      path: implementation/tests/TST-ACC-REC-041-reconciliation-exception-steps-record.md
    - id: TST-ACC-REC-042
      path: implementation/tests/TST-ACC-REC-042-reconciliation-exception-subjects-record.md
    - id: TST-ACC-REC-043
      path: implementation/tests/TST-ACC-REC-043-reconciliation-exceptions-record.md
    - id: TST-ACC-REC-044
      path: implementation/tests/TST-ACC-REC-044-reconciliation-posting-lines-record.md
    - id: TST-ACC-REC-045
      path: implementation/tests/TST-ACC-REC-045-reconciliation-postings-record.md
    - id: TST-ACC-REC-046
      path: implementation/tests/TST-ACC-REC-046-settlement-item-evidence-links-record.md
    - id: TST-ACC-REC-047
      path: implementation/tests/TST-ACC-REC-047-settlement-items-record.md
    - id: TST-ACC-REC-048
      path: implementation/tests/TST-ACC-REC-048-settlement-lead-times-record.md
    - id: TST-ACC-REC-049
      path: implementation/tests/TST-ACC-REC-049-approval.md
    - id: TST-ACC-REC-050
      path: implementation/tests/TST-ACC-REC-050-approval.md
    - id: TST-ACC-REC-051
      path: implementation/tests/TST-ACC-REC-051-approval-posting-to.md
    - id: TST-ACC-REC-052
      path: implementation/tests/TST-ACC-REC-052-reverse.md
    - id: TST-ACC-REC-053
      path: implementation/tests/TST-ACC-REC-053-void.md
    - id: TST-ACC-REC-054
      path: implementation/tests/TST-ACC-REC-054-assess-period-close.md
    - id: TST-ACC-REC-055
      path: implementation/tests/TST-ACC-REC-055-assess.md
    - id: TST-ACC-REC-056
      path: implementation/tests/TST-ACC-REC-056-reconciliation.md
    - id: TST-ACC-REC-057
      path: implementation/tests/TST-ACC-REC-057-payout.md
    - id: TST-ACC-REC-058
      path: implementation/tests/TST-ACC-REC-058-payout.md
    - id: TST-ACC-REC-059
      path: implementation/tests/TST-ACC-REC-059-reconciliation.md
    - id: TST-ACC-REC-060
      path: implementation/tests/TST-ACC-REC-060-reconciliation-explanations.md
    - id: TST-ACC-REC-061
      path: implementation/tests/TST-ACC-REC-061-reconciliation-blocker.md
    - id: TST-ACC-REC-062
      path: implementation/tests/TST-ACC-REC-062-reconciliation-candidates.md
    - id: TST-ACC-REC-063
      path: implementation/tests/TST-ACC-REC-063-reconciliation.md
    - id: TST-ACC-REC-064
      path: implementation/tests/TST-ACC-REC-064-reconciliation.md
    - id: TST-ACC-REC-065
      path: implementation/tests/TST-ACC-REC-065-reconciliation-events.md
    - id: TST-ACC-REC-066
      path: implementation/tests/TST-ACC-REC-066-reconciliation.md
    - id: TST-ACC-REC-067
      path: implementation/tests/TST-ACC-REC-067-reconciliation-ledger.md
    - id: TST-ACC-REC-068
      path: implementation/tests/TST-ACC-REC-068-reconciliation-ledger-postings.md
    - id: TST-ACC-REC-069
      path: implementation/tests/TST-ACC-REC-069-reconciliation.md
    - id: TST-ACC-REC-070
      path: implementation/tests/TST-ACC-REC-070-reconciliation-workspaces.md
    - id: TST-ACC-REC-071
      path: implementation/tests/TST-ACC-REC-071-settlement.md
    - id: TST-ACC-REC-072
      path: implementation/tests/TST-ACC-REC-072-settlement-items.md
    - id: TST-ACC-REC-073
      path: implementation/tests/TST-ACC-REC-073-explanation.md
    - id: TST-ACC-REC-074
      path: implementation/tests/TST-ACC-REC-074-brief.md
    - id: TST-ACC-REC-075
      path: implementation/tests/TST-ACC-REC-075-claim.md
    - id: TST-ACC-REC-076
      path: implementation/tests/TST-ACC-REC-076-reconciliation-scheduled.md
    - id: TST-ACC-REC-077
      path: implementation/tests/TST-ACC-REC-077-reconciliation.md
    - id: TST-ACC-REC-078
      path: implementation/tests/TST-ACC-REC-078-settlement-item.md
    - id: TST-ACC-REC-079
      path: implementation/tests/TST-ACC-REC-079-reconciliation.md
    - id: TST-ACC-REC-080
      path: implementation/tests/TST-ACC-REC-080-exception.md
    - id: TST-ACC-REC-081
      path: implementation/tests/TST-ACC-REC-081-payout-list.md
    - id: TST-ACC-REC-082
      path: implementation/tests/TST-ACC-REC-082-explanation.md
    - id: TST-ACC-REC-083
      path: implementation/tests/TST-ACC-REC-083-explanation.md
    - id: TST-ACC-REC-084
      path: implementation/tests/TST-ACC-REC-084-business.md
    - id: TST-ACC-REC-085
      path: implementation/tests/TST-ACC-REC-085-item.md
    - id: TST-ACC-REC-086
      path: implementation/tests/TST-ACC-REC-086-match.md
    - id: TST-ACC-REC-087
      path: implementation/tests/TST-ACC-REC-087-money.md
    - id: TST-ACC-REC-088
      path: implementation/tests/TST-ACC-REC-088-outstanding.md
    - id: TST-ACC-REC-089
      path: implementation/tests/TST-ACC-REC-089-payment.md
    - id: TST-ACC-REC-090
      path: implementation/tests/TST-ACC-REC-090-payout.md
    - id: TST-ACC-REC-091
      path: implementation/tests/TST-ACC-REC-091-posting.md
    - id: TST-ACC-REC-092
      path: implementation/tests/TST-ACC-REC-092-readiness.md
    - id: TST-ACC-REC-093
      path: implementation/tests/TST-ACC-REC-093-refusal.md
    - id: TST-ACC-REC-094
      path: implementation/tests/TST-ACC-REC-094-segregation.md
    - id: TST-ACC-REC-095
      path: implementation/tests/TST-ACC-REC-095-transitions.md
    - id: TST-ACC-REC-096
      path: implementation/tests/TST-ACC-REC-096-reconciliation-matching.md
    - id: TST-ACC-REC-097
      path: implementation/tests/TST-ACC-REC-097-reconciliation.md
    - id: TST-ACC-REC-098
      path: implementation/tests/TST-ACC-REC-098-outstanding-api.md
---

# Reconciliation

## Purpose

Reconciliation gives finance staff a shared place to explain processor deposits, review outstanding settlement money and prepare the reconciliation contribution to month-end close. Preparation, independent approval and later correction form distinct parts of the workflow. Supporting records make the explanation reviewable.

## Boundary

This module owns the deposit explanation and its reconciliation records. Transactions supplies the source money movements; Books supplies financial configuration; Batch Management delivers approved accounting to the ledger; Month-End Close owns the period decision. Platform services provide permission evaluation, attention delivery and export execution. The console presents the reconciliation workflows described by these artifacts.

## Features

| Feature | Name |
|---|---|
| `FEAT-ACC-REC-01` | Processor Payout Records |
| `FEAT-ACC-REC-02` | Deposit Matching |
| `FEAT-ACC-REC-03` | Reconciliation Approval and Correction |
| `FEAT-ACC-REC-04` | Expected Settlement Money |
| `FEAT-ACC-REC-05` | Problem Investigation and Monitoring |
| `FEAT-ACC-REC-06` | Period Assessment and Daily Summary |
| `FEAT-ACC-REC-07` | Financial Record Controls |

The feature groups organize the capability and journey catalogues. The frontmatter coverage catalogue connects the scoped operations, tables and permission keys to their specification homes.

## Capabilities

| Id | Feature | Title | Product intent | Evidence |
|---|---|---|---|---|
| `CAP-ACC-REC-001` | `FEAT-ACC-REC-01` | Record processor payouts without duplicate entry | confirmed | observed |
| `CAP-ACC-REC-002` | `FEAT-ACC-REC-01` | Correct payout records while preserving finalized money | confirmed | observed |
| `CAP-ACC-REC-003` | `FEAT-ACC-REC-01` | Verify payouts using bank evidence | confirmed | inconsistent |
| `CAP-ACC-REC-004` | `FEAT-ACC-REC-01` | Find payouts with their status and activity | confirmed | observed |
| `CAP-ACC-REC-005` | `FEAT-ACC-REC-04` | Track payment effects and expected processor settlement | confirmed | observed |
| `CAP-ACC-REC-006` | `FEAT-ACC-REC-04` | Distinguish money in transit from missing settlement | confirmed | observed |
| `CAP-ACC-REC-007` | `FEAT-ACC-REC-04` | Explain partial or unrecoverable settlement money | proposed | observed |
| `CAP-ACC-REC-008` | `FEAT-ACC-REC-02` | Prepare a payout explanation from matching evidence | confirmed | observed |
| `CAP-ACC-REC-009` | `FEAT-ACC-REC-02` | Allocate settlement money to one explanation | confirmed | observed |
| `CAP-ACC-REC-010` | `FEAT-ACC-REC-02` | Document processor deductions and corrections | confirmed | observed |
| `CAP-ACC-REC-011` | `FEAT-ACC-REC-03` | Finalize a balanced explanation with eligible approval | confirmed | observed |
| `CAP-ACC-REC-012` | `FEAT-ACC-REC-03` | Abandon a draft and release its money | confirmed | observed |
| `CAP-ACC-REC-013` | `FEAT-ACC-REC-03` | Reverse an approved explanation and prepare its replacement | confirmed | observed |
| `CAP-ACC-REC-014` | `FEAT-ACC-REC-03` | Carry reconciliation accounting through operational posting | confirmed | observed |
| `CAP-ACC-REC-015` | `FEAT-ACC-REC-05` | Investigate and resolve reconciliation concerns | confirmed | observed |
| `CAP-ACC-REC-016` | `FEAT-ACC-REC-05` | Accept an understood problem with the required approval | confirmed | observed |
| `CAP-ACC-REC-017` | `FEAT-ACC-REC-05` | Detect reconciliation concerns through scheduled checks | confirmed | observed |
| `CAP-ACC-REC-018` | `FEAT-ACC-REC-06` | Assess reconciliation work before period close | confirmed | observed |
| `CAP-ACC-REC-019` | `FEAT-ACC-REC-06` | Review reconciliation stages and attention | confirmed | observed |
| `CAP-ACC-REC-020` | `FEAT-ACC-REC-07` | Separate duties and retain trustworthy reconciliation records | confirmed | partially-observed |

## Journeys

| Id | Feature | Title | Product intent | Evidence | E2E policy |
|---|---|---|---|---|---|
| `JNY-ACC-REC-001` | `FEAT-ACC-REC-02` | Prepare and independently approve a processor deposit | confirmed | observed | required |
| `JNY-ACC-REC-002` | `FEAT-ACC-REC-01` | Record and check a payout against its bank statement | confirmed | inconsistent | required |
| `JNY-ACC-REC-003` | `FEAT-ACC-REC-03` | Reverse and replace an incorrect approved explanation | confirmed | observed | required |
| `JNY-ACC-REC-004` | `FEAT-ACC-REC-04` | Resolve missing settlement after partial processor payment | confirmed | observed | required |
| `JNY-ACC-REC-005` | `FEAT-ACC-REC-06` | Complete reconciliation review before month-end close | confirmed | observed | required |
| `JNY-ACC-REC-006` | `FEAT-ACC-REC-07` | Assign separate preparation and approval responsibilities | confirmed | partially-observed | required |


## Testing Artifact Tree

```text
planning/
  features/      seven features name their acceptance suites
  acceptance/    seven feature acceptance suites
design/
  tests/         twenty capability test specifications
implementation/
  tests/         ninety-eight existing executable suite registrations
```

The artifact inventory in frontmatter names each test specification, feature suite and executable registration. Specified coverage and executable coverage remain separate from execution results; no registered source suite is run by this documentation back-fill.
