How to import bank transactions into QuickBooks Desktop
QuickBooks Desktop does not import bank CSV files directly. Unlike QuickBooks Online, the desktop editions (Pro, Premier, and Enterprise) only accept transactions through Bank Feeds, which expects a Web Connect file with the .QBO extension. That file is really an OFX 1.0.2 document with a few Intuit-specific tags added. So if your bank only gives you a CSV or Excel export, you have to convert it into a properly formatted .QBO file first, then bring it in through the Web Connect importer.
This guide walks through the exact menu path (File > Utilities > Import > Web Connect Files), explains what makes a .QBO file valid so the import does not fail, and covers how duplicate detection works so you do not double-book transactions. Where converting a CSV is the missing step, you can drop your file into LedgerBridge, a free in-browser converter that builds the .QBO for you locally without uploading your data anywhere.
Why QuickBooks Desktop needs a .QBO file, not a CSV
QuickBooks Online has a built-in CSV uploader, but QuickBooks Desktop does not. The desktop versions only ingest transactions through Bank Feeds, and Bank Feeds reads a single format: Web Connect, saved with the .QBO extension. If you try to open a raw .csv or .xlsx through the import menu, QuickBooks will not recognize it.
A .QBO file is not a proprietary binary. It is a plain-text file built on the OFX 1.0.2 (Open Financial Exchange) specification, which is SGML-based rather than XML. That means tags such as <TRNAMT>-50.00 do not require closing tags on leaf elements, which is normal and correct for OFX 1.0.2. The file also carries Intuit-only extensions, most importantly INTU.BID, the Intuit Bank ID that tells QuickBooks which financial institution the data belongs to.
If your bank offers a direct .QBO / Web Connect download, use that. If it only exports CSV or Excel, you need to convert. You can hand-build the OFX/SGML, or drop your CSV into the LedgerBridge converter, which generates a valid .QBO (correct header, INTU.BID, and per-transaction FITID values) entirely in your browser so the file never leaves your computer.
- CSV / Excel: not directly importable into QuickBooks Desktop
- QBO (Web Connect): the only format Bank Feeds accepts
- QFX: similar to QBO but for Quicken, not QuickBooks Desktop
- Convert CSV to QBO first, then import via Web Connect
Anatomy of a valid .QBO file
Before importing, it helps to know what QuickBooks checks. A .QBO file opens with an OFX header block in colon-delimited key:value form, followed by the SGML body. The header looks like this:
OFXHEADER:100 / DATA:OFXSGML / VERSION:102 / SECURITY:NONE / ENCODING:USASCII / CHARSET:1252 / COMPRESSION:NONE / OLDFILEUID:NONE / NEWFILEUID:NONE
The sign-on block (<SONRS>) carries the institution identity, including the <FI> element and the <INTU.BID> tag. If the INTU.BID is missing or does not match a recognized institution, QuickBooks may reject the file or report that the financial institution is not enabled for Web Connect. Each transaction lives in a <STMTTRN> element with a transaction type (<TRNTYPE>), a posted date (<DTPOSTED>, formatted YYYYMMDDHHMMSS), an amount (<TRNAMT>, negative for money out), a unique <FITID>, and a <NAME> or <MEMO> for the description.
The single most important field for clean imports is FITID. QuickBooks uses the FITID as the transaction's fingerprint. If two transactions share a FITID, QuickBooks treats the second as a duplicate and skips it. That is what protects you from double-booking when you re-import an overlapping date range, so every transaction must carry a stable, unique FITID.
- OFXHEADER / VERSION:102 confirm OFX 1.0.2 SGML
- INTU.BID identifies the financial institution
- DTPOSTED uses YYYYMMDDHHMMSS
- TRNAMT is negative for debits/withdrawals
- FITID must be unique and stable for dedup to work
Step-by-step: import a .QBO file via Web Connect
Once you have a valid .QBO file (downloaded from your bank or converted from CSV), import it through the Web Connect utility. The menu path is the same across recent QuickBooks Desktop Pro, Premier, and Enterprise versions, though minor wording can differ by year.
After the import, transactions land in the Bank Feeds Center (also called the Transactions list or register, depending on your mode) for review. They are not posted to your books automatically. You still match them to existing entries or add them as new ones, which is the step where you assign accounts, payees, and classes.
If you want a different review experience, you can change the Bank Feeds mode under Edit > Preferences > Checking > Company Preferences. Advanced Mode (QuickBooks Desktop 2021 and later) offers batch editing and renaming rules; Express Mode shows a list view; Classic/Register Mode shows downloaded transactions side by side with the register.
- Back up your company file first (File > Back Up Company) before any import.
- Open QuickBooks Desktop and your company file.
- Go to File > Utilities > Import > Web Connect Files.
- Browse to your .QBO file and click Open.
- When prompted, choose Use an existing QuickBooks account and select the matching bank or credit card account (or Create a new QuickBooks account).
- Click Continue, then OK on the import confirmation.
- Open the Bank Feeds Center (Banking > Bank Feeds > Bank Feeds Center) to review.
- Match transactions to existing register entries, or add new ones and assign accounts/payees.
- Confirm the ending balance and reconcile as usual.
Converting a bank CSV or Excel export to QBO
If your bank only gives you CSV or Excel, the conversion is where most people get stuck. A correct .QBO requires a valid header, an INTU.BID, properly formatted dates, signed amounts, and a unique FITID per row. Spreadsheets contain none of that structure, so a manual rebuild is error-prone, and a malformed file is the usual cause of import failures.
With LedgerBridge you drop your CSV or Excel file into the converter in the browser, map your Date, Description, and Amount columns (or separate Debit/Credit columns), and it produces a ready-to-import .QBO. It writes the OFX 1.0.2 SGML structure, fills in the INTU.BID, normalizes dates to the OFX timestamp format, and generates a deterministic FITID for each transaction so QuickBooks' duplicate detection works on re-imports. Because conversion runs locally, your transaction data is never uploaded to a server. The tool is free, with a one-time $29 Pro upgrade if you need unlimited rows.
After conversion, follow the Web Connect steps above. If QuickBooks still does not recognize the file, the cause is almost always the header or INTU.BID, which is exactly what the converter sets correctly.
- Export your statement as CSV or Excel from your bank.
- Open the LedgerBridge converter and drop in the file.
- Map Date, Description, and Amount (or Debit/Credit) columns.
- Download the generated .QBO file.
- Import it with File > Utilities > Import > Web Connect Files.
QuickBooks Online by contrast: native CSV import
If you use QuickBooks Online instead of Desktop, you do not need a .QBO file at all. QBO Online has a native CSV uploader under the bank transactions area, where you map columns during the import.
That said, QBO Online enforces practical limits: roughly 1,000 rows per CSV file and around a 350 KB file size cap, so large histories must be split into multiple uploads. It accepts a 3-column layout (Date, Description, Amount, with negatives for money out) or a 4-column layout (Date, Description, Credit, Debit). Strip currency symbols and keep one date format throughout.
For long histories on QBO Online, or if you simply prefer a single clean file, converting to QBO/OFX and importing avoids the per-file row cap and the column-mapping step. Whether you are on Desktop or Online, the same LedgerBridge conversion produces a file both can use.
- QBO Online: native CSV import, no .QBO needed
- Limit: ~1,000 rows and ~350 KB per CSV file
- Accepts 3-column (signed amount) or 4-column (credit/debit) layouts
- Remove currency symbols; use one consistent date format
- Desktop: still requires a .QBO via Web Connect
Frequently asked questions
Can QuickBooks Desktop import a CSV file directly?
No. QuickBooks Desktop (Pro, Premier, Enterprise) only imports bank transactions through Bank Feeds using a Web Connect (.QBO) file. A raw CSV or Excel file is not recognized. You must convert the CSV to a valid .QBO first, then import it via File > Utilities > Import > Web Connect Files. (QuickBooks Online, by contrast, does have a native CSV importer.)
What is INTU.BID and why does my import fail without it?
INTU.BID is the Intuit Bank ID, a tag inside the .QBO file's sign-on block that tells QuickBooks which financial institution the data belongs to. If it is missing or does not match a recognized institution, QuickBooks may refuse the file or say the bank is not enabled for Web Connect. A converter like LedgerBridge sets a valid INTU.BID automatically when it builds the file.
How does QuickBooks avoid creating duplicate transactions on re-import?
QuickBooks uses the FITID (Financial Institution Transaction ID) on each transaction as a unique fingerprint. If you import a file whose transactions share FITIDs with ones already in your books, QuickBooks treats them as duplicates and skips them. This is why each transaction needs a stable, unique FITID, and why overlapping date ranges are safe to re-import when FITIDs are generated consistently.
Why is a .QBO file SGML and not XML?
The .QBO format is based on OFX 1.0.2, which is built on SGML rather than XML. In SGML, leaf elements like <TRNAMT>-50.00 do not need closing tags, which is valid and expected for this version. Newer OFX 2.x is XML-based, but QuickBooks Desktop Web Connect specifically expects the OFX 1.0.2 SGML structure (VERSION:102 in the header).
What are QuickBooks Online's CSV import limits?
QuickBooks Online's native CSV import allows roughly 1,000 rows and around 350 KB per file, so larger histories must be split into multiple uploads. It accepts a 3-column format (Date, Description, signed Amount) or a 4-column format (Date, Description, Credit, Debit). Converting to a single .QBO/OFX file sidesteps the per-file row cap and the manual column mapping.
Related guides
Not affiliated with Intuit/QuickBooks/Quicken/Xero. LedgerBridge is a file-conversion utility, not financial advice.