The costliest mistake in catch-up work is importing everything first and reconciling at the end. One bad month then hides in a year of data. The workflow below flips the order: nothing is imported until its statement has tied out, and nothing is trusted until the month before it has.
Set up a tracker before you scan
Build a sheet with one row per statement: account, period end date, printed opening balance, printed closing balance, sum of the transactions, and a status column each for received, scanned, tied out, imported and reconciled. Sorted by account and date, the tie-out is opening plus transactions equals closing, and the chain check is a glance down the columns.
Ask for one statement before the period too. Its closing balance is what your books should already hold, so it proves nothing is missing at the start. A calendar year is then thirteen statements per account. Note each account’s cycle as well: card statements and some bank accounts close mid-month, so “January” may not mean 1 to 31 January.
A worked quarter shows the arithmetic. An account opens January at 12,400.00. January nets +1,250.50, February −830.25 and March +2,115.00, so the closing balances read 13,650.50, 12,820.25 and 14,935.25. The three nets sum to 2,535.25, exactly 14,935.25 minus 12,400.00.
Check the starting point
Before importing the first month, compare its printed opening balance with what the books held the day before. A new account needs an opening balance entry for that amount, typically posted to Opening Balance Equity in QuickBooks Online or entered as a conversion balance in Xero. An account with history must already agree. Settle any difference first; later reconciliations inherit it.
The workflow
- Scan to a standard. Use a flatbed or sheet-fed scanner at around 300 dpi in grayscale, one PDF per statement, pages in order. Name each file with the account’s last four digits and the period end date, for example 1234_2026-03-31.pdf.
- Convert one account at a time, oldest first. Working through one account chronologically keeps each closing balance fresh when you reach the next opening.
- Tie out every statement. Opening + deposits − withdrawals must equal closing. Resolve each variance before moving on. On a scan, a variance is usually one misread digit or a lost row.
- Chain the months. Each closing balance must equal the next statement’s opening balance. A break means a missing statement, a wrong file or a misread balance.
- Import in order with non-overlapping periods. Load months oldest to newest. Create bank rules after the first two or three months so the rest categorize faster.
- Reconcile each month before importing the next. Use the statement’s ending balance; the difference must be 0.00. If it is not, stop and fix this month while the cause is fresh.
- Prove the year. The sum of the monthly net changes must equal the last closing balance minus the first opening balance, for every account.
Reading a break in the chain
When a closing balance and the next opening balance disagree, the size of the gap points to the cause. A gap too large for a typo, equal to the net activity of some period, means a missing statement or a statement from another account. A small gap is usually a misread digit. If February closes at 12,820.25 and March seems to open at 12,820.52, and March’s own tie-out is off by the same 0.27, the opening figure on March’s page was misread. Compare it with the page image. If both statements tie out yet the chain still breaks, look for a missing period instead.
How to batch the work
The order you work in decides how early errors surface. One account, oldest to newest, is the default.
| Batching | Best when | Risk |
|---|---|---|
| One account, oldest to newest | Opening balances must chain, and bank rules improve as you go | Transfers between accounts are paired late |
| One month, all accounts | Many transfers between accounts, or month-end tasks to complete | Per-account continuity is easy to lose |
| A quarter at a time | Low-volume accounts | A single error hides among hundreds of lines |
| The whole year at once | Very small accounts only | One bad statement poisons the batch, and long files may hit page limits |
What can go wrong
- A missing page. Statement pages are numbered, so check the count against “page 1 of 4”. A missing page leaves a variance equal to its contents.
- A missing statement. The chain breaks and the gap equals that month’s net activity. Request the statement. Do not plug the difference.
- Cycles that are not calendar months. Name and sort by period end date, not by month name.
- Reconciling to the wrong figure. Use the statement’s ending date and ending balance, not today’s balance in online banking, or every month will appear off.
- Transfers counted twice. A move between two accounts appears on both statements. Categorize both sides as a transfer, and treat card payments the same way.
- Crooked or sideways scans. Misread digits rise sharply on skewed pages. Re-scan before you start correcting cells.
Keep an open-items list
Catch-up work raises questions: an unrecognized payment, a transfer with no matching leg, a month with no statement. Log each with date, amount, account and question, and send the client one list. Park unanswered items in a clearly named suspense account and clear it before calling the year finished.
Where SheetParser fits
SheetParser reads digital and scanned statements, rebuilds the transactions, and checks the opening-to-closing balance for each file. The free allowance, 1 file a day up to 10 pages, is enough to test one real statement from the pile; a full year across several accounts is a paid-plan job, where files can run to 150 pages. Exports are Excel, a Xero CSV or a QuickBooks .QBO, so you can load months in the order the tracker dictates. For the chain check, see the continuity guide.