CSV Tools

Sample QBO File

Downloadable QuickBooks Web Connect (.qbo) samples — a bank statement and a credit-card statement carrying the same 20 signed transactions, with a parsed CSV preview and full field schema.

Personal Finance QBO (QuickBooks Web Connect) Text format

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

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 (.qbo)

sample-bank-statement.qbo
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>
<INTU.BID>3000</INTU.BID>
</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 (.qbo)

sample-credit-card.qbo
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>
<INTU.BID>4321</INTU.BID>
</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 QBO (QuickBooks Web Connect) Format

A .qbo file is a QuickBooks Web Connect statement — the file your bank generates when you click “Download for QuickBooks.” Under the hood it is plain OFX 1.02 with a handful of Intuit extension tags, most notably <INTU.BID>, the bank’s ID in Intuit’s directory.

File structure

The file opens with nine colon-delimited SGML header lines (OFXHEADER:100, DATA:OFXSGML, VERSION:102, …), then a blank line, then the <OFX> document:

  • <SIGNONMSGSRSV1> — sign-on response with server timestamp, <FI> (bank name and FID), and the QBO-specific <INTU.BID>
  • <BANKMSGSRSV1><STMTTRNRS><STMTRS> — the bank statement (the credit-card variant uses <CREDITCARDMSGSRSV1><CCSTMTTRNRS><CCSTMTRS> instead)
  • <BANKTRANLIST> — the transaction list, bounded by <DTSTART>/<DTEND>, holding one <STMTTRN> per transaction
  • <LEDGERBAL> — closing balance and as-of date

Each <STMTTRN> carries TRNTYPE, DTPOSTED, a signed TRNAMT, a FITID, and a NAME, plus optional MEMO and CHECKNUM. FITID must be unique per account — it is the key QuickBooks uses to skip transactions it has already imported.

Parsing notes

OFX 1.02 is SGML, not XML: leaf elements like <TRNAMT>-87.32 are legally left unclosed, so a strict XML parser will fail. Use an OFX-aware library (ofxparse or ofxtools in Python, ofx-js in Node) or normalize the tags first. Or skip the parsing entirely: QBO to CSV extracts the transactions in the browser, and CSV to QBO writes files with this exact structure.

Both downloads express the same 20-transaction set as the QFX, OFX, and QIF samples, so the four pages double as a format-to-format Rosetta stone.

FAQ

4 questions
Will this sample file import into QuickBooks?
Maybe not, and that is expected. QuickBooks validates every Web Connect import against Intuit's registered-bank list, so it 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. Use it for testing parsers, converters, and import scripts rather than a production QuickBooks import.
What is the difference between QBO, QFX, and OFX?
All three share the same OFX structure. A .qbo file is Intuit's QuickBooks Web Connect flavor and a .qfx file is the Quicken flavor — both add Intuit-specific tags such as INTU.BID to plain OFX. Any parser that reads OFX 1.02 will read this .qbo file unchanged.
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.
Why are there two download variants?
Bank and credit-card statements use different OFX wrappers (BANKMSGSRSV1/STMTRS vs CREDITCARDMSGSRSV1/CCSTMTRS), and importers treat them differently. Both variants carry the same 20 transactions so you can diff the structural differences directly.

Work With QBO (QuickBooks Web Connect) Files 7 tools