How to Import an IIF File into QuickBooks Online
The short version: you can't, and no setting will change that. IIF is a QuickBooks Desktop format and QuickBooks Online has never read it. What you do instead depends entirely on what is inside the file.
Published 9 August 2026 · 9 min read
The short answer
If you have been hunting through the Settings menu for an IIF option, you can stop. It is not hidden, it is not behind a plan tier, and no add-on switches it on. QuickBooks Online does not read IIF, and never has.
If you need the transactions in that file to end up in QuickBooks Online, the file has to become something else first. That is the whole job, and the rest of this page is about doing it without losing anything.
Why QuickBooks Online has no IIF option
IIF stands for Intuit Interchange Format. It is a tab-delimited text format that predates QuickBooks Online by well over a decade, built for moving data between Desktop company files on the same machine or the same network.
The important thing about it is what it describes. An IIF file is not a bank statement: it is bookkeeping entries. Every transaction in it is written twice: once as a TRNS line against one account, and again as one or more SPL lines against the accounts it was categorised to, carrying the same figures with the sign flipped.
That structure assumes the file already knows your chart of accounts, and that the account names in it match the ones in the company file receiving it. It is a format for talking to one specific Desktop company file, not a portable statement.
QuickBooks Online has a different data model and no notion of a local company file, so there was never a sensible way to read one. Intuit has also spent years narrowing IIF inside Desktop, restricting which transaction types it will accept, because badly-formed IIF imports were a reliable way to corrupt a company file.
Any tool advertising IIF support for QuickBooks Online is converting the file to something else first, whether or not it says so. That is not dishonest: it is the only thing that can be happening.
What QuickBooks Online does read
For bank and credit card transactions, the upload screen accepts four file types:
| Format | What it is |
|---|---|
| CSV | A plain table of transactions. The most forgiving option, and the only one with a column-mapping step. |
| .qbo | Web Connect: an OFX document carrying an Intuit institution identifier. |
| .qfx | The Quicken flavour of the same document. |
| .ofx | The open format both of the above are built on. |
For lists rather than transactions, meaning customers, vendors, the chart of accounts, products and services, there is a separate importer under Settings that takes CSV and Excel.
Notice what is missing from both lists. There is no route that takes an IIF, which is why every honest answer to this question ends in the same place: change the file.
Work out what your IIF actually contains
Before converting anything, open the file in a text editor. IIF is plain text, so Notepad or TextEdit will do, and what you are looking for is the lines beginning with an exclamation mark. Those are the headings that declare what kind of records follow.
| Heading line | What the file holds | What to do |
|---|---|---|
!TRNS | Transactions | Convert it: the rest of this guide |
!ACCNT | A chart of accounts | Use the Settings list importer |
!CUST | A customer list | Use the Settings list importer |
!VEND | A vendor list | Use the Settings list importer |
!INVITEM | Products and services | Use the Settings list importer |
A file can hold more than one of these. Exports produced by a bookkeeper leaving a Desktop file behind often carry the accounts, the names and the transactions all together, in that order.
If you are moving a whole Desktop company
This is worth separating out, because a good number of people asking this question do not have a converter problem at all.
If what you actually want is your entire QuickBooks Desktop file, meaning years of history, the chart of accounts, customers, open invoices and the rest, then IIF is the wrong tool and converting it will not get you there. Intuit has a migration path that moves the company file wholesale, and it is the only route that preserves the links between transactions, names and accounts.
Use that. Exporting pieces of a Desktop file as IIF and reassembling them in Online is a well-known way to spend a weekend producing something you then have to unpick. The IIF route is for the narrower case: a set of transactions, usually for one account, usually because the original company file is gone or nobody has a licence for it any more.
Doing it by hand in a spreadsheet
You do not need a converter for this, and it is worth knowing the manual route even if you use one: it is what tells you whether the output is right.
- Open the IIF in a spreadsheet, choosing Tab as the delimiter. Every field lands in its own column.
- Find the row beginning
!TRNS. That row names the columns for everyTRNSrow beneath it: usually date, account, name, amount and memo, though the order varies and there are often extra columns between them. - Delete every row that does not begin with
TRNS. That means the!heading rows, everySPLrow and everyENDTRNSrow, plus anyACCNTorCUSTblock at the top. - Keep only three columns: the date, the memo or name, and the amount. Delete the rest.
- Add a heading row reading Date, Description, Amount.
- Check the amounts have no thousands separators, and save as CSV.
Step three is the one that matters and the one people skip. It is covered again below, because getting it wrong produces a file that looks completely reasonable and is worthless.
The double-entry trap
Because IIF describes double-entry bookkeeping, every transaction appears twice with opposite signs. A payment of 240.18 is one TRNS line at −240.18 against the bank account and one SPL line at +240.18 against whatever it was categorised to.
So a file with 60 rows holds 30 transactions, and if you total the amount column across all 60 you get exactly zero. Every time. That is not a corrupted file: it is the format working as designed.
Two failures come out of this, and both are quiet. Import everything and you get double the transactions, half of them against accounts that do not exist in the new company file. Total the raw file to check your work and you get nothing, which looks like a broken export rather than a correct one.
The check that works: total only the TRNS rows. That figure should match the net movement on the account for the period, and it is the number to carry through the rest of the process.
Converting it without the spreadsheet work
The manual route above is perfectly good for one file. It gets tedious at three, and the step where you delete every other row by hand is exactly the kind of thing that goes wrong at half past five.
CSV is the format to aim for either way. It is the one QuickBooks Online documents most thoroughly for bank transactions, it has a mapping step that lets you correct anything read the wrong way, and unlike .qbo it carries no institution identifier that has to match a bank Intuit recognises.
Being straight about what it does: the IIF to CSV converter reads the TRNS rows, discards the splits, and writes the three columns above. It does not know your chart of accounts and will not categorise anything: that is still the mapping step in QuickBooks. It runs in your browser, so a client's transaction history never leaves your machine, and it needs no account.
The upload screen, step by step
However you produced the CSV, the QuickBooks Online side is the same:
- Go to Transactions, then Bank transactions, and choose Upload from file.
- Pick the CSV and the account it belongs to. Getting this wrong is easier than it sounds when several accounts share a name.
- On the mapping step, set the date, description and amount columns.
- Check the date format the screen has assumed. This is the step that goes wrong most often, and the one below explains why.
- Review the transactions before accepting them, and compare the count against what you expected.
If the file came from our converter it also carries a Direction column reading In or Out. Leave that one unmapped: the sign on the amount already says the same thing, and mapping both makes no difference either way.
Dates are the other thing that breaks
IIF written by a US QuickBooks uses month-first dates. IIF written by a UK or Australian one uses day-first. Nothing inside the file records which, and the transactions themselves rarely make it obvious.
A date of 05/01/2026 is the fifth of January or the first of May depending on which convention produced it, and both readings are valid dates, so nothing errors. The transactions simply land in the wrong months, in an order that looks plausible.
The tell is any date with a leading number above twelve, since 19/02 can only be day-first. If the file has one of those, the whole file is day-first, and both your converter and the QuickBooks mapping screen need telling.
Check the total before you accept anything
Every failure on this page shares a shape: the import succeeds and the numbers are wrong. Nothing turns red. You find out weeks later at reconciliation, holding a discrepancy you now have to trace back through a process you have half forgotten.
So before accepting a batch, total the amount column and compare it to the figure you took from the TRNS rows earlier. If they match, the conversion kept everything. If they do not, the difference is the size of what went missing, which is usually enough to identify it.
Every conversion on this site shows that check on screen rather than leaving you to do it: it totals the transactions, compares them against the closing balance, and names the exact size of any gap instead of reporting that everything went fine.
Frequently asked questions
Does QuickBooks Online support IIF files at all? No, on any plan. IIF is a QuickBooks Desktop format and the Online product has never had a reader for it. Any tool offering to do it is converting the file to something else first.
Is there an app in the QuickBooks App Store that does it? Several apps advertise IIF handling, and they work the same way: reading the IIF and writing out a format the upload screen takes. The difference is where your file goes: an app uploads it to that vendor's servers, which for a client's transaction history is a decision worth making deliberately rather than by default.
Why does my IIF have twice as many rows as transactions? Because it is double-entry. Each transaction is a TRNS line against one account plus one or more SPL lines against the accounts it was categorised to, carrying the same figures negated. The pair sums to zero by design, which is why opening an IIF in a spreadsheet and totalling the amount column gives you nothing.
Can I go the other way and get an IIF out of QuickBooks Online? Not directly. QuickBooks Online exports reports and transaction lists as CSV or Excel. If you need an IIF for a Desktop file, the practical route is exporting a transaction list and converting that.
My IIF file has no !TRNS line. What does that mean? It holds lists rather than transactions: a chart of accounts, customers, vendors or items. There is nothing to convert into a bank file, and QuickBooks Online's own list importer under Settings is the route for that data.
Will the categories from the IIF come across? No, and no converter can honestly promise otherwise. The accounts named in the file belong to the Desktop company it came from, and the receiving company file has its own. Categorisation happens after the transactions land, either by hand or by the rules you set up in QuickBooks.