Skip to content
6 min readUpdated

What is an OFX file? The bank download format explained

An OFX file (.ofx, Open Financial Exchange) is a structured text file of bank or credit card transactions that banks offer as a download. Besides each transaction’s date, amount and description it carries the account, the currency, the statement balance and a unique ID per transaction — which is why Quicken, Xero, MYOB, Sage and most budgeting apps import it without asking you to map columns.

Key TakeawayOFX is the safest import format when you are not sure what the next program wants: it is widely read, it says which currency it is in, and its transaction IDs stop duplicates.

OFX file example

Most bank downloads use OFX 1.x, an SGML format with a plain-text header and many tags left unclosed. This file holds two transactions on a checking account in pounds:

OFXHEADER:100
DATA:OFXSGML
VERSION:102
SECURITY:NONE
ENCODING:USASCII
CHARSET:1252
COMPRESSION:NONE
OLDFILEUID:NONE
NEWFILEUID:NONE

<OFX>
<SIGNONMSGSRSV1><SONRS>
<STATUS><CODE>0<SEVERITY>INFO</STATUS>
<DTSERVER>20260331120000
<LANGUAGE>ENG
</SONRS></SIGNONMSGSRSV1>
<BANKMSGSRSV1><STMTTRNRS>
<TRNUID>1
<STATUS><CODE>0<SEVERITY>INFO</STATUS>
<STMTRS>
<CURDEF>GBP
<BANKACCTFROM><BANKID>999999<ACCTID>12345678<ACCTTYPE>CHECKING</BANKACCTFROM>
<BANKTRANLIST>
<DTSTART>20260301<DTEND>20260331
<STMTTRN>
<TRNTYPE>DEBIT
<DTPOSTED>20260302
<TRNAMT>-120.00
<FITID>20260302-12000-DirectDebit
<NAME>Acme Insurance
<MEMO>Direct Debit 4471
</STMTTRN>
<STMTTRN>
<TRNTYPE>CREDIT
<DTPOSTED>20260306
<TRNAMT>500.00
<FITID>20260306-50000-Transfer
<NAME>J Smith
<MEMO>Transfer received
</STMTTRN>
</BANKTRANLIST>
<LEDGERBAL><BALAMT>2341.60<DTASOF>20260331</LEDGERBAL>
</STMTRS></STMTTRNRS></BANKMSGSRSV1>
</OFX>
OFX 1.02 (SGML). The bank and account numbers are placeholders.

OFX 2.x is the same content as well-formed XML, with an XML declaration and every tag closed:

<?xml version="1.0" encoding="UTF-8"?>
<?OFX OFXHEADER="200" VERSION="220" SECURITY="NONE" OLDFILEUID="NONE" NEWFILEUID="NONE"?>
<OFX>
  ...
  <STMTTRN>
    <TRNTYPE>DEBIT</TRNTYPE>
    <DTPOSTED>20260302</DTPOSTED>
    <TRNAMT>-120.00</TRNAMT>
    <FITID>20260302-12000-DirectDebit</FITID>
    <NAME>Acme Insurance</NAME>
  </STMTTRN>
  ...
</OFX>
The same transaction in OFX 2.2 (XML). Importers that read one version usually read both.

What is inside an OFX file

TagWhat it holds
OFXHEADER, VERSIONThe header: which OFX version and character set the file uses.
<SONRS>The sign-on response: status, server time, language, and sometimes the bank’s <FI> details.
<CURDEF>The account currency (USD, GBP, EUR…), so amounts are not assumed to be dollars.
<BANKACCTFROM>Bank ID, account number and type (CHECKING, SAVINGS). Credit cards use <CCACCTFROM> inside <CCSTMTRS>.
<BANKTRANLIST>The statement period (<DTSTART>, <DTEND>) and the transactions.
<STMTTRN>One transaction: <TRNTYPE>, <DTPOSTED>, <TRNAMT>, <FITID>, <NAME>, <MEMO>, optionally <CHECKNUM>.
<TRNAMT>The amount, signed from the account holder’s side: money out negative, money in positive.
<FITID>A unique ID per transaction, so an app skips lines it already imported.
<LEDGERBAL>, <AVAILBAL>The booked and available balance on a given date.

Which programs open OFX files

  • Accounting: Xero and MYOB through their statement import, Sage, Reckon, and QuickBooks Online’s Upload from file.
  • Personal finance: Quicken, Banktivity, Moneydance, GnuCash, KMyMoney.
  • Budgeting apps: YNAB and Actual Budget import OFX and QFX files.
  • Spreadsheets: not directly — convert to CSV or Excel first.

Making and converting OFX files

Banks often offer OFX only for recent months, and some not at all, but the PDF statement is always there. Thebank statement to OFX converter reads that PDF, or a scan, and writes one<STMTTRN> per transaction with the statement’s currency. Going the other way,OFX/QFX to CSV turns a download into a spreadsheet, andQFX to QBO makes it a QuickBooks file. Each structured file counts as one page; the first 3 pages of your first upload are free.

Frequently asked questions

What is an OFX file?

An OFX file (Open Financial Exchange, .ofx) is a structured text file of bank or credit card transactions, with the account, currency and balance alongside them. Banks offer it as a download, and Quicken, Xero, MYOB, Sage, GnuCash, Moneydance and most budgeting apps import it.

What does OFX stand for?

Open Financial Exchange — a specification published in 1997 by Microsoft, Intuit and CheckFree so banks and finance software could exchange data in one format.

How do I open an OFX file?

Import it into your finance or accounting app, or open it in a text editor to read the tags. To see it as a table, convert it to CSV or Excel — that page reads .ofx as well as .qfx.

Can Excel open an OFX file?

Not as a table. Excel shows the raw tags, or tries to read the XML version as data with mixed results. Convert the OFX to CSV or Excel to get one row per transaction.

What is the difference between OFX, QFX and QBO?

They are the same format with different labels. QFX adds Intuit’s bank ID for Quicken and QBO adds it for QuickBooks; the transaction records are identical. See what is a QFX file and what is a QBO file.

How do I make an OFX file from a PDF bank statement?

Upload the PDF to the bank statement to OFX converter and download the .ofx. Scans work too, and the first 3 pages of your first upload are free.