Eight formats. Which one do you need?

Every conversion gives you all eight. Pick as many as you want; it costs no extra pages. Here is what each one is for and how to get it into your software.

Last updated September 9, 2026

  • XLSXExcel workbook
  • CSVPlain text
  • CSVFor an import
  • QBOQuickBooks
  • OFXXero and others
  • QFXQuicken
  • QIFOlder desktop
  • JSONYour own system

One conversion, every format. Downloading a second format costs no extra pages, so there is no need to decide before you convert.

What each file actually contains

Two transactions from a statement, written out by each of the four exports people ask about most. This is the shape of the file you get, not a description of it.

Pick a format
Sheet "Transactions"

Date        Description   Debit  Credit    Balance   Amount
2026-03-03  Card payment  42.60            1,866.31  -42.60
2026-03-05  Deposit              2,140.00  4,006.31  2,140.00

Column A holds real Excel dates on the yyyy-mm-dd format, and columns C to F are real numbers on a two-decimal format. Nothing is text pretending to be a number, so sorting, subtotals and a SUMIF work the moment the file opens.

Date,Description,Debit,Credit,Balance,Amount
2026-03-03,Card payment,42.60,,1866.31,-42.60
2026-03-05,Deposit,,2140.00,4006.31,2140.00
2026-03-12,"Supplier, March",960.00,,2927.56,-960.00

Dates are ISO, so no spreadsheet reinterprets a UK date as a US one. A description containing a comma is quoted, and a cell that starts with an equals sign is prefixed so no spreadsheet treats it as a formula. Debit and credit are separate columns and Amount is the signed total, which is the single column Xero and Wave ask for.

OFXHEADER:100
DATA:OFXSGML
VERSION:102
ENCODING:USASCII

<INTU.BID>3000
<CURDEF>USD
<STMTTRN>
<TRNTYPE>DEBIT
<DTPOSTED>20260303120000
<TRNAMT>-42.60
<FITID>DEFF076FDD3FEEE4E36F84BD
<NAME>Card payment
</STMTTRN>

QBO is OFX 1.02 with QuickBooks' own header on it. INTU.BID is the bank identifier, and ours is the generic one that manual Web Connect imports accept. FITID is derived from the row itself, so importing the same statement twice cannot create a second copy of a transaction.

OFXHEADER:100
DATA:OFXSGML
VERSION:102
ENCODING:USASCII

<CURDEF>USD
<STMTTRN>
<TRNTYPE>CREDIT
<DTPOSTED>20260305120000
<TRNAMT>2140.00
<FITID>FEEE650FBC22434309EC69AC
<NAME>Deposit
</STMTTRN>
<LEDGERBAL>
<BALAMT>4006.31

The same file without the QuickBooks header, which is what Xero and Sage want. The header declares USASCII, and readers take that at their word, so accented text is folded before it is written: a euro sign becomes EUR and Muller stays Muller rather than arriving as two broken characters. LEDGERBAL carries the closing balance the statement printed.

Start with your software

If you useDownload thisWhy
Excel, Numbers, LibreOfficeXLSXFormatted columns, dates as dates, amounts as numbers, flagged rows highlighted
Google SheetsCSVImports cleanly; XLSX also opens via File → Import
QuickBooks OnlineQBOIntuit's own import format; transactions land in the bank review queue
QuickBooks DesktopQBO or CSVQBO via Web Connect; CSV as a fallback
XeroOFXXero recommends OFX over CSV for manual imports; QIF also accepted
QuickenQFXQuicken's variant of OFX
Sage 50 and older desktop toolsQIF or CSVQIF is the oldest, most widely accepted interchange format
Wave, FreshBooks, Zoho BooksCSVThese take mapped CSV imports
Your own script or databaseJSONFull structure, including the reconciliation result per row

Format compatibility only. We are not affiliated with any of these companies.

QBO vs OFX vs QFX vs QIF

Four names, one family. OFX is the open standard; QBO and QFX are Intuit's branded variants of it; QIF is the older text format that came before all three.

FormatWhat it isWho wants itWatch out for
OFXOpen Financial Exchange. An XML-like standard for bank data.Xero, Sage, many othersNothing special. The safest choice outside the Intuit family.
QBOOFX with QuickBooks-specific headers ("Web Connect").QuickBooks Online and DesktopCarries a bank identifier. Some setups are strict about it; see limits below.
QFXOFX with Quicken-specific headers.QuickenSame idea as QBO, different product.
QIFQuicken Interchange Format. Plain text, one field per line, from the 1990s.Older desktop software, some Xero and Sage workflowsNo account matching, and dates can be ambiguous in other tools. We write them unambiguously.

Rule of thumb: QuickBooks → QBO. Quicken → QFX. Anything else that imports bank files → OFX first, QIF if OFX is refused. Read the longer explanation if you want the history.

The formats, one by one

XLSX Excel workbook

Columns for date, description, debit, credit, balance and a check column naming the result for every row. Dates are real dates and amounts are real numbers, so sorting and formulas work immediately. A second sheet carries the statement's own details: bank, period, currency, opening and closing balance, the totals, how many rows were flagged, and one line saying whether the balances held. The right pick if a person is going to look at the data, or file it.

CSV Plain text

