CSV to IIF or CSV to QBO for QuickBooks? IIF is Desktop only and has no undo. Compare both formats, then convert your bank CSV to a .qbo file QuickBooks takes.
No account needed for your first conversions. We never store your bank login.
Short answer: if you are on QuickBooks Online, IIF is not an option at all. QuickBooks Online accepts CSV, XLS/XLSX and Google Sheets for list imports and .qbo, .qfx or .ofx for bank transactions, and it cannot read an IIF file. If you are on QuickBooks Desktop, both formats work, but they do different jobs: .qbo goes through Bank Feeds and is the right route for bank and credit card transactions, while IIF writes straight into the ledger and is meant for lists and for transaction types Bank Feeds cannot carry.
Most people who search for a CSV to IIF converter are trying to get bank or card transactions into QuickBooks Desktop. For that job IIF is the harder road and .qbo is the one QuickBooks was designed around. The table below is the whole decision.
Swipe to see the full table
| .qbo (Web Connect) | .iif (Intuit Interchange Format) | |
|---|---|---|
| QuickBooks Online | Supported (manual file upload) | Not supported at all |
| QuickBooks Desktop | Supported (Banking, Bank Feeds, Import Web Connect File) | Supported (File, Utilities, Import, IIF Files) |
| What it is built to carry | Bank and credit card transactions | Lists, plus transaction types with no bank feed equivalent |
| Goes through Bank Feeds | Yes, transactions land for review before they post | No, entries post directly to the ledger |
| Duplicate protection | QuickBooks matches against existing transactions | None, a re-import posts everything twice |
| File shape | OFX-based XML with bank identifiers | Plain ASCII, tab separated, header rows starting with ! |
| Failure mode | Rejected over institution identifiers (FID, INTU.BID, BANKID) | QuickBooks 2019 and later imports valid rows and writes the failed rows to a new file with ERROR appended |
| Reversible | Review before accepting; unaccepted items can be discarded | No undo, restore from backup only |
Built for the CSV and Excel exports US banks and cards actually send, checked before it exports.
The converter adds up the transactions it parsed and matches that to your file total before you export, so nothing is silently dropped.
Valid OFX 1.02 with QuickBooks Web Connect headers. Online and Desktop import it as a standard bank feed.
Date, description, and amount are detected for you, so you skip QuickBooks' strict 3-column and 4-column CSV layout.
Bulk upload for catch-up and cleanup work. Each file gets its own reconciliation check and its own exports.
Mixed date formats, currency symbols, and stray commas that break a raw CSV import are cleaned up before the .qbo is built.
One conversion, three files: the .qbo for QuickBooks, an XLSX to review, and a CSV for everything else.
Three steps. No column-mapping wizard.
Drag in a CSV, XLS, or XLSX export from your bank, credit card, or accounting tool. Any column order is fine.
Every transaction is parsed and checked against your file total. You see the rows before exporting.
Download the .qbo and import it as a Web Connect bank feed. Excel and CSV are in the same download.
The specifics that decide whether the import is clean. If your case is not here, message us in chat.
Answer one question: are these bank or credit card transactions? If yes, use .qbo. Bank Feeds exists precisely for this data, it shows you every transaction before it posts, it matches against what is already in the file so you do not double count, and you can walk away mid-review without damage. Our converter turns a CSV or Excel export from any bank into a .qbo file that both QuickBooks Desktop and QuickBooks Online accept.
If it is anything else, and you are on Desktop, IIF is the format that can carry it. Customer and vendor lists, chart of accounts, items, employees, timer activities, and transaction types like journal entries, purchase orders and estimates that Bank Feeds has no concept of. That is the legitimate use of IIF, and it is what Intuit built it for.
There is a third answer people miss. If you are on QuickBooks Desktop and you have a list to import rather than transactions, the official Import Excel and CSV toolkit handles four list types directly from a spreadsheet: customers, vendors, items and the chart of accounts. No conversion needed, and no IIF file to hand-build.
No. IIF is a QuickBooks Desktop format, supported on Desktop for Windows and Mac only. QuickBooks Online's supported import formats are CSV, XLS/XLSX and Google Sheets for lists, and .qbo, .qfx or .ofx for bank transactions. There is no setting to enable IIF and no Intuit-supplied converter that turns one into something QuickBooks Online will take.
If you have been handed an IIF file and you are on QuickBooks Online, your options are to open it in Excel (it is tab separated text, so it opens cleanly) and rebuild the data as a CSV in the shape QuickBooks Online expects, or to use a third-party app from the QuickBooks App Store that reads IIF. For bank transactions specifically, the cleaner route is to go back to the bank, download the activity as CSV, and convert that to .qbo, which QuickBooks Online accepts directly.
It never has, in any version. QuickBooks Online can upload a bank CSV in a 3-column or 4-column layout, but QuickBooks Desktop has no equivalent feature. The only supported way to get bank and credit card transactions into QuickBooks Desktop from a file is a Web Connect .qbo file through Banking, Bank Feeds, Import Web Connect File.
That gap is the whole reason CSV to QBO conversion exists as a category. Your bank gives you a CSV, QuickBooks Desktop wants a .qbo, and nothing official bridges the two. There is no Intuit CSV to QBO converter and no CSV plugin: the Import Excel and CSV toolkit Intuit publishes imports the four list types named above and does not touch bank transactions.
Plain ASCII text, tab separated, with column layouts declared by header rows that begin with an exclamation mark. A transaction block opens with !TRNS and TRNS rows, carries one or more !SPL and SPL rows holding the opposite sign, and closes with ENDTRNS. Every block has to sum to zero, exactly like a journal entry, because that is effectively what it is.
That structure is why hand-built IIF files fail so often. A stray comma where a tab belongs, a block that does not balance, an account name that does not exist in the file, and the row is rejected. QuickBooks 2019 and later scans the file before writing anything, imports the rows that pass, and writes a new .iif containing the failed rows with ERROR appended to the name, which at least tells you what to fix. Older versions were less forgiving. Back the company file up first either way, because there is no undo on an IIF import.
It works, but it gives up the protections that make bank imports survivable. IIF entries post straight into the ledger with no review queue and no duplicate matching, so importing an overlapping date range twice posts every transaction twice with nothing flagging it. You find out at reconciliation, and unwinding it means deleting entries one by one or restoring a backup.
A .qbo import behaves differently. Transactions arrive in Bank Feeds for review, QuickBooks compares them against what is already recorded and flags likely matches, and nothing hits the register until you accept it. For a bookkeeper importing a year of catch-up transactions across several accounts, that difference is the difference between a clean afternoon and a rebuild.
Download your account activity from the bank as CSV or Excel, upload it here, map the date, description and amount columns if the file is not already recognized, and download the .qbo. Then in QuickBooks Desktop go to Banking, Bank Feeds, Import Web Connect File and select it; in QuickBooks Online use the file upload option under Transactions, Bank transactions.
Two things to check on the way in. Amounts in a single Amount column should use a minus sign for money out, not accounting parentheses, and no currency symbols. And on a credit card account the sign convention flips relative to a bank account, which is the single most common reason a converted file imports with every transaction backwards.
Yes. The same Web Connect file imports into QuickBooks Desktop through Bank Feeds and into QuickBooks Online through the manual file upload, so a bookkeeper running clients on both products does not need two workflows. Keep in mind that QuickBooks Online enforces a 350 KB limit on manually uploaded .qbo, .qfx and .ofx files, so a very long history may need splitting into a few files by date range.
QFX is Quicken's version of the same OFX family, OFX is the generic form, and QIF is an older Quicken format. QuickBooks Desktop's Bank Feeds import expects .qbo specifically. Our converter outputs .qbo, .ofx and .qfx from the same upload, along with XLSX, CSV and JSON, so you can produce whichever one the destination application wants. It does not output IIF, and for bank transactions that is deliberate rather than a gap.
Standardize on .qbo for anything that came out of a bank or a card, on the official CSV toolkit for Desktop list imports, and keep IIF for the specific Desktop cases nothing else covers. That gives you one repeatable process for the ninety percent of volume that is bank data, with review and duplicate matching intact, and confines the format with no undo to the small set of jobs that genuinely need it.
Upload a CSV or Excel export, get a QuickBooks-ready .qbo back in seconds. No card to try it.
If you are converting for several clients each month, the practical differences between tools are batch handling, whether column mappings can be saved and reused, and whether transactions survive the round trip without a manual check. The comparison of the best CSV to QBO converter options covers where each one lands, and the bulk CSV to QBO converter page covers converting many files in one pass. For background on the format itself, see what an IIF file is and how QuickBooks reads it and the walkthrough on importing a CSV into QuickBooks Desktop. Accountants running this across a client base should start with the CSV to QBO converter for accountants page.
For the solo bookkeeper running a monthly close in QuickBooks.
USD / month
billed $288 yearly
For a firm or finance team converting across many clients and currencies.
USD / month
billed $888 yearly
For multi-bookkeeper firms managing many client books at scale.
USD / month
billed $2,988 yearly