QuickBooks IIF Import: Bank Transactions Guide
By SheetStatement Team · · Updated · 11 min read
TL;DR: IIF is a tab-delimited text format that QuickBooks Desktop imports directly into your company file, including the offset account for each transaction. That makes it powerful for bulk historical entries and dangerous if anything is wrong, because there's no bank-feed style review queue by default. Back up first, make sure every account and name already exists, import a small test, and reconcile immediately afterward.
We like IIF for one specific job: loading a lot of historical bank transactions into QuickBooks Desktop when you already know how each one should be categorized. For everyday bank imports, a QBO (Web Connect) file is usually safer. If you're unsure which to use, start with our comparison of QBO vs IIF vs CSV.
This guide explains how IIF files are structured, how to build one for bank transactions, and how to import without damaging your books.
What IIF is
IIF stands for Intuit Interchange Format. It's an old, plain-text format that QuickBooks Desktop uses to import lists (accounts, customers, vendors, items) and transactions. Fields are separated by tabs, not commas. Each block of lines starts with a header row beginning with ! that names the fields in the rows below.
IIF is a QuickBooks Desktop format. QuickBooks Online doesn't import IIF files. For Online, use CSV or QBO; see importing bank statements into QuickBooks Online.
How a bank transaction looks in IIF
A transaction is written as one TRNS line (the bank side) and one or more SPL lines (the offset side), closed by ENDTRNS. The amounts on the TRNS and SPL lines must sum to zero.
Here's a minimal example with one withdrawal and one deposit (tabs shown as spaces for readability):
!TRNS TRNSTYPE DATE ACCNT NAME AMOUNT MEMO
!SPL TRNSTYPE DATE ACCNT NAME AMOUNT MEMO
!ENDTRNS
TRNS CHECK 03/03/2026 Business Checking Office Supply Co -84.12 Printer paper
SPL CHECK 03/03/2026 Office Supplies Office Supply Co 84.12 Printer paper
ENDTRNS
TRNS DEPOSIT 03/05/2026 Business Checking ABC Client 2400.00 Invoice 1042
SPL DEPOSIT 03/05/2026 Sales Income ABC Client -2400.00 Invoice 1042
ENDTRNS
Reading it:
- !TRNS / !SPL / !ENDTRNS: header rows that define the columns. They appear once at the top.
- TRNS: the bank account side. Money out is negative, money in positive.
- SPL: the offset account (expense, income or another balance sheet account), with the opposite sign.
- ENDTRNS: closes the transaction.
- TRNSTYPE: the QuickBooks transaction type, such as CHECK for money out, DEPOSIT for money in. Other types exist for other purposes.
- ACCNT: the account name exactly as it appears in your chart of accounts.
- NAME: the vendor, customer or other name.
A transaction can have several SPL lines if it splits across accounts, as long as all lines sum to zero with the TRNS line.
Why IIF is powerful (and risky)
With a QBO file, transactions land in a review area where you match or categorize them before they hit the register. With IIF, the file itself says which offset account each transaction goes to, and QuickBooks writes it into the company file.
That's ideal when:
- You're loading a year of historical transactions you've already categorized in a spreadsheet.
- You're migrating from another system and need to replicate transactions with their accounts.
- Your bank isn't supported for Web Connect and you need to bulk-enter data.
It's risky because:
- Mistakes post directly. A wrong sign or account affects your books immediately.
- QuickBooks may create new accounts or names automatically if your spelling doesn't match exactly, leaving you with "Office Supplies" and "Office supplies" side by side.
- Undoing an import means deleting transactions individually or restoring a backup.
Some recent Desktop versions offer additional review options when importing IIF. Check what your version provides, but don't rely on it as a safety net. Plan as if the import goes straight in.
A safe IIF import process
1. Back up the company file
Before anything else. File > Back Up Company (or your version's equivalent). If the import goes wrong, restoring the backup is often the fastest fix.
2. Make sure every account and name exists
Export your chart of accounts and vendor/customer lists, and check that every ACCNT and NAME in your IIF file matches exactly, including capitalization, spaces and sub-account notation (sub-accounts use a colon, like Utilities:Electric).
3. Build the file from verified data
Start with converted, balance-checked statement data. If your statements are PDFs, SheetStatement's QuickBooks converter can export IIF directly, with the bank account and offset accounts you specify. If you build the IIF yourself from Excel, do it from a sheet that already has categories assigned (see Excel formulas for categorizing transactions).
4. Save as tab-delimited text
In Excel, use Save As > Text (Tab delimited) and change the extension to .iif. Don't let Excel wrap fields in quotes, and check that dates are in the format QuickBooks expects for your company (usually MM/DD/YYYY for US files).
5. Import a small test first
Create a test file with two or three transactions. Import it via File > Utilities > Import > IIF Files (wording can vary by version). Open the register and confirm:
- The transactions are on the right dates.
- Withdrawals reduced the bank balance and deposits increased it.
- The offset accounts are correct.
- No new accounts or names were created unexpectedly.
6. Import the rest
Import month by month rather than a year at once. Smaller files are easier to verify and, if needed, to undo.
7. Reconcile immediately
Reconcile each month against the statement in QuickBooks' reconcile window. If it reconciles, the import was complete and correct for that account. If not, see our guide to finding reconciliation discrepancies.
Transfers, card charges and other transaction types
Bank transactions aren't only checks and deposits. A few other cases come up in nearly every IIF project.
Transfers between your own accounts
A transfer from checking to savings is a TRNS line on checking (negative) and an SPL line on savings (positive). Because the offset account is the savings account itself, the transfer appears in both registers from a single IIF transaction. Don't also import the savings side from the savings statement, or you'll record it twice. Pick one account as the "owner" of each transfer, usually the one the money left, and skip the matching line when you build the other account's file.
Credit card charges
For a credit card account, QuickBooks uses card-specific transaction types for charges and credits rather than CHECK and DEPOSIT. The structure is the same TRNS/SPL/ENDTRNS pattern, but the TRNS line is on the credit card account and the signs follow the card's perspective. The simplest way to get the exact field values your version expects is to enter one card charge by hand, export it to IIF from QuickBooks, and copy its structure. That "export one, copy the pattern" trick works for any transaction type you're unsure about.
Bank fees and interest
These are just withdrawals and deposits with an expense or income account on the SPL line. Give them a consistent NAME (for example, the bank's name) so they're easy to find later.
Split transactions
If one bank line covers several categories, such as a supplier payment for both materials and freight, use several SPL lines whose amounts add up to the opposite of the TRNS amount. This is one of IIF's real advantages: you can import splits in bulk, which QBO and CSV bank imports don't let you specify up front.
Keeping a record of what you imported
Keep the IIF files you imported, named by account and period, alongside the source statements. If a question comes up later about how a transaction got into the books, you can show the exact line that created it. It also makes it easy to check, months later, whether a given period was imported once, twice or not at all, which is the question everyone eventually asks after a migration.
Building IIF from Excel
If you have a categorized table with Date, Payee, Amount (signed), Category and Memo, you can generate IIF lines with formulas.
In a new sheet, for each transaction, you need three rows: TRNS, SPL, ENDTRNS. One approach:
- In the source table, add a TRNSTYPE column:
=IF([@Amount]<0,"CHECK","DEPOSIT"). - Create the output sheet with the three header rows at the top.
- For each transaction, write a TRNS row referencing the bank account and the signed amount, an SPL row referencing the category with
-Amount, and an ENDTRNS row.
You can do this with INDEX formulas that step through the source table in threes, or more simply with a short script. In Microsoft 365, a LET/VSTACK/HSTACK formula can produce the whole block. However you do it, check the output in a text editor before importing.
Honestly, if you're doing this regularly, a converter that exports IIF directly is far less error-prone than maintaining formulas.
Common IIF errors
"Error on line X: invalid account." The account name doesn't match. Check spelling, capitalization and sub-account colons.
Duplicate accounts or names appear. QuickBooks created new ones because of a spelling mismatch. Merge them in the list, fix the file, and be stricter next time.
Transaction not balanced. The TRNS and SPL amounts don't sum to zero. Check signs and rounding.
Dates off by a day or in the wrong month. Date format mismatch. Use the format your QuickBooks expects, with four-digit years.
Everything imports as one big transaction. A missing ENDTRNS line. Each transaction needs its own.
Excel added quotes. Some save options wrap text in quotes. Open the file in a text editor and remove them, or save from a text editor.
Fields shifted. A tab inside a memo or name shifts every following field. Remove tabs from text fields before saving.
IIF and bank reconciliation
IIF imports don't mark transactions as cleared. After importing, you'll reconcile each month in the usual way, ticking off transactions against the statement. This is your best check: if every month reconciles to the statement's closing balance, you know the IIF data was complete and the signs were right.
A worked example
A bookkeeper is migrating a client from a spreadsheet-based system to QuickBooks Desktop. She has twelve months of converted, categorized bank transactions.
- She backs up the new company file.
- She exports the chart of accounts and compares it with the 23 categories in her spreadsheet. Two don't match: "Software subscriptions" (spreadsheet) vs. "Software" (QuickBooks), and "Meals" vs. "Meals & Entertainment." She renames the spreadsheet categories to match.
- She generates the IIF for January only and imports it. Opening the register, she sees the bank balance after January matches the statement. The P&L for January shows expenses in the right accounts.
- She imports February through December, one month at a time, reconciling each.
- In August, reconciliation is off by 250.00. She finds a transfer to savings categorized as "Owner Draw" instead of the savings account. She corrects the transaction in QuickBooks, and August reconciles.
The whole year goes in without retyping, and every month is reconciled.
Who should prepare the file
In practice, IIF imports go best when the person building the file knows both the data and the company file. If you're a business owner, it's worth having your bookkeeper or accountant review the account mapping before the first import, even if you build the file yourself. They know which accounts they expect expenses to land in, how owner money should be recorded, and whether there are existing transactions in the period that an import would duplicate. A fifteen-minute review before importing is far cheaper than an afternoon of cleanup after.
When not to use IIF
- You're on QuickBooks Online. IIF isn't supported.
- You haven't categorized the transactions. Use QBO and categorize in QuickBooks instead.
- You need duplicate protection. QBO files include transaction IDs; IIF doesn't.
- You're not comfortable restoring a backup. If a mistake would be a disaster, start with QBO.
Our take
IIF is a sharp tool. For bulk historical data that's already categorized, it saves enormous amounts of time. For routine bank imports, the QBO review flow is safer. Whichever you choose, the same discipline applies: verified source data, exact account names, a small test, and reconciliation straight away.
Troubleshooting IIF imports
QuickBooks reports an error on a line. IIF is unforgiving about structure: header rows (lines starting with !), transaction lines (TRNS), split lines (SPL) and end lines (ENDTRNS) must appear in the right order, separated by tabs, not commas or spaces. Open the file in a text editor that shows tabs and check the line QuickBooks complains about.
Accounts or names are created unexpectedly. If an account or name in the file doesn't exactly match one in QuickBooks, Desktop may create a new one. Check spelling and capitalization against your lists before importing, and review the chart of accounts after.
Transactions don't balance. Each transaction's TRNS and SPL amounts must sum to zero. A rounding error or a missing split line breaks the transaction.
Dates import wrong. Use the date format your QuickBooks installation expects, consistently. Test with a small file first.
Nothing to undo. IIF imports can be hard to reverse in bulk. Always back up the company file before importing, and test in a copy.
A mini checklist before importing an IIF file
- Company file backed up.
- File tested on a copy of the company file.
- Tab-delimited, with correct header rows.
- Every TRNS block has balancing SPL lines and an ENDTRNS.
- Account and name spellings match QuickBooks exactly.
- Dates in one consistent format.
A second worked example: when IIF isn't the right tool
A bookkeeper planned to import a year of bank transactions with IIF and spent an afternoon building the file. The import worked, but every transaction was entered directly into the register, without going through bank feed review or matching against existing invoices and bills. Several customer payments were now recorded twice. She restored the backup and used Web Connect (QBO) files instead, which brought the transactions in for review and matching. IIF is the right tool for journal-style imports; for bank statements, QBO usually is. Our QBO conversion guide covers that route.
FAQ
What is an IIF file in QuickBooks?
An IIF (Intuit Interchange Format) file is a tab-delimited text file that QuickBooks Desktop can import to add lists or transactions directly to a company file, including the offset accounts.
Can I import IIF files into QuickBooks Online?
No. IIF is a QuickBooks Desktop format. For QuickBooks Online, use CSV or QBO files to import bank transactions.
How do I import an IIF file into QuickBooks Desktop?
Back up your company file, then use the import option for IIF files under File > Utilities > Import (wording varies by version). Test with a small file first and check the register.
Why does my IIF import create duplicate accounts?
Account or name spellings in the file don't exactly match your lists, so QuickBooks creates new ones. Match names exactly, including capitalization and sub-account colons.
Should I use IIF or QBO for bank transactions?
Use QBO for routine imports, since transactions go to a review area and include IDs that help prevent duplicates. Use IIF for bulk historical data that's already categorized.
How do I undo an IIF import?
There's no single undo. Delete the imported transactions or restore the backup you made before importing, which is why the backup step matters.
Skip the retyping
Upload a PDF or scanned statement and download a balance-checked Excel, CSV, QuickBooks or Xero file. Try the converter free.
Related articles
Convert your first statement free
3 pages a month on the free plan. No credit card.