Duplicate transactions in a QuickBooks feed
How do I fix duplicate transactions in a QuickBooks bank feed?
Duplicate transactions usually come from two feeds pulling the same charge: a bank feed and a connected app, or a reconnected account backfilling 90 days of history. Match each pair in the bank feed's Batch actions, exclude the newer copy instead of deleting the register entry, then run a three-line search by amount and date to confirm the count.
Sounds like
- The same charge shows up twice in the register with identical amounts and dates
- Reconciliation is off by exactly the amount of one repeated transaction
- A bank account was reconnected after an error and now shows months of transactions again
- The register total doesn't match the bank statement even though every line looks categorized
In detail
Why duplicates show up in the first place
QuickBooks Online pulls transactions into the bank feed from more than one place at once, and it does not always know that two pulls describe the same real-world charge. The three common causes:
A bank was disconnected and reconnected. QuickBooks Online’s default reconnection window pulls the trailing 90 days of activity again. If any of that window was already reviewed and added to the register, every one of those transactions now has a twin sitting in the “For Review” tab, waiting to be added a second time.
A payment processor or payroll provider is connected as its own feed alongside the bank feed. Square, Gusto, and similar connections often post a transaction into QuickBooks the moment a batch settles, and then the same settlement arrives again through the bank feed a day or two later once it clears. Both are legitimate feeds; only one of the two transactions should ever hit the register.
A credit card was paid, and the payment shows up as a transaction in both the card account and the checking account it was paid from. This one is not a true duplicate at all, it is a transfer, but it gets miscategorized often enough to be worth naming here.
The two kinds of “duplicate”, and why only one is real
Before touching anything, separate a true duplicate from a look-alike. A true duplicate has an identical amount, an identical or near-identical date, and the same payee description. A look-alike has a matching amount but a different date, a different payee string, or turns out to be a legitimate second charge. A vendor that bills twice in one week is not a bug.
Open the bank feed’s “For Review” tab and sort by amount instead of date. True duplicates cluster next to each other once sorted this way even when their dates are a day or two apart, because settlement timing rarely lines up exactly with the original charge date.
Clearing a true duplicate that has not been added yet
If both copies are still sitting in “For Review” and neither has been added to the register, this is the easy case. Select the transaction that should not exist, and use Exclude from the Batch actions menu rather than deleting it outright. Exclude keeps a record that a transaction existed and was reviewed, which matters later if a client or a tax preparer asks why a charge that appears on the bank statement is missing from QuickBooks. A deleted transaction leaves no trace; an excluded one leaves an auditable one.
When the duplicate has already been added to the register
This is the case that actually breaks a reconciliation. Once a duplicate has been added it behaves like any other register transaction: it can get categorized, matched to a rule, even reconciled against a bank statement in a prior period. Deleting it now, after the fact, changes a period that a client or their CPA may already consider closed.
The safe order of operations: run a search in the register for the amount, scoped to a date range wide enough to catch both copies. Confirm which of the two is the extra one, usually whichever has no matching line on the actual bank statement for that date. If the transaction being removed falls inside a period that has already been reconciled, undo that one month’s reconciliation first, delete the duplicate, then re-reconcile. Skipping the undo step is the single most common way a bookkeeper accidentally shifts a client’s reconciled balance without meaning to, because QuickBooks Online will let a reconciled transaction be deleted without any warning.
Preventing the next round
Bank feed rules that auto-add transactions are the most frequent repeat cause. A rule that auto-adds “any transaction from Square” will happily add both the processor’s own feed entry and the bank feed’s settlement entry, silently, with no review step at all. Auto-add rules are appropriate for transactions with one source only, like a fixed loan payment or a recurring subscription charged to one card. Never for anything that could also arrive through a second connected feed.
The other prevention step is disconnecting a feed cleanly instead of deleting the bank account itself when a card gets replaced or an account closes. Deleting the account and re-adding it under the same login is what triggers the 90-day backfill described above; disconnecting the feed while leaving the account and its history in place does not.
What this costs to fix
A bank feed with duplicate transactions scattered across several months is squarely a cleanup engagement, not something to patch month to month. The fix has to work backward through however many reconciled periods are affected, which is exactly what a cleanup is scoped and priced for.
$199 per month of backlogSee every offer, and what each one covers for a backlog of any size, on the pricing page.
Updated August 10, 2026 · Omkar Moraye