The short answer

As a rough rule of thumb, a clean monthly bank reconciliation should take about 20 to 40 minutes per account when the statement data is already in your system, and 45 to 90 minutes per account when someone is keying the statement in by hand first. If one account regularly takes more than 90 minutes, the problem is usually not the matching. It is the data entry before it, or a pile of old uncleared items hiding inside it.

Stop timing the whole client. Time the account.

"The reconciliation took three hours" tells you almost nothing, because clients are not comparable. One client has a single chequing account and 40 transactions. The next has chequing, savings, two credit cards, and 600 transactions across them. Timing the client mixes all of that together.

Time the account instead, and split the account work into two parts:

Part 1: getting the data in. Turning the statement (usually a PDF) into rows your accounting software can work with.

Part 2: the reconciliation itself. Matching, investigating differences, and clearing the account to zero.

Those two parts have completely different fixes, so they need completely different numbers. Most firms only ever measure the total, which is why the slow part stays hidden.

The benchmark formula

Here is the arithmetic we suggest firms run on their own files. No outside study needed, just your last month and a timer.

Data entry time is roughly the number of transactions multiplied by the time to key and check one line. Hand keying with a quick visual check typically lands around 20 to 30 seconds a line once you include opening the PDF, finding your place, and fixing the occasional typo. A 150 transaction statement at 25 seconds a line is about 62 minutes. That is before any reconciliation has happened.

Matching time is much smaller when the books are current. If entries were recorded during the month, most lines match quickly, and the real time goes to the exceptions: duplicates, missing deposits, bank fees nobody recorded, and amounts that are close but not equal. In our experience, a clean account has exceptions on roughly 5 to 10 percent of lines, and each exception takes about 2 to 5 minutes to run down.

Put together for one typical account with 150 transactions: about 60 minutes of entry, plus 8 to 15 exceptions at about 3 minutes each (24 to 45 minutes), for a total of roughly 85 to 105 minutes the manual way. Remove the hand entry and the same account is the exceptions only: 25 to 45 minutes. That gap is the whole story of this post.

Three worked examples

The small, tidy account. 40 transactions, books kept current, statement data imported or already entered. Expect 10 to 20 minutes. If this account takes an hour, look for old uncleared items being re-investigated every month.

The typical small business account. 120 to 200 transactions, some hand entry, a handful of exceptions. Expect about 85 to 105 minutes manual, or 25 to 45 minutes once the data entry step is gone.

The messy account. 300 plus transactions, commingled personal spending, months of backlog. Two to four hours is common, and almost none of it is matching. It is entry, sorting, and client questions. Quoting this kind of work by the month instead of by volume is how firms lose money on it, which is the same trap we covered in our catch-up pricing post.

See where your minutes go

The fastest way to find your own benchmark is to watch one account go through without the hand entry step. Book a short demo and we will run a redacted sample statement through Flowboost live, so you can time the difference on real numbers instead of estimates like the ones above.

Book a Free Demo →
🎁 Your first month is free. No credit card required.

Where the extra hours actually hide

When an account blows past the benchmark, it is usually one of four things, in this order:

1. Hand entry before the reconciliation. As the formula shows, this is often half or more of the total time, and it needs no judgment at all. It is also the step that delays everything downstream, which is why statement handling sits at the top of the list in our month-end close bottlenecks post.

2. Old uncleared items. A reconciliation with 30 stale uncleared transactions is not one job. It is 31 jobs, and the stale ones get re-read every single month. Clearing them once, even if it takes an hour, pays that hour back every month after.

3. Chasing the statement itself. Waiting on a client to send a PDF is not reconciliation time on a timesheet, but it is calendar time, and it is what pushes close into the second week. Read-only bank access or a standing upload folder removes most of it.

4. Re-doing categorization during reconciliation. If transactions arrive uncategorized, the reconciler becomes the categorizer, at reconciliation rates and under deadline pressure. Rules and batch review move that work earlier and cheaper.

How to set your own benchmark this month

Pick five accounts across different clients. For each one, write down four numbers: transaction count, minutes spent getting data in, minutes spent matching and clearing, and number of exceptions. That is it. No new software, no timesheet overhaul.

After one month you will have something most firms never build: your real cost per account, in minutes. That number feeds everything else. It tells you which clients are underpriced, it tells you whether a fixed fee makes sense (the math we ran in our hourly vs fixed-fee post), and it tells you exactly how many hours a month you would get back if the entry step disappeared. For a 20 client practice with two to three accounts each, even 30 saved minutes per account is 20 to 30 hours a month. That is a part-time hire you do not have to make.

The bottom line

A bank reconciliation should take tens of minutes per account, not hours. When it takes hours, measure the two halves separately before blaming the reconciler. In most files we see, the matching is fine. It is the hand entry in front of it, and the old uncleared items inside it, that eat the month.

If you want to see what your benchmark looks like with the entry step removed, book a free demo and we will run a redacted sample statement through live. It takes about 20 minutes, and your first month is free with no credit card required.