File format reference

IIF file for QuickBooks Desktop: structure, a sample and limits

The Intuit Interchange Format read row by row: the header lines, a transaction block, the import steps and the limits Intuit documents.

Short answer

An IIF file is an Intuit Interchange Format file: tab-separated ASCII text that QuickBooks Desktop uses to import or export lists and transactions. Header rows starting with an exclamation mark name the columns, and a transaction block has a TRNS line, one or more SPL lines and an ENDTRNS line.

What an IIF file is

Intuit describes IIF files as ASCII text, tab-separated, that QuickBooks Desktop uses to import or export lists or transactions. QuickBooks Desktop formats the file itself when you export. Writing an IIF file from scratch, or adapting data from another program, is harder, and Intuit says the format has to be followed exactly.

Header rows tell QuickBooks what kind of data follows. They begin with an exclamation mark, and the first column of a header holds a keyword. A transaction import file usually has three header lines in its first three rows: !TRNS, !SPL and !ENDTRNS. Each header row defines the fields of the row type it names.

An annotated sample

This file is synthetic: the security, accounts and amounts are invented. Tabs are shown as gaps. The highlighted lines are one transaction: a TRNS line, two SPL lines and the ENDTRNS line that closes the block. It records a purchase of 100 units for 1,000.00 plus a 5.00 fee, paid from a cash account.

!TRNS	TRNSTYPE	DATE	ACCNT	AMOUNT	MEMO!SPL	TRNSTYPE	DATE	ACCNT	AMOUNT	MEMO!ENDTRNSTRNS	GENERAL JOURNAL	10/04/2026	Brokerage Cash	-1005.00	BUY 100 EXMPSPL	GENERAL JOURNAL	10/04/2026	Investments	1000.00	BUY 100 EXMPSPL	GENERAL JOURNAL	10/04/2026	Trading Fees	5.00	BUY 100 EXMPENDTRNS
Synthetic IIF file: three header lines and one general-journal transaction (highlighted)
The five columns in the sample
ColumnIn the sampleWhat it holds
TRNSTYPEGENERAL JOURNALThe transaction type
DATE10/04/2026The date of the transaction
ACCNTBrokerage CashThe account the line posts to
AMOUNT-1005.00The amount, signed
MEMOBUY 100 EXMPA free-text note

The columns above are the ones this sample uses. Intuit publishes the full list of columns for each kind of list and transaction in its IIF Import Kit, along with sample files; use those as templates, because the exact header for a given transaction type matters.

How to import and export

Intuit’s steps for QuickBooks Desktop are:

  1. Back up your company file first. Intuit says to do this before importing any IIF file.
  2. Sign in as an admin. In multi-user mode, Intuit’s steps say to switch to single-user mode.
  3. Open File, then Utilities, then Import, then Import IIF.
  4. Choose the file, select Open, then OK to confirm.

Export goes the other way: File, Utilities, Export, Lists to IIF Files, then the lists you want.

QuickBooks Desktop 2019 and later has an improved import tool. Intuit says it scans the file for errors, shows how many items imported and how many failed, and writes a new IIF file containing the failed records with a description of each error. It also works in multi-user mode.

Limits Intuit documents

  • Limited error checking. Intuit says importing an IIF file gives only limited error checking: an incorrect format can raise an error, or the data can import wrongly with no error. Check the data after importing.
  • Accounts that do not exist. Intuit says all accounts in the file should already exist in QuickBooks. A transaction that names an account that is not there causes the account to be created as a new bank account.
  • Country versions. IIF files cannot be moved between country versions of QuickBooks, for example from the US version to the Canadian version.
  • Leading zeros in Excel. Excel drops leading zeros from numbers in an IIF file; Intuit suggests formatting the column cells as Custom.
  • Not a QuickBooks Online format. Intuit describes IIF as a QuickBooks Desktop format, and the file types listed for manual upload to QuickBooks Online (QBO, QFX, OFX, TXT, CSV) do not include it.

Common errors

  • Shifted columns. The fields are positional and separated by tabs. A missing or extra tab moves every later value one column, which is why a spreadsheet that shows the columns is easier to check than a text editor.
  • Header and rows that disagree. A row with more or fewer fields than its header is a format error.
  • An account name that differs by one character. Because a missing account is created rather than refused, a misspelling creates a new account instead of failing.
  • A block that is left open. Each transaction needs its closing ENDTRNS line.

Common questions

Can QuickBooks Online import an IIF file?
Intuit describes IIF as a QuickBooks Desktop format, and the upload guidelines for QuickBooks Online do not list it. QuickBooks Online’s manual upload takes QBO, QFX, OFX, TXT and CSV files.
Can I export transactions as IIF?
Intuit’s export steps are for lists: File, Utilities, Export, Lists to IIF Files, then the lists you want. The Intuit pages cited here give no steps for exporting transactions.
Is an IIF file the same as a QBO file?
No. IIF is tab-separated text for importing lists and transactions into QuickBooks Desktop. A .qbo file is the Web Connect download that brings bank transactions into QuickBooks. See the QBO page.

What Statementizer does with this

Statementizer writes QuickBooks Desktop IIF files as general-journal blocks, one per trade, with dates in MM/DD/YYYY form. The account names are ones you map; a name that cannot be written safely is refused by name instead of being altered, and Statementizer never creates accounts. It also exports a spreadsheet or CSV, an OFX file, a QuickBooks Online CSV and a Xero journal CSV.

See what Statementizer converts

Sources

The definition, header rules, steps and limits come from Intuit’s IIF pages. The statement about QuickBooks Online comes from Intuit’s upload guidelines. The sample is synthetic. The date style and account behaviour in the last section describe Statementizer’s own files.

Verified on 2026-10-18 by the Statementizer Team.