Xero · *Date, *Amount · outflows negative

Bank statement to Xero CSV

Xero's statement import is fussier than most about two things: the header names and the date order. Both are handled here, and if your bank offers OFX instead of PDF you should take that route — this tool converts it too.

Drop your bank statement here

PDF from online banking, or an OFX / QFX export. Click to choose, or paste with Ctrl/⌘+V.

Text-based PDF up to 60 MB / 200 pages, or .ofx / .qfx

Never uploaded — conversion happens in your browser No sign-up, no email Rows checked against the statement's running balance

The columns Xero documents

*Date,*Amount,Payee,Description,Reference
04/01/2025,317.92,,ACME PAYROLL DEPOSIT,
06/01/2025,-806.84,,INSURANCE PREMIUM AUTO,
09/01/2025,-88.50,,CHECK #1042,

The asterisks are Xero's way of marking required fields — keep them in the header. Payee and Reference are left blank rather than filled with a guess: an empty contact is harmless, a wrong one creates a duplicate contact record.

Two things to get right

The date order

Xero interprets dates using your organisation's settings. A file where 04/01/2025 means 4 April and an organisation expecting 1 April will import a full month of transactions on the wrong days — and it will not warn you. Set the Date format dropdown to match your Xero organisation before downloading.

The direction of money

Xero needs signed amounts: money in positive, money out negative. A statement that prints withdrawals as positive numbers in a separate column loses that direction on the way into a single Amount column, so the converter signs them for you — decided from the column each value was printed in and confirmed against the statement's running balance.

Importing the file into Xero

  1. Go to Accounting, then Bank accounts, and open the account you are importing into.
  2. Choose Reconcile, or the statement import option for that account.
  3. Select Import a statement and pick CSV as the file type.
  4. Upload the file and confirm the column mapping Xero proposes — Date and Amount are required; the rest are optional.
  5. Check the opening and closing balances Xero shows against your statement, then confirm.

Confirm it worked

Xero will tell you the statement's opening and closing balance once the file is read. Compare that closing balance with the one printed on your PDF. If they match, every row made it across with the right sign. The converter's Summary sheet records the same closing figure so you have both in front of you.

If the import is rejected

  • Wrong number of columns — the header row was edited. Keep *Date and *Amount exactly as written, asterisks included.
  • Unrecognised date — the date format does not match the organisation. Re-download with the other order.
  • Amounts as text — usually caused by re-saving the CSV in a spreadsheet that added thousands separators or a currency symbol.

If your bank offers OFX or QFX, prefer it. It removes the date-order question entirely: the dates in an OFX file are unambiguous, which is why Xero imports them natively.

Questions people actually ask

What columns does Xero need for a statement import?

Xero's CSV statement import requires Date and Amount, marked *Date and *Amount in the header row. Payee, Description, Reference and Cheque Number are optional. The Xero preset writes all five optional-and-required columns in the order Xero documents them.

What date format does Xero want?

Xero reads the date according to your organisation's settings — DD/MM/YYYY for most regions and MM/DD/YYYY for the United States. The Xero preset defaults to DD/MM/YYYY; switch it in the Date format dropdown if your organisation uses another order. An ambiguous date is the most common cause of a Xero import landing on the wrong day.

Should I use OFX instead of CSV?

If your bank offers an OFX or QFX download, yes — it is better in every way. The data is already structured, there is no layout guessing and no OCR risk, and Xero imports OFX natively. This site converts OFX to CSV and to Excel as well, so you can take whichever path fits.

Do amounts need to be positive or negative?

Xero expects the statement the way a bank prints it: money in positive, money out negative. Statements that print withdrawals as positive numbers in their own column lose that direction on the way into a single Amount column, so the converter writes them negative — derived from the column the value came from and cross-checked against the running balance.

Will this duplicate transactions already in Xero?

Importing a period that is already reconciled will create a second copy of those lines. Import only periods that are missing from Xero, and check the closing balance after importing: if the last balance in Xero does not match the statement, something is doubled or missing.

Does this send anything to Xero?

No. The converter produces a file locally in your browser. You upload it to Xero yourself, inside your own session. Nothing about your statement reaches this site or Xero through it.