CSV Tools

Sample OFX File

Downloadable OFX 1.02 samples — a bank statement and a credit-card statement carrying the same 20 signed transactions, with a parsed CSV preview and a field-by-field schema.

Personal Finance OFX Text format

sample-bank-statement.ofx · sample-credit-card.ofx

Data Preview

20 rows × 7 columns
1DateAmountTypeNameMemoFITIDCheck Number
22025-01-023850.00CREDITDirect Deposit - Payroll3hdsutd88xk00
32025-01-03-87.32DEBITWhole Foods Market35lhct0j8so00
42025-01-04-52.18DEBITShell Gas Station2qrifxycz0800
52025-01-05-15.99DEBITNetflix Subscription6im3579l53k0
62025-01-06-500.00DEBITTransfer to Savings3yl23e86soq0
72025-01-07-6.45DEBITStarbucks2d16p6y5hqjo0
82025-01-08-128.50DEBITElectric CompanyMonthly electric bill1uwatnrqmon40
92025-01-09-1750.00CHECKOakwood Property ManagementJanuary rent2ac07t1v4rfo01042
102025-01-10-43.97DEBITAmazon.com2xgfwvwng3g00
112025-01-11-62.84DEBITTrader Joe's38wxrfihmj000
122025-01-12-18.50DEBITUber Ride22y5k01wi6o00
132025-01-13-85.00DEBITAT&T WirelessMonthly phone bill2ah5mpq5ylno0
142025-01-14-12.95DEBITChipotle24h72olz66g00
152025-01-15750.00CREDITFreelance PaymentInvoice #2042wflkpu5td800
162025-01-163850.00CREDITDirect Deposit - Payroll1suk9ao9m1b40
172025-01-17-94.17DEBITWhole Foods Market3k7tlcq5tq200
182025-01-18-29.99DEBITPlanet Fitness8az5h4gxvlo0
192025-01-19-156.33DEBITHome Depotk4tjrrvrsm80
202025-01-20-220.00DEBITInsurance Premium3bd27doe0ya00
212025-01-3035.00CREDITVenmo RefundRefund from friend2xp0mv4pm6w00

Raw File Contents

Download Bank Statement (.ofx)

sample-bank-statement.ofx
OFXHEADER:100
DATA:OFXSGML
VERSION:102
SECURITY:NONE
ENCODING:USASCII
CHARSET:1252
COMPRESSION:NONE
OLDFILEUID:NONE
NEWFILEUID:NONE

