StatementDecoder

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.