Guide June 20, 2026 16 min read

How to fix QuickBooks bank import errors

Almost every QuickBooks bank import error comes from the same handful of file problems — a malformed CSV, mixed dates, symbol-laden amounts, un-normalised debits and credits, duplicates, or the row limit. This guide names each error, explains the cause, and gives the exact fix — plus the one move that prevents nearly all of them: importing a clean, balance-validated file.

FlowParse
flowparse.io

Overview: why imports fail

QuickBooks is strict about the files it imports, and for good reason — it's posting money to your books. When an import fails or imports wrong data, the problem is almost always the file, not QuickBooks: a CSV that doesn't match the shape it expects, dates it can't read, amounts it can't parse, or transactions it's seen before. The errors look varied but trace back to a short list of causes, and each has a clean fix.

The fastest way through all of them is to stop hand-building CSVs and start from a clean, validated file. FlowParse converts a PDF statement into a QuickBooks-ready CSV or a real .QBO file — normalising headers, dates, amounts and signs and checking the balance — which removes most of the errors below before they can happen. If you want the methods in full first, see the QuickBooks import guide.

The five-step fix process

Whatever the specific error, this sequence resolves it:

1 — Read the exact error

CSV formatting, date, amount, duplicate or row limit — the message points to the cause.

2 — Check the file shape

One clean header row, Date / Description / Amount, no blank or extra columns, comma-delimited.

3 — Normalise the data

One date format, plain numbers (no symbols), a single signed amount column or correct debit/credit.

4 — Match the file to your edition

CSV for QuickBooks Online; QBO/Web Connect for Desktop or to avoid duplicates.

5 — Import once, then reconcile

Import each period a single time, categorise, and reconcile against the statement balance.

FlowParse
flowparse.io

How QuickBooks reads an import file

Understanding why imports fail starts with how QuickBooks reads the file. For a CSV, it doesn't guess — it asks you, in the import wizard, which column is the date, which is the description, and which is the amount (or which two are debit and credit), and which date format you used. Everything then hinges on those columns being consistent: one date format for every row, one kind of amount column, plain numbers with no decoration. The moment a row breaks that consistency — a different date style, a currency symbol, a blank line — QuickBooks either rejects the file or imports the row wrong.

For a QBO or QFX/OFX file, QuickBooks reads the fields itself because the structure is defined by the format, and each transaction carries a FITID it uses to avoid duplicates. That's why so many CSV errors simply don't exist for QBO files — there's no mapping to get wrong and no ambiguity to misread. It's also why, when an import is fighting you, switching to a QBO file often resolves the problem outright. The trade-offs between the two are covered in CSV vs QBO.

The dates deserve special attention because they cause the most silent errors — a date misread as month-first when it was day-first doesn't fail the import, it just posts transactions to the wrong day. Here's how the common formats are read:

In the fileTell QuickBooksRisk
31/12/2026DD/MM/YYYYSafe — 31 can't be a month
03/04/2026Set the format explicitlyAmbiguous — 3 Apr vs March 4
2026-12-31YYYY-MM-DDSafe — ISO, unambiguous
Dec 31, 2026Convert to numeric firstText months can be rejected
Mixed stylesNormalise to oneHigh — rows post wrong

FlowParse normalises every date to one unambiguous format and signs every amount, so the wizard mapping is trivial and the silent date error can't happen. That's the single biggest reason converting the PDF beats hand-building a CSV.

“CSV is not formatted correctly”

Cause: Extra header rows, blank rows, more columns than QuickBooks expects, merged cells, or text where a number belongs. QuickBooks wants one header row then Date, Description and Amount.

Fix: Remove everything but a single clean header row and the three columns. Don't leave summary rows, opening-balance rows or notes in the file. The reliable shortcut is to convert the PDF with FlowParse, which outputs exactly the shape QuickBooks expects.

Dates not recognised or imported wrong

Cause: Mixed date formats in one file, or an ambiguous format QuickBooks reads the wrong way (e.g. 03/04 as March 4 vs 3 April).

Fix: Use one consistent format for every row and select that format in the import wizard. FlowParse normalises all dates to a single, unambiguous format, so the import doesn't misread a day as a month.

Amounts rejected or showing as zero

Cause: Currency symbols (£, $, €), thousands separators, parentheses for negatives, or stray text in the amount column — QuickBooks wants plain numbers.

