IIF structure guide

QuickBooks IIF File Format: Headers and Transactions

Intuit Interchange Format is a tab-separated text format used by QuickBooks Desktop for list and transaction imports. Its small set of structural rules is simple to read but easy to break in spreadsheets and generated files.

Check your IIF file

Headers define the columns

A header row starts with ! followed by a record keyword. For transaction files the common header rows are !TRNS, !SPL, and !ENDTRNS. The following tab-separated names define where QuickBooks should read fields such as TRNSTYPE, DATE, ACCNT, NAME, CLASS, and AMOUNT.

Records use the same positions

A TRNS data row begins the transaction and uses the positions declared by !TRNS. SPL data rows use !SPL. ENDTRNS closes the block. Optional trailing values may be omitted, but an accidental extra tab can shift data into a new unnamed column.

Structure is only the first validation layer

Even a perfectly structured file may fail when a name is missing from the company file, uses an incompatible type, exceeds a QuickBooks limit, or is unsupported by that product version. Static validation should be treated as a preflight, not certification.

Frequently asked questions

Is IIF comma-separated?

No. IIF uses tab-separated fields. A CSV renamed to .iif does not become a valid IIF file.

Does every IIF file contain transactions?

No. IIF can also contain list records such as accounts, customers, vendors, employees, and items, each with its own header keyword.

Related IIF guides

QuickBooks and Intuit are trademarks of Intuit Inc. PolicyPilot is an independent tool and is not affiliated with or endorsed by Intuit.