Excel to IIF Converter — For QuickBooks Desktop

Upload an .xlsx - your bank's Excel download or a register kept in a workbook - and download an IIF for QuickBooks Desktop. The transactions sheet is found for you, its columns are worked out from what is in them, and every row becomes a balanced pair of lines, with the two accounts left plainly unset for you to name.

Not the file you need?

A workbook of transactions as an IIF, which QuickBooks Desktop imports under File, Utilities, Import.

Dates and amounts from the cells

A date cell is the date it holds and an amount is the figure the cell stores, so a workbook saved under day-first settings converts the same as one saved month first.

References kept where they fit

A Ref or Check No column goes into DOCNUM, the field QuickBooks shows as Num, when it fits that field's 11 characters, and onto the end of the memo after "Ref" when it does not.

The accounts left for you to name

QuickBooks creates any account an IIF names, so a plausible guess would import without complaint into an account nobody asked for. Both are written as *** SET *** placeholders you replace before importing.

What the IIF file contains

Field by field, where each part of the download comes from.

In your Excel fileIn the IIFHow
Date cellsDATEWritten MM/DD/YYYY, from the date the cell holds.
Amount, or Debit and CreditTRNSTYPE, AMOUNTCHECK with a negative amount for money out, DEPOSIT with a positive one for money in. The SPL line carries the opposite sign.
DescriptionNAME, MEMONAME holds the first 41 characters, the most a QuickBooks name holds; MEMO holds the description, up to 96.
Reference, Check NoDOCNUMUp to 11 characters. A longer reference goes at the end of MEMO, after "Ref", rather than being cut.
"(USD)" in a headingACCNT on TRNS"*** SET BANK ACCOUNT (USD) ***" when the sheet names its currency in text, otherwise "*** SET BANK ACCOUNT ***". Replace it with your bank account's name.
Not in a workbookACCNT on SPL"*** SET CATEGORY ACCOUNT ***", the account the other side posts to.
BalanceNo balanceIIF carries no balance.
Not in a workbookTRNSID, SPLIDLeft empty, so QuickBooks numbers the transactions itself.

Sample output

Made by this converter's own code from the made-up workbook shown, laid out cell by cell as Excel displays it. The output is the file it writes, not retyped.

The input: Excel (.xlsx)

A made-up register kept in Excel: one signed Amount column with USD in its heading, references short and long, and date cells displayed day first (02/04/2026 is the 2nd of April). Shown cell by cell as Excel displays it.

Sheet: Transactions
MADE-UP CREDIT UNION
Statement of account  April 2026

Date                  Description               Reference          Amount (USD)  Balance (USD)
02/04/2026            EXAMPLE CO PAYROLL        PAY0402            1,850.00      2,611.20
07/04/2026            SAMPLE TIRE & AUTO        POS-20260407-5521  -312.60       2,298.60
15/04/2026            CHECK 2203                2203               -450.00       1,848.60
28/04/2026            FICTIONAL GYM MEMBERSHIP                     -39.99        1,808.61

The output: IIF

The whole file.

!TRNS	TRNSID	TRNSTYPE	DATE	ACCNT	NAME	CLASS	AMOUNT	DOCNUM	MEMO
!SPL	SPLID	TRNSTYPE	DATE	ACCNT	NAME	CLASS	AMOUNT	DOCNUM	MEMO
!ENDTRNS
TRNS		DEPOSIT	04/02/2026	*** SET BANK ACCOUNT (USD) ***	EXAMPLE CO PAYROLL		1850.00	PAY0402	EXAMPLE CO PAYROLL
SPL		DEPOSIT	04/02/2026	*** SET CATEGORY ACCOUNT ***	EXAMPLE CO PAYROLL		-1850.00	PAY0402	EXAMPLE CO PAYROLL
ENDTRNS
TRNS		CHECK	04/07/2026	*** SET BANK ACCOUNT (USD) ***	SAMPLE TIRE & AUTO		-312.60		SAMPLE TIRE & AUTO Ref POS-20260407-5521
SPL		CHECK	04/07/2026	*** SET CATEGORY ACCOUNT ***	SAMPLE TIRE & AUTO		312.60		SAMPLE TIRE & AUTO Ref POS-20260407-5521
ENDTRNS
TRNS		CHECK	04/15/2026	*** SET BANK ACCOUNT (USD) ***	CHECK 2203		-450.00	2203	CHECK 2203
SPL		CHECK	04/15/2026	*** SET CATEGORY ACCOUNT ***	CHECK 2203		450.00	2203	CHECK 2203
ENDTRNS
TRNS		CHECK	04/28/2026	*** SET BANK ACCOUNT (USD) ***	FICTIONAL GYM MEMBERSHIP		-39.99		FICTIONAL GYM MEMBERSHIP
SPL		CHECK	04/28/2026	*** SET CATEGORY ACCOUNT ***	FICTIONAL GYM MEMBERSHIP		39.99		FICTIONAL GYM MEMBERSHIP
ENDTRNS

Questions about converting Excel to IIF

How do I import the IIF into QuickBooks Desktop?

Replace the two *** SET *** placeholders in a text editor first: your bank account's name exactly as your chart of accounts spells it, and the account the other side belongs in. Then back up the company file and use File, Utilities, Import, IIF Files.

My workbook shows dates day first. Will they be read wrongly?

No. A date cell holds the date itself, and how it is displayed does not change it: in the sample, 02/04/2026 displayed day first arrives in the IIF as 04/02/2026, the 2nd of April. A date typed as text is read like a CSV's, with the order taken from the whole column.

Does an IIF import check for duplicates?

No. IIF has no transaction id for QuickBooks to match, so importing the same file twice enters everything twice. Import each file once.

Which Excel files can it read?

An .xlsx workbook, from the sheet with the most rows carrying a date and an amount. An old .xls, an .xlsb, a workbook with a password to open it, or a sheet of more than 100,000 rows is refused with what to do instead.

Related guides