April 20, 2026 · 5 min read
CSV vs QBO for Bank Statements: Which Should You Use?
A side-by-side comparison of CSV and QBO bank-statement formats, with a clear recommendation for QuickBooks, Xero, Wave, and DIY workflows.
If you've converted a PDF bank statement before, you've probably been asked: CSV or QBO? Both work — but for different jobs.
TL;DR
- QuickBooks Online or Desktop → QBO. It carries a FITID per transaction, so re-imports never duplicate.
- Quicken → QFX. Same OFX engine as QBO with the INTU.BID tag Quicken requires.
- Xero → Xero CSV. Pre-formatted to Xero's manual statement-import schema.
- Wave, FreshBooks, Sage, NetSuite → CSV. These tools either require CSV or read it more reliably than OFX/QBO.
- Excel, Google Sheets, BI tool, custom script → Excel (XLSX), Categorised Excel (with auto-tagged categories), JSON, or CSV.
- SAP / Oracle / Workday / treasury → MT940 (legacy SAP) or CAMT.053 (S/4HANA, ISO 20022).
What's actually different
| Feature | CSV | QBO | |---|---|---| | Stable transaction ID (FITID) | No | Yes | | Imports without column mapping | Sometimes | Always (in QuickBooks) | | Universal — opens in any tool | Yes | No (QuickBooks/finance only) | | Multi-currency header | Manual | Embedded | | Human-readable | Yes | Sort of |
When CSV wins
- Xero, Wave, FreshBooks prefer CSV. QBO support is uneven across these tools.
- Custom analytics. Any Python/R/Excel pipeline reads CSV in one line. QBO needs a parser.
- Inspecting the data first. Open in Excel, eyeball the first 20 rows, fix anything weird. You can't do that with QBO.
When QBO wins
- QuickBooks Online or Desktop, every time. The QBO converter generates deterministic FITIDs from date + amount + description, so re-uploading the same statement (or an overlapping period) never creates duplicates.
- Multi-currency QuickBooks accounts. QBO embeds the currency code; CSV doesn't.
- You want minimal manual work. No column mapping, no signed-amount fiddling.
What about OFX and QFX?
QFX is QBO's branded sibling for Quicken — same underlying OFX format with an extra INTU.BID tag. QuickBooks accepts both QBO and QFX; Quicken specifically requires QFX. We emit both: use PDF to QBO for QuickBooks, PDF to QFX for Quicken. If your tool asks for plain OFX, the QBO file works in 95% of cases — rename .qbo to .ofx if needed.
Still not sure?
If your downstream tool is QuickBooks, use QBO. If it's anything else, use CSV. For a deeper dive on QuickBooks specifically, see why QBO beats CSV for QuickBooks and the common QuickBooks import errors guide.