IIF File in QuickBooks: What It Is and When Not to Use It
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 an IIF file actually is
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 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.
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.
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: 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.