The universal fallback: every accounting tool takes CSV somewhere, usually with a column-mapping step. Dates are written ISO-style (YYYY-MM-DD) so no spreadsheet reinterprets them as US or UK order.

CSV For an import

Three columns and nothing else: date, description, and one amount column with money out as a negative number. That is the shape Xero names as its mandatory fields and the shape Intuit documents for a CSV upload, so there is no column to map away and none to delete. Use the seven-column CSV above when a person is going to read it, and this one when software is.

QBO QuickBooks Web Connect

Imported through Bank transactions in QuickBooks Online or Desktop. Transactions land in the review queue for the account you choose, as if the bank feed had delivered them.

OFX Open Financial Exchange

The standard for bank data interchange and the format Xero recommends for manual statement imports. Accepted by many other packages.

QFX Quicken Exchange

OFX with Quicken's identifiers attached. Use it for Quicken specifically.

QIF Quicken Interchange Format

The oldest of the group and still broadly accepted by older desktop software. Xero also accepts QIF if OFX isn't an option for you.

JSON Structured data

Every field we extracted, plus per-row reconciliation status, opening and closing balances, detected currency and page numbers. This is what you want if you are feeding another system.

Importing into QuickBooks Online

  1. Open Transactions → Bank transactions.
  2. Select the account you are importing into. If it is not connected to a feed, use Link account → Upload from file.
  3. Choose Drag and drop or select files and pick the .qbo file you downloaded.
  4. Pick the QuickBooks account in the Account name dropdown, then Continue.
  5. If you are importing CSV instead, map the columns to QuickBooks' fields when prompted, then Continue.
  6. Select the transactions to import, Continue, then confirm. They appear in the review queue.

Two limits worth knowing: QuickBooks expects the upload file to be in English, and CSV uploads have a small file-size ceiling, so a very long statement may need splitting, or use QBO instead. Menu names move between QuickBooks layouts; the steps above are the generic path. Last verified against Intuit's documentation: September 9, 2026.

The step by step, including what QuickBooks does with a date it does not recognize, is in importing a bank statement into QuickBooks Online.

Importing into QuickBooks Desktop

  1. Open File → Utilities → Import → Web Connect Files.
  2. Pick the .qbo file.
  3. Choose the bank account to import into (or create one), then review the transactions in the Bank Feeds Center.

If Desktop refuses the file because of the bank identifier, see the limits section below. Last verified against Intuit's documentation: September 9, 2026.

Importing into Xero

  1. From the Accounting menu, choose Bank accounts.
  2. When Xero does not have the account, add it there and enter its details by hand. Choose Bank as the account type, or Other when the list does not offer Bank. Credit card is for card statements, and choosing it for a bank statement reverses every sign.
  3. Find the account, open its menu and select Import a Statement.
  4. Upload the .ofx file. Xero recommends OFX over CSV where possible; QIF also works.
  5. If you use CSV, Xero wants income and expenses in a single amount column with expenses negative; our CSV export is already shaped that way. Map the columns when prompted.

Last verified by importing one of our files into Xero: September 11, 2026.

Xero's own PDF import covers a short list of countries. What the UK and Australia do instead covers the rest.

Quicken, Sage and Wave

Quicken

File → File Import → Web Connect (.QFX) File, then choose the account. Older versions also accept QIF through the same menu.

Sage 50

Use the bank feeds or statement import in the banking area and pick the .qif or .csv file. Sage's column mapping for CSV asks for date, reference, amount; our CSV supplies all three.

Wave

Accounting → Transactions → Import, then upload the .csv and map the date, description and amount columns.

These are the generic paths as of September 9, 2026. Menu names vary by version and region; if yours differs, the vendor's help page will have the current route.

How the export behaves

  • Bank identifiers in QBO. QuickBooks files carry a bank ID (INTU.BID). We write a generic one, which is what manual Web Connect imports accept. Some QuickBooks setups are configured to require a specific issuer instead: send us the bank name and we will add its identifier.
  • Dates. Written in an unambiguous order in every format, so a DD/MM statement never turns into an MM/DD spreadsheet.
  • Currency. The currency printed on the statement is detected and written into the export. One statement is treated as one currency, so a statement that mixes currencies in a single column comes back with those rows flagged rather than quietly summed across. Both number conventions, 1,234.56 and 1.234,56, are detected per statement rather than assumed.
  • Descriptions. Exported exactly as printed, with no cleanup and no categorization. Merchant names are not guessed at and accounts are not assigned for you.
  • Flagged rows. The reconciliation status travels with the data: a marked column in XLSX and CSV, and a per-row field in JSON, so a row that broke the chain is still identifiable after import.

Questions

Can I download more than one format?

Yes, all eight from a single conversion, at no extra cost in pages. Convert once, take XLSX for yourself and QBO for QuickBooks.

Which should I use if I'm not sure?

XLSX if you want to look at it, CSV if something else will read it. Both are easy to inspect before importing, which is the safest habit with any converted statement.

Does the export include the flagged rows?

Yes, and they are marked. XLSX highlights them and adds a reconciliation column; CSV and JSON carry a status field. Nothing is dropped, and nothing is silently corrected.

Can I get an API?

No. JSON export is the programmatic option today. Email support@statementtable.com with the volume you have in mind; an API is on the roadmap.

Convert one and see

Three pages a day are free, and you don't need an account to run your own statement through it.