Export Bank Statement — bank statement PDF to Excel
sync_altGuide

QuickBooks CSV Import Format

The exact QuickBooks CSV import format — 3-column and 4-column layouts, date formats, signed amounts, and the file rules that get a bank CSV accepted.

bolt

QuickBooks Online accepts a bank-transaction CSV in one of two layouts: a 3-column file with Date, Description and a single signed Amount, or a 4-column file with Date, Description, Credit and Debit kept apart. Either is fine — but you pick one, you keep it to those columns, and you save it as plain CSV. That's the whole spec. One worthwhile warning up front: this is a file you upload yourself under Bank transactions and map by hand. It is not a live bank-feed API pushing data in.

The format itself is simple. What trips people up is everything the bank statement adds on top of it — running balances, reference codes, currency symbols, wrapped description lines — none of which QuickBooks wants. Below is the exact shape of an accepted file, field by field, plus the two amount layouts side by side.

The two accepted CSV layouts

QuickBooks Online reads two column arrangements. The difference is only in how the money is expressed.

Layout

Columns

How the amount works

Best for

3-column

Date, Description, Amount

One signed Amount column: money out is negative, money in is positive

Most statements; the cleanest option

4-column

Date, Description, Credit, Debit

Two positive columns — Credit for money in, Debit for money out

Statements that already separate paid-in and paid-out

The mistake to avoid is mixing them. A signed Amount column *and* a separate Debit/Credit pair in the same file gives QuickBooks columns it can't place, which is one of the most common reasons for the vague "file isn't formatted correctly" message. Choose 3-column or 4-column. Don't hedge.

Field-by-field requirements

Each field has its own rules. Get these right and the mapping screen barely needs your help.

Field

Format

Rules

Date

MM/DD/YYYY, DD/MM/YYYY or YYYY-MM-DD

One consistent order for the whole file; you confirm which order on the mapping screen

Description

Plain text

One line per transaction; no line breaks mid-cell; commas inside text need the field wrapped in quotes

Amount (3-column)

Signed number, e.g. `-42.50` or `128.00`

No currency symbol, no thousands commas; minus sign for money out

Credit / Debit (4-column)

Positive numbers

One value per row in either Credit or Debit, the other left blank

A few things QuickBooks does *not* want anywhere in the file: the running balance, transaction-type codes, reference numbers, a second description line, merged header cells, or blank rows between transactions. Strip all of it. A file that imports first time is almost always a file you've cut down hard.

What an accepted file actually looks like

Here's a 3-column file as QuickBooks reads it. Note the signed amounts and the bare numbers — no `$`, no ``, no commas.

```csv Date,Description,Amount 06/02/2026,Opening deposit,2400.00 06/04/2026,Card payment - office supplies,-86.40 06/09/2026,Client invoice 1042,1250.00 06/14/2026,Direct debit - utilities,-142.18 ```

And the same transactions in the 4-column layout, with money split into Credit and Debit:

```csv Date,Description,Credit,Debit 06/02/2026,Opening deposit,2400.00, 06/04/2026,Card payment - office supplies,,86.40 06/09/2026,Client invoice 1042,1250.00, 06/14/2026,Direct debit - utilities,,142.18 ```

Both files carry the same information. The only real decision is whether money out lives as a negative number in one column or as a positive number in a Debit column.

Getting the date format right

The date field causes more rejected rows than anything except the amount column. The problem is order, not the digits. A date written `06/04/2026` is the 4th of June in the US and the 6th of April across the UK, Australia and Ireland. QuickBooks doesn't guess — if the order you pick on the mapping screen doesn't match how the dates are actually written, every row either lands on the wrong day or gets bounced.

Two safe habits. First, keep one date order throughout the file; a statement that mixes formats halfway down will never import cleanly. Second, write dates as `YYYY-MM-DD` when you're editing by hand — it's unambiguous, and Excel is far less likely to silently reinterpret it on save. Whatever order you use, set the matching choice on the mapping screen and then check one transaction you remember. If a payment you know landed on the right day, the rest will too.

File requirements

Beyond the columns, the file itself has to meet a few plain conditions:

  • Plain CSV (or .xlsx). QuickBooks Online's manual import won't read a PDF, a .numbers file, or a Google Sheets link as transactions.
  • One header row, then one transaction per row. No title rows, no bank logo rows, no blank spacer rows above the data.
  • UTF-8 text with standard commas as the delimiter. Semicolon-delimited exports from some regional Excel settings can confuse the parser.
  • No merged cells. These survive a CSV export as misaligned columns and break the mapping.

