Skip to main content
Back to blog

How to Convert a Payroll CSV to an IIF File for QuickBooks Desktop

What is an IIF file?

IIF stands for Intuit Interchange Format. It is a tab-delimited text file that QuickBooks Desktop uses to import transactions, including journal entries. If you want to get payroll data into QuickBooks Desktop without typing it manually, IIF is the standard way to do it.

The format has been around for decades. It is not elegant, but it works. QuickBooks Desktop reads the file, creates the transactions, and posts them to your company file. No manual data entry.

Why convert from CSV to IIF?

Most payroll providers export reports as CSV files. QuickBooks Desktop does not import CSV journal entries directly. You need to convert that CSV into the IIF format first.

Some bookkeepers do this conversion in Excel, manually reformatting columns and adding IIF header rows. That works for one or two clients, but it does not scale. If you handle payroll for 10 or 20 clients, you need a faster method.

The IIF file structure

An IIF file for journal entries has a specific structure. Here is what a simple payroll journal entry looks like in IIF format:

  • The file starts with a header row that begins with !TRNS and lists the columns for the transaction line (TRNSID, TRNSTYPE, DATE, ACCNT, AMOUNT, MEMO, etc.).
  • The next header row begins with !SPL and lists the columns for the split lines (same columns).
  • A row with !ENDTRNS marks the end of the header section.
  • Each transaction starts with a TRNS row (the first line of the journal entry), followed by one or more SPL rows (the remaining lines), and ends with an ENDTRNS row.

The key fields are:

  • TRNSTYPE - set to "GENERAL JOURNAL" for journal entries.
  • DATE - the transaction date in MM/DD/YYYY format.
  • ACCNT - the account name, exactly as it appears in your QuickBooks chart of accounts.
  • AMOUNT - positive for debits, negative for credits.
  • MEMO - optional description.

Step-by-step: manual conversion

  1. Open your payroll CSV in Excel or Google Sheets. Identify the columns that contain account names (or descriptions you can map to accounts) and amounts.
  2. Determine debits and credits. Gross wages and employer taxes are debits (positive amounts in IIF). Withholdings, liabilities, and net pay are credits (negative amounts in IIF).
  3. Create a new spreadsheet with IIF columns. You need at minimum: TRNSTYPE, DATE, ACCNT, AMOUNT, MEMO.
  4. Add the header rows. The first row should be the !TRNS header, the second the !SPL header, and the third !ENDTRNS.
  5. Map each payroll line item to the correct account. Use the exact account names from your QuickBooks chart of accounts. If the name does not match exactly, the import will fail or create new accounts.
  6. Fill in the transaction rows. The first line uses the TRNS prefix, subsequent lines use SPL, and the last row is ENDTRNS.
  7. Save as a tab-delimited text file with a .iif extension. In Excel, save as "Text (Tab delimited)" and then rename the file from .txt to .iif.

Importing the IIF file into QuickBooks Desktop

  1. In QuickBooks Desktop, go to File > Utilities > Import > IIF Files.
  2. Browse to your .iif file and select it.
  3. QuickBooks will import the transactions. If there are errors (mismatched account names, unbalanced amounts), it will show an error message.
  4. After import, go to the journal entry to verify it looks correct. Check the accounts, amounts, and date.

Common IIF pitfalls

  • Account names must match exactly. "Payroll Expenses" is not the same as "Payroll Expense" (no s). One character off and QuickBooks will either reject the import or create a new account.
  • Tab delimiters, not commas. IIF files use tabs between fields. If you accidentally save with commas, the import will fail silently or produce garbled data.
  • Amount signs matter. Debits are positive, credits are negative. If you flip the signs, your journal entry will be backwards.
  • Date format. QuickBooks expects MM/DD/YYYY. Other formats (YYYY-MM-DD, DD/MM/YYYY) will cause errors.
  • No undo for IIF imports. Once imported, you cannot batch-undo the transactions. You would need to delete each one individually. Always import into a test company file first if you are not sure about the file.

A faster approach

Manual CSV-to-IIF conversion is tedious and fragile. One wrong tab character or account name mismatch and you are troubleshooting for an hour.

PostBooks handles this conversion automatically. Upload your payroll CSV, map the line items to your QuickBooks accounts (once, then it is saved), and download a properly formatted IIF file. The account names match your chart of accounts, the amounts have the right signs, and the file structure is correct every time. If you convert payroll CSVs to IIF files regularly, it saves a significant amount of time.