01must proveConfirmed | Finalize checks the request key and read version, replays a successful identical call without another ledger request and rejects a fresh-key attempt on the finalized record. | validation | api, service | test |
02must proveConfirmed | Finalize recomputes the difference from actual claims and payout links, rejects any nonzero amount with an audited refusal and leaves the reconciliation open. ✓ A reconciliation one cent short is refused with a difference of -1.✗ Counters that read zero over rows that do not are refused. | calculation | service, database | test |
03must proveConfirmed | The default second-person policy excludes the creator and anyone who claimed, released, added manual items or linked payouts, recording a refused self-approval. proved by ATS-ACC-REC-009-12, ATS-ACC-REC-011-03, ATS-ACC-REC-011-11, ATS-ACC-REC-011-12, ATS-ACC-REC-011-14, ATS-ACC-REC-020-11, TST-ACC-REC-001, TST-ACC-REC-007, TST-ACC-REC-023, TST-ACC-REC-049, TST-ACC-REC-094 | policy | service | test |
04must proveConfirmed | With the second-person requirement disabled, preparers can finalize and every finalization records that the control was waived. | policy | service | test |
05must proveConfirmed | Finalization rejects a voided reconciliation, absent payout links, voided linked payouts and resolved claimed items. | validation | service | test |
06must proveConfirmed | Finalize creates a single transfer request containing nonzero net lines per bank and a clearing total when nonzero, plus required unrecognized manual or imported fee, reserve and adjustment requests; an all-zero transfer is omitted. ✓ A 9,725.00 deposit with a 225.00 fee and 50.00 reserve asks for three balanced entries.✗ A zero payout asks for its fee only. | calculation | service | observed |
07must proveConfirmed | Missing default accounts stop finalization before writes and identify the account purpose requiring setup. | validation | service | test |
08must proveConfirmed | After operational batch posting, reconciliation entries offset the posted captures and refunds it explains in processor clearing. | invariant | service | observed |
09must proveConfirmed | Finalized holdings, notes, totals and payout amounts remain sealed; reversal is the supported way to release them. | lifecycle | service, database | test |
10must proveConfirmed | Finalize closes open unbalanced-payout exceptions and records the finalizer, operational batch, dates and ledger keys. | lifecycle | service | test |
11must proveConfirmed | Period locking serializes finalize with close, marks closed-period effects late and uses the default-selected operational batch’s date only when that batch accepts work in an open period, without automatically selecting a later batch. | policy | service, database | observed |
12must proveConfirmed | The sensitive finalize permission and preparation guards determine whether finalize is offered, including an explanation when preparation prevents it. | permission | api, service | test |
13Confirmed | Console finalize is hidden from a disqualified preparer, saves current draft changes first and labels a waived result as finalized without second approval. | policy | console | observed |