QBO file checker.
Find out why QuickBooks rejects it.
Drop a .qbo, .qfx or .ofx file. It is read in your browser and never uploaded. You get a list of everything QuickBooks Web Connect will object to, with the row number, and a preview of the transactions it contains.
Drop a .qbo file here
Also .qfx and .ofx · checked in your browser, never uploaded
What it checks
- OFX header block (OFXHEADER, DATA:OFXSGML, VERSION …)
- INTU.BID present and numeric
- Bank vs credit card message set matches the account block
- BANKID, ACCTID, ACCTTYPE, CURDEF
- DTSTART / DTEND and every DTPOSTED as valid dates
- TRNAMT as plain numbers, sign vs TRNTYPE
- FITID present and unique
- NAME ≤ 32 chars, MEMO ≤ 255, no raw & < >
- LEDGERBAL present with a valid date
- Non-ASCII characters under ENCODING:USASCII
Need a .qbo that just works?
If you are hand-building QBO files from a PDF statement, stop. Convert the statement and download a .qbo that passes all of the above, with the totals reconciled against the printed balance first.
QBO questions
QuickBooks says "an error occurred while importing" with no detail. What is wrong?
Usually one of: no INTU.BID line, a duplicate FITID, a date not in YYYYMMDD form, an amount with a currency symbol or thousands separator, or a raw & in a description. The checker lists each one with the row number.
Is my file uploaded anywhere?
No. The file is read by JavaScript in your browser tab. Nothing is sent to our servers; you can check with the network tab of your browser.
Does it fix the file?
It tells you what to change. If the .qbo came from a PDF statement, the faster route is to convert the statement here: the .qbo we produce passes every one of these checks by construction.
What is the difference between .qbo, .ofx and .qfx?
.qbo is OFX with an INTU.BID header for QuickBooks. .qfx is the same idea for Quicken. Plain .ofx has neither. QuickBooks only accepts .qbo through Web Connect.
QuickBooks imported the file but the amounts are backwards.
QuickBooks uses the sign of TRNAMT, not TRNTYPE. Money out must be negative. The checker warns when TRNTYPE says DEBIT but the amount is positive.