How to convert CSV to IIF
Four steps. The third one is the one people skip, and it's the one that matters.
- Download the CSV from your bank's website — whatever columns it gives you is fine.
- Drop it above. We work out which column is the date, the amount and the description, and show you the result.
- Open QuickBooks, go to your chart of accounts, and copy the account name exactly as it appears there. Paste it into the account name box. This is the step that decides whether the money lands in your account or in a new one.
- Back up your company file, then import: File › Utilities › Import › IIF Files.
Before you import: three things IIF does differently
1. It finds your account by name, not by number
A QBO file carries an account number and QuickBooks matches it to a bank feed. An IIF file carries an account name, and QuickBooks looks that name up in your chart of accounts. If the name doesn't match — a missing space, "Checking" instead of "Business Checking" — QuickBooks doesn't warn you. It creates a new account with that name and posts everything there.
We ran this against QuickBooks Desktop to see exactly what happens: no prompt, no error. In the
first test the file didn't say what type the account was, and QuickBooks created the missing
credit card account as a Bank account, so charges that should record as
CC (Credit Card Charge) came out as CHK, and payments as
DEP instead of CC CRED. 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 no longer gets you the wrong kind of account, but it still gets you a second one, with your transactions in it instead of in the account you meant. Copy the name out of your chart of accounts and paste it, rather than typing it from memory. Both tests are written up in an IIF import created a new account.
If what you have is an .ofx, .qfx or .qbo rather than a
CSV, use the OFX to IIF converter instead — those files state
their own account type, so it can tell you what type your QuickBooks account needs to be
rather than asking you to pick.
2. It writes straight into your company file
A QBO import lands in the bank feed's review queue, where you approve each transaction before it's recorded. An IIF import skips that queue and skips some of the validation QuickBooks normally runs. That's what makes IIF useful for bulk work, and it's also why Intuit tells you to back up first: File › Back Up Company. There is no undo button for an IIF import.
3. It has no duplicate protection
QBO and OFX give every transaction a unique ID, so importing an overlapping date range twice gets matched and skipped. IIF has no such ID. Import the same statement twice and you get every transaction twice. Import each statement exactly once, and don't let date ranges overlap.
IIF or QBO — which one do you actually want?
| QBO | IIF | |
|---|---|---|
| Works with | QuickBooks Desktop and Online | QuickBooks Desktop only |
| Finds your account by | Account number, via the bank feed | Account name, spelled exactly |
| Where transactions land | Bank feed review queue — you approve each one | Straight into the register |
| Re-importing the same dates | Matched and skipped | Duplicated |
| Can also carry | Bank transactions | Invoices, bills, lists, journal entries |
For plain bank and credit card transactions, CSV to QBO is the safer route and the one we'd suggest first. Reach for IIF when you specifically need transactions posted to a named account, when the bank feed isn't an option, or when you're already working in IIF for other imports.
What the file actually looks like
Worth a look if you've never opened one — it explains most of the errors people hit.
Fields are separated by tab characters, not commas, and the rows starting
with ! are headers that tell QuickBooks which columns follow. Every
transaction is a three-part block: the bank side (TRNS), the category side
(SPL), and a terminator (ENDTRNS). The two amounts are equal and
opposite, because QuickBooks is a double-entry system and won't accept a block that
doesn't balance.
Using something else?
- CSV to QBO — for QuickBooks Desktop and Online, via the bank feed
- CSV to QFX — for current versions of Quicken
- CSV to OFX — for GnuCash, Xero, Sage and most others
- CSV to QIF — for Moneydance, GnuCash and legacy Quicken
Frequently asked questions
What is an IIF file?
IIF stands for Intuit Interchange Format. It's a tab-delimited text format that QuickBooks Desktop can import. Despite the name it isn't a CSV — the fields are separated by tab characters, and the first rows are headers beginning with an exclamation mark.
Does QuickBooks Online import IIF files?
No. IIF is a QuickBooks Desktop format only — Pro, Premier and Enterprise. QuickBooks Online can't import it. If you're on Online, upload the CSV directly: Online reads bank CSVs natively and you don't need a converter at all.
Why did QuickBooks create a new account instead of using mine?
Because the account name in the file didn't match one in your chart of accounts, and IIF matches on the exact name, including spacing, punctuation and capitalisation. QuickBooks creates the missing account rather than reporting an error. Our files declare the account type, so it will be the right kind of account, but your transactions are in it instead of in yours. If you backed up before importing, restore the backup; then copy the real account's name out of QuickBooks, paste it into the account name box and download the file again. Here's exactly what we saw when we tested it, including what happened to credit card transactions before our files declared the type.
What are "Uncategorized Expense" and "Uncategorized Income"?
Every IIF transaction needs two sides: the bank account, and a category account for
the other half. We can't guess your categories, so we post the other side to
Uncategorized Expense or Uncategorized Income. After importing,
open the register and recategorise, exactly as you would with transactions that came in
through the bank feed.
If you don't already have them, the file creates them with the right types. We used to say these were accounts QuickBooks ships with. We tested it, and that is not reliably true: a brand new company file in QuickBooks Mac Plus 2024 had neither, and the import created both as Bank accounts instead of Expense and Income, without a word. 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 QuickBooks export an IIF of my bank transactions?
It can export lists — the chart of accounts, customers, vendors, items — but recent versions removed transaction export to IIF. Import is one-way in practice, the same as QBO.
Is my bank data uploaded anywhere?
No. The conversion runs entirely in your browser, and the page's Content Security Policy blocks all network requests — the browser itself enforces that nothing is sent.