QBO, OFX or CSV - which bank file format should you use?
Use QBO for QuickBooks Online, OFX for Xero and most other accounting software, and CSV or Excel when you want to look at, sort or edit the transactions yourself. QBO and OFX carry fixed fields and transaction IDs, so they import without column mapping. CSV is flexible but needs mapping and has no duplicate protection.
Last updated: November 2, 2026
Banks and converters offer a short list of file types for transactions: QBO, OFX, QFX, CSV and sometimes Excel. They hold the same transactions but suit different software. The right one depends on where the file is going next.
The short version
| Where the file goes | Best format | Why |
|---|---|---|
| QuickBooks Online | QBO, or a three-column CSV | QBO needs no mapping; CSV lets you see each column first |
| Xero | OFX, or Xero CSV | OFX imports without changes; CSV needs a one-time mapping |
| Quicken | QFX | Quicken's own variant |
| Excel, Google Sheets, your own analysis | XLSX or CSV | You can sort, filter and add formulas |
| An accountant who uses something else | CSV plus the PDF | Every program reads CSV |
OFX: the common format
OFX (Open Financial Exchange) is a standard for bank data that dates from the late 1990s. A file lists the account, the statement period, the closing balance, and each transaction in a fixed set of fields: date posted, amount, a short description and a transaction ID called FITID.
The fixed fields are the advantage. The software does not have to guess which column is the date or whether amounts use a comma or a point. The FITID lets it skip a transaction it has already imported, so importing an overlapping period does not double your entries.
Xero imports OFX files from its Import a Statement screen; its help article on importing an OFX bank statement says a bank’s OFX file needs no changes. Many other accounting tools accept OFX too.
QBO: OFX for QuickBooks
A QBO file is OFX 1.x with an Intuit header. The extra INTU.BID field is a bank identifier from Intuit’s list of Web Connect banks. QuickBooks uses it to decide whether it accepts the file, which is why a QBO with an unknown identifier can fail with “unable to verify the financial institution”.
QuickBooks Online also takes QBO through Upload from file, with Intuit’s limits of 350 KB and 1,000 lines per upload. The QuickBooks Online guide walks through the import.
CSV: flexible, but you do the mapping
CSV is a plain table: one row per transaction, columns separated by commas. Every spreadsheet and accounting program reads it, which is its strength. But there is no standard layout. One bank writes Date, Description, Amount; another writes Posting Date, Details, Debit, Credit, Balance; a third puts the currency in the amount column. So the first time you import a CSV, the software asks you to map the columns, and it is easy to get one wrong.
Three common problems:
- Date order. DD/MM against MM/DD. Check the first row with a day above 12.
- Signs. Some software expects money out as a negative number, others expect separate debit and credit columns.
- No duplicate protection. A CSV has no transaction ID. Import the same week twice and you get every line twice.
CSV is still the right choice when you want to check each column before posting, or when the target is not accounting software. Some accountants prefer it for that reason.
Excel (XLSX)
Excel files are for people, not import screens. Dates are real dates and amounts are real numbers, so you can sum, filter and pivot at once. Most accounting software does not import XLSX as a bank statement, so export CSV or OFX for that step.
What converting from PDF changes
If your bank gives you only PDF statements, a converter has to produce one of these files. Rowkeel can export the same statement as Excel, CSV, QBO, OFX, a Xero CSV or a QuickBooks Online CSV. Before any export, the rows are checked against the opening and closing balances printed on the statement, so a missing row shows up before it reaches your books. Conversion runs in your browser and the PDF is not uploaded.
For QBO and OFX it also gives every transaction a stable ID: converting the same statement twice produces the same IDs, so a repeated import is recognised as a duplicate. A CSV cannot carry that protection, whichever tool made it.
A rule of thumb
If the file goes into accounting software that accepts OFX or QBO, use that and let the transaction IDs handle duplicates. If a person is going to read or edit the file, use Excel. Use CSV when nothing else is accepted, or when you want to see every column before it is posted, and check the date format on the first import.