01must proveConfirmed | Verification requires bank evidence, a posted day, verified or mismatch outcome, the read version and a request key; the bank’s amount is optional. | validation | api, service | test |
02must proveConfirmed | Creation and correction leave bank verification unset; a verification supplies the status, verifier and verification time. | invariant | service, database | test |
03must proveConfirmed | A verified payout uses the bank’s posted day for accounting, otherwise its reported day takes precedence over processor funding day, which can shift the payout’s period. | calculation | service, database | test |
04must proveConfirmed | A successful verification retains its bank evidence without duplicating an already attached statement. | policy | service | test |
05must proveConfirmed | Mismatch retains the reported accounting day and opens a single bank-mismatch warning, including the bank amount and difference when supplied; another open mismatch creates no second warning. | policy | service | test |
06must proveConfirmed | Subsequent agreement with the bank closes the open mismatch warning and records the resolution. | lifecycle | service | test |
07must proveConfirmed | The stated bank amount must agree with the outcome: unequal amounts cannot be verified and equal amounts cannot be marked mismatch. | validation | service | test |
08must proveConfirmed | Verification is unavailable once a finalized reconciliation holds the payout. | invariant | service | test |
09must proveConfirmed | Only the verify permission allows bank verification, and an identical keyed retry returns the recorded result. | permission | api | test |
10must proveConfirmed | The console verification command omits evidence, posted day and outcome, so the live service rejects it without verifying the payout. | validation | console, api | observed |