CSV to Xero bank statement converter

Xero's statement import uses its own CSV template: a Date and a signed Amount on every line, plus Payee, Description, Reference and a cheque number column. Money out is negative. The converter below builds one from a payment app or bank CSV, on your device.

Convert a CSV to Xero (CSV)

To Xero (CSV)

A CSV export from Venmo, Cash App, PayPal, Stripe, Square, Shopify, Wise, Etsy, Airbnb, Gumroad or your bank, or an MT940 or camt.053 bank statement. The source is detected automatically.

Your file stays on this device

It is read and converted by this page, inside your browser. Nothing from the file is uploaded, and the converter keeps working offline once the page has loaded.

One email when it ships. The address is used for nothing else. Details.

Pick the app the file came from

From a bank CSV

Bank CSV exports differ from bank to bank: some use one signed amount, some separate debit and credit columns, dates may be day-first or month-first, and many add header or total rows. Choose "Bank CSV" as the source (it is picked automatically when the file is not from a known app).

  1. In your online banking, find Download or Export transactions.
  2. Choose CSV (sometimes called Excel CSV or Comma separated).
  3. Pick the date range and download.
  • We look for the header row even if the file starts with account details.
  • We map Date, Description and Amount, or separate Debit and Credit columns, automatically, and show the result in the preview.
  • We work out whether dates are month/day or day/month and whether "," or "." is the decimal point from the file itself; when the file cannot tell, we ask you instead of guessing. Dotted dates (31.01.2025) are read day first.
  • Card exports that show purchases as positive numbers can be flipped with the "invert sign" option.

What Xero requires

  • Header matches Xero's template: *Date, *Amount, Payee, Description, Reference, Check Number.
  • One signed amount column: money out negative, decimal point, no symbols.
  • Up to 100,000 rows per file.

How to import it

  1. In Xero open Accounting > Bank accounts and choose the account.
  2. Click Manage account > Import a statement.
  3. Choose this CSV and click Import.
  4. Check the column mapping (Date, Amount, Payee, Description, Reference) and confirm the date format if asked.

Questions

Which date format does Xero need?
Xero lists both month-first and day-first dates as accepted and asks you to confirm the format when it is unclear. Choose United States for MM/DD/YYYY or Elsewhere for DD/MM/YYYY, and confirm the same format in Xero if it asks.
Can I import more than one month at once?
Yes. Xero imports the whole statement file you give it. Keep each file to one bank account in Xero, and avoid overlapping a period you already imported so you do not have to delete duplicate statement lines.
Why do some descriptions start with an apostrophe?
A text cell that begins with =, +, - or @ could be run as a formula if the CSV is opened in a spreadsheet. The converter puts an apostrophe in front of such cells, which is the usual protection; the preview shows each cell exactly as it is written.