QuickBooks CSV Import Not Working: 8 Fixes
No account needed for your first conversions. We never store your bank login.
Short answer: A QuickBooks CSV import almost always fails for a format reason, not a data reason. The eight usual culprits are wrong columns, a bad header row, mixed date formats, amounts stored as text, a file over 350 KB, more than 1,000 rows, non-English characters, and importing into the wrong account. Fix the layout to match the 3 or 4 column template and the same file uploads cleanly.
QuickBooks Online reads a bank CSV strictly. It checks the first data row, guesses the structure, and applies that guess to the whole file, so one inconsistent cell can break the entire upload or post garbage. This guide walks through each failure in order, from most to least common, with the exact fix. Last updated July 2026.
Why won't QuickBooks import my CSV file?
QuickBooks refuses a CSV when the file does not match one of its two accepted layouts. It expects a 3-column file (Date, Description, Amount) or a 4-column file (Date, Description, Credit, Debit), a single header row, one consistent date format, English text, and a file no larger than 350 KB or 1,000 rows. Any deviation triggers an error or a silent mispost.
Work through the checklist below in order. Most people find the problem in the first three items. If you would rather skip the formatting entirely, converting the export to a .qbo bypasses every one of these checks, which we cover at the end.
| # | Symptom | Cause | Fix |
|---|---|---|---|
| 1 | "We couldn't read the file" | Wrong or extra columns | Reduce to 3 or 4 columns |
| 2 | First transaction missing | Header row wrong | Keep one clean header row |
| 3 | Dates all wrong | Mixed date formats | Force one format |
| 4 | Amounts blank or zero | Numbers stored as text | Convert to number |
| 5 | Upload rejected | File over 350 KB | Split the file |
| 6 | Only part imports | Over 1,000 rows | Split by month |
| 7 | Garbled characters | Non-English text | Save as UTF-8, English |
| 8 | Signs reversed | Wrong account chosen | Match the account type |
1. The columns do not match
QuickBooks accepts only two column layouts, and bank exports rarely match either out of the box. Delete every column except Date, Description, and Amount (or Date, Description, Credit, Debit). Extra columns like balance, check number, or category cause the reader to fail. Rename the headers to those exact labels so the mapping step lines up.
2. The header row is wrong
A CSV needs exactly one header row at the top. Bank exports often include title rows, account summaries, or a blank line above the headers, which pushes QuickBooks to treat your first real transaction as a label. Delete everything above the header, keep a single row of column names, and make sure no summary or total row sits at the bottom.
3. Date formats are mixed
This is the quietest failure. QuickBooks locks onto the format of the first date and applies it to all rows, so a file that mixes 01/02/2026 and 2026-02-01 posts wrong dates without any error. Force a single format across the whole column in your spreadsheet. The QuickBooks CSV import date format guide shows the exact Excel TEXT() formula to standardize dates in one step.
4. Amounts are stored as text
If your amounts came from a PDF conversion or a copy-paste, they may be text strings rather than numbers, so QuickBooks reads them as blank or zero. Currency symbols, thousands separators, and trailing spaces all cause this. Strip the symbols, remove commas, and reformat the column as a number. A quick test: if the values sit left-aligned in Excel, they are text.
5. The file is over 350 KB
QuickBooks Online rejects any bank file larger than 350 KB, and this applies to .qbo, .qfx, and .ofx uploads too, not just CSV. A year of detailed activity easily crosses that line. Split the export into smaller files, usually by month, or convert to a .qbo and import through Desktop, which has no size cap. The QuickBooks CSV import limit guide explains why a .qbo does not raise the QBO cap.
6. There are more than 1,000 rows
Each CSV upload is capped at 1,000 transactions. Past that, QuickBooks Online imports a partial file or fails. Split the data into monthly chunks that each stay under 1,000 rows and 350 KB. If you routinely import large histories, converting the full export to a single .qbo and loading it into QuickBooks Desktop avoids the split work entirely.
7. The file has non-English characters
QuickBooks Online expects English and standard characters. Accented letters, currency symbols other than the dollar, and text saved in a non-UTF-8 encoding show up garbled or halt the import. Save the file as CSV UTF-8 and replace any non-English descriptions. If your bank statement arrived as a locked PDF, you can turn the PDF statement into a clean spreadsheet first, then format it for QuickBooks.
8. You picked the wrong account
If every amount imports with the sign reversed, you likely uploaded a credit card file into a checking account or the reverse. Charges and payments read backward across account types. Delete the imported batch, then re-upload the file into the correct account so debits and credits post the right direction.
The fix that skips all eight problems
Every issue above comes from CSV being a loose, human-editable format. A .qbo Web Connect file is structured and self-describing, so it survives the format checks that break CSV uploads and it carries a unique transaction ID that blocks duplicate imports. Upload your CSV or Excel export to our CSV to QBO converter, map the columns once, and download a file QuickBooks reads natively. If you want to understand the accepted CSV layout in full first, the QuickBooks CSV import template lays out both formats side by side.
Fixing the format by hand works for a one-off. If bank imports are a monthly task across several accounts, converting to .qbo turns a fragile, error-prone upload into a clean two-minute job.