QBO File Format Explained: OFX Structure and the INTU.BID Tag
Jul 20, 2026 · Updated Jul 26, 2026
Convert your bank statement to Excel now
PDF, JPG, PNG, BMP, HEIC, TIFF, MT940
Upload your bank statement
Drop file here or click to upload
PDF, JPG, PNG, BMP, HEIC, TIFF, MT940
Uploading...
Last updated July 2026.
A QBO file is Intuit's QuickBooks Web Connect version of an OFX file. It is a plain-text file built from a short header block followed by SGML markup that carries a sign-on section, the bank account details, and a list of transactions, each wrapped in a STMTTRN tag. What makes a .qbo different from a plain .ofx is a pair of Intuit-specific tags, INTU.BID and INTU.USERID, that QuickBooks checks before it will accept the file. Learn the header, the transaction tags, and those two Intuit tags and a QBO file reads cleanly and maps straight into spreadsheet columns.
QBO stands for QuickBooks Web Connect. Banks that support Web Connect let you download a .qbo file that imports transactions into QuickBooks in a few clicks, no live bank feed required. If your bank only gives you a PDF, the bank statement to QBO converter builds a Web Connect file with the right tags. This guide explains the structure so you can read and check the file yourself.
QBO is OFX with two Intuit tags added
Internally, a QBO file is almost identical to an OFX file. Both follow the OFX 1.x SGML specification, both open with the same header lines, and both wrap each transaction in the same STMTTRN block with the same amount, date, and ID tags. The difference is that a QBO file adds an Intuit financial-institution section so QuickBooks knows the file is meant for it and can match the bank. Everything you already know about reading OFX carries over; the QBO-specific part is just those extra tags.
The header block
A QBO file starts with a block of colon-separated header lines in plain text, before any tags. They declare the format version and encoding.
| Header line | What it declares |
|---|---|
| OFXHEADER:100 | OFX header version |
| DATA:OFXSGML | The body is SGML, not XML |
| VERSION:102 | OFX message-set version (102 is typical for QBO) |
| SECURITY:NONE | No message-level security |
| ENCODING:USASCII | Character encoding |
If this preamble is missing or malformed, QuickBooks refuses the file before it even reads a transaction, which is why a hand-built OFX often fails until the header is corrected.
The Intuit tags: INTU.BID and INTU.USERID
Inside the sign-on section, a QBO file carries two tags a plain OFX file does not. These are what turn an OFX file into a QuickBooks-ready QBO file.
| Tag | Meaning |
|---|---|
| <INTU.BID> | Intuit Bank ID: a number identifying the financial institution. QuickBooks checks it against its list of Web Connect-enabled banks. |
| <INTU.USERID> | Intuit user ID associated with the download. |
The INTU.BID is the tag that trips people up. QuickBooks matches it against its internal list of institutions enabled for Web Connect, and if the number is missing or does not correspond to a supported bank, the import fails with a generic error even when the transactions themselves are perfect. Adding a valid INTU.BID is the usual fix, and it is the main thing a converter supplies that a raw bank OFX might not.
The transaction tags: STMTTRN
The transaction list lives in a bank-statement section, and each transaction is a STMTTRN block. These are the tags that become your spreadsheet columns.
| Tag | Field | Spreadsheet column |
|---|---|---|
| <TRNTYPE> | Type, such as DEBIT, CREDIT, CHECK, or POS | Type |
| <DTPOSTED> | Posted date, in YYYYMMDD form | Date |
| <TRNAMT> | Signed amount, negative for money out | Amount |
| <FITID> | Unique transaction ID the bank assigns | ID (duplicate check) |
| <NAME> or <PAYEE> | Payee or description | Description |
| <MEMO> | Extra detail | Memo |
The FITID is worth knowing about because it is how QuickBooks avoids importing the same transaction twice. Each transaction carries a unique FITID, and QuickBooks skips any FITID it has already seen, so re-importing an overlapping date range does not create duplicates.
A worked example mapped to Excel
Here is one transaction as it appears inside a QBO file:
<STMTTRN> <TRNTYPE>DEBIT <DTPOSTED>20260314 <TRNAMT>-85.40 <FITID>202603140001 <NAME>Comcast <MEMO>Internet </STMTTRN>
Mapped into a sheet, that is one row: date 03/14/2026 (from DTPOSTED, read YYYYMMDD), description Comcast, memo Internet, amount -85.40, and FITID 202603140001 kept in a column so you can spot duplicates. Every STMTTRN block becomes one row the same way, which is exactly the layout a spreadsheet or an accounting import wants. From there you can categorize the transactions and, once they are posted in QuickBooks, produce clean financial statements from the booked data.
Reading a QBO file or building one
You can open a QBO file in any text editor because the SGML is human-readable: look for the STMTTRN blocks to see the transactions and check the INTU.BID value in the sign-on section. That value is also the usual reason QuickBooks refuses a file the bank itself produced, which is covered alongside where each bank puts its Web Connect download. To get the numbers into a spreadsheet, the QBO to CSV converter reads each STMTTRN into Date, Description, Amount, and FITID columns and returns a CSV or Excel file. Going the other way, from a bank statement PDF to an importable Web Connect file, the bank statement to QBO converter builds the header, the INTU.BID, and the STMTTRN list so QuickBooks accepts it. For every QuickBooks import path and its limits, see the QuickBooks bank statement converter.
QBO works for both QuickBooks Online and QuickBooks Desktop. If you are on Desktop and prefer a journal-style import with categories built in, the tab-separated IIF file format is the alternative, and the OFX vs QFX vs QBO comparison covers how the three related formats differ.
Frequently asked questions
What is a QBO file?
A QBO file is Intuit's QuickBooks Web Connect version of an OFX file. It is a plain-text file with an OFX header block followed by SGML markup that holds a sign-on section, bank account details, and a list of transactions in STMTTRN tags. Its distinguishing feature is a pair of Intuit tags, INTU.BID and INTU.USERID, that QuickBooks checks before accepting the file.
What is the INTU.BID tag in a QBO file?
INTU.BID is the Intuit Bank ID, a number that identifies the financial institution the file came from. QuickBooks matches it against its internal list of banks enabled for Web Connect, and if the INTU.BID is missing or does not match a supported bank, the import fails even when the transactions are correct. Supplying a valid INTU.BID is the usual fix.
What is the difference between QBO and OFX files?
A QBO file follows the same OFX 1.x SGML structure as an OFX file, with the same STMTTRN transaction tags. The difference is that QBO adds Intuit-specific tags, mainly INTU.BID, that QuickBooks requires. In practice a plain OFX often will not import into QuickBooks until those Intuit tags are added, which turns it into a QBO file.
How do I open a QBO file?
Open a QBO file in any plain-text editor because the SGML is human-readable. Look for the STMTTRN blocks to read individual transactions and check the INTU.BID value in the sign-on section to see which bank it identifies. To work with the numbers, convert the QBO file to CSV so each transaction becomes a spreadsheet row with Date, Description, and Amount columns.
Does a QBO file prevent duplicate imports?
Yes. Each transaction in a QBO file carries a unique FITID that the bank assigns. QuickBooks records the FITIDs it has already imported and skips any it has seen before, so re-importing a QBO file whose date range overlaps a previous one does not create duplicate transactions in the register.
How do I create a QBO file from a bank statement?
Upload the statement PDF to a QBO converter, which reads each transaction, builds the OFX header, adds a valid INTU.BID, and writes a STMTTRN block for every line, then returns a .qbo file you import through QuickBooks Web Connect. This is the dependable path when your bank offers only a PDF or CSV and QuickBooks will not connect a live bank feed.
Ready to convert your bank statement?
Upload a PDF and get clean Excel or CSV in seconds. Works with statements from any bank.
Convert to Excel nowFree to try, no credit card required