Format guide
OFX file for bank statements: layout and how to import it
Short answer
OFX is an open format for bank statements. Tableaf writes OFX 1.02, the plain-text version, with one statement per file: a bank statement for bank accounts and a card statement for credit cards. Xero, Quicken, GnuCash, Sage and Moneydance import it, usually through an option called import statement or import OFX.
Updated
What the format is
OFX stands for Open Financial Exchange. Banks and accounting software use it to pass transactions around. Version 1.02 is plain text in an older tag style, and it is the version nearly every importer reads. Version 2 is XML. We write 1.02.
Which software takes it
| Software | Where to import |
|---|---|
| Xero | Accounting, Bank accounts, the account’s menu, Import a Statement. Xero recommends OFX over its other file types |
| Quicken | Quicken for Mac: File, Import, Bank or Brokerage File (OFX, QFX). For Windows, see the QFX guide |
| GnuCash | File, Import, Import OFX/QFX |
| Sage, Moneydance and others | Look for import bank statement, OFX or Money file |
How our file is laid out
An OFX file is the same as our QBO file without the lines that name an Intuit bank: there is no FI block and no INTU.BID. The rest is identical.
| Part | What we write |
|---|---|
| Statement type | A bank statement for bank accounts, a card statement for credit cards |
| Account | Account type is checking, savings or money market. BANKID is 000000000, and ACCTID is the number you enter or 0001 |
| Currency | The statement’s currency, or USD if it isn’t known |
| Dates | YYYYMMDD with a fixed time of 12:00:00 |
| TRNAMT | Money out and card charges are negative |
| FITID | Stays the same each time you export the same statement, so software that checks the ID can skip repeats |
| NAME and MEMO | NAME is plain ASCII, cut to 32 characters, with the full text in MEMO when longer |
| Closing balance | In LEDGERBAL, from the account holder’s side. A card’s amount owed is negative |
How to import it
Xero
- 01In the Accounting menu, choose Bank accounts.
- 02Open the account’s menu and choose Import a Statement.
- 03Drag the .ofx file in, or select it, then choose Next.
- 04Review the lines, clear the box on any you don’t want, and choose Complete import.
More in the Xero import guide.
GnuCash and others
- 01In GnuCash choose File, Import, Import OFX/QFX. In other programs, look for importing a bank statement, OFX or Money file.
- 02Pick the .ofx file and the account it belongs to.
- 03Review and accept the transactions.
Common errors and fixes
Amounts come in the wrong way round
The file is from the account holder’s side: money out is negative. If a credit card statement is imported into a bank account, charges will look like withdrawals and the totals won’t make sense. Import card files into a credit card account.
The software says it can’t read the file
Don’t open and re-save the file first. Export a fresh copy. If the program wants a particular extension, .ofx is the right one for most; Quicken wants .qfx and QuickBooks wants .qbo.
Duplicate transactions
Most programs use the FITID to skip transactions they already have. Xero says it recognises duplicates already imported in other files. Statements that overlap are therefore safe in the usual case.
Names are cut off
OFX 1.02 allows 32 characters in NAME. The full text is in MEMO, and some programs show only one of the two.
Converter
PDF to OFX / QFX
Converts a text PDF to OFX or QFX in your browser, checked against the statement’s own balances.
Text PDFs are read in your browser and never uploaded. Scanned PDFs are not supported yet; OCR is coming soon.
Questions
OFX, QFX or QBO?
Why OFX 1.02 and not version 2?
Do I need an account number?
How do I know the transactions are right?
Is my statement uploaded anywhere?
Does this work on scanned statements?
What does it cost?
Sources
Pages used for this guide. Software changes menus often, so if a label differs on your screen, the vendor’s page is the one to follow.
More guides
General information, not accounting or tax advice.