214. That was the count of unmatched bank lines across six clients on one Monday morning. Some were card payments at a petrol station with the receipt sitting in the inbox. Some were customer payments two pence off the invoice. A handful were things nobody could explain, which is normal.
Xero and QuickBooks both suggest matches, and the suggestions are fine when the amounts are exact and the reference is clean. They stop at the first mismatch. A payment of 1,198.00 against an invoice of 1,200.00 with a bank charge in between sits there until a human finds it.
The layer that runs overnight does more. It takes each unmatched line and looks across the receipts that arrived that month, the open invoices, and the previous twelve months of the same payee and similar amounts. It proposes a match, a category and a confidence. Where the previous eleven payments to the same payee went to Motor Expenses, the twelfth goes there too, with a note.
The output is a short list per client. Line, proposed match, category, reason. You go down it and click approve, or change the category, or send one to the client as a question. The ones under the confidence threshold are listed on their own so you look at them properly.
Reconciliation turns into approving. The 214 lines took one person about 40 minutes, most of it on the eleven that were genuinely odd.
This is the kind of thing we build. It runs in your own accounts and never posts without your click. What is your count on a Monday?