How to fix duplicate transactions after a bank import
By the Banking Converter editorial team
Published
Duplicates after an import come from overlapping periods, re-imported files, a bank feed and a manual import covering the same days, or a format without transaction ids (CSV, QIF). Find them by sorting on date and amount or with a count of identical date, amount and description; remove them with the accounting tool's exclude or delete function; prevent them by importing non-overlapping periods and using formats with stable ids (OFX or QBO).
Where duplicates come from
| Cause | How it looks | Fix |
|---|---|---|
| Overlapping statement periods | The last days of one month appear twice | Import each period once; use the running balance to find the overlap |
| Re-imported file | Every transaction in a period is doubled | Delete the second batch; use OFX/QBO with stable ids for re-imports |
| Bank feed plus manual import | Recent transactions doubled, older ones fine | Only import periods the feed did not cover |
| Legitimate repeats | Same amount and payee on the same day | Check the statement; they may be real (two coffees) |
| Page-boundary repeats in the PDF | One transaction printed at the bottom of a page and again at the top of the next | The converter flags PAGE_BOUNDARY and POSSIBLE_DUPLICATE; review before export |
Finding duplicates
- Spreadsheet: sort by date then amount; add a helper column
=COUNTIFS(A:A,A2,C:C,C2,B:B,B2)(date, amount, description) and filter for values greater than 1. - Running balance: if you kept the balance column, a duplicate makes the reconstructed balance drift from the printed one from that row onward.
- Totals: compare the total of imported debits and credits with the statement summary. A duplicate inflates one side by exactly its amount.
- In accounting software: run the bank register for the period and look for consecutive identical lines.
Removing them
- QuickBooks Online: in For review, select the duplicates and choose Exclude; excluded items can be deleted from the Excluded tab. Already-categorised duplicates are deleted from the register or undone from Categorized.
- QuickBooks Desktop: in the Bank Feeds Center, select and delete; in the register, delete the transaction (Ctrl+D).
- Xero: in the bank account's Reconcile tab, use Delete on the statement line, or Remove & Redo for reconciled ones.
- Spreadsheets: delete the flagged rows, then re-check the totals against the statement.
Always reconcile again after removing: the account's closing balance should match the statement's.
Preventing them
- Import one statement per period and note the last imported date per account.
- Prefer OFX or QBO for anything you might re-import. The OFX and QBO converters derive each FITID from the account, date, amount, description and row position, so a re-converted statement carries the same ids and the importer skips them.
- When converting PDFs, review rows flagged
POSSIBLE_DUPLICATEorPAGE_BOUNDARYbefore exporting; genuine repeats can be kept, page-boundary reprints removed with one click. - With CSV, use the import preview to deselect rows already present.
Frequently asked questions
Why did my QBO import still create duplicates?
Either the two files had different FITIDs for the same transactions (files from different sources, or a converter that generates random ids) or the transactions were linked to different QuickBooks accounts. Deterministic ids from the same converter avoid the first problem.
Can the converter remove duplicates for me?
It flags them; you decide. Two identical lines on a statement can be real, so automatic removal would risk deleting genuine transactions.
Other bank statement converters
About the author
The Banking Converter editorial team is the engineering group that builds and tests the conversion engine: the parsers for regional date and number formats, the reconciliation checks and the CSV, Excel, JSON, OFX and QBO exporters. Guides describe what the software does and what the formats require; they are not financial, legal or tax advice.