Design a transaction reconciliation system

DesignHard55 minStripe and JPMorgan Chase style

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