ConvertCSV

Finance file converter

CSV to IIF Converter

Write balanced Intuit Interchange Format (IIF) transactions for QuickBooks Desktop. Upload a file or paste its contents, check the parsed transactions, then download the IIF file.

  • No signup
  • Files stay on your device
  • Transaction preview
  • Download ready

1 · Source

Add your CSV file

.csv.iif
2 · Options

3 · Result

Output preview

Nothing converted yet

A sample CSV file is loaded — press “Convert to IIF” to see how the output looks.

Designed for finance exports

The parser recognises date, description, amount, debit/credit, memo, category, and transaction id fields, including headers like Narration or Withdrawal Amt. used by many banks.

Check before you import

Each conversion shows the parsed transactions with money in, money out, and date range, plus warnings about ambiguous dates or missing account details.

Private browser workflow

PDFs and text files are read by your browser and never sent to a server. Close the tab and the data is gone.

CSV to IIF Converter

QuickBooks Desktop still imports transactions through IIF, a tab-delimited text format Intuit introduced in the 1990s. Banks and payment processors do not export it, so a bookkeeper who needs to load a month of card activity usually ends up typing it in by hand. This converter takes the CSV you already have and writes a balanced IIF file you can import through File → Utilities → Import → IIF Files.

The converter only needs three columns: a date, a description, and an amount. If your CSV also has a Category column, that value becomes the offset account on the split line, which is what makes the import land in the right expense or income account instead of a holding account you have to reclassify later.

Everything runs in your browser. The CSV is parsed locally and the IIF text is assembled in memory, so transaction details never leave your machine. That matters for IIF in particular, because QuickBooks company files tend to hold a whole business's banking history.

Key features

  • Writes TRNS, SPL, and ENDTRNS blocks that balance to zero, the structure QuickBooks Desktop requires.
  • Picks up Date, Description, Amount, Category, Memo, and Check Number columns by common header names, including bank-specific labels such as Payee or Debit Amount.
  • Converts ISO and day-first dates to MM/DD/YYYY, with a manual Date order override.
  • Shows a parsed transaction table and the raw IIF text before you download, so you can spot a bad row before QuickBooks sees it.
  • Runs entirely in the browser; no upload, no account.

About the CSV to IIF format

An IIF file starts with header lines that begin with an exclamation mark. This tool writes three of them: !TRNS, !SPL, and !ENDTRNS, each listing the same columns (TRNSTYPE, DATE, ACCNT, NAME, AMOUNT, DOCNUM, MEMO).

Every transaction is a TRNS line, one or more SPL lines, and an ENDTRNS marker. QuickBooks requires the amounts in a block to sum to zero. The TRNS line posts to the bank account (named Checking in the output) and the SPL line posts the opposite amount to the offset account, so a -39.99 card charge becomes -39.99 on Checking and +39.99 on the expense account.

TRNSTYPE is CHECK for negative amounts and DEPOSIT for positive ones, the two simplest types for plain bank activity. QuickBooks also understands TRANSFER, PAYMENT, CREDIT CARD, and GENERAL JOURNAL, but those need extra columns this converter does not write.

Dates are written as MM/DD/YYYY, which US editions of QuickBooks Desktop expect. QuickBooks reads IIF dates with the Windows short-date setting, so on a day-first region it will read 05/03/2026 as 5 March; switch the region temporarily or edit the DATE columns in that case. ISO and day-first dates in the CSV are converted; use the Date order control if a date like 03/05/2026 is ambiguous.

DOCNUM comes from an Id, Ref No, Cheque No, or Check Number column when the CSV has one, otherwise from the row position. MEMO is filled from a Memo, Notes, or Reference column. Tabs and line breaks inside a cell are replaced with spaces, since a stray tab would shift every column after it.

How it works

The CSV is split into rows and the header line is matched against a list of known column names to find the date, description, amount, category, memo, and reference columns.

Each row is normalized: dates are parsed into a single calendar date and flagged in a warning when they cannot be read, amounts are cleaned of symbols and separators, and blank rows are dropped. An amount that cannot be read becomes 0.00, so check the preview totals.

For each transaction the writer emits a TRNS line against Checking and an SPL line with the negated amount against the Category account, then closes the block with ENDTRNS.

The result is offered as a .iif download and as text you can copy.

