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?
- Have a CSV rather than a workbook: CSV to IIF Converter
- MYOB or older Quicken rather than QuickBooks: Excel to QIF Converter
- The other way, an IIF opened in Excel: IIF to Excel Converter
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 file | In the IIF | How |
|---|---|---|
| Date cells | DATE | Written MM/DD/YYYY, from the date the cell holds. |
| Amount, or Debit and Credit | TRNSTYPE, AMOUNT | CHECK with a negative amount for money out, DEPOSIT with a positive one for money in. The SPL line carries the opposite sign. |
| Description | NAME, MEMO | NAME holds the first 41 characters, the most a QuickBooks name holds; MEMO holds the description, up to 96. |
| Reference, Check No | DOCNUM | Up to 11 characters. A longer reference goes at the end of MEMO, after "Ref", rather than being cut. |
| "(USD)" in a heading | ACCNT 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 workbook | ACCNT on SPL | "*** SET CATEGORY ACCOUNT ***", the account the other side posts to. |
| Balance | No balance | IIF carries no balance. |
| Not in a workbook | TRNSID, SPLID | Left 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.61The 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
ENDTRNSQuestions 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.