QBO file format

QBO file format explained.

A QBO Web Connect file combines an OFX header with account and transaction blocks that supported QuickBooks workflows can read. This is a structural reference, not a compatibility promise.

Updated July 20, 2026 · Examples use fictional data.

The file has a header and an OFX body

Older QBO files commonly use an OFX 1.x SGML-style header followed by an <OFX> body. Newer OFX variants may use XML. A parser should inspect the structure instead of relying only on the extension.

Representative header

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

Account and statement blocks

Bank statements commonly use BANKMSGSRSV1, STMTRS, and BANKACCTFROM. Credit-card statements may use CREDITCARDMSGSRSV1, CCSTMTRS, and CCACCTFROM.

Common transaction tags

TagPurposeBankFileKit read support
DTPOSTEDPosting date and optional time/zoneRequired
TRNAMTSigned transaction amountRequired
FITIDTransaction identifierPreserved when present
NAMEShort transaction nameUsed before MEMO
MEMOLonger descriptionUsed as fallback
CHECKNUMCheck referencePreserved when present

A transaction block

<STMTTRN>
<TRNTYPE>DEBIT
<DTPOSTED>20260710120000.000[-5:EST]
<TRNAMT>-24.75
<FITID>FICTIONAL-0001
<NAME>Fictional Supply Store
</STMTTRN>

Encoding is a real boundary

A QBO header declares an encoding. BankFileKit's beta writer declares USASCII with character set 1252 and replaces non-ASCII characters with ?. Review names and memos when the source contains accented or non-Latin text.

QBO is not a complete accounting export

The file normally carries bank-feed transactions, not invoices, chart-of-accounts rules, reconciliations, payroll, or an entire QuickBooks company. See the QBO definition guide for the distinction from QBW files.

BankFileKit parser boundary

The current reader extracts bank or credit-card transaction blocks with valid dates and amounts. It does not promise support for every OFX message set, investment statement, loan statement, or vendor-specific extension.

BankFileKit writer boundary

The CSV/XLSX to QBO writer creates a candidate US English and USD Web Connect file. It has not been verified in real QuickBooks Desktop, so users must test a fictional file in a blank company.

Validate structure and outcome separately

A structurally plausible QBO file can still fail because the target product, account connection, institution fields, or transaction identifiers are incompatible. Successful download is not proof of successful import.