The challenge
Every replenishment leaves cassette and audit slips behind, and someone has to read them and match them against custodian records and the transaction system. For a national cash management network that manual read is the bottleneck, and it is also where reconciliation errors enter: a denomination transposed on a busy afternoon becomes a cash difference that is investigated weeks later. Slip layouts and denomination sets differ bank to bank, so there is no single format to standardise on and no prospect of persuading every bank to print the same thing. At estate scale the volume is high enough that any backlog compounds daily rather than clearing overnight.
What we built
Slip image to reconciliation status, automatically. OCR captures denomination-wise counts and totals before and after loading, with a confidence score attached to each field rather than to the document as a whole. Per-bank extraction profiles and a configurable rule engine absorb the layout differences, the derivation checks, the counter behaviour and the tolerances each bank works to, so a new format is configuration rather than a code change. Cases are matched denomination by denomination against custodian records — not on the total alone, because two errors that cancel out in the total are still two errors, and only a denomination-level comparison finds them.
The result
Around 89% of cases reconcile automatically where the image is clean, and the rest are separated by cause instead of pooled. Cases that could not be read reliably are kept apart from cases that were read and genuinely disagree, which turns a single reconciliation backlog into two queues with different owners: a capture problem to fix at source, or a cash difference to investigate. Every field carries its confidence score and every case points back to the slip image it came from, so a reviewer resolves the case against the document rather than against a summary of it.