If your statement starts life as a PDF, none of this applies until you've converted it — QuickBooks treats a PDF as a document, not as data. The import PDF statements into QuickBooks guide walks the full conversion-to-upload route, and if an upload throws an error, how to fix QuickBooks import errors maps each message to its cause.

The check the format can't do

Here's the part that matters most, and it's the part a format spec quietly ignores. A CSV can match every rule above — three tidy columns, clean signed amounts, the right date order — and still be wrong. Because format only tells you the file is *readable*. It says nothing about whether the file is *complete*. A converter can hand back a perfectly shaped CSV that imports without a single complaint and is missing a transaction, because one Direct Debit fell off the bottom of page four during extraction. A clean file that's incomplete is the dangerous kind, because you'll trust it.

This is why the running balance earns its keep. It's a built-in checksum: opening balance, plus money in, minus money out, has to equal the printed closing balance. Recompute it row by row and the first line where your total stops matching the bank's figure is the exact transaction that went missing or got misread. You do this *before* the import, not at month-end when QuickBooks won't reconcile and you've no idea which row to blame.

Export Bank Statement is the web app built around that check. It converts the PDF — including scanned and photographed statements, via OCR — into a clean CSV or Excel file, then runs the running-balance reconciliation: it recomputes the totals against the printed closing balance and flags any statement that doesn't reconcile, so a dropped or misread line surfaces before it ever reaches QuickBooks. It writes the file in QuickBooks' native bank-import CSV format too, so the columns arrive in one of the two layouts above without you reshaping anything by hand. We once watched a neat-looking file fail the check over a single payroll line clipped from a batch — the flag turned an afternoon of hunting into a one-minute fix.

Be plain on what it is, though: convert, then upload. It doesn't push transactions into QuickBooks through a live bank-feed API, and it isn't a bookkeeping service — you decide what gets imported. Still wondering whether QuickBooks can take a statement at all? Can QuickBooks import PDF bank statements? answers that, and the wider US accounting guides cover the rest.

Frequently asked questions

What is the correct CSV format for QuickBooks import?keyboard_arrow_down

QuickBooks Online accepts two layouts. A 3-column file has Date, Description and a single signed Amount, where money out is negative and money in is positive. A 4-column file has Date, Description, Credit and Debit, with money in and money out kept in separate positive columns. Pick one layout, keep the file to those columns only, and save it as plain CSV.

Does QuickBooks use 3 or 4 columns for a CSV import?keyboard_arrow_down

Both work. The 3-column format (Date, Description, Amount) uses one signed column for the value. The 4-column format (Date, Description, Credit, Debit) splits money in and money out into two columns. The thing to avoid is combining them — a signed Amount column plus a separate Credit/Debit pair in the same file is a common cause of import failure.

What date format does QuickBooks accept in a CSV?keyboard_arrow_down

QuickBooks Online accepts MM/DD/YYYY, DD/MM/YYYY and YYYY-MM-DD, but it doesn't auto-detect which one you've used — you confirm the order on the mapping screen during upload. Keep one consistent order through the whole file, then check that one known transaction landed on the right day.

Can QuickBooks import a CSV with a balance column?keyboard_arrow_down

No, not as a transaction column. QuickBooks wants only Date, Description and Amount (or Credit and Debit). Remove the running balance, reference numbers and transaction-type columns before you save. The running balance is still useful first, though — use it to confirm the file reconciles before you strip it out.

Why does my correctly formatted CSV still cause a reconciliation problem?keyboard_arrow_down

Because format and completeness are different things. A file can pass every column and date rule and still be missing a transaction that was dropped during conversion. Check that opening balance plus money in, minus money out, equals the printed closing balance. A converter that recomputes the running balance and flags any statement that doesn't reconcile catches the gap before it reaches your books.

verified

Try it on your own statement

Clean Excel/CSV, with every transaction checked to balance.

upload_fileConvert free
Keep reading

More guides

verifiedChecked to balance

Convert your bank statement — every transaction verified

Upload any PDF, get clean Excel or CSV ready for Xero & QuickBooks. Scanned statements too.

upload_fileConvert a statement free