<OFX>
<SIGNONMSGSRSV1>
<SONRS>
<STATUS><CODE>0</CODE><SEVERITY>INFO</SEVERITY></STATUS>
<DTSERVER>20260725140250[0:GMT]</DTSERVER>
<LANGUAGE>ENG</LANGUAGE>
<FI>
<ORG>Example Bank</ORG>
<FID>3000</FID>
</FI>
</SONRS>
</SIGNONMSGSRSV1>
<BANKMSGSRSV1>
<STMTTRNRS>
<TRNUID>0</TRNUID>
<STATUS><CODE>0</CODE><SEVERITY>INFO</SEVERITY></STATUS>
<STMTRS>
<CURDEF>USD</CURDEF>
<BANKACCTFROM>
<BANKID>021000021</BANKID>
<ACCTID>******7890</ACCTID>
<ACCTTYPE>CHECKING</ACCTTYPE>
</BANKACCTFROM>
<BANKTRANLIST>
<DTSTART>20250102000000[0:GMT]</DTSTART>
<DTEND>20250130000000[0:GMT]</DTEND>
<STMTTRN>
<TRNTYPE>CREDIT</TRNTYPE>
<DTPOSTED>20250102000000[0:GMT]</DTPOSTED>
<TRNAMT>3850.00</TRNAMT>
<FITID>3hdsutd88xk00</FITID>
<NAME>Direct Deposit - Payroll</NAME>
</STMTTRN>
<STMTTRN>
<TRNTYPE>DEBIT</TRNTYPE>
<DTPOSTED>20250103000000[0:GMT]</DTPOSTED>
<TRNAMT>-87.32</TRNAMT>
<FITID>35lhct0j8so00</FITID>
<NAME>Whole Foods Market</NAME>
</STMTTRN>
<STMTTRN>
<TRNTYPE>DEBIT</TRNTYPE>
<DTPOSTED>20250104000000[0:GMT]</DTPOSTED>
<TRNAMT>-52.18</TRNAMT>
<FITID>2qrifxycz0800</FITID>
<NAME>Shell Gas Station</NAME>
</STMTTRN>
<STMTTRN>
<TRNTYPE>DEBIT</TRNTYPE>
<DTPOSTED>20250105000000[0:GMT]</DTPOSTED>
<TRNAMT>-15.99</TRNAMT>
<FITID>6im3579l53k0</FITID>
<NAME>Netflix Subscription</NAME>
</STMTTRN>
<STMTTRN>
<TRNTYPE>DEBIT</TRNTYPE>
<DTPOSTED>20250106000000[0:GMT]</DTPOSTED>
<TRNAMT>-500.00</TRNAMT>
<FITID>3yl23e86soq0</FITID>
<NAME>Transfer to Savings</NAME>
</STMTTRN>
<STMTTRN>
<TRNTYPE>DEBIT</TRNTYPE>
<DTPOSTED>20250107000000[0:GMT]</DTPOSTED>
<TRNAMT>-6.45</TRNAMT>
<FITID>2d16p6y5hqjo0</FITID>
<NAME>Starbucks</NAME>
</STMTTRN>
<STMTTRN>
<TRNTYPE>DEBIT</TRNTYPE>
<DTPOSTED>20250108000000[0:GMT]</DTPOSTED>
<TRNAMT>-128.50</TRNAMT>
<FITID>1uwatnrqmon40</FITID>
<NAME>Electric Company</NAME>
<MEMO>Monthly electric bill</MEMO>
</STMTTRN>
<STMTTRN>
<TRNTYPE>CHECK</TRNTYPE>
<DTPOSTED>20250109000000[0:GMT]</DTPOSTED>
<TRNAMT>-1750.00</TRNAMT>
<FITID>2ac07t1v4rfo0</FITID>
<CHECKNUM>1042</CHECKNUM>
<NAME>Oakwood Property Management</NAME>
<MEMO>January rent</MEMO>
</STMTTRN>
<STMTTRN>
<TRNTYPE>DEBIT</TRNTYPE>
<DTPOSTED>20250110000000[0:GMT]</DTPOSTED>
<TRNAMT>-43.97</TRNAMT>
<FITID>2xgfwvwng3g00</FITID>
<NAME>Amazon.com</NAME>
</STMTTRN>
<STMTTRN>
<TRNTYPE>DEBIT</TRNTYPE>
<DTPOSTED>20250111000000[0:GMT]</DTPOSTED>
<TRNAMT>-62.84</TRNAMT>
<FITID>38wxrfihmj000</FITID>
<NAME>Trader Joe's</NAME>
</STMTTRN>
<STMTTRN>
<TRNTYPE>DEBIT</TRNTYPE>
<DTPOSTED>20250112000000[0:GMT]</DTPOSTED>
<TRNAMT>-18.50</TRNAMT>
<FITID>22y5k01wi6o00</FITID>
<NAME>Uber Ride</NAME>
</STMTTRN>
<STMTTRN>
<TRNTYPE>DEBIT</TRNTYPE>
<DTPOSTED>20250113000000[0:GMT]</DTPOSTED>
<TRNAMT>-85.00</TRNAMT>
<FITID>2ah5mpq5ylno0</FITID>
<NAME>AT&amp;T Wireless</NAME>
<MEMO>Monthly phone bill</MEMO>
</STMTTRN>
<STMTTRN>
<TRNTYPE>DEBIT</TRNTYPE>
<DTPOSTED>20250114000000[0:GMT]</DTPOSTED>
<TRNAMT>-12.95</TRNAMT>
<FITID>24h72olz66g00</FITID>
<NAME>Chipotle</NAME>
</STMTTRN>
<STMTTRN>
<TRNTYPE>CREDIT</TRNTYPE>
<DTPOSTED>20250115000000[0:GMT]</DTPOSTED>
<TRNAMT>750.00</TRNAMT>
<FITID>2wflkpu5td800</FITID>
<NAME>Freelance Payment</NAME>
<MEMO>Invoice #204</MEMO>
</STMTTRN>
<STMTTRN>
<TRNTYPE>CREDIT</TRNTYPE>
<DTPOSTED>20250116000000[0:GMT]</DTPOSTED>
<TRNAMT>3850.00</TRNAMT>
<FITID>1suk9ao9m1b40</FITID>
<NAME>Direct Deposit - Payroll</NAME>
</STMTTRN>
<STMTTRN>
<TRNTYPE>DEBIT</TRNTYPE>
<DTPOSTED>20250117000000[0:GMT]</DTPOSTED>
<TRNAMT>-94.17</TRNAMT>
<FITID>3k7tlcq5tq200</FITID>
<NAME>Whole Foods Market</NAME>
</STMTTRN>
<STMTTRN>
<TRNTYPE>DEBIT</TRNTYPE>
<DTPOSTED>20250118000000[0:GMT]</DTPOSTED>
<TRNAMT>-29.99</TRNAMT>
<FITID>8az5h4gxvlo0</FITID>
<NAME>Planet Fitness</NAME>
</STMTTRN>
<STMTTRN>
<TRNTYPE>DEBIT</TRNTYPE>
<DTPOSTED>20250119000000[0:GMT]</DTPOSTED>
<TRNAMT>-156.33</TRNAMT>
<FITID>k4tjrrvrsm80</FITID>
<NAME>Home Depot</NAME>
</STMTTRN>
<STMTTRN>
<TRNTYPE>DEBIT</TRNTYPE>
<DTPOSTED>20250120000000[0:GMT]</DTPOSTED>
<TRNAMT>-220.00</TRNAMT>
<FITID>3bd27doe0ya00</FITID>
<NAME>Insurance Premium</NAME>
</STMTTRN>
<STMTTRN>
<TRNTYPE>CREDIT</TRNTYPE>
<DTPOSTED>20250130000000[0:GMT]</DTPOSTED>
<TRNAMT>35.00</TRNAMT>
<FITID>2xp0mv4pm6w00</FITID>
<NAME>Venmo Refund</NAME>
<MEMO>Refund from friend</MEMO>
</STMTTRN>
</BANKTRANLIST>
<LEDGERBAL>
<BALAMT>9470.81</BALAMT>
<DTASOF>20250130000000[0:GMT]</DTASOF>
</LEDGERBAL>
</STMTRS>
</STMTTRNRS>
</BANKMSGSRSV1>
</OFX>