Common use cases

  • A bookkeeper receives a client's business credit card statement as CSV and needs the charges in QuickBooks Desktop without re-keying them.
  • A small business switches from a spreadsheet ledger to QuickBooks and wants to load the year-to-date transactions as opening activity.
  • A payment processor such as Stripe or Square exports payouts as CSV, and the finance team wants them recorded as deposits against a Sales account.
  • An accountant maintains a shared expense sheet with a Category column and wants QuickBooks to pick up those categories as accounts during import.
  • A company's bank offers CSV downloads but has dropped QuickBooks Web Connect support, so IIF is the only remaining bulk import path.

How to use this tool

  1. Export your transactions as CSV from the bank, card, or payment processor and open the CSV to IIF converter.
  2. Upload the file or paste the CSV text. The built-in sample shows the expected column layout.
  3. If any dates are of the form 03/05/2026, set Date order to month-first or day-first to match the bank.
  4. Check the parsed table: row count, signs, and the Category column.
  5. Download the .iif file and import it in QuickBooks Desktop via File → Utilities → Import → IIF Files, after making a backup.

Example

CSV

Date,Description,Amount,Category
2026-05-03,Cloud hosting,-39.99,Software

IIF

!TRNS	TRNSTYPE	DATE	ACCNT	NAME	AMOUNT	DOCNUM	MEMO
!SPL	TRNSTYPE	DATE	ACCNT	NAME	AMOUNT	DOCNUM	MEMO
!ENDTRNS
TRNS	CHECK	05/03/2026	Checking	Cloud hosting	-39.99	1	
SPL	CHECK	05/03/2026	Software	Cloud hosting	39.99	1	
ENDTRNS

Tips for best results

  • Make sure the Category values match account names that already exist in your QuickBooks chart of accounts. QuickBooks creates missing accounts automatically on import, which is convenient once and a mess if a typo creates a second Office Supplies account.
  • Rename the bank account after import, or rename the Checking account in QuickBooks to match, if your bank account is not literally called Checking. Alternatively, edit the ACCNT column in the downloaded file before importing.
  • Back up the company file before any IIF import. QuickBooks has no undo for imports, and the backup is the only way to revert if the mapping was wrong.
  • Import one month at a time the first time you use a new CSV layout. A small import is quick to inspect in the register and quick to delete if the signs came out reversed.
  • Keep the sign convention from your bank: negative for money out, positive for money in. If the bank exported unsigned amounts with a separate Debit/Credit column, fix the sign in the spreadsheet first.

Common errors and how to fix them

QuickBooks reports that a transaction is not in balance.
This happens when the file was edited after download and a split amount no longer mirrors the TRNS amount. Re-download the file, or make sure every SPL amount is exactly the negative of its TRNS amount.
The converter says it cannot find a date, description, or amount column.
The header row must name those columns. Rename headers such as Txn Dt to Date, Details to Description, and Value to Amount, then try again.
Transactions imported with the wrong month and day.
The CSV used day-first dates. Delete the imported transactions in QuickBooks, set Date order to day-first in the converter, and import the regenerated file.
QuickBooks rejects the file after it was opened and saved in Excel.
Excel adds quotes and can change the tab delimiters when it saves a .iif file. Download the file again and, if you need to change anything, edit it in a plain text editor.
Transactions appear twice after a second import.
QuickBooks does not deduplicate IIF imports by DOCNUM. Restore the backup taken before the import, or delete the duplicates from the register.
Deposits show up as expenses in QuickBooks.
The amount signs were reversed in the source file. Multiply the Amount column by -1 in your spreadsheet, re-export, and convert again.

Best practices

  • Add a Category column before converting, using the exact account names from QuickBooks. It is far less work than reclassifying inside QuickBooks later.
  • Keep the original CSV with the IIF file in the same folder, named by account and month, so an auditor can trace any register entry back to the bank export.
  • Import into a copy of the company file the first time you try a new bank's CSV layout.

Frequently asked questions

Can I import the IIF into QuickBooks Online?

No. QuickBooks Online dropped IIF support. For Online, upload the CSV directly in Banking → Upload transactions. IIF is only for QuickBooks Desktop.

Why is the bank account called Checking?

IIF needs a named account on every TRNS line and the CSV does not say which account it came from. Checking is a safe default that most company files already have. Rename it in the file, or let QuickBooks create it and merge it with your real bank account afterwards.

Does the converter create vendors or customers?

The description goes in the NAME column, and QuickBooks will offer to add unknown names as vendors or customers during import. Decline that prompt if you only want the bank activity.

Can IIF carry invoices, bills, or journal entries from my CSV?

Not through this tool. It writes plain bank deposits and checks. Invoices and bills need additional columns such as customer terms and item lines, and are better entered through QuickBooks' own import wizards.

For more background on data formats and conversion workflows, read our format guides.