Fix: Strip symbols and separators so amounts are plain decimals, and use a minus sign (not parentheses) for money out. FlowParse outputs clean numeric amounts, so nothing in the amount column trips the import.

Everything imports as the same sign (debits & credits)

Cause: The statement had separate debit and credit columns that weren't mapped, or a single column where signs weren't applied — so money out and money in look the same.

Fix: Use a single signed amount column (money out negative, money in positive), or map the debit and credit columns correctly in the 4-column format. FlowParse normalises debits and credits into one signed column automatically, so the balance reconciles. See 3-column vs 4-column.

Duplicate transactions after import

Cause: Importing the same period twice, or overlapping a CSV import with the live bank feed — and a CSV has no transaction ID for QuickBooks to de-duplicate.

Fix: Exclude the duplicates from the For Review tab (Online) or Bank Feeds Center (Desktop) before they post. To prevent them, use a QBO file — its FITID IDs let QuickBooks skip duplicates — and import each period once, avoiding feed dates.

Import stops at the row limit

Cause: QuickBooks Online caps a CSV import at about 1,000 rows; a busy account or a consolidated year exceeds it.

Fix: Split the statement and import by month, or use a QBO file, which isn't bound by the CSV row cap. To bring a year in cleanly, consolidate first and import per period.

QuickBooks Desktop won't take the CSV

Cause: Desktop doesn't support plain CSV import — it reads QBO (Web Connect), QFX and OFX only.

Fix: Convert the statement to a .QBO file and import via Banking → Bank Feeds → Import Web Connect File. Full detail in Online vs Desktop import.

Everything imports into a single column

Cause: QuickBooks couldn't tell the columns apart — usually an unexpected delimiter (semicolon instead of comma, common in some European locales) or columns that weren't mapped in the import wizard.

Fix: Make sure the file is comma-delimited and re-map Date, Description and Amount in the import step. If your spreadsheet app saved a semicolon CSV, re-save as comma-separated. A clean FlowParse CSV uses commas and maps cleanly the first time.

QBO file imports to the wrong account or won't import

Cause: The QBO file's account type or ID doesn't match the QuickBooks account you're importing into — for example importing a credit-card file into a bank account, or a stale Intuit tag.

Fix: Import the file into the matching account type (bank file → bank account, card file → credit-card account). FlowParse tags the QBO correctly for the document type, and you select the destination account at import; if QuickBooks prompts to set up a new account, point it at the existing one.

Some transactions didn't import

Cause: The file was truncated at a page break, exceeded the row limit, or had rows QuickBooks silently skipped for formatting — so the count in QuickBooks is lower than the statement.

Fix: Compare the imported count and closing balance to the statement. FlowParse stitches multi-page statements into one continuous list and balance-validates the total, so a dropped line is caught and flagged before import rather than going missing in QuickBooks.

Strange characters or broken descriptions

Cause: The CSV was saved in an encoding QuickBooks doesn't read cleanly — accented names, currency symbols or apostrophes turn into garbled characters, and a description containing a comma spills into the next column because it wasn't quoted.

Fix: Save the file as UTF-8 and make sure any description containing a comma is wrapped in quotes so the column count stays right. This is fiddly to fix by hand in a spreadsheet; FlowParse writes a correctly-encoded, properly-quoted CSV so payee names with accents, ampersands or commas survive the import intact. The same care applies to the CSV export for any other tool.

Opening balance is wrong after import

Cause: An opening-balance or summary row from the statement was imported as a transaction, or the account's starting balance in QuickBooks doesn't match the statement's opening figure — so every running total is off by that amount.

Fix: Don't import summary, opening-balance or carried-forward rows — they aren't transactions. Set the account's opening balance to the statement's opening figure once, then import only the transaction lines. FlowParse separates the opening/closing balances from the transaction list automatically, so only real transactions reach QuickBooks and the running balance lines up. See the reconciliation guide for matching it to the statement.

Quick error reference

The whole list at a glance — symptom, cause and the one-line fix:

