IIF File in QuickBooks: Format, Import Steps and Limits
No account needed for your first conversions. We never store your bank login.
Short answer: An IIF file (Intuit Interchange Format) is a tab delimited text file that QuickBooks Desktop can import and export. It is mainly used to bulk load lists: the chart of accounts, customers, vendors, employees, items. It can carry transactions too, but it writes them straight into the company file with no validation, no duplicate detection and no review step, and QuickBooks Online cannot import IIF at all. For bank and credit card transactions, a Web Connect (.qbo) file is the right format, not IIF.
Last updated July 2026.
What is an IIF file?
Open one in a text editor and it is unglamorous: rows of tab separated values, with header rows that tell QuickBooks what kind of record follows. A line beginning !ACCNT defines the columns for accounts, !CUST for customers, !TRNS and !SPL for the two halves of a transaction. QuickBooks reads those headers, matches them to its own fields, and imports the rows underneath.
It dates from an era when spreadsheets were the interchange layer between accounting systems, and it shows. There is no schema enforcement worth the name. If a column header is misspelled, or a required field is missing, or an account name in the file does not exist in your chart of accounts, QuickBooks may quietly create something you did not want, or reject the whole file with a message that tells you nothing useful about which row broke.
What is the IIF file format?
An IIF file is a plain ASCII text file with tab separated columns, not commas. Every column layout is declared by a header row that starts with an exclamation mark, and the data rows that follow must present their values in exactly the same order as the header that governs them. Open one in a text editor and it looks like a spreadsheet that lost its grid, which is precisely what it is.
List imports are the simple case: one header row such as !ACCNT or !CUST, then one row per record. Transactions are the harder case, because IIF writes double entry bookkeeping directly. Each transaction is a block of three row types, and the amounts inside the block have to sum to zero or QuickBooks rejects it.
| Row type | What it holds | Notes |
|---|---|---|
| !TRNS and TRNS | The main line of the transaction, usually the bank or credit card account | ACCNT, AMOUNT and DATE are the fields you cannot leave out. AMOUNT is signed. |
| !SPL and SPL | The offsetting split line or lines: the category, customer or item the money went to | One transaction can carry many SPL rows. Their amounts carry the opposite sign to the TRNS row. |
| ENDTRNS | Terminates the block | A literal word on its own. It takes no fields and no tab separated values after it. |
| !ACCNT, !CUST, !VEND, !INVITEM, !CLASS | List headers | Used for chart of accounts, customers, vendors, items and classes. No TRNS block involved. |
Two things break IIF files more often than anything else. The first is a spreadsheet program silently saving the file as comma separated or as .xlsx while the extension still says .iif. The second is editing a header row without editing the data rows underneath it, so column three now means something different than the header claims. Both produce errors that name a line number rather than the real cause.
What IIF is still genuinely good for
Setting up a company file. If you are migrating from another system and need to load three hundred customers, a hundred and fifty vendors and a full chart of accounts, an IIF import beats typing. Export the lists from the old system, shape them into the IIF layout, import once, done. QuickBooks Desktop also exports IIF, which makes it a reasonable way to lift lists out of one company file and drop them into another.
Some payroll and timesheet tools still hand you IIF as their QuickBooks export, and if that is what your vendor produces, using it is fine. In that scenario the file was generated by software that knows the format, which is a very different situation from writing one by hand.
Why IIF is the wrong tool for bank transactions
Three reasons, and each one is enough on its own.
First, IIF bypasses the bank feed entirely. Transactions imported through IIF go straight into the register. There is no For review queue, no matching against invoices and bills you already recorded, no chance to categorize before it posts. If the file is wrong, the damage is already in your books and you are deleting transactions one at a time.
Second, there is no duplicate protection. A .qbo file carries a unique transaction ID per line, which is exactly what QuickBooks uses to spot a transaction it has already seen and hold it for review. IIF carries no such identifier. Import the same file twice and you have two of everything.
Third, QuickBooks Online does not import IIF. Not with a workaround, not with a setting. If your books live in QuickBooks Online, the format is simply not on the table, and any guide telling you otherwise is describing Desktop.
What to use instead
For bank and card transactions, use a Web Connect (.qbo) file. It is the format Intuit built for exactly this job: unambiguous dates, signed amounts, one transaction ID per line, and an import path in both editions. In Desktop it goes in through File, Utilities, Import, Web Connect Files. In QuickBooks Online it uploads from the Bank transactions screen. Either way the transactions land in review, where you can see them before they touch the register.
If your bank only gives you a CSV or an Excel export, which is increasingly the norm and is the only option at fintechs like Mercury, Brex, Ramp and Relay, run it through the CSV to QBO converter and import the .qbo it produces. That is a five minute job with a review step, rather than a hand built text file with none. The roundup of CSV to QBO converters compares what the paid desktop licenses cost against the browser tools.
What about journal entries?
This is the one place IIF still tempts accountants, because a .qbo file cannot carry a journal entry. If your accountant prepares adjusting entries, QuickBooks Desktop has a purpose built format for that: the .qbj general journal entries file, produced by the Accountant's edition and imported through File, Utilities, Import. It is safer than an IIF for the same job, because it is designed for it. For everything else in the Desktop file family, from .qbw company files to .qbb backups, see QuickBooks file extensions explained.
The recurring reason people reach for IIF
Almost always, it is because QuickBooks Desktop refused their CSV. That refusal is real: Desktop's bank feed reads .qbo, .qfx and .ofx and nothing else, and there is no CSV bank import in the product. So people go looking for any format that will accept a spreadsheet, find IIF, and start hand building tab delimited files at eleven at night.
The CSV was never the problem. It was the container. Convert it to the format Desktop already understands and the whole detour disappears, along with the risk of writing raw transactions into a live company file. If you are building an integration between systems rather than a one off import, a proper data integration layer between your apps and your accounting system is a more durable answer than a nightly text file either way.
IIF vs QBO vs CSV: which QuickBooks import file should you use?
The right file depends on what you are importing and which edition you run. Bank and credit card activity belongs in a .qbo Web Connect file, lists belong in IIF or the Excel import, and CSV only works for bank activity in QuickBooks Online. This table is the short version.
| File type | Bank and card transactions | Lists (customers, vendors, items) | Works in QuickBooks Online? | Duplicate protection |
|---|---|---|---|---|
| QBO (Web Connect) | Yes, the intended format | No | Yes, manual upload | Yes, unique ID per transaction |
| IIF | Technically yes, but it bypasses the bank feed | Yes, this is what it is for | No, not supported at all | None |
| CSV | QuickBooks Online only, 3 or 4 column layout | Yes, via Desktop's Excel import | Yes, 350 KB and 1,000 row cap | None |
| QFX / OFX | Yes in Desktop and Online | No | Yes, manual upload | Yes |
Can you convert a CSV to an IIF file?
You can, with third party tools, but for bank and card activity it is the wrong destination. QuickBooks itself has no CSV to IIF feature, so this always means a third party tool: Big Red Consulting sells an IIF Transaction Creator for Excel at $139, with a Pro version at $169, which is the best known of them, and our own CSV to IIF converter writes the .iif and a .qbo from the same upload so you can compare the two before you import. An IIF import writes straight into the register with no For review queue, no matching against existing entries, and no duplicate check, so a second import silently doubles your data. Converting the same CSV to a .qbo gives you the review queue and the duplicate protection.
What is the difference between an IIF file and a QBO file?
IIF is a tab delimited text format Intuit built for loading lists and transactions directly into QuickBooks Desktop, and QBO is Intuit's Web Connect format for bank and credit card activity. The practical difference is what happens on import. An IIF file posts straight to the register with no review step, no matching and no duplicate detection. A .qbo lands in Bank Feeds where QuickBooks matches it against existing entries and ignores transactions it has already accepted. IIF also works only on Desktop, while a .qbo imports into both QuickBooks Desktop and QuickBooks Online.
Can QuickBooks Online import an IIF file?
No. IIF is a QuickBooks Desktop format only, and there is no IIF import anywhere in QuickBooks Online. If you have been handed an IIF file and you work in Online, the data has to be rebuilt in a format Online accepts, which for bank and card activity means a CSV upload or a .qbo file. If it is card activity specifically, the sign convention flips on the way in, so it is worth reading how card exports map into a QuickBooks card account before you rebuild anything. That is one more reason not to standardize a workflow on IIF in 2026, since the Desktop lineup it belongs to is the part of QuickBooks that is shrinking.
Does QuickBooks Enterprise import IIF files?
Yes, Enterprise imports IIF the same way Pro and Premier do, and the same warnings apply. Enterprise still cannot import a bank CSV, so companies moving up from Pro or Premier often reach for IIF out of habit. The supported route is the same one every Desktop edition uses: a .qbo file through Bank Feeds. See import CSV into QuickBooks Enterprise for the full walkthrough.
How do I import an IIF file into QuickBooks Desktop?
Go to the File menu, choose Utilities, then Import, then IIF Files, and select Import IIF. Pick the file and confirm. Sign in as the admin user in single user mode first, and back up the company file before you run it, because an IIF import writes straight into your data with no review queue and no undo.
QuickBooks Desktop 2019 and later scan the file before writing anything. If some rows fail, QuickBooks imports the good ones, tells you how many lists and transactions succeeded and how many did not, and writes a fresh .IIF file containing only the failed rows with the error text appended, so you can fix and re import just those. The dialog offers Review now, which opens that file, Open in folder, or Close, which discards the failures. Search the file for the word ERROR to find what it objected to.
The newer scanner is stricter than the old importer and occasionally rejects files that imported cleanly in QuickBooks 2018 and earlier. When that happens the legacy import without review path still exists and is the usual workaround, though it is worth reading the errors first rather than assuming the scanner is wrong.
What is the difference between an IIF file and a QIF file?
They come from different products. IIF is Intuit's own tab separated format for QuickBooks Desktop, and it can carry both lists and full double entry transactions. QIF is Quicken Interchange Format, a much older personal finance format that holds a flat list of bank transactions with no double entry structure. QuickBooks Desktop does not import QIF at all, which is why people converting old Quicken data end up looking for an IIF or, more usefully, a .qbo file.
For bank and card history the .qbo Web Connect file beats both. QIF has no duplicate protection, IIF posts transactions without a review step, and only .qbo carries the unique transaction ID QuickBooks uses to recognize activity it has already accepted.
The takeaway
IIF is a list loading tool from an older era of QuickBooks. Use it for what it is good at, and keep it away from your bank register. If you are trying to get bank or credit card transactions into QuickBooks, the right path is a .qbo file, and the CSV to IIF vs CSV to QBO comparison lays out which format each QuickBooks version will actually accept: CSV to QuickBooks Desktop if you are on Desktop, CSV to QuickBooks Online if you are in the cloud, and set up bank feeds in QuickBooks Desktop if you want the connection working properly first.