Bank Statement CSV Format Spec
Standardized CSV samples, locale-specific formats, and validation rules for QuickBooks, Xero, Sage, Wave, Zoho Books, and FreshBooks. Never guess which CSV layout your software expects.
Have questions? Book a free 30-minute call with the founder.
Trusted by CPAs and accountants at leading firms










TL;DR
The Zera Books CSV spec defines a standard format for bank statement imports: Date, Description, Amount as required columns, with optional Credit/Debit split, Currency, and Balance columns. Locale variants handle US (MM/DD/YYYY, period decimal), EU (DD/MM/YYYY, comma decimal), and UK (DD/MM/YYYY, period decimal) formats.
Skip the manual CSV work entirely—Zera Books converts any PDF bank statement to perfectly formatted CSV in seconds. 99.6% accuracy, $79/month unlimited, works with any bank format automatically.
CSV Format Specification
The Zera Books CSV spec removes guesswork from bank statement imports. This format is compatible with QuickBooks, Xero, Sage, Wave, Zoho Books, and FreshBooks. Use the samples and validation rules on this page to test before importing real transactions.
Sample CSV (US Format)
Extraction accuracy
PDF to CSV conversion
US, EU, UK, ISO
Required & Optional Columns
Every bank statement CSV needs at minimum a Date column and either an Amount column or separate Credit/Debit columns. Description is strongly recommended for transaction matching.
DateRequired01/15/2025Transaction post date. Accepted formats: MM/DD/YYYY (US), DD/MM/YYYY (EU/UK), or ISO 8601 (YYYY-MM-DD).
DescriptionRequiredAMAZON MARKETPLACEMemo or merchant text from the bank statement. Used for transaction matching and categorization.
AmountRequired-45.99Signed number—negative for money out (debits), positive for money in (credits). Use dot or comma as decimal separator.
CreditOptional1250.00Optional split column for deposits/credits. Used by legacy ERPs that expect separate Credit/Debit columns instead of a single Amount.
DebitOptional45.99Optional split column for withdrawals/debits. Paired with Credit column for legacy software compatibility.
CurrencyOptionalUSDISO 4217 currency code. Only required when multi-currency is enabled.
BalanceOptional5,234.01Running balance after each transaction. Useful for reconciliation verification.
Locale-Specific Formats
Date and number formatting varies by region. Using the wrong locale format is the most common reason bank statement CSV imports fail. Match the format to your software's locale setting.
US (United States)
Date Format
MM/DD/YYYY
Decimal Separator
Period (.)
Example Row
01/15/2025, "AMAZON MARKETPLACE", -45.99
Works with: QuickBooks Online, QuickBooks Desktop, Wave
EU (European Union)
Date Format
DD/MM/YYYY
Decimal Separator
Comma (,)
Example Row
15/01/2025; "AMAZON MARKETPLACE"; -45,99
Works with: Sage, Zoho Books, FreshBooks (EU)
UK (United Kingdom)
Date Format
DD/MM/YYYY
Decimal Separator
Period (.)
Example Row
15/01/2025, "AMAZON MARKETPLACE", -45.99
Works with: Xero, FreeAgent, Sage UK
ISO (International)
Date Format
YYYY-MM-DD
Decimal Separator
Period (.)
Example Row
2025-01-15, "AMAZON MARKETPLACE", -45.99
Works with: Developer APIs, custom integrations
Per-Software Import Guides
Pick your platform, confirm the format, and follow the import path. Want to automate this entirely? Try Zera Books for one week and convert PDFs to CSV in seconds.
QuickBooks Online
US CSV (Date, Description, Amount)
Import Path
Banking > Upload transactions > Browse > Select CSV
- Date must be MM/DD/YYYY
- Single Amount column (signed)
- Max 1,000 rows per import
Xero
UK CSV (Date, Description, Amount)
Import Path
Accounting > Bank accounts > Import a statement
- Date DD/MM/YYYY or YYYY-MM-DD
- Supports separate Credit/Debit columns
- CSV or OFX accepted
Sage
EU CSV with semicolons
Import Path
Banking > Import statement > Upload CSV
- Semicolon delimiter for EU accounts
- Comma decimal separator
- Map fields during import
Wave
US CSV (Date, Description, Amount)
Import Path
Accounting > Transactions > Import CSV
- Same format as QuickBooks US
- MM/DD/YYYY dates
- Negative amounts for debits
FreshBooks
CSV (Date, Description, Amount)
Import Path
Accounting > Bank Connections > Import from CSV
- Flexible date parsing
- Supports single or split columns
- Auto-detects delimiter
Zoho Books
CSV with header row
Import Path
Banking > Import Statement > Upload file
- Map columns during import
- Supports multi-currency CSV
- Auto-categorization available
Validation Checklist
Run through this checklist before importing your CSV to avoid common import failures. Each item maps to one of the top errors accounting teams encounter.
First row contains column headers (Date, Description, Amount)
Date column uses consistent format throughout the file
Amount column uses correct decimal separator for your locale
No blank rows between header and transaction data
No summary rows or bank branding above the header
File is saved as UTF-8 encoding
Delimiter is consistent (comma, semicolon, or tab)
At least one transaction row exists below the header
Description field is enclosed in quotes if it contains commas
No trailing commas or extra columns at the end of rows
Skip Manual Validation
Zera Books handles all format conversion, validation, and error correction automatically. Upload any PDF bank statement and get a perfectly formatted CSV that imports cleanly—no manual checking required.
Common Errors & Quick Fixes
These are the issues accountants surface most when importing bank statement CSVs. Each fix addresses a specific root cause.
Date format mismatch
Cause: Using MM/DD/YYYY in software expecting DD/MM/YYYY (or vice versa). Ambiguous dates like 01/02/2025 import as wrong month.
Fix: Check your software locale and match the date format exactly. Use ISO 8601 (YYYY-MM-DD) to eliminate ambiguity.
Missing or malformed Amount column
Cause: Using Credit/Debit split columns when software expects a single signed Amount, or vice versa.
Fix: Check if your software wants one Amount column (negative = debit) or separate Credit and Debit columns. Convert between formats before import.
Decimal separator conflict
Cause: Using comma as decimal separator (1.234,56) when software expects period (1,234.56).
Fix: Match your locale. US/UK software expects periods; EU software expects commas. Adjust before import.
Encoding issues (special characters)
Cause: Non-UTF-8 encoding causing garbled merchant names or descriptions with accented characters.
Fix: Save CSV as UTF-8 without BOM. Most modern text editors and spreadsheet tools support this.
Extra header rows or blank lines
Cause: Bank CSV exports often include summary rows, bank name, or blank lines above the actual header.
Fix: Remove any rows above the column header row. The first row of your CSV should be: Date,Description,Amount.
Duplicate transactions on import
Cause: Re-importing the same CSV without checking for overlap with existing transactions.
Fix: Check the date range of existing transactions before importing. Most software warns about duplicates but not all.
Technical Appendix
Encoding, delimiter, and file format details for developers and integrations.
File Expectations
- UTF-8 encoding without BOM
- Comma, semicolon, pipe, or tab delimiters
- Date: MM/DD/YYYY, DD/MM/YYYY, or ISO 8601
- Decimal separator: dot or comma
- Line endings: CRLF or LF
Fields Reference
- Date — Transaction post date
- Description — Memo/merchant text from bank
- Amount — Signed number (negative for money out)
- Credit / Debit — Optional split columns for legacy ERPs
- Currency — Optional ISO code for multi-currency
- Balance — Optional running balance

“My clients send me all kinds of messy PDFs from different banks. This tool handles them all and saves me probably 10 hours a week that I used to spend on manual entry.”
Ashish Josan
Manager, CPA, Manning Elliott
Related Resources
Bank Statement to CSV Guide
Complete conversion walkthrough for converting PDF bank statements to CSV.
Learn morePDF to Excel Converter
Automated PDF extraction with 99.6% accuracy.
Learn moreQuickBooks CSV Import
Import bank statement CSV to QuickBooks Online.
Learn moreXero CSV Import
Import bank statement CSV to Xero accounting.
Learn moreAI Transaction Categorization
Auto-categorize transactions from CSV imports.
Learn moreClient Dashboard
Manage client conversions and track history.
Learn moreSkip the Manual CSV Work
These CSV specs are helpful for understanding formats, but converting PDFs manually is time-consuming. Zera Books automates the entire process—upload any bank statement PDF and get perfectly formatted CSV output in seconds.
$79/month unlimited | 99.6% accuracy | No templates needed