QIF vs OFX vs QFX vs CSV: which bank statement format do you actually need?
2026-07-19 · 7 min read
Four formats carry bank transactions between systems, and choosing the wrong one costs you an afternoon of import errors. The thirty-second answer: match the format to the destination software — CSV for spreadsheets, OFX for accounting packages, QFX for Quicken, QIF for the older tools that still love it. The longer answer explains what each format actually preserves.
CSV — the universal lowest common denominator
Plain rows and columns; every tool on earth opens it. Its power is also its weakness: CSV carries no types. A spreadsheet decides on open whether "03/07/2026" is March or July, whether a long number is text or scientific notation, whether "1,234.56" is one value or two. Import deliberately (don't double-click), state the date format, and CSV serves everything from Excel analysis to QuickBooks imports.
OFX — the open standard with actual structure
Open Financial Exchange is typed XML: every transaction carries a date, a signed amount, a debit/credit type, an ID and a name field — no ambiguity for the importer to guess about. It's what most accounting software (Xero, Sage lineage, QuickBooks' "Web Connect") means by bank import. Transaction IDs also give importers a fighting chance at deduplication. If the destination accepts OFX, it's almost always the most robust choice.
QFX — Quicken's flavour of OFX
QFX is OFX plus Quicken-specific tags (notably a bank ID Quicken uses for licensing). Quicken reads QFX natively; most other tools that read OFX will read a QFX too, ignoring the extra tags. If you have a .qfx and a tool that rejects it, converting QFX to CSV (or plain OFX) solves it.
QIF — the legacy format that won't die
Quicken Interchange Format predates OFX: plain text, no types, no currency field, locale-ambiguous dates in old importers. It survives because beloved tools still speak it — GnuCash imports QIF first-class, YNAB accepts it, and pre-2005 Quicken versions require it. A well-made QIF puts the merchant in the payee field and the original statement line in the memo — which is exactly how our QIF export writes it, so imports arrive readable.
Which software takes which
- Excel / Google Sheets — CSV (or better, a typed XLSX).
- QuickBooks — CSV or OFX/"Web Connect".
- Xero — OFX preferred; CSV accepted.
- Quicken — QFX; QIF only on very old versions.
- GnuCash — QIF or OFX.
- YNAB — CSV, QIF or OFX.
- Scripts / pipelines — JSON or CSV.
Converting without losing data
Conversions only lose what the target can't hold: CSV→anything loses nothing it had; OFX/QFX→CSV flattens types (fine for spreadsheets); anything→QIF drops currency and IDs. Whatever the path, verify totals after conversion against the source statement's summary — and remember every format above comes out of a single statement upload here: convert once, download CSV, Excel, QIF, OFX and JSON from the same parse, each with merchants already identified.