Design a transaction reconciliation system
Your task
Design a reconciliation system that matches a company's internal ledger of ~5M daily transactions against external bank/PSP statement files (delivered as daily CSV/MT940 batches, often late, sometimes duplicated, sometimes amended). It must auto-match the high-confidence majority, surface unmatched 'breaks' to ops, and handle many-to-one matches (one bank line for a batched payout of 1,000 internal transactions). Describe the matching pipeline, the data model for match state, and how you handle late/duplicate/amended statement files.
It covers
- Bank statement matching
- Break detection
- Auto match