Download Credit Card (.ofx)

sample-credit-card.ofx
OFXHEADER:100
DATA:OFXSGML
VERSION:102
SECURITY:NONE
ENCODING:USASCII
CHARSET:1252
COMPRESSION:NONE
OLDFILEUID:NONE
NEWFILEUID:NONE

<OFX>
<SIGNONMSGSRSV1>
<SONRS>
<STATUS><CODE>0</CODE><SEVERITY>INFO</SEVERITY></STATUS>
<DTSERVER>20260725140250[0:GMT]</DTSERVER>
<LANGUAGE>ENG</LANGUAGE>
<FI>
<ORG>Example Card Services</ORG>
<FID>4321</FID>
</FI>
</SONRS>
</SIGNONMSGSRSV1>
<CREDITCARDMSGSRSV1>
<CCSTMTTRNRS>
<TRNUID>0</TRNUID>
<STATUS><CODE>0</CODE><SEVERITY>INFO</SEVERITY></STATUS>
<CCSTMTRS>
<CURDEF>USD</CURDEF>
<CCACCTFROM>
<ACCTID>******4444</ACCTID>
</CCACCTFROM>
<BANKTRANLIST>
<DTSTART>20250102000000[0:GMT]</DTSTART>
<DTEND>20250130000000[0:GMT]</DTEND>
<STMTTRN>
<TRNTYPE>CREDIT</TRNTYPE>
<DTPOSTED>20250102000000[0:GMT]</DTPOSTED>
<TRNAMT>3850.00</TRNAMT>
<FITID>3hdsutd88xk00</FITID>
<NAME>Direct Deposit - Payroll</NAME>
</STMTTRN>
<STMTTRN>
<TRNTYPE>DEBIT</TRNTYPE>
<DTPOSTED>20250103000000[0:GMT]</DTPOSTED>
<TRNAMT>-87.32</TRNAMT>
<FITID>35lhct0j8so00</FITID>
<NAME>Whole Foods Market</NAME>
</STMTTRN>
<STMTTRN>
<TRNTYPE>DEBIT</TRNTYPE>
<DTPOSTED>20250104000000[0:GMT]</DTPOSTED>
<TRNAMT>-52.18</TRNAMT>
<FITID>2qrifxycz0800</FITID>
<NAME>Shell Gas Station</NAME>
</STMTTRN>
<STMTTRN>
<TRNTYPE>DEBIT</TRNTYPE>
<DTPOSTED>20250105000000[0:GMT]</DTPOSTED>
<TRNAMT>-15.99</TRNAMT>
<FITID>6im3579l53k0</FITID>
<NAME>Netflix Subscription</NAME>
</STMTTRN>
<STMTTRN>
<TRNTYPE>DEBIT</TRNTYPE>
<DTPOSTED>20250106000000[0:GMT]</DTPOSTED>
<TRNAMT>-500.00</TRNAMT>
<FITID>3yl23e86soq0</FITID>
<NAME>Transfer to Savings</NAME>
</STMTTRN>
<STMTTRN>
<TRNTYPE>DEBIT</TRNTYPE>
<DTPOSTED>20250107000000[0:GMT]</DTPOSTED>
<TRNAMT>-6.45</TRNAMT>
<FITID>2d16p6y5hqjo0</FITID>
<NAME>Starbucks</NAME>
</STMTTRN>
<STMTTRN>
<TRNTYPE>DEBIT</TRNTYPE>
<DTPOSTED>20250108000000[0:GMT]</DTPOSTED>
<TRNAMT>-128.50</TRNAMT>
<FITID>1uwatnrqmon40</FITID>
<NAME>Electric Company</NAME>
<MEMO>Monthly electric bill</MEMO>
</STMTTRN>
<STMTTRN>
<TRNTYPE>CHECK</TRNTYPE>
<DTPOSTED>20250109000000[0:GMT]</DTPOSTED>
<TRNAMT>-1750.00</TRNAMT>
<FITID>2ac07t1v4rfo0</FITID>
<CHECKNUM>1042</CHECKNUM>
<NAME>Oakwood Property Management</NAME>
<MEMO>January rent</MEMO>
</STMTTRN>
<STMTTRN>
<TRNTYPE>DEBIT</TRNTYPE>
<DTPOSTED>20250110000000[0:GMT]</DTPOSTED>
<TRNAMT>-43.97</TRNAMT>
<FITID>2xgfwvwng3g00</FITID>
<NAME>Amazon.com</NAME>
</STMTTRN>
<STMTTRN>
<TRNTYPE>DEBIT</TRNTYPE>
<DTPOSTED>20250111000000[0:GMT]</DTPOSTED>
<TRNAMT>-62.84</TRNAMT>
<FITID>38wxrfihmj000</FITID>
<NAME>Trader Joe's</NAME>
</STMTTRN>
<STMTTRN>
<TRNTYPE>DEBIT</TRNTYPE>
<DTPOSTED>20250112000000[0:GMT]</DTPOSTED>
<TRNAMT>-18.50</TRNAMT>
<FITID>22y5k01wi6o00</FITID>
<NAME>Uber Ride</NAME>
</STMTTRN>
<STMTTRN>
<TRNTYPE>DEBIT</TRNTYPE>
<DTPOSTED>20250113000000[0:GMT]</DTPOSTED>
<TRNAMT>-85.00</TRNAMT>
<FITID>2ah5mpq5ylno0</FITID>
<NAME>AT&amp;T Wireless</NAME>
<MEMO>Monthly phone bill</MEMO>
</STMTTRN>
<STMTTRN>
<TRNTYPE>DEBIT</TRNTYPE>
<DTPOSTED>20250114000000[0:GMT]</DTPOSTED>
<TRNAMT>-12.95</TRNAMT>
<FITID>24h72olz66g00</FITID>
<NAME>Chipotle</NAME>
</STMTTRN>
<STMTTRN>
<TRNTYPE>CREDIT</TRNTYPE>
<DTPOSTED>20250115000000[0:GMT]</DTPOSTED>
<TRNAMT>750.00</TRNAMT>
<FITID>2wflkpu5td800</FITID>
<NAME>Freelance Payment</NAME>
<MEMO>Invoice #204</MEMO>
</STMTTRN>
<STMTTRN>
<TRNTYPE>CREDIT</TRNTYPE>
<DTPOSTED>20250116000000[0:GMT]</DTPOSTED>
<TRNAMT>3850.00</TRNAMT>
<FITID>1suk9ao9m1b40</FITID>
<NAME>Direct Deposit - Payroll</NAME>
</STMTTRN>
<STMTTRN>
<TRNTYPE>DEBIT</TRNTYPE>
<DTPOSTED>20250117000000[0:GMT]</DTPOSTED>
<TRNAMT>-94.17</TRNAMT>
<FITID>3k7tlcq5tq200</FITID>
<NAME>Whole Foods Market</NAME>
</STMTTRN>
<STMTTRN>
<TRNTYPE>DEBIT</TRNTYPE>
<DTPOSTED>20250118000000[0:GMT]</DTPOSTED>
<TRNAMT>-29.99</TRNAMT>
<FITID>8az5h4gxvlo0</FITID>
<NAME>Planet Fitness</NAME>
</STMTTRN>
<STMTTRN>
<TRNTYPE>DEBIT</TRNTYPE>
<DTPOSTED>20250119000000[0:GMT]</DTPOSTED>
<TRNAMT>-156.33</TRNAMT>
<FITID>k4tjrrvrsm80</FITID>
<NAME>Home Depot</NAME>
</STMTTRN>
<STMTTRN>
<TRNTYPE>DEBIT</TRNTYPE>
<DTPOSTED>20250120000000[0:GMT]</DTPOSTED>
<TRNAMT>-220.00</TRNAMT>
<FITID>3bd27doe0ya00</FITID>
<NAME>Insurance Premium</NAME>
</STMTTRN>
<STMTTRN>
<TRNTYPE>CREDIT</TRNTYPE>
<DTPOSTED>20250130000000[0:GMT]</DTPOSTED>
<TRNAMT>35.00</TRNAMT>
<FITID>2xp0mv4pm6w00</FITID>
<NAME>Venmo Refund</NAME>
<MEMO>Refund from friend</MEMO>
</STMTTRN>
</BANKTRANLIST>
<LEDGERBAL>
<BALAMT>-1264.19</BALAMT>
<DTASOF>20250130000000[0:GMT]</DTASOF>
</LEDGERBAL>
</CCSTMTRS>
</CCSTMTTRNRS>
</CREDITCARDMSGSRSV1>
</OFX>

