Key takeaways
What this article covers, in order:
- When your bank balance is suddenly "too rich"
- The five usual causes
- Not every pair is a duplicate
- How to find duplicates quickly
- Which copy do you delete?
- Preventing duplicates next month
Duplicate transactions usually come from overlapping data sources: a CSV import on top of a live feed, a feed reconnected over dates it already brought in, or a transaction entered by hand and then also pulled from the bank. You find them by looking for the same amount on the same or nearby dates, confirm against the bank statement, and remove the extra copy (not the one that's matched to an invoice or bill). Then fix the source so it doesn't happen next month.
When your bank balance is suddenly "too rich"
It's Oct 3, 2026. Luis, who runs a small HVAC repair business in San Antonio (an illustrative example), opens his books to reconcile Sep 2026. The bank statement says checking ended at $18,420.55. His books say $22,915.30. That's $4,494.75 more than the bank, and Luis is pretty sure he didn't make an extra four and a half grand.
He scrolls. There it is: two deposits of $2,150.00 on Sep 12, 2026, two fuel charges of $74.25 on Sep 14, 2026, and a sprinkling of other pairs. In August 2026 his feed disconnected; when he reconnected, it pulled back a few weeks, and his office manager had already imported a CSV for the gap.
Classic duplicate problem. Annoying, but very fixable.
The five usual causes
1. CSV import overlapping a live feed
The most common one by far. Someone imports a statement "to be safe" for dates the feed already covers. Every transaction in the overlap now exists twice.
2. Reconnecting a feed
When a bank connection is re-authorized, some connections pull a window of recent history again. If the software doesn't recognize them as already present, you get copies.
3. Manual entry plus the feed
You recorded a $650 check to a subcontractor by hand on Sep 5, 2026. The bank cleared it on Sep 9, 2026, and it came through the feed as a new transaction. Instead of matching the feed line to the manual entry, someone categorized it as a fresh expense. Now the expense counts twice.
4. The same account connected twice
It happens more than you'd think, especially with two users. One person connects business checking, and a month later someone else connects it again under a slightly different name.
5. Pending-to-posted changes at the bank
Rarer, and depends on the bank. A transaction shows one way, then the bank re-posts it with a different description or date. If both versions make it into your books, you've got a near-duplicate with slightly different text.
Not every pair is a duplicate
Before you start deleting, remember that real life produces twins. Two $12.50 parking charges on the same day? Maybe you really did park twice. Two identical $299 subscription charges? Maybe you have two seats.
Here's how to tell them apart:
| Clue | Likely duplicate | Likely legitimate |
|---|---|---|
| Bank statement shows it | Once | Twice |
| Description | Identical or nearly identical | Different reference numbers or times |
| Source | One from CSV, one from feed | Both from the same feed |
| Timing | Right around a reconnect or import | Normal days, no data changes |
| Running balance | Books higher than bank by exactly that amount | Books match bank |
The bank statement is the referee. If the statement lists it once, your books should too.
How to find duplicates quickly
You don't need to stare at every line. Try this sequence.
Step 1: Compare the totals. Get the difference between your book balance and the bank statement ending balance. In Luis's case, $4,494.75 too high. That number tells you roughly what you're hunting for.
Step 2: Narrow the date range. Ask when data entered your books from more than one place. Recent import? Reconnect? Start there.
Step 3: Sort by amount. In your transaction list or register, sort by amount for the suspect period. Duplicates sit next to each other.
Step 4: Check the source. If your software shows whether a line came from a feed, an import or manual entry, two copies from different sources are a strong signal.
Step 5: Tick off against the statement. For each suspected pair, find the transaction on the bank statement. Once? One of yours is extra.
Step 6: Re-check the balance. After removing duplicates, the difference should shrink to zero, or to whatever genuine reconciling items are left, like a deposit in transit.
Which copy do you delete?
This part matters more than people think.
- Keep the one that's matched or linked. If one copy is matched to an invoice, a bill or a payment, keep that one. Deleting it can make a paid invoice look unpaid again.
- Keep the one that's been reconciled. If one copy is already marked as reconciled in a past period, don't touch it. Remove the unreconciled copy.
- Keep the one with better detail. If one has a memo, split or attachment, keep it.
- When in doubt, keep the feed version. It's tied to the live connection, and future syncs know about it.
And be careful in closed periods. If the duplicate sits in a month you've already closed and reported, fixing it changes those numbers. Do it anyway, because wrong numbers are worse, but note the change so your CPA isn't surprised.
Preventing duplicates next month
A short checklist you can keep near your desk:
- [ ] Every account has one source per date range, written down (feed or CSV, never both).
- [ ] After a feed reconnect, check the first and last few days around the gap for doubles.
- [ ] Before importing a CSV, check the date of the latest transaction already in the books for that account.
- [ ] When a manually entered check or payment clears, match it to the feed line instead of categorizing the feed line as new.
- [ ] Only one person connects bank accounts, and accounts have clear names (something like "Business checking ...4412" with your own last four digits).
- [ ] Reconcile monthly. Duplicates almost always show up as a balance that's too high.
A quick word on duplicate expenses that aren't from the bank
Sometimes the double-count isn't two bank lines. It's a bill entered in accounts payable and then the bank payment categorized as an expense too. Same effect on your P&L: the expense counts twice.
The fix is the same idea. The bank payment should be applied against the bill, not categorized as a new expense. If you see vendor expenses that look about twice what you expected, check for this before anything else.
How HelloBooks helps
HelloBooks lets you connect most US banks and credit cards with a live bank feed, or import bank and credit card statements as CSV files. That flexibility is useful, and it's also exactly why the "one source per date range" habit matters.
- Bank feed transactions land in a review list, so you can spot a pair before it ever reaches your reports.
- You can record bills and invoices in HelloBooks, so a payment can be recorded against the bill it settles instead of being categorized as a second expense.
- P&L, Balance Sheet and Cash Flow reports on every plan, including Free ($0, no credit card), make an unusual jump easy to notice.
- On the reconcile screen, each statement line gets an AI match suggestion with a confidence score and the reason for the match, and you only work through the exceptions left over, which is usually where a duplicate sits. If a match is wrong, you can unmatch it in one click.
- Once a period is reconciled and signed off, it can be locked, and reopening it is logged. That way a cleaned-up month stays the way you left it.
- Invite your bookkeeper or CPA into the same books to help with a cleanup.
Our bank reconciliation software page covers the month-end side. If you're moving books over from another tool and worried about importing history twice, see switching from QuickBooks Free or switching from Wave.
FAQs
Why does my bank feed show the same transaction twice?
Most often because data came in from two sources for the same dates, like a CSV import over a live feed, or a reconnection that re-pulled recent history. Check the bank statement: if it shows the transaction once, one of yours is a duplicate.
Is it safe to delete a duplicate transaction?
Yes, as long as you delete the right copy. Keep the one that's matched to an invoice or bill, or already reconciled, and remove the unmatched extra.
How do duplicates affect my reports?
A duplicate deposit overstates income and cash. A duplicate expense overstates costs and understates profit. Both throw off your bank reconciliation, usually by exactly the duplicated amount.
How can I tell a duplicate from two real charges?
Look at the bank statement. If the bank lists the charge twice, both are real. If it's listed once, you have a duplicate. Reference numbers and times in the descriptions also help.
Should I reconcile before or after removing duplicates?
Remove them as part of reconciling. The gap between your books and the statement is usually what reveals them in the first place.
Clean them out once, fix where they came from, and the "too rich" balance stops showing up.
Start free, no credit card. Try HelloBooks Free