Skip to content
LedgerLocal

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.

  • !TRNS defines the columns for the transaction-level row. This row usually carries the bank or credit card side of the entry.
  • !SPL defines the columns for each split line — the category, item, or other account the transaction is distributed to. A transaction can have several split lines.
  • !ENDTRNS closes 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 TRNS row is the bank side: a check dated 01/15/2025 from the Checking account, made out to Acme Supplies, for -125.00.
  • The SPL row sends the same 125.00 to the expense account Office 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

  1. Back up your company file first. IIF imports are difficult to undo.
  2. In QuickBooks Desktop, go to File → Utilities → Import → Import IIF Files.
  3. Select your .iif file and confirm the import warning.
  4. Review the result. Imported transactions land in the registers of the accounts named in the file.
  5. 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

Missing header rows

If !TRNS, !SPL, and !ENDTRNS are absent or out of order, QuickBooks cannot interpret the data rows and the import fails.

Wrong date format

IIF dates are normally written as MM/DD/YYYY. If a date is malformed or does not match what QuickBooks expects for your setup, the line can fail or be read incorrectly.

Account names that do not exist

Every account in the file must already exist in the chart of accounts, spelled exactly as it appears there, including subaccount colons. Misspelled names break the import.

Unbalanced transactions

The TRNS and SPL amounts in a block must sum to zero. A missing split or a typo produces an out-of-balance error.

Tabs replaced by spaces

IIF is tab-delimited. Editing the file in a word processor or copy-pasting through a spreadsheet can silently replace tabs with spaces and corrupt the file.

Wrong number of columns

Each data row must contain the same number of tab-separated fields as its header row. Extra or missing fields shift every value that follows.

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.