Skip to main content
Bankflow

Free tool

QBO file checker: find out why QuickBooks refuses it.

See what QuickBooks will make of a .qbo, .qfx, or .ofx file before you import it.

Read in your browser. Never uploaded.

What it checks, and why each one matters

Every rule here is one QuickBooks Desktop enforced on a test file until it stopped refusing it.

The institution id

QuickBooks Desktop checks INTU.BID against Intuit's directory of financial institutions. A missing id, or a placeholder like 00000, is the single most common cause of “unable to verify the financial institution information for this download”.

The account block

Whether the file describes a bank account or a credit card, and, for a bank account, whether its routing number is nine digits that pass the check digit and its account number is numeric. Anything else earns “information that is not supported by QuickBooks”.

Transaction ids

Every transaction should carry a unique FITID. Missing ids duplicate your month on the next import; repeated ids do the opposite, and QuickBooks quietly skips the rows it thinks it already has.

Amount signs

TRNTYPE has to agree with the sign of TRNAMT: money out negative, money in positive, on a credit card as well as a bank account. This is what makes charges arrive as payments after a hand-built conversion.

Dates and periods

DTPOSTED in YYYYMMDD form, and inside the DTSTART to DTEND period the file declares, so no row is dropped for sitting outside the statement it belongs to.

The header and the shape

OFXHEADER, DATA, and VERSION present, the OFX 1.02 SGML dialect QuickBooks reads, one declared currency, payee names within the format's 32 characters, and a file that was not cut short.

Questions

Is my statement uploaded anywhere?
No. The file is read in your browser with the FileReader API and checked there. Nothing is sent to Bankflow or anyone else, there is no account to create, and closing the tab is all the deletion there is.
QuickBooks says it cannot verify the financial institution. What does that mean?
QuickBooks Desktop reads the INTU.BID line in the file's header and looks the id up in Intuit's directory of banks. If the id is missing, is a placeholder, or belongs to no institution, the import stops there. It is a check on the file's header, not on your account or your company file.
Why does QuickBooks say the account information is not supported?
That message comes from the account block rather than the header. A bank statement has to carry a routing number that looks like a routing number, nine digits passing the ABA check digit, and an account number made of digits. A converter that writes letters or zeros into those fields gets this far and no further.
Can it tell me whether the transactions are correct?
No, and nothing can from the file alone. This checks the structure QuickBooks validates before it imports. Whether the amounts match your statement is a question for the statement, which is what Bankflow's balance reconciliation is for.
Does it check QIF files?
No. QIF has no header, no account block, and no transaction ids, and neither edition of QuickBooks imports it. If you have a QIF file, it has to be converted to QBO before QuickBooks will read it.
The file passes every check and QuickBooks still refuses it.
Check that you are signed in to an Intuit Account inside QuickBooks Desktop, since Web Connect imports fail without it, and that the file has the .qbo extension rather than .ofx. Older releases also refuse files that current ones accept: Intuit's community reports versions before 2019 rejecting Web Connect downloads outright. Switching Bank Feeds to Classic mode is worth a try.

Related: fixing the institution id it reports, what QBO, QFX, OFX, and QIF actually are, converting a statement to QBO, and importing a credit card statement.

Need a file that passes?

Bankflow reads a statement PDF, checks the transactions against the balances it prints, and writes a .qbo that QuickBooks Online and Desktop both import, with credit cards written as credit cards.

50 free page credits · No card