Skip to content
← All Tools
๐Ÿ”’All processing in your browser ๐ŸšซNo uploads stored ๐Ÿ›ก๏ธPrivacy-first conversion tools โœ“No login required
Guide

QuickBooks IIF File Format Explained

Bill Crawford — Developer Guide — 2026  ยท  Published March 24, 2026

IIF (Intuit Interchange Format) is a tab-delimited text format that QuickBooks Desktop has used for decades to import and export lists and transactions. If you are migrating data into QuickBooks, building an integration, or trying to fix a failed import, understanding the format at the structural level will save you hours of guesswork.

Connect on LinkedIn โ†’

Validate your IIF file instantly: Check structure, transaction blocks, required fields, and encoding before attempting to import.

Open IIF Validator โ†’

Table of Contents

  1. File Structure Overview
  2. Header Lines and the ! Prefix
  3. Transaction Blocks: TRNS, SPL, ENDTRNS
  4. Required Fields
  5. Common Record Types
  6. Date and Amount Formats
  7. Encoding and Line Endings
  8. A Complete Example

File Structure Overview

An IIF file is a plain text file with a .iif extension. Every line is tab-delimited. The format has two types of lines: header lines (prefixed with !) that define columns, and data lines that supply values for those columns. A header line must appear before any data lines of the same type.

The file can contain multiple sections โ€” transactions, accounts, customer lists, vendor lists, and so on โ€” all in one file, separated by their respective header/data line pairs.

Header Lines and the ! Prefix

Every record type in an IIF file is announced by a header line. Header lines begin with ! followed by the record type name, then tab-separated column names. For example:

!TRNS	TRNSID	TRNSTYPE	DATE	ACCNT	NAME	AMOUNT	DOCNUM	MEMO	CLEAR	TOPRINT

This declares that TRNS data lines will have 10 fields in this exact order. Every data line of type TRNS that follows must have exactly that many tab-separated fields โ€” no more, no fewer. A mismatch in field count is one of the most common causes of IIF import failures.

The ! prefix is also used for the split line header:

!SPL	SPLID	TRNSTYPE	DATE	ACCNT	NAME	AMOUNT	DOCNUM	MEMO	CLEAR	QNTY	PRICE	INVITEM	TAXABLE	REIMBEXP	SERVICEDATE	OTHER1	OTHER2

Transaction Blocks: TRNS, SPL, ENDTRNS

Transactions are the most structurally strict part of IIF. Every transaction must follow this pattern:

TRNS	[trns fields...]
SPL	[spl fields...]
SPL	[spl fields...]   โ† one or more split lines
ENDTRNS

The rules are firm: a TRNS line opens a transaction block. At least one SPL line must follow. ENDTRNS closes the block. There is no nesting โ€” you cannot start a new TRNS before closing the previous one with ENDTRNS. QuickBooks will reject the entire import if any block is unclosed or improperly nested.

ENDTRNS takes no fields โ€” it is a literal terminator with no tab-separated values after it.

Required Fields

Not all columns in a header need to be populated, but certain fields are mandatory for QuickBooks to accept the record:

For TRNS lines: ACCNT (account name), AMOUNT (signed numeric), and DATE (transaction date) are required. Omitting any of these causes the transaction to be silently skipped or rejected depending on the QuickBooks version.

For SPL lines: ACCNT and AMOUNT are required. The split amount should be the opposite sign of the transaction amount for a balanced entry โ€” though QuickBooks will sometimes accept unbalanced transactions and flag them in the register.

Common Record Types

Beyond transactions, IIF files support a range of list record types. The most commonly used are:

ACCNT โ€” chart of accounts entries. Defines account name, type (BANK, CCARD, EXPS, INC, etc.), description, and balance. Accounts must exist before transactions referencing them can be imported โ€” import your account list first.

CUST โ€” customer records. Name, billing address, contact information, payment terms, and tax settings.

VEND โ€” vendor records. Similar structure to CUST.

INVITEM โ€” items (products and services). Item type, description, account linkage, price, and cost.

CLASS โ€” class tracking entries, used when class tracking is enabled in QuickBooks.

Each of these has its own !-prefixed header line and follows the same header/data pairing rules as transactions.

Date and Amount Formats

QuickBooks IIF is strict about both formats. Dates must use M/D/YY or M/D/YYYY โ€” for example 3/15/24 or 3/15/2024. ISO 8601 format (2024-03-15), zero-padded months (03/15/2024), or any other variation will cause the date field to be rejected.

Amounts must be plain numeric values, optionally with a decimal point. Negative amounts use a leading minus sign: -150.00. Do not include currency symbols, thousands separators, or parentheses for negative values. A value like ($150.00) or 1,500.00 will fail amount validation.

Encoding and Line Endings

IIF files should be saved as plain ASCII or Windows-1252 (ANSI). A UTF-8 BOM (EF BB BF at the start of the file) will confuse QuickBooks' parser and cause the first line to be misread. If you are generating IIF files programmatically on a Mac or Linux system, ensure you are not writing a UTF-8 BOM.

Line endings should be Windows-style CRLF (\r\n). LF-only line endings (Unix style) are usually tolerated by modern QuickBooks versions but can cause issues with older releases. Null bytes in the file indicate binary content or encoding corruption and will prevent the file from loading entirely.

A Complete Example

This is a minimal but valid IIF file that imports one transaction with one split line:

!ACCNT	NAME	ACCNTTYPE
ACCNT	Checking	BANK
ACCNT	Office Supplies	EXPS

!TRNS	TRNSTYPE	DATE	ACCNT	NAME	AMOUNT	MEMO
!SPL	TRNSTYPE	DATE	ACCNT	NAME	AMOUNT	MEMO
!ENDTRNS
TRNS	CHECK	3/24/2026	Checking	Staples	-89.50	Office paper
SPL	CHECK	3/24/2026	Office Supplies	Staples	89.50	Office paper
ENDTRNS

Key things to notice: the account list comes before the transaction section; both !TRNS and !SPL headers appear before any data; !ENDTRNS is declared as a header even though it carries no data columns; and the amounts balance (โˆ’89.50 + 89.50 = 0).

Further reading: Intuit Developer Documentation

BC
Bill Crawford
Founder, Data Conversion Center

Bill Crawford is a data systems developer and technical founder with over 30 years of professional experience in accounting, finance, and business operations. He founded DataConversionCenter.com to build practical, browser-based tools that simplify complex data challenges โ€” including financial data formats like QuickBooks IIF files.

Professional Background