Schema

Field Type Description
Date date Posting date parsed from DTPOSTED (YYYYMMDDHHMMSS with a GMT offset in the raw file)
Amount number Signed transaction amount from TRNAMT — positive for credits, negative for debits
Type string OFX transaction type from TRNTYPE (CREDIT, DEBIT, CHECK, etc.)
Name string Payee or merchant name from the NAME element
Memo string Optional free-text note from the MEMO element (blank on most rows)
FITID string Financial Institution Transaction ID — unique per account, used by importers to skip duplicates
Check Number string Check number from CHECKNUM, present only on check transactions

About the OFX Format

Open Financial Exchange (OFX) is the standard banks use to hand statements to software. These samples are OFX 1.02 — the SGML dialect virtually every bank export still uses — and are the base format that QBO and QFX extend.

File structure

The file begins with nine colon-delimited header lines — OFXHEADER:100, DATA:OFXSGML, VERSION:102, ENCODING:USASCII, and so on — followed by a blank line and the <OFX> document. Inside are two message sets:

  • <SIGNONMSGSRSV1> — sign-on response: a <STATUS> block, <DTSERVER> timestamp, and <FI> identifying the institution
  • <BANKMSGSRSV1><STMTTRNRS><STMTRS> — the statement itself; the credit-card variant uses <CREDITCARDMSGSRSV1><CCSTMTTRNRS><CCSTMTRS> with a <CCACCTFROM> account block

