---
id: TST-ACC-REC-090
title: Payout dates duplicates and lifecycle actions
kind: unit
product_area: accounting
module: reconciliation
revision: 1
status: draft
source_sha:
  services-accounting: f47cb263875bbc0c5640fba7dae6785ec32695f8
repository: services-accounting
files:
  - modules/reconciliation/tests/unit/rules/payout-rules.spec.js
implements:
  - ATS-ACC-REC-002-06
  - ATS-ACC-REC-003-02
  - ATS-ACC-REC-004-03
environment: local
implementation_state: implemented
latest_result: not-run
latest_run_at: null
latest_run_ref: null
conformance: not-verified
estimated_minutes: 1
isolation: Suite-owned workspace fixtures and deterministic records removed by suite cleanup.
evidence:
  - 'services-accounting:modules/reconciliation/tests/unit/rules/payout-rules.spec.js'
bindings:
  - scenario: ATS-ACC-REC-002-06
    assertions:
      - >-
        services-accounting:modules/reconciliation/tests/unit/rules/payout-rules.spec.js#allows every command
        outside a reconciliation
      - >-
        services-accounting:modules/reconciliation/tests/unit/rules/payout-rules.spec.js#allows all but void
        in an open reconciliation
      - >-
        services-accounting:modules/reconciliation/tests/unit/rules/payout-rules.spec.js#allows nothing in a
        finalized reconciliation
      - >-
        services-accounting:modules/reconciliation/tests/unit/rules/payout-rules.spec.js#allows nothing once
        voided
  - scenario: ATS-ACC-REC-003-02
    assertions:
      - >-
        services-accounting:modules/reconciliation/tests/unit/rules/payout-rules.spec.js#is the bank posted
        date once the bank verified the payout
      - >-
        services-accounting:modules/reconciliation/tests/unit/rules/payout-rules.spec.js#is the reported
        deposit date while the bank evidence is a mismatch
      - >-
        services-accounting:modules/reconciliation/tests/unit/rules/payout-rules.spec.js#is the processor
        funding date when nothing was reported
  - scenario: ATS-ACC-REC-004-03
    assertions:
      - >-
        services-accounting:modules/reconciliation/tests/unit/rules/payout-rules.spec.js#is in-reconciliation
        in an open batch
      - >-
        services-accounting:modules/reconciliation/tests/unit/rules/payout-rules.spec.js#is reconciled in a
        finalized batch
      - >-
        services-accounting:modules/reconciliation/tests/unit/rules/payout-rules.spec.js#is unreconciled
        outside any batch
---

# Payout dates duplicates and lifecycle actions

## Verification Boundary

This suite evaluates the production rules or declarations with controlled inputs. It does not perform a complete financial workflow.

## What This Suite Proves

The executable assertions identified in the binding records supply the registered scenario observations. When a scenario names several suites, this suite supplies its listed assertions and does not independently establish every clause.

## What It Does Not Prove

Database enforcement, API authorization, console behavior and deployed workflow completion require separate suites.

## Real Dependencies and Test Doubles

Production rules and declarations are real; fixtures supply literal amounts, dates and permission sets. No live database or deployed service participates.

## Must Not Be Doubled

The rule or declaration under examination remains production code; expected results remain independent literal observations.
