How to combine bank statements from different months into one file
To combine bank statements from different months into one file, convert each PDF, stack the rows in one sheet sorted by date, and before you total anything, check the joins. Each statement's opening balance should equal the closing balance of the one before it. When a statement and a custom date-range download cover some of the same days, those days appear twice, and the opening balances tell you exactly how much the doubled rows add up to.
Duplicates are easy to create and hard to see. Every row in a duplicate is a real transaction. It's just there twice.
Where do duplicates come from?
Almost always from mixing two kinds of download:
- A monthly statement and a "last 30 days" or custom range export from online banking
- A month-end statement and an interim statement the bank issued mid-month
- The same PDF downloaded twice under different file names
- A joint account's statements downloaded by two people
Each file adds up on its own, so checking a statement against its own balances won't catch any of these.
A worked overlap
Tern & Tide Café is fictional. The owner combined its January to March 2026 statements for a lender, and added a custom download covering February 20 to March 20 because the February PDF "looked short".
Line up the periods and balances:
| File | Period | Opening | Closing |
|---|---|---|---|
| January statement | 01/01 to 01/31 | 7,204.33 | 8,640.12 |
| February statement | 02/01 to 02/28 | 8,640.12 | 9,312.40 |
| Custom download | 02/20 to 03/20 | 8,977.15 | 10,118.06 |
| March statement | 03/01 to 03/31 | 9,312.40 | 10,455.80 |
Two warnings jump out. The custom download starts on 02/20, before February ended, so it overlaps February. And it opens at 8,977.15, which is not where February closed.
The difference, 9,312.40 - 8,977.15, is 335.25. That's the net of every row dated February 20 to 28 that now appears twice. In the café's file those rows were:
| Date | Description | Amount |
|---|---|---|
| 02/21 | Card deposits | 1,640.00 |
| 02/24 | Coffee supplier | -785.25 |
| 02/27 | Payroll | -519.50 |
| Net of the doubled rows | 335.25 |
1,640.00 - 785.25 - 519.50 = 335.25, and 8,977.15 + 335.25 = 9,312.40. The numbers agree, which proves those rows are the overlap. The custom download also overlaps March from 03/01 to 03/20, so its March rows are doubled too.
The fix here is simple: drop the custom download. The monthly statements chain cleanly on their own, 8,640.12 into February and 9,312.40 into March.
How do you find duplicates without a balance table?
Sort the combined sheet by date, then amount. In a spare column, count how many rows share the same date, amount and description:
=COUNTIFS(A:A,A2,B:B,B2,C:C,C2)
Here A is the date, B the amount and C the description. Anything above 1 is a candidate. Treat it as a candidate, not a verdict. Two identical $12.50 charges at the same shop on the same day can both be real. The balance chain decides: if the statements chain without the extra row, the extra row is a duplicate.
Which file should you keep?
Keep the official monthly statements wherever you have them. They carry printed opening and closing balances, which is what makes the chain check possible. A custom export often has no opening balance at all, or one that reflects the day before its start date, as the café's did. Use custom ranges only to fill a month you genuinely can't get a statement for.
If you do keep a custom export, trim it to the days no statement covers, and note in the file which rows came from it. Whoever reads the file next will ask, and a lender or an accountant will want to see that those rows can't overlap anything else.
Does the quarter still add up?
Once the overlap is gone, run the whole-file check. The Amount column should equal the last closing balance less the first opening balance. For the café's quarter, 10,455.80 - 7,204.33 = 3,251.47. If the column total says anything else, the size of the difference is the net of whatever is still missing or doubled.
Our guide to combining bank statements also covers the one-sheet versus tab-per-account choice, and how to stack files in Excel's Power Query if your bank gives you CSVs.
Disclosure: I'm Damin and I run ZeraBooks, so weigh this part accordingly. ZeraBooks Convert reads PDF bank and card statements and proves each one against its printed balances to the cent. To combine them, tick the statements in the list and click Download together; choose One file for one sheet, which adds an Account column when there's more than one account, or One per account for a tab each. Convert doesn't remove duplicate rows or check one statement against the next, so the checks above stay with you. It's part of the ZeraBooks subscription, 1,000 pages a month for $79 a month billed annually, after a 7-day trial. More on the bank statement converter page.
When a statement looks short, download the official statement again before reaching for a custom range. It saves you this whole exercise.
Comments
Post a Comment