QBOKit

How to convert an Excel bank statement to an IIF file for QuickBooks Desktop

QuickBooks Desktop will not import an .xlsx file of bank transactions. Its own import format is IIF (Intuit Interchange Format), which Intuit describes as ASCII text, TSV (Tab-Separated Value) files that QuickBooks Desktop uses to import or export lists or transactions. Converting a spreadsheet to one is mostly mechanical — except for the dates, which is where this quietly goes wrong.

🔒 Convert your Excel file to IIF now — free, runs in your browser, the spreadsheet is never uploaded.

The thing that actually breaks: Excel does not store dates as dates

Excel stores 1 April 2026 as the number 46113. The date you see on screen is a display format applied to that number, and it is not part of the cell's value.

That is why the usual advice — save the sheet as CSV, then hand-build the IIF in a text editor — has a trap in it. Depending on how the column was formatted, what comes out is either a column of five-digit serial numbers, or a date silently re-written into your machine's locale order, so 03/04/2026 means April in London and March in Chicago. Neither is refused by QuickBooks. Both post real money to the wrong month.

QBOKit reads the .xlsx directly rather than going via CSV, so it can see both halves: the number and the format the cell was given. Where the format is a date format, the serial is resolved and written out unambiguously. Two details that matter:

Check the preview against your statement anyway. The date column is the one thing worth ten seconds of your attention, and it is right at the top of the preview for that reason.

IIF is not only for journal entries

Nearly every page written about Excel-to-IIF is about importing journal entries, which leaves the impression that a bank statement has to be forced into one. It does not. Intuit's own list of what an IIF can import includes Checks, Deposits, Credit card transactions and Account transfers of funds. A bank statement is in documented scope.

So QBOKit writes your rows as what they are: money out of the account becomes a CHECK, money in becomes a DEPOSIT, each as a balanced double entry against a second account you name.

!TRNS	TRNSTYPE	DATE	ACCNT	NAME	CLASS	AMOUNT	DOCNUM	MEMO
!SPL	TRNSTYPE	DATE	ACCNT	NAME	CLASS	AMOUNT	DOCNUM	MEMO
!ENDTRNS
TRNS	CHECK	04/01/2026	Business Checking			-82.40		DIRECT DEBIT ACME LTD
SPL	CHECK	04/01/2026	Uncategorized Expense			82.40		DIRECT DEBIT ACME LTD
ENDTRNS

That header row is Intuit's own, and the field-by-field explanation — including why the statement text goes in MEMO and never in NAME — is in the CSV to IIF guide. It applies identically here.

The steps

  1. Have the transactions on the first sheet. Only the first sheet of a workbook is read — see the limits below. A tab per month means one conversion per tab.
  2. Drop the .xlsx into the converter. It finds the header row and guesses the date, description and amount columns. Separate debit and credit columns are merged into one signed amount.
  3. Check the preview, dates first.
  4. Pick .IIF as the output.
  5. Type both account names exactly as QuickBooks spells them — the bank account, and a second account for the other side of each entry. There is no default and nothing is written without them, because a misspelled account name is not refused, it silently creates a new account.
  6. Import it: File → Utilities → Import → IIF Files. On QuickBooks 2019 and later a refused batch comes back as its own .IIF file of the failed rows with the errors listed, so a failure is itemised rather than bare.

Before you import: IIF has no duplicate protection

Nothing in an IIF file tells QuickBooks it has seen a transaction before. A .QBO Web Connect file gives every transaction a FITID and QuickBooks skips ids it already holds. IIF has no such field, so importing January–March and then February–April lands February and March twice with no warning.

Import one period at a time and note the last date you imported. If your Desktop version still accepts Web Connect, convert the spreadsheet to QBO instead and keep the duplicate protection.

The limits, stated up front

What we cannot claim

Nobody has yet imported one of our IIF files into a real QuickBooks Desktop install, because we do not have one. What we can say precisely: the Excel-to-IIF path is checked end to end by its own test suite — 38 assertions over two real workbooks, covering the serial-number dates, one balanced double entry per transaction, CHECK versus DEPOSIT matching the sign, and the exact nine tab-separated fields Intuit documents. Follows Intuit's documented format is a smaller claim than QuickBooks accepted it, and we would rather make the smaller one.

Intuit also states plainly that it doesn't offer technical support for the import and export of IIF files. That is a real cost of this route. If a file of ours is refused, send us what QuickBooks said — the error text is the most useful thing anyone could give us.

Convert my Excel file to IIF — free

Or see it work on a sample statement — no file of your own needed.

Sources

Related