Key takeaways
What this article covers, in order:
- The month the bank balance was "wrong"
- Where duplicates come from
- Real duplicate or genuine repeat?
- A clean-up routine
- When a whole block is doubled
- How to stop it happening again
Duplicate bank transactions usually come from three places: a CSV import that overlaps with a bank feed, a manual entry that the feed later brings in again, or a feed that re-sends lines after a reconnect. You find them by comparing your books to the bank statement for the same period, then you delete or unmatch the extra copy, never the original. The trick is telling a real duplicate from two genuine payments that just look alike.
The month the bank balance was "wrong"
Chloe runs a small bakery supply business in Newcastle. At the end of Sep 2026 her bank statement closes at $8,420.50. Her books say $9,150.50. That's $730.00 more in the books than in the bank, and her first thought is that the bank has made a mistake.
It hasn't. On 18 Sep 2026 a customer paid $730.00. Chloe had recorded it by hand that morning because she was excited about the order. Two days later the bank feed brought the same deposit in, and she categorised that one too. One payment, recorded twice. Check: $8,420.50 + $730.00 = $9,150.50.
Duplicates almost always push your book balance away from the bank by an amount that matches a single transaction. That's your first clue.
Where duplicates come from
| Cause | How it happens | Typical sign |
|---|---|---|
| Manual entry plus feed | You enter a payment by hand, then the feed brings it in | Same amount, dates a day or two apart, one has your wording, one has the bank's |
| CSV overlaps feed | You import a statement covering dates the feed already brought in | A whole block of transactions doubled across a date range |
| Two overlapping CSVs | "Last 30 days" one month, "last 60 days" the next | Doubled block, often at the start of the newer file |
| Reconnect re-sends | After reconnecting a feed, some history comes through again | Doubles clustered just before the reconnect date |
| Pending then posted | A card purchase appears as pending, then again once settled | Same merchant and amount, one or two days apart |
| Invoice payment plus income | A customer payment coded as income while the invoice is also marked paid | Sales overstated by exactly that invoice |
That last one doesn't look like a duplicate in the bank account at all. Your bank balance reconciles fine, but income is counted twice: once when you raised the invoice and again when you coded the deposit as new sales. Watch for it on your P&L.
Real duplicate or genuine repeat?
Not every pair of matching lines is a mistake. A café owner who buys $45.00 of milk from the same supplier twice in a week has two real transactions. Before deleting anything, check:
- The bank statement. If the statement shows the line once, your books should too. If it shows it twice, both are real.
- Reference numbers. Feeds often carry a bank reference. Two different references usually means two real transactions.
- Dates. Real repeats are often days apart with a reason (two deliveries). Duplicates are often the same day or one to two days apart.
- Source. Is one copy from the feed and the other from a manual entry or a CSV? That's a strong duplicate signal.
- Invoices and bills. Two payments against one bill might be a duplicate payment you actually made. That's a real transaction and a supplier refund to chase, not a bookkeeping deletion.
That last point matters. If you truly paid a supplier twice, deleting one line hides a real overpayment. Leave both in, and record the refund when it arrives.
A clean-up routine
Here's a sequence that works without making things worse:
- [ ] Pick one bank account and one month. Don't try to fix the whole year at once.
- [ ] Note the bank statement's opening and closing balances for that month.
- [ ] Compare your book balance with the statement. Write down the difference.
- [ ] Look for a single transaction, or a group, that adds up to the difference.
- [ ] Sort your transactions by amount. Identical amounts sit next to each other and are easy to scan.
- [ ] For each suspected pair, confirm against the statement which one is real.
- [ ] Keep the copy that came from the bank (feed or CSV); remove the manual or extra copy.
- [ ] If the extra copy was matched to an invoice or bill, unmatch it first, then remove it.
- [ ] Re-check the balance. It should now agree with the statement.
- [ ] Move to the next month.
Why keep the bank-sourced copy? Because it carries the bank's exact date, description and reference, which makes next month's reconciliation cleaner.
When a whole block is doubled
If the difference is large and doesn't match any single transaction, think about date ranges. Say your difference for Aug 2026 is $14,860.25. That's probably not one transaction; it's more likely a run of days imported twice. Filter your transactions to the first and last week of the month and look for two copies of each line. Often you'll find the doubling stops neatly at the date your feed started or your previous CSV ended.
Once you know the overlapping date range, remove the extra set for just those dates and reconcile again.
How to stop it happening again
- Choose one source per account per period. Either the feed owns it or the CSV does. Never both.
- Write down your last imported date for any account you import manually.
- Match, don't add. If you've entered a payment by hand or raised an invoice, match the feed line to it instead of categorising the feed line as something new.
- Leave pending items alone. Wait for transactions to settle before you code them.
- Reconcile monthly. Duplicates are easy to find in a single month and miserable to find across a whole year.
How HelloBooks helps
In HelloBooks, bank-feed and CSV transactions land in the same review list, so you can see everything waiting before it's final. When you reconcile, the reconcile screen lines up your bank statement against your ledger with an AI match suggestion on each line, a confidence score and why it picked that match, which makes it easier to spot a statement line that has two candidates in your books. If something was matched wrongly, you can unmatch it in one click. The reconciliation report shows opening balance, cleared items, outstanding items and closing balance, and exports to PDF or CSV. More on our bank reconciliation software page, or see the bookkeeping features.
FAQs
Why does my bank feed show the same transaction twice?
Usually it's a pending item followed by the settled version, or history re-sent after you reconnected. Check the statement: if the bank shows it once, one copy needs to go.
Should I delete the feed copy or my manual entry?
In most cases keep the feed copy, because it carries the bank's own details. If your manual entry is linked to an invoice or bill, match the feed line to that invoice or bill instead and remove the manual one.
Can duplicates affect my GST?
Yes. A duplicated expense or sale doubles the GST attached to it. Fix duplicates before your BAS agent or accountant prepares anything from your books.
How do I know if I actually paid a supplier twice?
The bank statement will show two separate payments. That's a real overpayment, so keep both lines and contact the supplier for a refund or credit.
What if I already reconciled a month that had a duplicate?
Reopen that period, fix it, and reconcile again. If your software logs reopenings, that history helps your accountant see what changed.
One source per account, one month at a time, and always check the statement before you delete. Duplicates stop being scary after the first clean-up.
Start free, no card needed. Try HelloBooks Free