---
id: JNY-ACC-REC-002
title: Record and check a payout against its bank statement
feature: FEAT-ACC-REC-01
product_area: accounting
module: reconciliation
revision: 2
status: draft
product_intent: confirmed
implementation_evidence: inconsistent
supersedes:
  - react-console acceptance journey ACT-ACC-0591
  - react-console acceptance journey ACT-ACC-0592
  - react-console acceptance journey ACT-ACC-0593
  - react-console acceptance journey ACT-ACC-0594
source_sha:
  services-accounting: f47cb263875bbc0c5640fba7dae6785ec32695f8
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
actor: ACT-ACC-017
goal: >-
  Preserve one deposit record, correct entry mistakes and compare its reported money with independent bank
  evidence.
capabilities:
  - CAP-ACC-REC-001
  - CAP-ACC-REC-002
  - CAP-ACC-REC-003
  - CAP-ACC-REC-012
screens:
  - '/console/{tenantId}/accounting/reconciliation/payouts'
  - '/console/{tenantId}/accounting/reconciliation/payouts/{id}'
steps:
  - 'n': 1
    surface: checkPayoutDuplicates
    action: Preview whether the reported deposit already exists.
    capability: CAP-ACC-REC-001
    expected: The new-reference example has no existing duplicate candidate.
    provenance: test
    source: >-
      react-console:acceptance/accounting/playwright/journeys/reconciliation-close/ACT-ACC-0591.spec.ts#ACT-ACC-0591
  - 'n': 2
    surface: createPayout
    action: Create the payout using a request key.
    capability: CAP-ACC-REC-001
    expected: Identical retry returns the recorded payout.
    provenance: test
    source: >-
      react-console:acceptance/accounting/playwright/journeys/reconciliation-close/ACT-ACC-0591.spec.ts#ACT-ACC-0591
  - 'n': 3
    surface: createPayout
    action: Try a repeated reference and then a near-date equal amount.
    capability: CAP-ACC-REC-001
    expected: Hard duplication fails and the look-alike requires acknowledgement.
    provenance: test
    source: >-
      react-console:acceptance/accounting/playwright/journeys/reconciliation-close/ACT-ACC-0591.spec.ts#ACT-ACC-0591
  - 'n': 4
    surface: attachPayoutEvidence
    action: Associate the statement document with the payout.
    capability: CAP-ACC-REC-002
    expected: The evidence is retained once.
    provenance: observed
    source: 'services-accounting:modules/reconciliation/services/persistence/payouts.ts'
  - 'n': 5
    surface: verifyPayoutBank
    action: Record bank disagreement using the mismatching line.
    capability: CAP-ACC-REC-003
    expected: A warning describes disagreement and includes the bank amount when supplied.
    provenance: observed
    source: 'services-accounting:modules/reconciliation/services/persistence/payouts.ts'
  - 'n': 6
    surface: verifyPayoutBank
    action: Record agreement using the correct statement line.
    capability: CAP-ACC-REC-003
    expected: Verification uses the posted day and closes the mismatch warning.
    provenance: observed
    source: 'services-accounting:modules/reconciliation/services/persistence/payouts.ts'
  - 'n': 7
    surface: '/console/{tenantId}/accounting/reconciliation/payouts/{id}'
    action: Activate the console’s bank-verification control.
    capability: CAP-ACC-REC-003
    expected: The live request fails because required evidence fields are absent.
    provenance: observed
    source: 'react-console:lib/accounting/reconciliation/client.ts:verifyBank'
alternates:
  - from_step: 2
    condition: The deposit was recorded against the wrong merchant and remains draft-held.
    path: Abandon its draft before cancelling the payout.
    outcome: The cancelled payout retains its reason and releases the processor reference.
    provenance: test
    source: >-
      react-console:acceptance/accounting/playwright/journeys/reconciliation-close/ACT-ACC-0593.spec.ts#ACT-ACC-0593
failures:
  - from_step: 6
    condition: The payout already belongs to a finalized explanation.
    path: 'Reject correction, evidence attachment, bank verification and void.'
    outcome: Protected financial context remains intact.
    provenance: observed
    source: 'services-accounting:modules/reconciliation/services/persistence/payouts.ts'
rules_in_play:
  - BR-CAP-ACC-REC-001-03
  - BR-CAP-ACC-REC-001-04
  - BR-CAP-ACC-REC-001-06
  - BR-CAP-ACC-REC-002-04
  - BR-CAP-ACC-REC-002-06
  - BR-CAP-ACC-REC-003-03
  - BR-CAP-ACC-REC-003-05
  - BR-CAP-ACC-REC-003-10
  - BR-CAP-ACC-REC-012-04
assertions:
  - id: AS-JNY-ACC-REC-002-01
    statement: Mock console creation sends the payout request and navigates to its new explanation workspace.
    provenance: test
    source: >-
      react-console:e2e/mock/accounting-reconciliation.mock.spec.ts#Add Payout is a command: the new payout is
      on the list when it is read again
  - id: AS-JNY-ACC-REC-002-02
    statement: Draft abandonment permits the released payout to be voided and its processor reference reused.
    provenance: test
    source: >-
      react-console:acceptance/accounting/playwright/journeys/reconciliation-close/ACT-ACC-0593.spec.ts#ACT-ACC-0593
  - id: AS-JNY-ACC-REC-002-03
    statement: Bank agreement records verification and uses the bank-posted accounting day.
    provenance: observed
    source: 'services-accounting:modules/reconciliation/services/persistence/payouts.ts'
e2e_policy: required
e2e_reason: >-
  Browser coverage is needed to establish the staff workflow across screens; separate API evidence supports
  the financial and permission decisions.
evidence:
  - >-
    Journey verification uses the pinned command, refusal and assertion sources listed below. Mock evidence
    establishes only the command behavior described in its assertion.
  - >-
    react-console:acceptance/accounting/playwright/journeys/reconciliation-close/ACT-ACC-0591.spec.ts#ACT-ACC-0591
  - 'services-accounting:modules/reconciliation/services/persistence/payouts.ts'
  - 'react-console:lib/accounting/reconciliation/client.ts:verifyBank'
  - >-
    react-console:e2e/mock/accounting-reconciliation.mock.spec.ts#Add Payout is a command: the new payout is
    on the list when it is read again
  - >-
    react-console:acceptance/accounting/playwright/journeys/reconciliation-close/ACT-ACC-0593.spec.ts#ACT-ACC-0593
proved_by: []
---

# Record and check a payout against its bank statement

## Story

A bookkeeper checks whether the bank movement is already recorded before creating its payout. They retain statement evidence, correct the unsealed entry and record bank disagreement or agreement through the complete service contract. The console’s incomplete verification remains a visible interruption to this journey.
