Blog

How to Import a Bank Statement PDF into Xero

Xero imports a bank statement as CSV, not PDF. Turn the PDF into the three-column file Xero reads, import it, and check it balances. Page one is free.

Xero reads a bank statement from a bank feed, or from a file you import. The file has to be CSV, OFX, QIF or QBO. A PDF is not one of them, so a statement your bank only gives you as a PDF has to become a CSV first.

That happens most with an old statement from before the bank feed started, an account the feed does not cover, or a year-end catch-up from a pile of PDFs.

What Xero needs in the file

Xero matches the columns of a CSV to its own statement fields. The simplest file it accepts has three columns:

Date Description Amount
03/06/2024 FPI A CUSTOMER LTD 1850.00
04/06/2024 DD WATER COMPANY -41.20
05/06/2024 CARD PAYMENT STATIONERY SHOP -23.49

The rows above are an example, not a real statement.

  • Date: every date in full, with its year. Many statements print only "04 Jun" and leave the year to the page heading, which Xero cannot read.
  • Amount: one column, money in as a positive number and money out as a negative one, with no currency sign and no thousands separator.
  • Description: what the statement says about the transaction. Xero shows it on the statement line, so it helps when you reconcile.

A statement's own layout is further from this than it looks. It has separate Money out and Money in columns, a running balance, and lines such as "Balance brought forward" that are not transactions.

Turn the PDF into Xero's file

BankPDFtoXLS writes the three-column file for you, from the statement's own dates and amounts.

  1. Upload the PDF on the home page. Page one converts free, with no email and no card, so you can check the columns first.
  2. Create an account and convert the whole statement.
  3. In your list of statements, select Xero / QuickBooks beside the Excel and CSV downloads.

The converter takes the year from the statement itself: from a date that prints one, from the turn of the year, or from the statement's period. If a date cannot be settled, for example on a scan where a month did not read clearly, there is no Xero file for that statement rather than one with a wrong date. The row says so, and the Excel download still has every row.

A statement that holds several accounts, such as an account and its savings pots, makes one file for each account, because Xero imports a statement into one bank account at a time.

Import the file into Xero

  1. In Xero, go to Accounting > Bank accounts.
  2. Find the bank account the statement belongs to, open its menu, and select Import a Statement.
  3. Drag the file in, or select it, then select Next.
  4. Match each column of the file to Xero's field for it: the date, the description and the amount. Then select Next.
  5. Check the statement lines Xero shows, then finish the import.

If every day in the file is 12 or under, a date such as 03/06/2024 could be either 3 June or 6 March, and Xero asks which you mean. The file is day first. If your Xero organisation is set up in the US, use the (US dates) link instead, which writes the same file month first.

Check it before you reconcile

  • Compare the balance. After the import, the statement balance Xero shows for the bank account should match the closing balance on the PDF.
  • Do not import a period twice. If the account also has a bank feed, import only the dates the feed does not cover, or the lines appear twice.
  • Check any flagged rows. BankPDFtoXLS checks every balance against the row before it. If a row does not follow, the list of statements says so. Open the Excel download, filter the Ledger column for break, and compare those rows with the PDF before you import. Why a balance breaks explains what to look for.

Then reconcile the new statement lines in Xero as you would any others.

Try it on one page first.

Page one of any statement converts free, before an email address or a card.