IIF File Format for QuickBooks Desktop, Explained
IIF stands for Intuit Interchange Format. It is a plain, tab-delimited text format that QuickBooks Desktop can import, which makes it one of the most practical ways to move transactions into a company file from a spreadsheet or another system.
What an IIF file is
An IIF file is not a spreadsheet and not a database. It is a text file with an
.iif extension where
every line is a record and every column is separated by a tab character. QuickBooks Desktop
uses the format to import and export lists such as accounts, customers, vendors, and items, as
well as transactions such as checks and deposits.
Because it is text, an IIF file can be generated from a CSV or Excel export. That is exactly what the CSV to IIF converter on this site does. Intuit does not publish the format as a formal public specification, so most people learn it from files that QuickBooks itself exports and from examples like the one below.
The header lines: !TRNS, !SPL, and !ENDTRNS
Header lines begin with an exclamation mark. They tell QuickBooks which columns the data rows that follow will contain, and in what order.
-
!TRNSdefines the columns for the transaction-level row. This row usually carries the bank or credit card side of the entry. -
!SPLdefines the columns for each split line — the category, item, or other account the transaction is distributed to. A transaction can have several split lines. -
!ENDTRNScloses the header block. After this line, the actual transaction records begin.
Data rows use the same words without the exclamation mark:
TRNS for the
transaction line, SPL
for a split, and ENDTRNS
to close each transaction block. Column names such as
TRNSTYPE,
DATE,
ACCNT,
NAME,
AMOUNT,
DOCNUM, and
MEMO appear in the
header lines, so the data rows are read positionally.
A small realistic example
Here is a single check written from a checking account, shown tab-delimited the way an IIF
file actually looks. The blank field after 125.00
is an empty DOCNUM on
the split line (two tabs in a row).
!TRNS TRNSTYPE DATE ACCNT NAME AMOUNT DOCNUM MEMO !SPL TRNSTYPE DATE ACCNT NAME AMOUNT DOCNUM MEMO !ENDTRNS TRNS CHECK 01/15/2025 Checking Acme Supplies -125.00 1001 Office supplies SPL CHECK 01/15/2025 Office Supplies:General Acme Supplies 125.00 Office supplies ENDTRNS
Reading the block line by line:
- The two header rows define seven columns each for TRNS and SPL records.
-
The
TRNSrow is the bank side: a check dated 01/15/2025 from the Checking account, made out to Acme Supplies, for -125.00. -
The
SPLrow sends the same 125.00 to the expense accountOffice Supplies:General. The colon marks a subaccount, and it is a literal part of the account name. - The amounts balance to zero (-125.00 + 125.00), which is what QuickBooks expects for every transaction block. In IIF sign conventions, a positive amount is a debit and a negative amount is a credit.
How QuickBooks Desktop imports an IIF file
- Back up your company file first. IIF imports are difficult to undo.
- In QuickBooks Desktop, go to File → Utilities → Import → Import IIF Files.
-
Select your
.iiffile and confirm the import warning. - Review the result. Imported transactions land in the registers of the accounts named in the file.
- Open each affected register and verify the dates, amounts, and category accounts.
Transactions brought in through IIF do not go through the Bank Feeds center, so they will not appear there for matching. Plan to reconcile the account afterward to confirm the register agrees with your statement. IIF import is a QuickBooks Desktop feature; QuickBooks Online uses different import formats.
Common IIF errors
Check an IIF file before you import it
Importing a broken file into a live company file is the hard way to find mistakes. Two free tools on this site help:
- IIF to CSV opens the file in your browser, lists the parsed transactions and warnings such as missing headers or unbalanced blocks, and exports a CSV you can review in Excel.
- CSV to IIF builds a clean, tab-delimited IIF file from a CSV, XLS, or XLSX export, with a dedupe option to help avoid importing the same rows twice.
Both tools run entirely in your browser. Your files are never uploaded, and no account is required. LedgerLocal is not affiliated with Intuit; QuickBooks and QuickBooks Desktop are trademarks of Intuit Inc.