QBOKit

QuickBooks Online CSV format requirements

QuickBooks Online will import bank transactions from a CSV, but only in one of two specific shapes, and it is unhelpfully strict about the details. This is the complete list of what it expects.

The two accepted layouts

Three columns

Date, description, and one signed amount. Negative for money out, positive for money in.

Date,Description,Amount
01/04/2026,DIRECT DEBIT ACME LTD,-82.40
02/04/2026,SALARY,2150.00
03/04/2026,CARD PAYMENT COFFEE,-3.10

Four columns

Date, description, and money in and money out as separate columns. Each row fills one or the other, never both.

Date,Description,Credit,Debit
01/04/2026,DIRECT DEBIT ACME LTD,,82.40
02/04/2026,SALARY,2150.00,
03/04/2026,CARD PAYMENT COFFEE,,3.10

The rules, one by one

RuleDetail
Required fieldsDate, Description, Amount (or Credit/Debit)
Maximum file size350 KB. Split into shorter date ranges if bigger.
Money column headersExactly Amount, Credit or Debit. No extra words.
Header rowMust be the first row. No preamble, no account details above it.
Blank rowsNot allowed, anywhere in the file.
Empty money cellsLeave genuinely empty. Do not write 0.
DatesOne consistent format throughout, matching what you pick when mapping.
AmountsPlain numbers. No currency symbol, no thousands separator.
DescriptionPlain text. Special and control characters can block the import.
Extra columnsDelete them. They cause mis-mapping.
File typeTrue CSV. On a Mac, save as Windows CSV.
SubaccountsCannot be imported into. Use the bank feed or the parent account.

Where bank exports break these rules

Almost every real bank export violates at least one rule, which is why this is such a common waste of an afternoon:

Skip the manual cleanup

Every item above is mechanical, which means a tool can do it. QBOKit reads your bank's CSV, detects the delimiter and the column roles, works out the real date order by looking at the whole column rather than the first row, normalises the amounts and signs, and writes a file in a shape QuickBooks accepts.

Clean up my CSV — free

It runs entirely in your browser. Your transactions are never uploaded to us.

Sources