Guide

How to Import a Bank Statement CSV into QuickBooks Online

QuickBooks Online can pull transactions in automatically from a connected bank feed, but that only works going forward from the day you connect it — and plenty of banks, older statements, and one-off imports still need a manual CSV upload. Here's the exact column format QuickBooks expects, the upload steps, and the errors that trip people up most.

Step 1: Get your statement into CSV in the first place

If your bank statement is a PDF — which is how most banks deliver statements — you need it as a CSV before QuickBooks will touch it. QuickBooks' manual upload only accepts CSV, OFX, QFX or QBO files, not PDFs. If you only have a PDF, convert it to CSV first: drop the PDF in, let the parser rebuild the transaction table, and export the CSV from there. It runs in your browser, so the statement isn't uploaded anywhere in that step either.

Step 2: Match QuickBooks' column format exactly

QuickBooks Online's manual bank-transaction upload accepts two column layouts. Pick whichever matches what you already have — don't try to combine them:

A few formatting rules that QuickBooks enforces strictly:

If you converted your statement with StatementSheet, the exported CSV already uses a clean Date, Description, Debit, Credit, Amount, Balance layout — delete the Balance column (QuickBooks doesn't need it and will reject an unrecognized column name) and you're left with a valid 4-column file.

Step 3: Upload it in QuickBooks Online

  1. Go to Transactions (or Bookkeeping → Transactions) → Bank transactions.
  2. If the account already has a tile, select it. If not, select Link account first to create the account record, then come back to this screen.
  3. Click the Link account dropdown and choose Upload from file instead of connecting live.
  4. Drag your CSV in, then tell QuickBooks which QuickBooks account (checking, savings, credit card) the file belongs to.
  5. On the mapping screen, match your CSV's columns to QuickBooks' Date/Description/Amount (or Credit/Debit) fields, then finish the import.
  6. The transactions land in the For Review tab, exactly like a live bank feed — categorize and accept them from there.

Common upload errors and what causes them

After the import: set up bank rules so you don't repeat this

Once your transactions are sitting in the For Review tab, take a few minutes to create Bank rules (under the same Bank transactions screen) for recurring payees — rent, payroll, a recurring software subscription. A rule matches on the description text and automatically assigns the category, payee and account, so the next statement you import (via CSV or a live feed) categorizes itself instead of asking you to review every line again. This is also the point to double-check whether a transaction should be split across multiple categories — QuickBooks lets you split a single imported line by dollar amount before you accept it, which is useful for a combined purchase like a Costco run that mixes groceries and household supplies.

If you manage multiple bank accounts or several months of statements, import one account and one date range at a time rather than combining them into a single file — it keeps the mapping screen simpler and makes it much easier to spot exactly which upload introduced a problem if the balances don't match afterward.

Convert your statement first

Every major US, UK, Canadian and Australian bank statement can be turned into a clean CSV in seconds — parsed in your browser, never uploaded to a server, and reconciled against the running balance so you know the export is complete before it ever reaches QuickBooks.

See all supported banks → · Convert a statement now →