OFXCSV / Practical guide
Export QBO to CSV: distinguish a bank file from an Online report
Choose the right source when QBO means either Web Connect data or QuickBooks Online, then verify the exported rows.
Identify what you are exporting
To export QBO to CSV, establish whether you have a .qbo bank file or want a report from QuickBooks Online. A Web Connect file contains statement data; it is not an Online company export. If you need categories, posted accounting entries or a report from QuickBooks Online, open that report and select Export (Export/Print in the newer report view), then Export to Excel, or use Settings, Export data to download reports and lists as Excel files in one .zip file. Intuit's help describes Excel output for these exports, so save the workbook as CSV in Excel if the destination needs CSV. If you already have a bank .qbo file and want its transaction rows, an OFX-family parser can flatten those records without opening an accounting company file.
Choose a source with the needed fields
Look for a native bank CSV or spreadsheet report first. That can avoid conversion charges and may already include the fields required for your analysis. A statement file generally describes banking activity rather than your later bookkeeping decisions. It cannot supply categories or tax codes that were never recorded in it. Likewise, changing a QuickBooks company-file extension to .qbo does not make it a statement. Keep the original export, note the account and date range, and decide whether the source contains the information you actually need before selecting a converter.
Build an explicit export specification
List the output fields: calendar date, amount, transaction type, account ID, currency, name, memo and transaction ID are useful starting points. Keep Name and Memo separate until you know how the destination uses them. Preserve statement numbers when multiple blocks refer to the same account. Decide whether a transaction-only CSV is sufficient or whether you also need balance snapshots and zero-activity accounts in a workbook. A flat CSV cannot represent an empty account as an ordinary transaction without inventing a row, so account completeness needs separate handling.
Protect values during spreadsheet import
Use Excel's data import controls rather than opening the CSV by double-clicking. Set account IDs, FITIDs and check numbers to Text. Keep raw timestamps alongside normalized dates if time and timezone information matter to your review. Inspect signed amounts and do not reinterpret them solely from a transaction-type label. Balance snapshots are context; adding a repeated balance column across transaction rows multiplies the snapshot and produces a meaningless total. Keep each currency in a separate group because conversion to a spreadsheet does not convert the underlying currency.
Confirm completeness before analysis
Compare source and output transaction counts by account and statement. Review skipped records and any correction metadata. A delete or replace instruction is not an ordinary additional payment and needs explicit interpretation before summing activity. Check the first and last dates, a known debit and a known credit. A source file with only part of a period remains partial after conversion. Retain the source and checked result together, and distinguish a bank-data export from a report of posted ledger activity when handing the file to someone else.
Choose a report scope before an Online export
When the source is QuickBooks Online, decide which report answers the question and which period and filters it should use. Exporting a bank statement file is a different operation from exporting a report of posted transactions. Keep the report name and selected filters with the downloaded workbook so a colleague can reproduce the scope. If you then save a worksheet as CSV, inspect whether titles, totals and blank separator rows remain above the actual table. Retain the original Excel export as a reference while preparing a clean destination-specific CSV; the cleanup should not silently change what the report measured.
Keep an export manifest for bank files
When the source is instead a bank .qbo file, list each statement block and its account, currency, date coverage and transaction count. Compare that inventory with the flattened output before building analysis. An account with no activity belongs in an account list, not in a made-up zero-value transaction. A second statement for the same account may overlap the first, so preserve statement identity until overlap has been reviewed. This manifest explains why an account count can differ from a transaction count and helps distinguish an absent account from one that is present but has no rows.
Where OFXCSV fits
OFXCSV reads the bank/card OFX SGML or XML inside a .qbo file and retains account IDs, statement numbers, currencies, transaction types, FITIDs, check numbers, Name, Memo and original timestamps beside calendar-date text. CSV holds transactions; XLSX adds Accounts and Validation sheets. It does not export a QuickBooks Online company or apply correction instructions. One input file may contain up to 100 accounts, 15 MiB and 3,000 transactions. The account trial downloads the first ten transactions without a card; longer files need a fresh paid upload for complete output. Sources and results expire within 24 hours.
Try a real free conversion See one-time packs
Written by Zijian Xiao. Examples are synthetic. Review all extracted results against your original source file.