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.
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 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.
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.
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.
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.
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.
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.
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.
Practitioner guides on QuickBooks Desktop, IIF imports, and controller-grade books. One email per guide. Unsubscribe in a click.