SymptomCauseFix
“Not formatted correctly”Extra/blank rows, wrong columnsClean header + Date/Description/Amount
Wrong or rejected datesMixed/ambiguous formatsOne format; set it in the wizard
Amounts rejected / zeroSymbols, separators, textPlain signed numbers
All one signDebits/credits un-normalisedSingle signed column
DuplicatesRe-import or feed overlapQBO (FITID); import once
Stops at ~1,000 rowsOnline CSV row capSplit by month or use QBO
Desktop rejects CSVDesktop has no CSV importConvert to .QBO
All in one columnWrong delimiter / mappingComma CSV; re-map columns
Garbled charactersWrong encoding / unquoted commasUTF-8; quote descriptions
Opening balance offSummary row imported as txnImport transaction lines only
Won't reconcileMissing / duplicate / signImport validated data once
FlowParse
flowparse.io

The reconciliation won't balance after import

This is the error that shows up aftera seemingly successful import, and it's the most expensive to chase. It almost always traces to one of three things already covered: a missing transaction (the file was truncated or a row was skipped), a duplicate, or a wrong sign. The difference between QuickBooks' balance and the statement's closing balance is your clue: a single transaction's worth means a missing or duplicated line; double a transaction means a sign error on it.

The structural cure is to import data that was validated before it arrived. FlowParse runs a balance check — opening balance plus transactions equals closing balance — on every statement, so a missing or misread line is flagged and fixed in the editable preview beforeyou import, rather than surfacing as an unbalanced reconciliation later. That's the difference between hunting for a difference and never having one. See the validation engine and the reconciliation guide.

FlowParse
flowparse.io

Preventing import errors for good

Every fix above is reactive — but the errors are avoidable. Because they nearly all come from a hand-made or copied CSV, the prevention is to start from a clean file. Converting the PDF statement with FlowParse normalises the headers, dates, amounts and signs, validates the balance, and hands you the correct file for your edition (CSV for Online, QBO for Desktop or duplicate-safe imports). That single step removes essentially the whole list at once.

It helps to see why that works. Almost every error in this guide traces back to one of three root causes: the file's structure is wrong (extra rows, wrong columns, bad delimiter or encoding), the values are ambiguous (mixed date formats, symbols in amounts, un-normalised debits and credits), or the processis wrong (importing twice, overlapping the feed, importing a summary row). A hand-built CSV can fail on all three at once, which is why troubleshooting it feels like whack-a-mole. Converting the statement fixes the first two by construction — the structure and values come out correct every time — leaving only the process, which the checklist above handles. Address the root cause once and you stop meeting the symptoms one at a time. It's the same logic a good accountant applies to any recurring problem: fix the source of the bad data, not each downstream consequence, and the recurring fire-fighting simply ends. A few minutes converting the statement properly buys back the hour you'd otherwise spend re-formatting, re-importing and reconciling by trial and error.

  • Convert the PDF rather than copy-pasting or hand-building a CSV.
  • Use one date format and let the wizard know which it is.
  • Keep amounts as plain signed numbers — no symbols, no parentheses.
  • Prefer a QBO file for repeat imports and for Desktop (FITID de-dupe).
  • Import each statement period exactly once; don't overlap the feed.
  • Validate the balance before importing so nothing is missing.

Bottom line: a clean, balance-validated file imports without errors and reconciles on the first pass. Convert the PDF properly and the troubleshooting mostly disappears.

Where the errors differ: Online vs Desktop

