If your balances suddenly look too high and your profit-and-loss report cannot be trusted, the first question to ask is: why is QuickBooks duplicating transactions in your books? Duplicates are rarely a software bug. They are almost always a workflow collision — two import paths feeding the same account, an overlapping date range, a connector that re-syncs, or two people entering the same transaction. This troubleshooting guide works through each cause in symptom, cause, and fix order.
One honest note before we start: the tools mentioned here are file-based. Our free QBO duplicate checker scans a QBO or CSV file you export — it does not plug into your bank or sync live with QuickBooks. That distinction matters, because the fixes below are about controlling what goes into QuickBooks, not about a live connection fixing itself.
Why is QuickBooks duplicating transactions after a bank feed connects?
Symptom: every transaction for the last few weeks appears twice, once dated from the feed and once from an earlier import. Cause: the account now has two pipelines in — the bank feed and a file import — and both delivered the same transactions. This is the single most common cause, and it usually starts the week someone connects a feed to an account that was previously imported by file.
Fix: pick one import path per account and disable the other. If you keep the feed, exclude the account from file imports going forward; if you prefer files, disconnect the feed or turn off its automatic download for that account. Then clean up: in the For review tab, exclude the duplicate copies rather than adding them, and for transactions already added, delete the extra copy if it is unreconciled, or void it if the period is closed. For background on the pattern, see what causes duplicate transactions in QuickBooks Online.
Why is QuickBooks duplicating transactions when you import files?
Symptom: the last few days of last month appear again at the top of this month's import. Cause: overlapping date ranges. A statement running January 28 to February 27 followed by one running February 25 to March 27 shares three days, and every transaction in the overlap imports twice. Re-importing a corrected file without deleting the first import does the same thing.
Fix: import clean, non-overlapping periods — calendar months where possible — and always delete the earlier import from For review before re-uploading a corrected file. QuickBooks does warn about possible duplicates, but the warning is easy to click past in a hurry. To answer why is QuickBooks duplicating transactions in your own file, export the account to CSV and run it through a duplicate checker: same date, same amount, and same payee pairs are the smoking gun.

Connector re-syncs: Square, Stripe, and PayPal
Symptom: sales appear twice — once as a connector summary and once as individual transactions — or a whole week of payouts reappears after a connector reconnects. Cause: connector apps summarize payouts and re-sync after a disconnect, while a file import or manual entry already recorded the same sales. The connector and the file are both telling the truth about the same money.
Fix: choose one recording method per payment channel. If you use a connector, do not also import payout files for the same channel; if you prefer the file-based clearing-account method, pause the connector for that channel. After a reconnect, check the connector's sync date range before letting it post anything, and exclude any period you already recorded. File-based imports give you exact control over date ranges, which is why many bookkeepers prefer them for Stripe and PayPal payouts.
Multi-user entry and manual duplicates
Symptom: the same vendor bill or customer payment appears twice with slightly different descriptions — one entered by hand, one imported. Cause: two people working the same account without a shared routine: one person enters transactions manually during the month, and another imports the statement later. Manual entries made to keep books current are the most human cause of duplicates, and the hardest to spot because the descriptions rarely match exactly.
Fix: agree on one entry method per account and write it down. If statements are imported, manual entry for that account stops — use the For review tab instead. Where manual entry is genuinely needed, use consistent payee names so QuickBooks matching can catch the pair. Our guide on how to avoid duplicate transactions in QuickBooks Online turns this into four standing rules.

The fix routine: find, confirm, remove, prevent
Work this routine once, then monthly. First, export the suspect account and flag pairs with the same date, same amount, and same or similar payee — a duplicate finder does this in seconds from a file. Second, confirm each pair is truly a duplicate: two identical charges on different days can be legitimate subscriptions, and two same-amount payments to the same vendor can be real. Third, remove the extra copy: exclude it in For review, delete it if unreconciled, or void it if the period is closed and reconciled.
Fourth, prevent recurrence: one import path per account, non-overlapping date ranges, a connector decision per payment channel, and a monthly sweep before you close the month. Reconcile after cleanup so the books tie back to the statements. Duplicates caught monthly are a ten-minute job; duplicates discovered at tax time are a weekend. The QuickBooks hub collects the file-based tools that make each step easier.
Frequently asked questions
Why is QuickBooks duplicating transactions every month?
Because the same account has two active import paths — usually a bank feed plus file imports — or because imports overlap by a few days each month. Pick one path per account and import non-overlapping periods, and the monthly duplicates stop.
Should I delete duplicates or void them?
Delete unreconciled duplicates from For review or the register. For duplicates in closed, reconciled periods, void them instead so the audit trail stays intact, then re-reconcile the affected months.
Can a connector cause duplicates even without a bank feed?
Yes. A Square, Stripe, or PayPal connector that re-syncs after a disconnect can re-post a period you already recorded by file or by hand. Check its sync range after any reconnect before letting it post.
How do I know a pair is really a duplicate?
Same date or adjacent dates, same amount, and same payee is the strong signal. Confirm against the bank statement before removing anything — deleting a real transaction creates the opposite problem.
Duplicates are a workflow problem with a workflow solution. Sweep your exported file with the free duplicate checker, fix the import path that caused them, and reconcile monthly — your books will stay clean.