<STMTRS> carries <CURDEF> (currency), the account aggregate, a <BANKTRANLIST> bounded by <DTSTART>/<DTEND>, and a <LEDGERBAL> closing balance. Each <STMTTRN> in the list holds:

  • TRNTYPECREDIT, DEBIT, CHECK, and friends
  • DTPOSTEDYYYYMMDDHHMMSS[0:GMT] timestamps
  • TRNAMT — signed decimal amount
  • FITID — unique-per-account ID; importers use it to skip already-seen transactions
  • NAME, plus optional MEMO and CHECKNUM

Parsing notes

OFX 1.x is SGML: leaf elements are routinely unclosed (<TRNAMT>3850.00 with no closing tag), which breaks strict XML parsers. Reach for ofxparse or ofxtools (Python) or ofx-js (Node), or convert in the browser with OFX to CSV. The reverse direction, CSV to OFX, produces files with this exact structure.

Both variants encode the same 20 transactions that appear in the QBO, QFX, and QIF samples, so you can compare all four encodings of one dataset side by side.

FAQ

4 questions
Will this sample file import into QuickBooks or Quicken?
Not necessarily. QuickBooks and Quicken validate imports against Intuit's registered-bank list and may reject any sample file — including this one — with an OL-221/OL-222-class error, even though the file is structurally valid OFX 1.02 that standard parsers accept. Open-source tools like GnuCash and OFX libraries impose no such check.
How do QFX and QBO relate to OFX?
QFX (Quicken) and QBO (QuickBooks) are Intuit's branded flavors of OFX. They add extension tags such as INTU.BID but keep the OFX 1.02 header and document structure, so the three formats are interchangeable at the parser level.
Is anything uploaded when I download or convert this file?
No. The downloads are static files served straight from the site — nothing you do here is uploaded or processed on a server. The CSV Tools converters linked below also run entirely in your browser.
Is this OFX 1.x (SGML) or OFX 2.x (XML)?
Both samples are OFX 1.02, the SGML flavor that banks still overwhelmingly export — colon-delimited headers and unclosed leaf tags. OFX 2.x wraps the same aggregates in well-formed XML with an XML declaration, so a parser built for the 1.x tag set adapts easily.

Work With OFX Files 7 tools