Bank Statement to CSV Format Standards

Clean bank-statement CSVs need predictable columns, valid dates, numeric debit and credit fields, escaped descriptions and UTF-8 encoding. This guide explains the export standards ClearlyLedger uses.

Last updated 2026-04-30

TL;DR

"CSV" is not one format — there are at least four dialects (Xero, QuickBooks, MYOB, generic). Most import failures come from one of seven causes: wrong date format, currency symbol in amount, UTF-8 BOM, wrong line endings, wrong negative-sign convention, unquoted commas, or column-length limits. The universal 5-column schema (Date, Description, Debit, Credit, Balance) imports cleanly almost anywhere.

Converting a bank statement PDF to CSV looks like a solved problem until you try to import the file. Then half of them fail with cryptic errors and you spend an afternoon shaping spreadsheets by hand.

This guide breaks down what "bank statement CSV" actually means in 2026, why imports fail, and the schema that works across Xero, QuickBooks, MYOB, and custom pipelines.

"CSV" Is Not One Format — It's Four Dialects

The CSV file extension just means "text separated by commas". The shape of the data inside is dictated by whoever consumes it. The four dialects you'll encounter:

  • Xero CSV. Date, Amount (signed), Payee (max 30 chars), Description, Reference. UTF-8, no BOM.
  • QuickBooks CSV. Date, Description, Amount — or separate Debit and Credit columns. More flexible than Xero on date format.
  • MYOB CSV. Date, Amount, Description. Australia-centric date and currency conventions.
  • Generic / universal CSV. Date, Description, Debit, Credit, Balance — the analysis-friendly shape.

A converter that emits "a CSV" without specifying which dialect is gambling that the import works.

Column-by-Column Anatomy

A clean bank statement CSV has consistent rules for every column. The rules that matter most:

  • Date. Use ISO-8601 (YYYY-MM-DD) for universal CSV; DD/MM/YYYY for Xero in most regions; MM/DD/YYYY for QuickBooks US. Never mix formats within a file.
  • Description. No embedded line breaks. Quote the field if it contains a comma. Multi-line descriptions in the source PDF should be stitched into one line.
  • Payee. Where required (Xero), truncate to 30 characters, prioritising the merchant name over the reference number.
  • Amount. Numeric only. No currency symbol (use a separate column if needed). Negative for debits in signed-amount schemas. Two decimal places.
  • Balance. Required for analysis CSV. Omit for accounting-software import (the platform recomputes it).

The 7 Reasons CSV Imports Fail

Almost every "my CSV won't import" support ticket comes down to one of these.

  1. Wrong date format. A US-format date in a UK-region Xero account silently swaps day and month.
  2. Currency symbol in amount. "$1,234.56" parses as text. Strip symbols and use a separate currency column.
  3. UTF-8 BOM at file start. Invisible to humans, breaks header parsing in QuickBooks Desktop and several legacy tools.
  4. Wrong line endings. CRLF vs LF matters for some older importers. Use LF (Unix) as the safe default.
  5. Negative-sign convention. Accounting exports often use parentheses for negatives: "(123.45)". Most importers expect a minus sign: "-123.45".
  6. Unquoted commas in descriptions. "AMAZON.COM, INC" without quotes splits into two columns. Quote any field containing a comma.
  7. Column-length limits exceeded. Xero truncates Payee at 30 chars; importers may reject the whole row if the field is longer.

The Universal Bank CSV Schema

For any pipeline that isn't directly importing into a specific accounting platform, a universal schema is the right default. The shape:

{`Date,Description,Debit,Credit,Balance
2026-01-15,"AMAZON.COM, INC",49.99,,1234.56
2026-01-16,SALARY DEPOSIT,,2500.00,3734.56
2026-01-17,STARBUCKS #1234,4.85,,3729.71`}
              

Five columns, ISO-8601 dates, separated debit and credit columns (avoids sign-convention disputes), running balance for verification, UTF-8 without BOM, LF line endings, all comma-containing fields quoted. This file imports as analysis input or reshapes trivially into any accounting-platform dialect.

How ClearlyLedger Handles CSV Output

ClearlyLedger emits one of three CSV dialects depending on the export choice:

  • Universal CSV — the 5-column schema above, for analysis and custom pipelines.
  • Xero / QuickBooks / MYOB CSV — the platform-specific dialect, with date format, sign convention, and field length conformed to the target.
  • Standardised Payee — merchant name normalised and truncated to 30 chars; reference number preserved in a separate column.

Every CSV passes the same balance verification gate as the Excel export. Standard CSV and full Excel are included on every plan; Starter and above add accounting-specific formats and batch workflows.

Bottom Line

If your bank statement CSV is failing to import, the file shape is almost certainly the cause — not the bank, not the importer. Use the universal 5-column schema for analysis, or have your converter emit the platform-specific dialect for direct import.

Either way, the converter doing the work needs to know about the seven failure modes and handle them automatically. A "PDF to CSV" tool that doesn't is just generating new data-cleanup work for you.

Loading interactive converter… Try ClearlyLedger free