Quicken / QuickBooks / GnuCash

“Every transaction imported twice”

Duplicates are the mirror image of missing transactions, and they come from the same mechanism: the unique id each transaction carries. When those ids change between downloads, your app has no way to recognise entries it already has.

Symptoms

  • Each transaction appears twice, with identical date, payee and amount
  • The duplicate appeared after re-downloading an overlapping date range
  • The balance is exactly double the expected movement for the period

What actually causes it

Cause 1

The bank regenerated the transaction ids

De-duplication keys on the FITID inside the file. Some banks assign a new id to the same transaction on each export — often after a site upgrade — so nothing matches what your app stored.

Cause 2

Ids were rewritten before import

A converter, or a repair that regenerates missing ids, produces ids your app has never seen. That is the correct fix for a file with missing ids, but it does mean an overlapping period will re-import.

Cause 3

Overlapping date ranges plus manual entry

Transactions entered by hand carry no id at all, so an import of the same activity cannot recognise them and adds its own copy.

How to fix it

  1. Undo or delete the duplicate import first — most apps can reverse the last import, which is far quicker than deleting rows one at a time.
  2. Drop the file into the fixer below to see the ids it contains: it reports missing ids, duplicate ids, and how many transactions carry one.
  3. Re-download with a date range that starts the day after your last successful import, so there is no overlap to duplicate.
  4. If your bank rotates ids on every export, keep import ranges strictly non-overlapping — no file-level fix can compensate for ids that change each time.

Skip the manual edit — fix it automatically

The fixer shows the id situation in your file directly, which turns "why did this duplicate" into something you can see rather than guess at. Free, no signup, no upload.

Open the fixer

Your file never leaves your browser.