Free tool · QuickBooks Desktop

IIF file checker for QuickBooks Desktop

Drop in an .iif file before you import it. The checker reads every row the way QuickBooks Desktop needs it: the !TRNS, !SPL and !ENDTRNS headers, tabs between columns, transactions that add up to zero, dates, amounts, account names and transaction types. For each problem it shows the line and a plain-English fix.

Free, no sign-upRuns in your browser, nothing is uploadedBank and credit card IIF files
Try it: · · Runs in your browser. Nothing is uploaded or stored.

How to use the checker

  1. Add the file. Drop the .iif onto the box above, click to choose it, or open it in Notepad and paste the contents. It's read in your browser and never leaves your computer.
  2. Read the verdict. Green means every transaction has its headers, its TRNS, SPL and ENDTRNS rows and adds up to zero. Red lists the problems QuickBooks will probably refuse. Amber lists things that usually import but post to the wrong account, date or type with no error, which Intuit warns can happen: its IIF overview says imports have only limited error checking and bad formatting can import incorrectly without an error.
  3. Fix and check again. Each finding shows the line numbers and what to change. For safe, mechanical fixes (amount formatting, year-first dates, stray spaces, a byte-order mark, a CSV that should be tab-delimited), download the cleaned copy. It never changes an amount's value, adds rows or guesses a date.
  4. Back up, then import. Back up the company file first (Intuit's import steps say to), then File → Utilities → Import → IIF Files. If QuickBooks still says File not imported, use Review now and follow our IIF import errors guide.

The summary shows how many transactions the file holds, how many are clean, the net change to the bank or card account, money in and out, and the date range, so you can compare them with the statement before anything posts. If the source statement itself doesn't tie out, the free bank statement balance checker finds the line that's off.

What it checks, and where each rule comes from

Intuit's help articles cover IIF in outline (the detail is in its downloadable IIF Import Kit), and Intuit doesn't offer assisted support for creating or importing IIF files. So every finding is labelled: Intuit rule (from Intuit's help articles and sample files), How our exporter writes it (Utilly's own IIF export, which imports cleanly), or Common cause (a frequent reason imports fail, not an Intuit rule).

CheckWhat goes wrongSource
Tab-delimitedA CSV renamed to .iif, or tabs turned into spaces by copying from an email or web page.Intuit: IIF files are ASCII text, tab-separated (TSV)
!TRNS, !SPL, !ENDTRNS headersMissing, misspelled (!TRANS) or placed after the rows they describe.Intuit: header rows begin with "!", and their spelling and placement are required
TRNS → SPL → ENDTRNSA missing ENDTRNS (the next transaction runs into this one), an SPL outside a transaction, a TRNS with no SPL.Intuit's sample transaction layout
Adds up to zeroTRNS and SPL amounts that don't net to 0.00, including SPLs with the same sign as the TRNS.Intuit's sample (−70 + 10 + 60 = 0); users see QuickBooks' "Transaction not in balance" message
Column countsA tab inside a memo or name pushes every later value one column right.Common cause
Required columnsNo TRNSTYPE, DATE, ACCNT or AMOUNT on !TRNS; no ACCNT or AMOUNT on !SPL; ACCOUNT or AMT instead of ACCNT or AMOUNT.Intuit sample + our exporter
Account namesEmpty ACCNT, trailing spaces, the same account spelled two ways, doubled colons.Intuit: an account not already in the company file is created as a new bank account
DatesDay-first (15/08/2026), year-first (2026-08-15), Excel serial numbers, impossible dates, typos decades away.Intuit's samples are month first (3/3/2010); our exporter writes MM/DD/YYYY
Amounts$ signs, thousands commas, (parentheses), trailing minus, CR/DR, 1.23E+05, more than 2 decimals.Our exporter writes plain numbers like -1234.50
Transaction typesEmpty or unknown TRNSTYPE (WITHDRAWAL, DEBIT), TRNS and SPL types that differ, a CHECK with a positive amount.Our exporter: CHECK/DEPOSIT for banks, CREDIT CARD/CCARD REFUND for cards
Characters and encodingCurly quotes, long dashes, non-breaking spaces, a byte-order mark, a file saved as Unicode (UTF-16).Intuit: ASCII text; specific characters are a common cause

List rows such as !ACCNT, !VEND and !CUST are counted but not checked in detail. Most import trouble is in the transactions.

Anatomy of a clean bank IIF file

This is the shape our converter writes for a checking account, and the same shape as the check in Intuit's IIF overview. Columns are separated by tabs.

!TRNS	TRNSTYPE	DATE	ACCNT	NAME	AMOUNT	MEMO
!SPL	TRNSTYPE	DATE	ACCNT	NAME	AMOUNT	MEMO
!ENDTRNS
TRNS	CHECK	08/03/2026	Checking		-4.50	STARBUCKS #12
SPL	CHECK	08/03/2026	Uncategorized Expense		4.50	STARBUCKS #12
ENDTRNS
TRNS	DEPOSIT	08/04/2026	Checking		2000.00	ACME PAYROLL
SPL	DEPOSIT	08/04/2026	Uncategorized Income		-2000.00	ACME PAYROLL
ENDTRNS
  • Three header rows first. Intuit: "In a transaction import file, there are usually three file header lines", beginning !TRNS, !SPL and !ENDTRNS.
  • TRNS is the bank side. Money out is negative, money in is positive. In Intuit's example the check is −70 on Main Checking.
  • SPL is the other side. The same amount with the opposite sign, or several SPLs that add up to it (Intuit's example splits 70 into 10 for Fuel and 60 for Auto Repair).
  • ENDTRNS closes it. Every transaction needs one.
  • Credit cards use the card account on the TRNS row, with CREDIT CARD for charges (negative) and CCARD REFUND for refunds and credits (positive).
  • NAME can stay blank. Bank descriptions go in MEMO. Raw bank text in NAME creates a new name for every merchant.

The errors behind most failed imports

"Transaction not in balance"

The TRNS and SPL amounts of one transaction don't net to zero. The usual causes are a penny of rounding, an SPL with the same sign as the TRNS, or a missing ENDTRNS that merges two transactions. The checker shows the amount it's out by and, for a single SPL, the value that would balance it.

"File not imported"

On QuickBooks Desktop 2019 and later, Intuit's Improved IIF Import shows how many lists and transactions failed and writes a new .IIF of the failed rows with ERROR descriptions. Run that file through this checker too. Our IIF import errors guide covers Review now, ERROR rows and why Import it for me. I'll fix it later isn't recommended.

Shifted columns

A tab inside a memo makes a row one column longer than its header, so the memo's second half lands in the next column. The checker shows the spilled text. Our exporter replaces tabs, line breaks and double quotes in descriptions with spaces for this reason.

Transactions in a new, empty account

Intuit: "If you import a transaction with an account that is not already created in the QuickBooks data file, that account will be created as a new bank account." A trailing space or different capitalisation is enough. Open Accounts on TRNS rows in the report and compare each name with Lists → Chart of Accounts.

Dates a month (or a century) off

US QuickBooks Desktop reads dates month first. A file built from a UK or Canadian bank export, or from a spreadsheet set to year-first dates, can post 04/05 on April 5 instead of May 4 with no error. When some dates in the file can only be day first, the checker flags every date that could be read either way.

Editing an IIF in Excel without breaking it

Intuit's own steps for editing an IIF in Excel: File → Open, set the file type to All Files, open the .iif, click Next, Next and Finish in the Text Import Wizard, make your changes, then File → Save and choose Yes to keep the format. When you exit, Excel asks again: choose Don't Save.

  • Leading zeros. Intuit notes Excel drops leading zeros (in check numbers, for example) unless you format those cells as Custom first.
  • Dates and amounts. Excel can reformat dates (to year-first or a serial number) and add thousands separators. Check the file here after saving.
  • Save as text, not Unicode. "Unicode Text" writes UTF-16, which isn't the ASCII text Intuit describes. Use Text (Tab delimited).
  • Quotes. Some save options wrap values in double quotes. Our exporter writes none; Intuit's samples only quote a name that contains a comma.

Starting from a PDF statement? Skip building the IIF by hand

Utilly turns text-based PDF bank and credit card statements into a QuickBooks Desktop .IIF that passes every check on this page: balanced transactions, TRNS/SPL/ENDTRNS in place, plain amounts and MM/DD/YYYY dates. Each statement is checked against its ending balance before you download. Preview free with no sign-up; $9 for 5 statements. Already have a CSV? The CSV to IIF converter lets you set the account name and is free up to 100 rows.

Convert a PDF statement to IIF

FAQ

Is my IIF file uploaded?

No. The checker is JavaScript that runs on this page. Your file is read on your own computer and never sent to Utilly or anyone else, and the tool area is excluded from our analytics and session replay. Once the page has loaded it works offline.

Why does QuickBooks say "File not imported"?

On QuickBooks Desktop 2019 and later, the Improved IIF Import found records it couldn't import. It shows how many lists and transactions failed and writes a new .IIF of the failed rows with ERROR descriptions. Run your file (or that failure file) through this checker, fix what it finds, and import again. Our IIF import errors guide walks through Review now.

What does "Transaction not in balance" mean in an IIF import?

The TRNS amount and its SPL amounts don't add up to zero. In Intuit's sample check, the TRNS is -70 and the two SPLs are 10 and 60. Common causes are an SPL with the same sign as the TRNS, a penny of rounding, or a missing ENDTRNS that merges two transactions. The checker shows how far out each transaction is.

What date format does an IIF file need?

US QuickBooks Desktop reads month first. Intuit's sample files use dates like 3/3/2010, and our exporter writes MM/DD/YYYY, like 08/03/2026. Day-first (15/08/2026) and year-first (2026-08-15) dates are common reasons imports fail or land on the wrong day.

Can I open and fix an IIF file in Excel?

Yes. Intuit's steps: in Excel choose File > Open, set the file type to All Files, open the .iif, finish the Text Import Wizard, edit, then File > Save and choose Yes to keep the format; when you exit, choose Don't Save. Excel can reformat dates and amounts and drops leading zeros unless the cells are formatted as Custom, so check the saved file here.

Does the checker work for lists, invoices or payroll?

It checks the structure, balance, dates, amounts and accounts of any TRNS/SPL transaction, and its type checks are tuned for bank and credit card imports (CHECK, DEPOSIT, CREDIT CARD, CCARD REFUND, TRANSFER, GENERAL JOURNAL). List rows such as !ACCNT, !VEND and !CUST are counted but not checked in detail.

Will a file that passes always import?

It catches the problems that most often stop or spoil an import, but QuickBooks also checks things only your company file knows, such as whether each NAME exists and is active and whether an account's type suits the transaction. Back up first, import a small test file, and reconcile the account to the statement afterwards.

Related guides

Sources: Intuit, IIF Overview: import kit, sample files, and headers (updated 8/4/2026), https://quickbooks.intuit.com/learn-support/en-us/help-article/list-management/iif-overview-import-kit-sample-files-headers/L5CZIpJne_US_en_US ; Export, import, and edit IIF files (updated 8/4/2026), https://quickbooks.intuit.com/learn-support/en-us/help-article/import-export-data-files/export-import-edit-iif-files/L56LT9Z0Q_US_en_US ; Improved IIF Import in QuickBooks 2019 and later (updated 8/5/2026), https://quickbooks.intuit.com/learn-support/en-us/help-article/import-export-data-files/improved-iif-import-quickbooks-2019-later/L1K3ZQDX9_US_en_US . The "Transaction not in balance" message as reported by QuickBooks users on Intuit's developer forum. Checked against Intuit's IIF Import Kit sample transaction files. Read October 19, 2026. Intuit updates these pages; if a screen differs, follow the current article for your version.