Guides  /  IIF imports

How to create an IIF file for journal entries in QuickBooks Desktop

Short version: An IIF journal entry is a tab-delimited text file with three row types, TRNS (the first line), one or more SPL (the offsetting lines), and ENDTRNS (close the entry), under header rows that name the columns. Debits and credits are signs, not columns, and every entry must net to zero. Get the tabs, the signs, and the account names right and Desktop imports it in seconds. Get one wrong and it posts garbage silently, so validate first and back up always.

Hand-keying a hundred allocation lines is how errors get in and evenings get lost. If you're on QuickBooks Desktop, a well-formed IIF file does the same work in one import. Here's the exact structure and the steps that keep it clean. If you want the background on IIF first, start with what an IIF file is and when to use one.

The structure of an IIF journal entry

Every journal entry is a sandwich: a TRNS line on top, one or more SPL lines in the middle, an ENDTRNS line to close. Once at the top of the file, header rows with a leading exclamation point name the columns. Here's a complete, balanced example:

example.iif (tab-delimited)

!TRNS	TRNSTYPE	DATE	ACCNT	NAME	CLASS	AMOUNT	MEMO
!SPL	TRNSTYPE	DATE	ACCNT	NAME	CLASS	AMOUNT	MEMO
!ENDTRNS
TRNS	GENERAL JOURNAL	01/31/2026	Rent Expense		Admin	2400.00	Jan rent allocation
SPL	GENERAL JOURNAL	01/31/2026	Rent Expense		Production	1600.00	Jan rent allocation
SPL	GENERAL JOURNAL	01/31/2026	Prepaid Rent			-4000.00	Jan rent allocation
ENDTRNS

Read it top to bottom: two debits to Rent Expense (split across classes) totaling 4,000, one 4,000 credit to Prepaid Rent. The amounts net to zero, so the entry balances. Stack more TRNS/SPL/ENDTRNS blocks under the same three headers to load many entries at once.

The rules that make it import clean

  • Tabs, not spaces or commas. IIF is tab-delimited. A file that looks aligned but uses spaces will fail or misread.
  • Signs are your debits and credits. Positive is a debit, negative is a credit. There is no separate debit/credit column.
  • Every entry nets to zero. The TRNS amount plus all its SPL amounts must sum to exactly zero.
  • Account names must match exactly. The names in the ACCNT column have to match your chart of accounts character-for-character, or QuickBooks creates a new account with that name.
  • Dates in the format QuickBooks expects, typically MM/DD/YYYY. Don't let Excel turn a date into a serial number.
  • One ENDTRNS per entry, and save as plain text with an .iif extension.

Building and importing it, step by step

  1. Back up the company file. IIF import has no undo. This step is not optional.
  2. Build it in a spreadsheet with columns in the header order above. Keep account names in a column you can validate against your real chart of accounts.
  3. Balance every entry to zero. A quick SUM per entry catches the lopsided ones before QuickBooks does.
  4. Export as tab-delimited text and save with an .iif extension. Confirm the delimiter is a tab, not a comma.
  5. Import: File → Utilities → Import → IIF Files, select the file, and read any messages it returns.
  6. Spot-check the posted entries against your source. Open a couple, confirm the accounts, amounts, dates, and classes landed where you intended.

The errors that bite, and how to catch them

The silent killers: a space where a tab should be, an entry that doesn't net to zero, an account-name typo that spawns a duplicate account, and Excel reformatting a date or stripping a leading zero on save. None of these announce themselves. All of them are catchable before import if you validate.

The pattern across every one of these is the same: the file looked fine and wasn't. That's why the real work is validation, not typing. Check that each row has the right number of tab stops, that every entry balances, that each account name exists in your chart, and that dates survived the round trip through your spreadsheet.

Build it right once

The reliable way to do this at any volume is a template that enforces the rules for you: fixed column order, a balance check that won't let an entry through unless it nets to zero, and account-name validation against your chart before you ever hit import. That's the difference between an import you dread and one that's boring. Boring is the goal.

Generate balanced IIF journal entries without the hand-formatting

The IIF Journal Entry Generator builds correctly structured, balanced entries, general, allocation, reclass, accrual with reversal, and batch, and won't output until the entry balances. The IIF Toolkit adds the Field Guide & Checker to validate before you import.

Common questions

What is the structure of an IIF journal entry?

Three row types: a TRNS row (the first line), one or more SPL rows (the offsetting lines), and an ENDTRNS row. Header rows at the top of the file (!TRNS, !SPL, !ENDTRNS) name the columns. The TRNS and SPL amounts must net to zero.

How do debits and credits work in an IIF file?

By sign. A positive amount is a debit, a negative amount is a credit. Every entry's amounts must sum to zero across the TRNS and SPL lines, or it won't balance.

Why does my IIF file fail to import or import wrong?

Usually: the file isn't truly tab-delimited, the amounts don't net to zero, an account name doesn't exactly match your chart (so QuickBooks creates a new account), the date format is off, or Excel reformatted the data on save. Validate all of these before importing.

How do I import the IIF file into QuickBooks Desktop?

Back up the company file first, then File → Utilities → Import → IIF Files, and select your file. Review any messages, then open the posted entries and spot-check them against your source.

General guidance on working with QuickBooks Desktop, not accounting, tax, or legal advice. Back up your company file before any import. Not affiliated with or endorsed by Intuit Inc. QuickBooks® is a registered trademark of Intuit Inc., used here descriptively only.

Free download

Get the next guide when it publishes

Practitioner guides on QuickBooks Desktop, IIF imports, and controller-grade books. One email per guide. Unsubscribe in a click.