What Is a QBO File? QuickBooks Import Format Explained

A QBO file is the Open Financial Exchange (OFX) format QuickBooks uses for direct bank-statement imports. It is a plain-text XML document with a `.qbo` extension that QuickBooks Online and QuickBooks Desktop both read natively through the bank-feed menu — no column mapping, no formatting fixes, no retyping. QBO is the only format that lands transactions in QuickBooks pre-categorized with dates, amounts, payees, and memo fields intact.

You will run into QBO files any time you import a bank statement into QuickBooks without using the live bank feed. PDF statements, scanned statements, and statements from banks that do not offer QuickBooks-compatible feeds all need to be converted to QBO before they import cleanly. The converter you choose — and how it generates the QBO file — determines whether your reconciliation takes two minutes or two hours.

We tested five QBO-capable converters across September 2026 against sample statements from Chase, Bank of America, Wells Fargo, and a regional credit union. EasyStatementSheet, BankQBO, and ProperConvert produced QBO files that imported without column mapping or warning prompts. Cheaper converters and free OCR tools either required manual cleanup or silently passed through date-format errors that surfaced only at reconciliation.

Key facts: QBO is based on the OFX 1.0.3 specification published by the Open Financial Exchange consortium. | QBO files carry a Financial Institution Transaction ID (FITID) on every transaction — QuickBooks uses FITIDs to detect and skip duplicate imports. | The 350 KB file-size limit applies to QBO imports in QuickBooks Online; statements exceeding this must be split by date range. | QBO files are not encrypted — anyone with a text editor can read your transaction history.

A QBO file is plain text. Open it in Notepad or TextEdit and you can read every transaction, date, and amount — which is why the format is also why it integrates so cleanly with QuickBooks.

What the QBO file actually contains

Despite the `.qbo` extension, the file is an XML document following the OFX 1.0.3 schema. The structure has three sections that matter for import behavior: a header, a transaction list, and a footer.

Header and footer: the parts QuickBooks validates first

The header identifies the source bank, the account type (checking, savings, credit card), and the date range the statement covers. QuickBooks reads this to match the import against the correct register. If the account number or routing metadata does not match what QuickBooks expects, the import either fails outright or — worse — succeeds but routes transactions to the wrong account.

The footer contains a balance ledger: opening balance, total credits, total debits, closing balance. QuickBooks uses these to verify that the file is internally consistent. If the math does not check out, QuickBooks may flag the file or, in some cases, accept it with a warning. A converter that fails to generate correct balance footers is a converter that will produce import-time headaches.

The transaction list: what each row carries

The transaction list is the body of the file. Each transaction carries a date, amount, FITID, type (debit or credit), a name or payee field, and an optional memo. The format mirrors what the OFX consortium designed for: enough fields to round-trip cleanly between financial software without data loss. QuickBooks does not invent or transform any of this — it reads the file as written.

FITID deserves special attention. The Financial Institution Transaction ID is a unique identifier QuickBooks uses to detect and skip duplicate imports. If you accidentally convert and import the same statement twice, FITIDs are what prevent the second import from doubling every transaction. A reliable converter generates deterministic FITIDs — the same transaction always produces the same FITID — so re-imports work correctly.

QBO vs CSV vs Excel vs OFX: which format fits your import

Format What it is Best for Watch out for
QBO OFX-based XML document, native to QuickBooks QuickBooks Online and Desktop imports, no column mapping, full payee + memo preservation 350 KB file-size limit on QuickBooks Online, not encrypted, not human-readable without opening in a text editor
CSV Comma-separated values, universal fallback Xero, Sage, Wave, QuickBooks with manual column mapping, editing or filtering transactions before import Requires column mapping on every import, date format mismatches, memo and check-number loss
Excel (XLSX) Spreadsheet format Reviewing extracted data before committing, not a direct import format Not importable into most accounting software without conversion
OFX (without .qbo extension) Generic OFX format Some non-QuickBooks accounting software, bank-direct downloads from certain institutions QuickBooks may not recognize plain OFX without the `.qbo` extension; check your destination software’s import menu
QFX Intuit’s branded variant of OFX with proprietary extensions QuickBooks bank-feed downloads (live feed, not manual import) Effectively the same as QBO for import purposes — the file extension signals the source

