How to Import Bank Statements into Xero (Step-by-Step for UK Accountants)

31 March 2026 · 10 min read · BankScan AI Team

Xero's automatic bank feeds are brilliant — when they work. But if you're a UK accountant or bookkeeper, you already know that bank feeds don't cover every situation. Older historical statements, closed accounts, client-provided PDFs, and banks with patchy feed support all leave gaps that need filling manually.

The solution is to import bank statements into Xero using CSV files. It sounds straightforward, but the reality involves date format headaches, column mismatches, encoding problems, and bank-specific formatting quirks that can turn a five-minute job into an hour of frustration.

This guide walks you through the entire process: when and why you need manual imports, exactly how to format your CSV, a faster method using AI, bank-specific tips for the big four UK banks, and how to handle reconciliation after the import is done.

Why Xero's Bank Feed Doesn't Cover Everything

Xero's direct bank feeds pull in transactions automatically from the date the feed is connected. For ongoing bookkeeping, this is seamless. But several common scenarios fall outside what bank feeds can handle:

For accountants managing multiple clients, these scenarios come up constantly. Having a reliable, fast process for manual bank statement imports is essential to keeping your practice efficient.

What Xero Needs: CSV Format Requirements

Before you can import anything, your data needs to be in a CSV format that Xero can understand. Xero is surprisingly strict about this — a single formatting error will cause the entire import to fail or, worse, import with incorrect data.

Required columns

At minimum, Xero needs three pieces of information for each transaction:

  1. Date — Must match your Xero organisation's date format. For UK organisations, this is DD/MM/YYYY (e.g., 15/03/2026).
  2. Amount — A single column with positive numbers for money in and negative numbers for money out. Alternatively, you can use separate Debit and Credit columns.
  3. Description — The transaction narrative or payee name.

Optional but useful columns

Critical format rules: The CSV must be UTF-8 encoded. Use commas as delimiters (not semicolons or tabs). Do not include currency symbols (£) in the amount columns. Remove any thousand separators (commas in numbers like 1,500.00 will break the import). Do not include a running balance column — Xero calculates this itself and will reject or misinterpret balance data.

Example of a correctly formatted CSV

Here's what a clean, Xero-ready CSV should look like:

Date,Amount,Description
01/03/2026,-45.99,Amazon Web Services
02/03/2026,-120.00,Office Rent Standing Order
03/03/2026,1500.00,Client Payment - Invoice 1042
05/03/2026,-8.50,Costa Coffee Clerkenwell

Step-by-Step: Importing a Bank Statement into Xero Using BankScan AI

Estimated time: under 2 minutes per statement

The fastest route from PDF bank statement to Xero import is to use BankScan AI's Xero import tool. Here's the process:

  1. Upload your bank statement PDF to BankScan AI. It accepts statements from any UK bank — HSBC, Barclays, Lloyds, NatWest, Santander, Halifax, Monzo, Starling, and more. Scanned PDFs work too.
  2. Select "CSV (Xero format)" as your output. The AI automatically structures the data with the correct columns, date format, and encoding that Xero expects.
  3. Download the CSV file. It's ready to import — no manual cleanup needed.
  4. In Xero, go to Accounting → Bank accounts. Click on the relevant bank account.
  5. Click "Import a Statement" in the top right of the bank account view.
  6. Upload the CSV file and map the columns. Because BankScan AI formats the file correctly, Xero typically auto-detects the column mapping.
  7. Review and confirm. Xero shows a preview of the transactions. Check the dates and amounts look correct, then confirm the import.

That's it. What used to take 20–30 minutes of manual data formatting now takes under two minutes. For bookkeepers handling multiple clients, this adds up to hours saved each week.

Bank-Specific Formatting Quirks When Importing to Xero

Every UK bank formats its statements differently, and these differences cause specific problems when preparing data for Xero. Here's what to watch for with the major banks:

HSBC

HSBC statements present several challenges. Their PDF statements use multi-line transaction descriptions — a single transaction's narrative often spans two or three lines, which generic PDF converters interpret as separate transactions. HSBC also uses a "Value Date" and a "Transaction Date" column; you need the Transaction Date for Xero. Older HSBC business statements (pre-2022) use a different layout entirely, with the balance column positioned between debits and credits.

Barclays

Barclays statements are generally cleaner, but their online CSV exports use a different date format (YYYY-MM-DD) than what Xero expects (DD/MM/YYYY). If you download a CSV directly from Barclays online banking and try to import it into Xero without reformatting the dates, every transaction will either fail or land on the wrong date. Barclays also includes a "Memo" field that doesn't map cleanly to any Xero column.

Lloyds

Lloyds Banking Group statements (including Halifax and Bank of Scotland) tend to include running balance columns and sort code/account number headers that need stripping out before Xero will accept the file. Their transaction descriptions also frequently contain internal reference codes (like "FPO" for Faster Payment Out) that clutter the description field in Xero.

NatWest

NatWest and RBS statements have a specific quirk with their amount formatting: they use a separate column for the transaction type (DR/CR) rather than positive/negative numbers. Xero doesn't understand this notation, so you need to convert it to either a single signed Amount column or separate Debit/Credit columns. NatWest's PDF statements also use an unusual font encoding that causes some PDF extraction tools to misread numbers.

