Ask a controller why the bank reconciliation takes three days and the answer is usually "volume." It sounds right, but it rarely holds up. In most mid-sized companies, the bulk of bank lines match on amount and date in the first pass, through the ERP's matching screen or a well-worn spreadsheet. That part takes hours, not days.
The days go somewhere else: to a relatively small pile of items that don't match, and to the searching, asking, and waiting each one triggers. The problem is that almost nobody measures that pile. So when the time comes to "automate reconciliation," teams buy a faster way to do the part that was already fast.
This article gives you a way to find out where your three days actually go: a one-week time study your team can run without any new tool, a five-class taxonomy for unmatched items, and an honest map of which classes yield to simple rules and which never will.
1. Matching, investigating, waiting: three different kinds of time
"Reconciliation time" blends three activities that behave very differently:
- Matching: pairing a bank line with a book entry. Fast per item, high volume, and the part most tools target.
- Investigating: figuring out why something doesn't match. Opening the statement detail, searching the ERP, reading remittance emails, checking the payment processor's portal.
- Waiting: the item is parked because someone else holds the answer. Sales knows which customer sent that wire. AP knows whether the vendor was paid twice. Treasury knows what that fee is.
Investigating consumes effort. Waiting consumes calendar. A rec can involve eight hours of real work and still take three days to close, because the last five items sat in someone's inbox. If you don't separate the two, you'll try to fix a waiting problem with a matching tool.
2. The one-week time study
The method is deliberately low-tech. For one week (or one full reconciliation cycle if you reconcile monthly), every person who touches an unmatched item logs it in a shared sheet. Pick the one or two bank accounts with the most volume or the most pain; you don't need to cover them all.
DATE ACCT SIDE AMOUNT DESCRIPTION CLASS ACTIVITY MIN WAITING ON STATUS
11/04 OP-01 bank -45.00 WIRE FEE OUT fee post 5 - closed
11/04 OP-01 bank 18,420.00 ACH CR ACME DIST split investigate 35 AR (remit) open
11/04 OP-01 book 9,870.00 Deposit batch 2231 timing search 10 - closed
11/05 OP-01 book 2,316.00 Inv 4471 Vendor Q error ask 20 AP clerk open
# Log every touch, not every item: one item can generate several rows.
# Minutes in 5-min increments. "Waiting on" = who holds the answer.
# Record the day an item opens and the day it closes.
Four rules keep the data honest:
- Log in real time, not at the end of the day. Memory compresses the annoying parts, and the annoying parts are what you're measuring.
- Count the starting point. Before the study begins, note total bank lines for the period and how many matched on the first pass. That's your denominator.
- Classify when the item is resolved, not when it's opened. A "timing difference" that never clears was something else all along.
- Don't change the process during the week. The temptation to fix things as you see them is strong. Write the idea down and keep going.
Expect a little friction on day one and almost none by day three. The log takes seconds per row; it's far cheaper than the items it describes.
3. Five classes of unmatched items
Almost every item that survives the first pass falls into one of five classes. Each has a recognizable signature, which is what makes classification fast:
Timing differences
Deposits in transit, outstanding checks, card settlements that land two days later, payments recorded on the 31st that clear on the 2nd. Signature: the same amount shows up on the other side within a few business days.
Bank fees and charges
Wire fees, monthly maintenance, FX spreads, interest, and processor fees netted out of deposits. Signature: small, recurring amounts with predictable descriptions, or the gap between a gross invoice amount and a net deposit.
Split and combined payments
One customer wire that pays seven invoices, a processor payout that bundles a day of sales minus refunds, a partial payment. Signature: one-to-many or many-to-one; no single entry matches, but a combination does.
Duplicates
The same transaction recorded twice in the books (a bank feed import plus a manual entry), a statement imported twice, or a genuine duplicate payment. Signature: the same amount and reference appearing twice on one side. We cover why these are mostly a data problem in duplicate payments are a data problem before they're an AI problem.
Errors
A transposed amount, the right payment applied to the wrong customer, a missing entry, a posting to the wrong bank account, and occasionally something that shouldn't have happened at all. Signature: none, and that's the point. Errors are what's left when every other explanation fails.
The order in which you test these matters. Run the cheapest checks first, and only call something an error once the others are ruled out:
4. Reading your results
At the end of the week, build a small summary per class: number of items, total minutes, minutes per item, and how many items spent time waiting on someone. Then compare each class's share of the item count with its share of the time.
The chart below uses hypothetical numbers to show what that comparison typically reveals. Your distribution will differ; the point is the shape, not the figures.
Two numbers deserve special attention. The first is minutes per item by class, because it tells you where a rule would save the most per occurrence. The second is the share of elapsed days spent waiting. If most of your third day is waiting on other departments, no matching engine will give it back to you.
5. Which classes yield to simple rules, and which never will
Timing differences yield almost completely. Same amount, same direction, within a window of a few business days: match it, and clear it automatically when the counterpart lands. The rule that matters is the second one: anything that doesn't clear inside the window gets aged and escalated, because an old timing difference is usually an error in disguise.
Fees yield mostly. Recurring descriptions and amount ranges can post straight to the bank charges account. Processor deposits become deterministic once you import the processor's settlement report, which itemizes gross sales, fees, and refunds. What remains is the new or unexpected charge, which needs a person once and then becomes a rule.
Splits yield partly, and it depends on data, not cleverness. When the customer sends remittance detail, or the payment reference lists the invoices, the match is mechanical. Without it, a system searching for combinations of open invoices that add up to the deposit will often find several valid answers. That's a proposal for a person to confirm, never something to post. And short-payments or deductions aren't a reconciliation problem at all; they're a collections conversation.
Duplicates are split down the middle. Flagging same amount, same date, same reference is easy. Deciding which entry is real, whether the bank or the books are wrong, and whether money actually left twice is not. If it's a duplicate payment, recovery means talking to a vendor.
Errors never fully yield. Some patterns help: a difference divisible by nine often points to a transposition, and an amount that matches an entry in a different bank account points to a misposting. But the cause sits upstream, in how the entry was made, and finding it takes context and sometimes a phone call. Errors should never be auto-resolved.
"The goal isn't to automate the reconciliation. It's to make sure the only items a person sees are the ones that actually need a person."
That's also how a well-built system should behave: confident matches clear with a record of the rule that cleared them, and everything else goes to a review queue with the evidence attached. We describe that flow in more detail in how to automate daily bank reconciliation with AI agents.
6. What to do with what you find
Your results point to different fixes, and only some of them involve technology:
- If timing and fees dominate the item count: start with the matching rules your ERP or bank reconciliation module already has. Date windows and fee patterns are standard features that many teams never configure.
- If splits dominate the time: the fix is remittance data. Ask your largest customers to send remittance advice in a consistent format, capture it from the inbox where it already arrives, and import processor settlement files instead of keying payouts as single lines.
- If waiting dominates the elapsed days: it's an ownership problem. Name who answers "what is this deposit?" in sales, AP, and treasury, and agree on a turnaround time.
- If errors dominate: look upstream. The reconciliation is a detective control; it finds errors after they happen. Reducing them means changing how entries are created, the distinction we draw in the real difference between a dashboard and a control.
Then run the study again a month or two later, with the same sheet and the same accounts. If you're evaluating automation, this is also your baseline: it tells you which class a solution needs to handle and gives you a before-and-after you can actually defend. That kind of narrow, measured scope is what we argue for in what mid-sized finance teams get wrong about "starting small".
Three days is a sum, not a property
A reconciliation doesn't take three days because reconciliations are slow. It takes three days because a few classes of items each cost something different, and some of them are waiting on people outside the finance team. One week of honest logging tells you which classes you have, which ones a rule can absorb, and which ones will always need someone with judgment and context. That's a better starting point than any tool demo. If you run the study and want a second pair of eyes on the results, I'm happy to take a look.