OFX to QBO Converter
Drop an .ofx statement and download it as a .qbo file that QuickBooks imports through Web Connect.
How to use
- Step 1Drop the .ofx statement from your bank or from software that exports OFX (Money, GnuCash, many European and Canadian banks). It converts at once.
- Step 2Let the default INTU.BID 3000 stand, or enter your bank's id if QuickBooks lists it; set the account type only if the file says nothing about it.
- Step 3Import the .qbo: QuickBooks Desktop → File → Utilities → Import → Web Connect Files; QuickBooks Online → Transactions → Bank transactions → Link account ▾ → Upload from file.
From OFX to Web Connect
OFX (Open Financial Exchange) is the open statement format behind QBO and QFX. A plain .ofx has everything QuickBooks needs except the sign-on tags Intuit added: INTU.BID, the bank's id on Intuit's list, and INTU.USERID. QuickBooks refuses an OFX without them ("missing bid data" in some versions) even though the transactions are identical. This page adds the tags, converts an OFX 2.x XML file to the 1.02 SGML layout QuickBooks Desktop reads, and cleans the text: accents to plain letters, ampersands to "and", payee names cut at 32 characters with the full name kept in the memo.
The bank's transaction ids (FITID), the account numbers, the currency, the date range and the ledger balance are carried over unchanged, so QuickBooks matches and deduplicates the lines exactly as it would with a file from the bank.
Bank and credit-card statements, one or several accounts
Bank statements (STMTRS) become bank QBO files with the account type from the file: CHECKING, SAVINGS, MONEYMRKT or CREDITLINE. Credit-card statements (CCSTMTRS) become credit-card QBO files, which QuickBooks imports into a credit-card account, with charges negative and payments positive as in the source. An OFX holding several accounts, which some banks and GnuCash exports do, yields one QBO per account, since Web Connect imports one account per file. Investment statements are not converted: QuickBooks bank feeds take bank and card transactions only.
| OFX | QBO written | Note |
|---|---|---|
| OFX 1.x SGML or 2.x XML | OFX 1.02 SGML | The layout QuickBooks Desktop reads; QuickBooks Online reads it too |
| <FI> ORG and FID | kept | Informational; the bank label comes from INTU.BID |
| no INTU.BID | INTU.BID 3000, INTU.USERID = account number | 3000 shows as Wells Fargo at import; the destination account is yours to choose |
| NAME up to 100 characters | NAME 32, full name in MEMO | The OFX 1.02 limit QuickBooks enforces |
| accents, &, <, > | plain ASCII | Characters the Web Connect import rejects |
| FITID, CHECKNUM, TRNTYPE, DTSTART, DTEND, LEDGERBAL | kept | Unchanged, so duplicates are recognised |
Currency and non-US banks
The file's CURDEF is kept (EUR, GBP, CAD…). QuickBooks Online accepts an upload in another currency only into an account of that currency when multicurrency is on; QuickBooks Desktop imports the amounts as they are. Routing numbers outside the US are whatever the bank put in BANKID (a sort code, a transit number); QuickBooks uses it only to tell accounts apart, so any consistent value works.
Questions and answers
Why does QuickBooks refuse my OFX when it accepts the bank's QBO?
Because of the two Intuit tags. QuickBooks checks INTU.BID against its list of Web Connect institutions before it reads a single transaction; an OFX has no such tag. The conversion adds it (3000 by default) and the file goes through.
Can I use this for a credit card?
Yes. A credit-card OFX (CCSTMTRS) becomes a credit-card QBO. Import it into a credit-card account in QuickBooks; charges stay negative.
Which INTU.BID goes into an OFX that has none?
3000 unless you know your bank's own id. It changes only the bank name QuickBooks shows during import. To find a bank's id, open a QBO or QFX file from that bank in a text editor and look for <INTU.BID>.
Is the file uploaded anywhere?
No. The OFX is read and the QBO written in your browser, and nothing leaves your computer.