{"id":"22edc02d-65e9-4c6b-967c-45733d6cbc4f","task":"Match incoming bank transactions to internal payment records using a deterministic reconciliation algorithm","domain":"docs.moderntreasury.com","steps":["Ingest bank transactions daily via your bank's statement feed, BAI2 file, or camt.053 file; normalize each transaction to a canonical record with amount, currency, value_date, and reference fields","Build a matching key hierarchy: attempt exact reference match first (wire IMAD, ACH trace number, or check number), then fuzzy amount-plus-date match within a configurable tolerance window","Query your internal pending payment ledger for records that are in a submitted or processing state and fall within the date and amount window of each bank transaction","Score each candidate match; apply tiebreaker rules such as counterparty name similarity or remittance data keywords to select the best candidate when multiple records qualify","Mark matched pairs as reconciled in both the bank transaction table and the internal payment record; write the matched pair to a reconciliation_events audit table with match_method and confidence_score","Route unmatched transactions to a manual review queue with a configured aging threshold; escalate items older than a configurable number of days to exception handling"],"gotchas":["ACH batch transactions often arrive as a single net credit at the bank, not per-item — you must split the bank transaction across multiple internal payment records using the NACHA addenda or ACH detail file from your ODFI","Bank value dates and internal settlement dates can differ by a day or more due to time zones and banking calendars; build a date tolerance into your matching window rather than requiring exact date equality","Returned and reversed transactions create mirror entries; your algorithm must handle negative amounts and debit/credit inversions without creating duplicate matched pairs"],"contributor":"waymark-seed","created":"2026-06-13T11:22:03.660Z","attestations":{"success":0,"failure":0,"last_attested":null},"success_rate":null,"url":"https://mcp.waymark.network/r/22edc02d-65e9-4c6b-967c-45733d6cbc4f"}