Bank Date Format Amount Format Common Issue
HSBC DD/MM/YYYY Separate DR/CR Multi-line descriptions
Barclays YYYY-MM-DD Single signed Wrong date format for Xero
Lloyds DD/MM/YYYY Separate DR/CR Extra balance columns, internal codes
NatWest DD/MM/YYYY DR/CR type column Font encoding issues in PDFs

BankScan AI handles all of these quirks automatically. It understands each bank's format and produces a clean CSV that Xero accepts without manual intervention. If you're regularly importing from multiple banks, this saves significant time compared to manually fixing each bank's formatting issues.

Reconciliation Workflow After Import

Importing the statement is only half the job. Once the transactions are in Xero, you need to reconcile them. Here's an efficient workflow for bank reconciliation after a manual import:

  1. Check for duplicates first. If there's any overlap between your imported statement and transactions already pulled in via bank feed, you'll see duplicate lines. Delete the duplicates from the imported batch before starting reconciliation.
  2. Set up bank rules. Before reconciling a large batch, create bank rules for recurring transactions. "Amazon Web Services" can auto-match to your hosting expense account, "HMRC" to your tax payments account, and so on. This dramatically speeds up bulk reconciliation.
  3. Use "Find & Match" for payments already in Xero. If you've already entered invoices or bills, Xero's Find & Match feature will pair imported bank lines with existing transactions. This is especially useful for invoice payments.
  4. Process the remaining items. For transactions that don't match existing records, create new spend or receive money transactions directly from the reconciliation screen.
  5. Verify the closing balance. After reconciling all transactions, check that Xero's calculated balance matches the closing balance shown on the original bank statement. If they don't match, you've likely missed a transaction or have a duplicate.

Common Mistakes When Importing Bank Statements into Xero

After helping thousands of UK accountants import bank statements, these are the most frequent errors we see:

1. Wrong date format

This is by far the most common problem. If your Xero organisation is set to UK (which uses DD/MM/YYYY) but your CSV contains dates in MM/DD/YYYY format, transactions dated 05/03/2026 will be interpreted as 3rd May instead of 5th March. For dates where the day is above 12 (e.g., 15/03/2026), the import will fail entirely because there's no 15th month. Always verify your date format matches your Xero region settings.

2. Including currency symbols or thousand separators

Xero expects raw numbers in amount columns. Values like "£1,500.00" will fail. The correct format is simply "1500.00". Strip all currency symbols and thousand-separator commas before importing.

3. Including a balance column

Many bank statements include a running balance column. If you include this in your CSV, Xero may misinterpret it as an additional transaction amount, effectively doubling your figures. Always remove balance columns before import.

4. File encoding issues

If your CSV was generated on a system using a different character encoding (common with files from older accounting packages or European systems), special characters in transaction descriptions — like ampersands, accented letters, or the £ sign — can corrupt the file. Save your CSV as UTF-8 encoding to avoid this.

5. Overlapping date ranges

Importing a statement that overlaps with transactions already in Xero (either from a bank feed or a previous manual import) creates duplicates. Xero's duplicate detection catches some of these, but not all. Always check what date range is already covered in Xero before importing.

6. Importing into the wrong bank account

If a client has multiple bank accounts in Xero, it's easy to accidentally import a statement into the wrong one. This creates a mess that's tedious to undo. Double-check the account name and number before confirming the import.

Skip the Formatting Headaches

BankScan AI converts bank statement PDFs from any UK bank into Xero-ready CSV files in seconds. No manual reformatting, no encoding issues, no date format problems.

Try BankScan AI Free →

Frequently Asked Questions

What CSV format does Xero require for bank statement imports?

Xero requires a CSV file with at minimum three columns: Date, Amount, and Description. The date must be in DD/MM/YYYY format for UK organisations. You can optionally use separate Debit and Credit columns instead of a single Amount column. The file must be UTF-8 encoded, use commas as delimiters, and must not include currency symbols, thousand separators, or running balance columns.

Why can't I use Xero's bank feed for all my bank transactions?

Xero's automatic bank feed only imports transactions from the date the feed is connected going forward. It cannot pull in historical transactions, statements from closed accounts, or statements from banks that don't support Xero's direct feed. Many UK accountants also receive PDF statements directly from clients for accounts they don't have feed access to. In these cases, manual CSV import is the only option.

How do I fix date format errors when importing bank statements into Xero?

Date format errors are the most common Xero import issue. Ensure your dates use DD/MM/YYYY format (e.g., 15/03/2026), matching your Xero organisation's region setting. American-style MM/DD/YYYY dates will cause transactions to appear on wrong dates or fail entirely. In Excel, format the date column as "Custom" with the format dd/mm/yyyy before saving as CSV. If you're using BankScan AI, the correct date format is applied automatically.

Can I import bank statements from multiple banks into the same Xero organisation?

Yes. Each bank account in Xero has its own import function. Navigate to the specific bank account in Xero, then import the corresponding statement. You can import statements from HSBC, Barclays, Lloyds, NatWest, and any other bank into the same Xero organisation, as long as each statement is imported into its matching bank account.

What happens if I accidentally import duplicate transactions into Xero?

Xero has some built-in duplicate detection, but it is not foolproof — particularly for transactions with identical amounts on the same date. If duplicate transactions are imported, they will appear in your bank reconciliation as unmatched items. You can delete duplicates manually from the bank statement lines. To prevent this, always check the date range of your import against what's already in Xero before uploading.

Last updated: 31 March 2026. Need to import bank statements into Xero? Try BankScan AI free or browse our other guides for UK accountants.