Some of these errors are edition-specific, and knowing which saves time. The “CSV not formatted”, date, amount and row-limit errors are QuickBooks Online problems, because Online is where you import CSVs. QuickBooks Desktopdoesn't import CSV at all, so it never throws those — instead its characteristic issue is “why won't my CSV import” (answer: it can't; use a QBO file). Duplicate and reconciliation errors happen in both.

The practical implication is that converting to a QBO file sidesteps the entire CSV-error family in one move, and it's the only native route for Desktop anyway. If you find yourself fighting CSV formatting repeatedly, that's the signal to switch formats. The full edition comparison is in QuickBooks Online vs Desktop import.

A 60-second pre-import checklist

Run through this before any import and you'll avoid almost every error in this guide:

  • One header row only — no summary, opening-balance or note rows above the data.
  • Exactly the columns QuickBooks expects (Date, Description, Amount — or the 4-column form).
  • Every date in one format, and you know which format to tell the wizard.
  • Amounts are plain numbers — no £/$/€, no thousands commas, minus signs not brackets.
  • Money out is negative and money in positive (or split correctly across debit/credit).
  • Under ~1,000 rows for an Online CSV — otherwise split by month or use a QBO file.
  • On Desktop? It must be a QBO/QFX/OFX file, not a CSV.
  • You're importing this period for the first time, and not overlapping the bank feed.

Every line of that checklist is something FlowParse handles for you when it converts the PDF — which is why a converted statement imports without the ritual. The full method picture is in the QuickBooks import guide.

FlowParse
flowparse.io

Skip the errors entirely

Convert a PDF statement into a clean, balance-validated CSV or .QBO QuickBooks imports without complaint — no formatting, no fixing. No signup to try.

Frequently asked questions

Why does QuickBooks say my CSV is not formatted correctly?

Almost always because of extra header rows, blank rows, more columns than QuickBooks expects, or text where it wants a number. QuickBooks needs a single clean header row, then Date, Description and Amount columns. Strip anything else, or convert the PDF with FlowParse, which outputs a clean QuickBooks-ready CSV.

How do I fix date format errors in a QuickBooks import?

Make every row use one consistent date format and tell QuickBooks which format it is during import (e.g. DD/MM/YYYY or MM/DD/YYYY). Mixed or ambiguous dates are the usual cause. FlowParse normalises all dates to one format so the import doesn't choke.

Why are my amounts wrong or rejected?

Currency symbols, thousands separators, or text in the amount column cause rejections, and split debit/credit columns that aren't mapped cause wrong figures. Use plain numbers in a single signed column. FlowParse normalises debits and credits into one signed amount automatically.

How do I remove duplicate transactions in QuickBooks?

Exclude or delete the duplicates from the For Review tab (Online) or the Bank Feeds Center (Desktop) before they're added to the register. To prevent them, use a QBO file — its FITID IDs let QuickBooks skip duplicates — and import each period once.

What is the QuickBooks 1,000-row import limit?

QuickBooks Online caps a CSV import at about 1,000 rows. Split a long statement by month, or use a QBO file which isn't bound by the CSV row cap. Desktop's QBO/QFX/OFX imports aren't affected.

Why won't QuickBooks Desktop import my CSV?

Because Desktop doesn't support plain CSV import — it imports QBO (Web Connect), QFX and OFX. Convert your statement to a .QBO file with FlowParse and import it via Banking → Bank Feeds → Import Web Connect File.

My reconciliation won't balance after importing — why?

Usually a missing transaction, a duplicate, or a wrong sign. Importing a balance-validated file prevents the missing-line case, a QBO file prevents duplicates, and checking that debits are negative and credits positive fixes signs. Start from validated data and most reconciliations balance first time.

Why did some transactions not import?

Often the file was truncated at a page break, exceeded the row limit, or had rows QuickBooks skipped due to formatting. FlowParse stitches multi-page statements into one list and balance-validates the total, so a dropped line is caught before import.

How do I fix transactions importing with the wrong sign?

Money out should be negative and money in positive (or correctly split across debit/credit columns). If everything came in as one sign, the source had debits and credits un-normalised. FlowParse signs amounts correctly so the balance reconciles.

Can I re-import a statement without creating duplicates?

With a QBO file, yes — QuickBooks uses the FITID to skip transactions it already has. With a CSV there's no ID, so re-importing the same period duplicates it; import each period once.

Why does QuickBooks import everything into one column?

The CSV columns weren't mapped correctly at import, or the file had an unexpected delimiter. Re-map Date, Description and Amount in the import wizard, and make sure the file is comma-delimited. A clean FlowParse CSV maps cleanly.

How do I import a PDF bank statement that won't go into QuickBooks?

QuickBooks can't read a PDF at all — that's why it 'won't import'. Convert the PDF to a CSV or QBO first; FlowParse extracts every transaction and outputs a QuickBooks-ready file in one step.

Does fixing the file help my reconciliation accuracy?

Yes. Most reconciliation differences trace back to an import problem — a missing line, a duplicate, a wrong sign. A clean, balance-validated import removes those at the source, so the reconciliation is accurate by construction.

What's the fastest way to avoid all these errors?

Convert the PDF statement with FlowParse rather than hand-building a CSV. It normalises headers, dates, amounts and signs, validates the balance, and outputs the right file for your edition — which removes essentially every error in this guide at once.

Do these fixes apply to credit-card imports too?

Yes. The same formatting, sign and duplicate rules apply to credit-card statements, imported against the matching card account. Charges should be money out and payments money in.

Related