OFX FILE CHECK · RUNS IN YOUR BROWSER · NOTHING UPLOADED

Why won't this QFX / OFX file import?

Drop a .qfx or .ofx bank or credit-card export and get every problem with its line number before QuickBooks, Quicken, YNAB or Xero rejects it: header errors, unclosed tags, duplicate FITIDs, invalid dates and amounts, unescaped ampersands and statement dates that do not match the transactions. Then download a copy with every provable fix applied, and see a plain diff of what changed.

The file is read in this browser tab and never leaves your device. This checks the file against the OFX format, not against any one app. Independent of every accounting product named.

1. Your bank file

A .qfx / .ofx (Web Connect) download from a bank or card issuer, OFX 1.x (SGML) or 2.x (XML).

Choose a file or paste the text, then click Check file.

The rules, and what they leave out

Common questions

Why does my QFX or OFX file fail to import into QuickBooks?

The usual causes are a header missing one of its nine lines, a missing or duplicate FITID (the transaction ID QuickBooks uses to avoid importing a transaction twice), a date that is not YYYYMMDD, an unescaped & in a payee name, and tags left unclosed because the download was cut off. This tool reports each with its line number.

What does an invalid date error on an OFX import mean?

OFX dates must be YYYYMMDD, optionally followed by HHMMSS, milliseconds and a bracketed time-zone offset. A date written 2024-03-04 or 03/04/2024 is rejected. The tool rewrites the unambiguous ISO form and only reports slash dates, because day-first and month-first cannot be told apart.

What is a duplicate FITID and how is it fixed?

FITID is the bank's unique ID for each transaction. Two transactions with the same FITID in one account look like the same transaction, so QuickBooks and Quicken drop or reject the second. The fix appends -2, -3 and so on so every ID is unique. Check that the two transactions really are different before importing.

What is the difference between OFX 1.x (SGML) and 2.x (XML)?

OFX 1.x files start with plain header lines (OFXHEADER:100 and so on) and leave value tags unclosed. OFX 2.x files are XML, start with an xml declaration and an OFX header line, and close every tag. The tool detects which one you have and checks it by that format's rules.

Is my bank file uploaded anywhere?

No. The page reads the file in your browser and a test in the code asserts there are no network calls. A bank export holds account numbers and transactions, so that matters.

What does this not check?

Whether your bank signed or authorised the file, that balances and transactions are true, investment statements, or the extra rules any one app applies at import (QuickBooks, for example, may also require a supported bank ID).