The decision is straightforward: if QuickBooks is your destination, QBO is almost always the right choice. CSV only makes sense when you need to edit transactions before import or when you are on Xero, Sage, or Wave. For a deeper comparison of conversion output formats across the three destinations, see our complete guide to bank statement conversion.

How QuickBooks reads a QBO file at import

The import process is the same whether you upload through QuickBooks Online’s Banking menu or QuickBooks Desktop’s Web Connect Files utility. Here is what happens under the hood.

  1. QuickBooks opens the file and reads the header. It checks the bank name, account number, and statement date range against your existing accounts. If the account number does not match any register in QuickBooks, you will be prompted to either select an existing account or create a new one.
  2. QuickBooks reads each transaction in order. For each transaction, it checks the FITID against existing entries in the register. If a matching FITID is found, the transaction is skipped — this is how QuickBooks prevents duplicate imports.
  3. New transactions land in the For Review tab. Dates, amounts, payees, and memos are pre-populated. You still need to assign categories and confirm the transactions belong to the right period.
  4. QuickBooks applies the file’s balance footer as the closing balance. If your register’s last entered balance does not match, QuickBooks will flag a discrepancy. This is the moment of truth — and the reason reconciliation is the highest-leverage habit in the entire import workflow.

For the step-by-step walkthrough of converting a PDF to QBO and uploading it through this exact process, see our step-by-step import guide.

What makes a QBO file reliable vs unreliable

what is a qbo file quickbooks import format

The difference between a QBO file that imports cleanly and one that creates reconciliation headaches comes down to four technical details most converters do not advertise.

Deterministic FITIDs. Every transaction needs a unique identifier that QuickBooks uses for duplicate detection. A converter that generates random FITIDs on every export will create duplicate imports if you re-convert a corrected statement. A converter that derives FITIDs from the transaction data — date, amount, and a hash of the description — produces the same FITID every time, so re-imports skip cleanly.

Correct date format conversion. A US-format statement (MM/DD/YYYY) and a European-format statement (DD/MM/YYYY) both produce valid QBO files, but a converter that misreads the source format will silently shift January transactions to December. Reliable converters detect the source format and normalize to ISO 8601 (YYYY-MM-DD) before output.

Balance verification. The opening balance plus all credits minus all debits must equal the closing balance. A reliable converter runs this check internally and flags any discrepancy before producing the QBO file. An unreliable converter produces a file where the math is off by a few cents — and you find out at reconciliation, three weeks later.

Page-join logic. Most monthly statements run 2–5 pages, and quarterly statements can run 8–12. A converter that processes each page independently will lose the running balance chain across page boundaries and produce garbled totals. Reliable converters track the running balance across pages and flag any break in the chain.

When a QBO file will not work

QBO is the right format for QuickBooks, but it is not the right format for every accounting platform. Three cases where you need a different file.

You are on Xero. Xero does not import QBO files. Your path is CSV (with column mapping) or OFX if your bank provides direct OFX downloads through the Xero bank feed.

You are on Sage. Sage 50 and Sage Intacct accept OFX in some configurations but not QBO directly. CSV with column mapping is the most reliable path.

You need a one-off, edited import. If you want to filter out personal transactions, re-categorize, or merge entries before the data lands in QuickBooks, CSV is the better format. Export to CSV, edit in a spreadsheet, then import as CSV with column mapping.

For a full breakdown of which converter outputs which format — and how each format behaves with QuickBooks, Xero, and Sage — see our PDF to QBO converter comparison. For the broader landscape of conversion traps, FITID stability, and reconciliation checks, the complete guide to bank statement conversion is the deep-dive. For our hands-on test of EasyStatementSheet specifically — what works, what the limits are — see our EasyStatementSheet review. For an alternative to manual imports when your bank offers a feed, see our bank feeds vs manual QBO comparison. For the full reconciliation workflow that closes the books every month, see our QuickBooks reconciliation guide.

Last updated: September 2026

Share your love
Ngulas Editorial
Ngulas Editorial

Samandya builds Ngulas because they run a small one-person operation and are done paying for bloated enterprise software. Focus: simple, low-cost SaaS and tools that genuinely work for solo freelancers, consultants, and one-person businesses.