How to import a CSV bank statement into QuickBooks Online (2026)
Step-by-step: format your CSV the way QuickBooks Online expects (3-column or 4-column), upload it, map the columns, and fix the most common import errors.
QuickBooks Online accepts bank transactions from a CSV file when a live bank feed isn't available: catch-up bookkeeping, a small bank or credit union with no feed, closed accounts, or a client who only hands over PDFs. This guide covers the exact CSV layout QuickBooks expects, the upload steps, and the errors people hit most.
The two CSV layouts QuickBooks Online accepts
QuickBooks supports two layouts. Pick one and keep the whole file consistent.
| Layout | Columns | Sign convention |
|---|---|---|
| 3-column | Date, Description, Amount | Money out is negative (-42.17), money in is positive |
| 4-column | Date, Description, Credit, Debit | Both columns hold positive numbers; only one is filled per row |
Rules that trip people up:
- One header row only, no title rows above it and no totals row below.
- Dates in one consistent format,
MM/DD/YYYYfor US companies,DD/MM/YYYYfor UK, Australian and most other regions. QuickBooks reads the format from your company's region setting. - No currency symbols or thousands separators in amounts:
1234.56, not$1,234.56. - Keep the file under roughly 350 KB (about 1,000 rows). Split larger exports by month.
- Descriptions can contain commas as long as the field is quoted, which every proper CSV writer does.
Rowledger's QuickBooks Online (3-column) and (4-column) presets produce exactly this layout from a PDF statement, with the date format switchable in one click.
Upload steps
- In QuickBooks Online go to Transactions → Bank transactions (older accounts: Banking).
- Click the dropdown next to Link account and choose Upload from file.
- Drag in the CSV, then pick the bank account in QuickBooks that these transactions belong to. If the account doesn't exist yet, create it first under Chart of Accounts.
- Map the columns. For a 3-column file choose "Amount: one column"; for a 4-column file choose "Amount: two columns" and point Credit and Debit at the right headers.
- Confirm the date format matches the preview.
- Select the rows to import (uncheck any that already exist from a bank feed) and click Import.
- Review the imported rows under For review, categorize or match them, and reconcile as usual.
Common import errors and fixes
"The date format is invalid": the dates in the file don't match the format you selected, or some rows have a two-digit year. Re-export with four-digit years and the correct day/month order.
Amounts import with the wrong sign: you chose "one column" for a file that was really 4-column, or the statement prints debits without a minus sign. Re-export using the 3-column preset: Rowledger derives the sign from the running balance, not from the minus sign, so it is correct even for statements that omit it.
Duplicate transactions: the account already had a bank feed covering part of the period. Uncheck the overlapping rows during import, or in QuickBooks exclude them afterwards (select → Exclude).
"We can't read this file": usually an Excel file saved with a .csv extension, a blank first row, or a UTF-16 encoding. Export a fresh CSV from Rowledger (UTF-8 with a single header row).
Missing rows: QuickBooks silently skips rows with a blank date or amount. Check the source statement for wrapped lines; in Rowledger you can edit any row before exporting.
Should you use QBO (Web Connect) instead of CSV?
A .qbo file carries a unique ID for every transaction, so re-importing the same statement doesn't create duplicates, and it keeps the check number in its own field. QuickBooks Online accepts QBO files through the same Upload from file dialog. If you regularly import overlapping periods or checks, QBO is the better format. Rowledger Pro exports QBO with a deterministic ID per transaction.
Checklist before you import
- Opening balance + credits − debits equals the statement's closing balance (Rowledger shows this check on every conversion).
- The first and last dates match the statement period.
- The QuickBooks account's last imported date is earlier than the first date in your file.
Free, in your browser, reconciled against the printed balances.
Open the converter