How We Reconciled a Training Centre’s Bank Payments to Invoices, when One Wire Can Pay Six Bills
A training centre
Published 12 July 2026 · Finance automation · A training centre · By Theodora Christou
The situation: money in, invoices open, no obvious link
Our client, a training centre, gets paid by bank transfer, and then someone has to answer a boring but unavoidable question: which invoice does this payment settle? The bank knows a sum arrived. The accounts system knows which invoices are outstanding. Nothing connects the two except a human reading bank descriptors and ticking things off by hand, slow, easy to get wrong, and worse at month-end when the volume spikes.
The obvious approach that breaks on real payments
The naive build assumes one payment equals one invoice: match the amount, close the invoice, done. Real business banking doesn’t behave. One wire routinely pays several invoices at once. Reference formats drift over time, an old numbering scheme and a new one live side by side in the descriptor field. And a bank feed gets re-pulled; if your matcher isn’t careful, running it twice books the same receipt twice. A simple amount-match doesn’t just miss cases, it quietly creates wrong records you then have to hunt down.
What changed: a matcher that understands how firms actually pay
We built a pipeline that reads incoming credits straight from the business bank account and matches them against open invoices by parsing the payment reference, handling both the legacy and current reference formats that coexist in the wild. When a single wire settles several invoices, it splits into the right number of receipt rows, each carrying the shared bank reference so the trail back to the original payment is never lost.
The matched receipts land in the finance team’s existing Google Sheet, in the exact shape their current tools expect, so it slots into how they already work rather than asking them to change. And because the whole thing is built around a cursor and a duplicate-proof key, you can re-run it as often as you like and it will never double-book a payment. The bank connection is designed so moving from the test environment to live production is a configuration change, not a rebuild.
The takeaway
Reconciliation looks like arithmetic and behaves like edge cases. The value in automating it isn’t the matching sum, it’s respecting the messy truth of how money actually arrives: many-to-one payments, drifting reference formats, and feeds that get pulled more than once. Build for that and you get finance data you can trust without a human double-checking every line. Build for the happy path and you’ve automated your errors.
If your team still eyeballs the bank feed against open invoices every week, that’s an afternoon you can get back safely. Book a free discovery call and we’ll look at how yours reconciles.
Related: See how we automate this for accounting practices: AI automation for accountants in Cyprus & Greece.
Related service: Workflow Automation