Skip to content
Banking Converter

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

CauseHow it looksFix
Overlapping statement periodsThe last days of one month appear twiceImport each period once; use the running balance to find the overlap
Re-imported fileEvery transaction in a period is doubledDelete the second batch; use OFX/QBO with stable ids for re-imports
Bank feed plus manual importRecent transactions doubled, older ones fineOnly import periods the feed did not cover
Legitimate repeatsSame amount and payee on the same dayCheck the statement; they may be real (two coffees)
Page-boundary repeats in the PDFOne transaction printed at the bottom of a page and again at the top of the nextThe 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

  1. Import one statement per period and note the last imported date per account.
  2. 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.
  3. When converting PDFs, review rows flagged POSSIBLE_DUPLICATE or PAGE_BOUNDARY before exporting; genuine repeats can be kept, page-boundary reprints removed with one click.
  4. 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.

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.