Free OFX to IIF Converter

Turn a .ofx, .qfx or .qbo file into an .iif that QuickBooks Desktop will import. No signup, and your statements never leave your browser.

What this page does that a CSV converter can't

An IIF file records each transaction with a type — CHECK and DEPOSIT for a bank account, CREDIT CARD CHARGE and CREDIT CARD CREDIT for a card. Getting that wrong doesn't produce an error. It produces a set of books that balance and are wrong.

A CSV gives a converter no way to know which kind of account it's looking at, so our CSV to IIF page has to ask you and trust the answer. An OFX file says so itself. Bank statements arrive inside a <BANKACCTFROM> block and credit cards inside <CCACCTFROM> — two separate paths in the format, not a flag that can be left off. This page reads that and tells you what it found rather than asking.

The one thing you have to do yourself

Use the account's exact name. An IIF file finds the account by name. If the name isn't in your chart of accounts, QuickBooks doesn't ask and doesn't report an error: it creates a new account under that name and posts everything there.

When we first tested this, the file didn't say what type the account was. QuickBooks created the missing credit card account as a Bank account and recorded the charges as CHK instead of CC. Our files now declare the type. When we tested again with a missing credit card account, QuickBooks created it as a Credit Card account and the charges came in as CC. So a typo costs you a duplicate account, not a wrongly typed one. What we measured, both times.

Why go through IIF at all?

Because QuickBooks Desktop's bank feed only accepts .qbo files, and a .qbo is an OFX file carrying an Intuit bank identifier (<INTU.BID>). A plain .ofx or .qfx downloaded from your bank doesn't have one, so Web Connect turns it away — we've watched it do so, with the message "Missing bid data. Please contact your financial institution."

IIF is a different door into the same company file, and it doesn't check for that identifier. That's the reason this route exists. It's also why it deserves more care than the bank feed: the feed puts everything in a review queue first, while an IIF import writes straight into your books with no undo. Back up the company file before importing — every time, not just the first time.

If what you have is a .qbo and Desktop still won't take it, the QBO to IIF page checks the file for what Web Connect looks for and goes through the other reasons a .qbo gets refused.

What comes across

What doesn't come across is the FITID — the unique identifier your bank puts on each transaction. IIF has no field for it, which means QuickBooks cannot detect duplicates on an IIF import. Import the same date range twice and you get the transactions twice. That's a property of the format, not of this converter, and it's the single most important difference from importing a .qbo through the bank feed.

Frequently asked questions

Does this work with QFX and QBO files as well?

Yes. QFX is Quicken's flavour of OFX, QBO is the QuickBooks Web Connect flavour, and underneath they're the same format with different headers. The same parser reads all three, which is why the file picker accepts all three extensions. If you have a .qbo that QuickBooks Desktop refused, the QBO to IIF page covers why, and what the IIF gives up.

My file has several accounts in it. Can I do them all at once?

Not in one file, and that's a limit of IIF rather than of this page. An IIF file posts every transaction to a single named account, so putting two accounts through together would land them all in the same place — and, as with everything else in this format, nothing would report an error. When the file contains more than one account this page asks which one you're importing and converts that one. Run it again for the next.

Why is the other side of every entry "Uncategorized Expense"?

Because a bank statement doesn't say what you spent the money on. Every IIF transaction needs two sides that balance, so the converter posts the known side to your account and the unknown side to Uncategorized Expense or Uncategorized Income. Recategorising in QuickBooks afterwards is normal bookkeeping; inventing categories from a payee name would not be.

If you don't have those two accounts, the file creates them with the right types. We tested a brand new company file in QuickBooks Mac Plus 2024: it had neither, and the import created both as Bank accounts instead of Expense and Income, with no warning. Our files now declare the type of every account they use, so that no longer happens, and accounts you already have are left exactly as they are. Here is what we measured.

Can I import the same statement twice by accident?

Yes, and this is worth being careful about. A .qbo file carries a FITID per transaction that QuickBooks uses to recognise transactions it already has. IIF has no equivalent field, so nothing is checked. Import January twice and January appears twice. Keep a note of what you've imported, and back up first.

Is my bank statement uploaded anywhere?

No. Every converter here runs in the browser, and each page ships a Content Security Policy with connect-src 'none' — your browser refuses to let the page make any network request. Watch the Network tab in developer tools while you convert; it stays empty.

Related