xlsRowvert
Guides · 20 September 2026 · 3 min read

How to import a bank statement into Xero from a PDF

Xero imports bank statements as CSV, OFX or QIF — never PDF. The exact Xero CSV columns, the date and amount rules, how to get the file from a PDF statement, and why "Your file couldn't be imported" happens.

When a Xero bank feed is missing months — a new client, a bank without feeds, a feed that broke — you import the statement manually. Xero's manual import takes CSV, OFX or QIF. A PDF has to be converted first. Here is the whole path, including Xero's exact column names.

The Xero CSV layout

Xero's own template has these columns (the asterisk marks the required ones):

*Date,*Amount,Payee,Description,Reference
15/01/2026,2400.00,ACME CORP,PAYROLL JANUARY,
16/01/2026,-1250.00,,RENT JANUARY,

Rules:

  • Date in your organisation's format, usually DD/MM/YYYY for UK, Australia, New Zealand and Canada. One format for the whole file.
  • Amount is a single column: positive for money in, negative for money out. No currency symbols or thousands separators.
  • Payee and Reference may be empty, but the columns must exist if you use Xero's template. Xero lets you map columns during import, so a 3-column file (Date, Amount, Description) also works.
  • One header row, no totals, no balance rows.
  • Xero imports up to 1,000 lines per file; split longer periods by month.

Step 1 — Turn the PDF into that CSV

  • Fastest: a converter with a Xero preset. Rowvert has a "Xero" download that writes exactly the layout above (Date,Amount,Payee,Description,Reference, DD/MM/YYYY, signed amounts), after checking the statement reconciles. Free for 1 page a day.
  • From Excel: if you converted the statement to Excel yourself (see PDF to Excel methods), combine debit and credit into one signed Amount column (=credit-debit), format dates as text DD/MM/YYYY, add the header row above, remove totals, save as CSV UTF-8.

Step 2 — Import into Xero

  1. Accounting → Bank accounts, open the account.
  2. Manage account → Import a statement.
  3. Select the CSV and click Import.
  4. Xero shows the column mapping. Confirm which column is Date, Amount, Payee, Description; set the date format.
  5. Click Save. Xero shows how many statement lines were imported and how many were skipped as duplicates (it de-duplicates on date + amount + description within the same account).

The lines appear in the Reconcile tab exactly like feed lines.

Common problems

SymptomCauseFix
"Your file couldn't be imported"Not a real CSV (saved as .xlsx), UTF-16 encoding, or a stray row above the headerSave as CSV UTF-8; make row 1 the header
Dates a month outDD/MM read as MM/DDRe-import with the correct date format; delete the bad statement lines first (Manage account → Bank statements)
All lines skipped as duplicatesYou already imported the same periodNothing to do — or delete the previous import if it was wrong
Amounts all positiveDebit/credit not merged into a signed AmountRebuild the Amount column as credit − debit
Statement balance in Xero doesn't match the paperA row missing or doubled during PDF conversionCheck opening + in − out = closing before importing

Deleting a bad import

Manage account → Bank statements, tick the statement lines you imported, Delete. Reconciled lines must be unreconciled first. Do this before re-importing a corrected file, or you will double up.

OFX and QIF

If your bank offers .ofx download, prefer it — it carries transaction IDs, so duplicates are impossible. The PDF-to-CSV route is for the months the bank only gives you as PDF.

Related: Bank statement to QuickBooks · Rowvert for accountants · Xero CSV export.

Try it on your own statement

Upload a PDF and get a balance-checked Excel file in seconds. 1 page free every day, no account needed.

Convert a statement free