Bank Statement to CSV: The Complete Guide for 2026

March 15, 2026

Bank Statement to CSV: The Complete Guide for 2026

How to export your bank statement to CSV format for use in Excel, Google Sheets, QuickBooks, and accounting software. Free methods included.

CSV (Comma-Separated Values) is the universal format of financial data. Excel, Google Sheets, QuickBooks, Xero, Sage, FreshBooks — every accounting tool accepts CSV. If you can get your bank statement into CSV format, you can import it anywhere.

This guide covers every method to convert a bank statement to CSV, from downloading directly from your bank to converting existing PDFs.

Method 1: Download CSV Directly From Your Bank (Best If Available)

Many banks let you export transaction history as CSV directly. This is the cleanest option — no conversion needed.

How to download from major banks:

Chase:

  1. Log in → Select account → "Download Account Activity"
  2. Choose date range → Select "CSV" format
  3. Click Download

Bank of America:

  1. Log in → Account Details → "Download Transactions"
  2. Select date range → "Microsoft Excel Format (OFX)" or "CSV format"

Wells Fargo:

  1. Log in → Account Summary → "Download Transactions"
  2. Select "Comma-Separated Values (.CSV)"

HSBC:

  1. Log in → Select account → "View Statement" → "Export"
  2. Choose "CSV" from the format dropdown

Revolut / N26 / Monzo: These digital banks typically offer CSV export in their app under "Statements" or "Export data."

The problem with bank CSV exports

Even when your bank offers CSV downloads, the format is often messy:

  • No consistent column names
  • Dates in unusual formats (MM/DD/YYYY vs. DD/MM/YYYY)
  • Amounts as text with currency symbols ("$1,234.56")
  • Merged debit/credit into one column with negative numbers

You'll usually need some cleanup before importing into accounting software.

Method 2: Convert a PDF Bank Statement to CSV

If you only have a PDF statement (no online banking access, older statements, statements from another person's account), you need to convert it.

Option A: Online converter

Tools like BankToSheet accept PDFs and output clean CSV:

  1. Upload your PDF bank statement
  2. The tool extracts all transactions
  3. Download as CSV (or Excel)

This handles both digital PDFs and scanned documents. Processing takes under 10 seconds.

Option B: Copy-paste to Google Sheets

For text-based PDFs:

  1. Open PDF in browser → Select all → Copy
  2. Paste into Google Sheets
  3. Use Data → Split text to columns
  4. Clean up manually
  5. Download as CSV: File → Download → CSV

Time required: 1–3 hours for a typical statement.

Option C: Python with pdfplumber

import pdfplumber
import csv

transactions = []

with pdfplumber.open("statement.pdf") as pdf:
    for page in pdf.pages:
        table = page.extract_table()
        if table:
            transactions.extend(table[1:])  # skip header

with open("statement.csv", "w", newline="") as f:
    writer = csv.writer(f)
    writer.writerow(["Date", "Description", "Debit", "Credit", "Balance"])
    writer.writerows(transactions)

Works for text-based PDFs with consistent table structure.

The Ideal CSV Format for Accounting

When you have your CSV, make sure it uses these columns:

Date, Description, Debit, Credit, Balance
2026-01-15, AMAZON MARKETPLACE, 89.99, , 4210.43
2026-01-16, DIRECT DEPOSIT SALARY, , 3500.00, 7710.43

Why separate debit and credit columns? Most accounting software imports better with separate columns. A single "Amount" column where debits are negative works too, but causes confusion.

Date format: Use YYYY-MM-DD (ISO 8601) or the format your accounting software expects.

Importing Bank Statement CSV Into Accounting Software

QuickBooks Online

  1. Go to Banking → Upload transactions
  2. Select your bank → Choose "Upload a file"
  3. Upload your CSV
  4. Map columns: Date, Description, Amount
  5. Accept or categorize each transaction

Xero

  1. Go to Accounting → Bank Accounts
  2. Select account → Import a statement
  3. Choose CSV format
  4. Map your columns
  5. Import

Google Sheets

Simply drag and drop the CSV file into Google Drive, or use File → Import.

Excel

  1. Open Excel → Data → From Text/CSV
  2. Select your file
  3. Choose delimiter (comma)
  4. Finish

Common CSV Import Problems (And How to Fix Them)

Problem: Dates not recognized

Fix: Change date format to match your software's expectation. In Excel: select column → Format Cells → Date → choose correct format.

Problem: Numbers with currency symbols rejected

Fix: Use Find & Replace (Ctrl+H) to remove "$", "€", "£", and commas from numbers.

Problem: Negative numbers for debits

Fix: Create a new "Debit" column with =IF(A2<0, ABS(A2), "") and a "Credit" column with =IF(A2>0, A2, "").

Problem: Duplicate transactions after import

Fix: Most accounting software has duplicate detection. If not, use Excel's "Remove Duplicates" feature before importing.

Automating Monthly Bank Statement to CSV

If you process statements regularly, automate the workflow:

  1. Set up a bank API — some banks offer PSD2/Open Banking APIs (Europe) or Plaid integration (US). This gives you real-time transaction data in JSON format that you can convert to CSV automatically.

  2. Schedule CSV downloads — for banks that offer CSV export, some third-party tools (like Cleo or Monday.com integrations) can automate the download.

  3. Use a batch converter — if you receive PDF statements from clients or multiple accounts, BankToSheet Pro supports bulk upload of up to 20 PDFs at once.

Conclusion

Getting your bank statement into CSV format is the first step toward organized bookkeeping and seamless accounting software import.

If your bank offers CSV export, start there — it's the cleanest option. For PDF statements (especially scanned ones), a dedicated converter like BankToSheet gives you accurate, clean CSV data in seconds.

5 free conversions per day, no account needed.

Try it free

Ready to convert your bank statement?

5 free conversions per day. No account needed.

Convert my bank statement →