How to Import Bank Statements into Xero

Xero doesn't directly read PDF bank statements. You need to convert PDFs to CSV, OFX, or QIF format first, or use Xero's bank feed feature to automatically sync transactions.


Method 1: Direct Bank Feed (Easiest)

Xero's bank feeds automatically import transactions daily from your bank.

Setting Up Bank Feeds

  1. Go to Accounting > Bank Accounts
  2. Click Add Bank Account
  3. Search for your bank
  4. Enter your online banking credentials
  5. Select accounts to connect
  6. Authorize the connection

Supported Banks

Xero supports 15,000+ financial institutions globally, including:

  • US: Chase, Bank of America, Wells Fargo, Citi, Capital One
  • UK: Barclays, HSBC, Lloyds, NatWest
  • Australia: NAB, Westpac, ANZ, Commonwealth Bank
  • Canada: RBC, TD, Scotiabank, BMO

Pros and Cons

Automatic daily updatesNo manual file handlingReal-time transaction data

Not all banks supportedConnection can breakNo historical statements (only recent 90-180 days)


Method 2: Import CSV File

For banks without direct feeds or when you need historical data.

Step 1: Convert PDF to CSV

Convert your PDF bank statement to CSV with these columns:

  • Date (required)
  • Description or Payee (required)
  • Amount or separate Debit/Credit columns (required)
  • Reference (optional)

Step 2: Format Your CSV

Xero expects this structure:

Date,Payee,Description,Reference,Debit,Credit
2026-01-15,ACME Corp,Invoice #1234,INV-1234,,2500.00
2026-01-16,Office Supplies Co,Stationery purchase,PO-456,87.50,
2026-01-17,Electricity Provider,Monthly utilities,UTIL-789,145.00,

Important formatting rules:

  • Date format: DD/MM/YYYY, MM/DD/YYYY, or YYYY-MM-DD
  • Amounts: Use positive numbers
  • Debits = money out (expenses)
  • Credits = money in (income)
  • No currency symbols in amount columns

Step 3: Import into Xero

  1. Go to Accounting > Bank Accounts
  2. Select the account to import into
  3. Click Manage Account > Import a Statement
  4. Choose file format: CSV or MT940/ABA
  5. Upload your CSV file
  6. Map columns:
    • Date → Date column
    • Description → Payee or Description
    • Amount columns → Debit/Credit or Amount
  7. Review the preview
  8. Click Import

Column Mapping Tips

Your CSV HeaderXero Field
Date / Transaction DateDate
Description / Memo / PayeeDescription
Amount / TotalMoney In or Money Out
DebitMoney Out
CreditMoney In
Reference / Check#Reference

Method 3: Import OFX or QIF File

OFX and QIF are native banking formats—cleanest import option.

What Are OFX/QIF Files?

  • OFX (Open Financial Exchange) - Industry standard format
  • QIF (Quicken Interchange Format) - Older format, still supported

Both contain structured transaction data that Xero reads directly.

How to Get OFX/QIF Files

  1. From your bank - Many banks offer OFX/QIF downloads
  2. From converter tools - Convert PDF to OFX format
  3. Export from other software - QuickBooks, Quicken export to OFX

Import Process

  1. Go to Accounting > Bank Accounts
  2. Select your account
  3. Click Import a Statement
  4. Select OFX or QIF format
  5. Upload the file
  6. Transactions import automatically—no column mapping needed

Method 4: Xero Bank Statement API

For developers building automation.

API Overview

Xero's Bank Feeds API allows programmatic statement uploads.

Use cases:

  • Custom bank integrations
  • Automated statement processing workflows
  • High-volume bookkeeping operations

Requirements:

  • Xero developer account
  • OAuth 2.0 authentication
  • Bank feeds enabled for your organization

After Import: Reconciliation Workflow

Imported transactions appear in the Reconcile tab.

Reconciliation Steps

  1. Go to Accounting > Bank Accounts
  2. Click Reconcile on the imported account
  3. For each transaction:
    • Match to existing invoices or bills
    • Create new transactions (invoices, bills, payments)
    • Transfer between accounts
    • Mark as reconciled

Auto-Matching

Xero suggests matches based on:

  • Amount and date proximity
  • Payee name matching
  • Previous transaction patterns

Review suggested matches—they're not always perfect.

Bank Rules

Create rules to auto-categorize transactions:

  1. Go to Accounting > Advanced > Bank Rules
  2. Click Create New Rule
  3. Set conditions:
    • If description contains "AMAZON" → Office Supplies
    • If amount equals $99 → Software Subscription
    • If payee matches "Landlord" → Rent Expense
  4. Xero applies rules automatically on import

Importing Historical Statements

For old statements not available through bank feeds.

Process

  1. Gather PDF statements from bank archives
  2. Convert each to CSV or OFX format
  3. Import in chronological order (oldest first)
  4. Reconcile each period before importing the next
  5. Verify opening/closing balances match between periods

Tip: For multi-page statements, see how to handle multi-page bank statements.


Troubleshooting Common Issues

"Date format not recognized"

Solution: Use DD/MM/YYYY (Xero default), MM/DD/YYYY, or YYYY-MM-DD consistently.

"Duplicate transactions detected"

Solution: Xero checks for duplicates based on date + amount. If re-importing, duplicates are automatically skipped.

"Unable to match amounts"

Solution:

  • Check decimal separators (period vs comma)
  • Remove currency symbols ($, £, €)
  • Ensure debit/credit signs are correct

"Import fails with large files"

Solution: Split statements into smaller files (500-1000 transactions per file).


Best Practices

Regular Reconciliation

  • Import weekly or bi-weekly (don't let it pile up)
  • Reconcile immediately after import
  • Check bank balance matches Xero balance

Consistent Categorization

  • Use bank rules for recurring transactions
  • Create expense categories before importing
  • Tag transactions for better reporting

Audit Trail

Automation

Consider automating monthly bank statement processing for efficiency.


Xero vs QuickBooks for Statement Import

FeatureXeroQuickBooks
Bank feeds15,000+ banks globally14,000+ banks (US-focused)
CSV import✅ Yes✅ Yes
OFX/QIF import✅ Yes✅ Yes
Auto-matchingAI-poweredRule-based + AI
Multi-currency✅ Strong✅ Strong
API access✅ Comprehensive✅ Comprehensive
User interfaceModern, intuitiveTraditional, feature-rich

Both are excellent—choice depends on your region and workflow preferences.


Summary

Importing bank statements into Xero requires converting PDFs to CSV, OFX, or QIF format unless you use direct bank feeds. CSV import offers maximum control with column mapping, while OFX/QIF provides the cleanest automated import. Always reconcile immediately after import and use bank rules to automate categorization for recurring transactions.


Getting Started

Step-by-Step Conversion

Reconciliation & Analysis

Software Integration

For Professionals

Sandra Vu

About Sandra Vu

Sandra Vu is the founder of Data River and a financial software engineer with experience building document processing systems for accounting platforms. After spending years helping accountants and bookkeepers at enterprise fintech companies, she built Data River to solve the recurring problem of converting bank statement PDFs to usable data—a task she saw teams struggle with monthly.

Sandra's background in financial software engineering gives her deep insight into how bank statements are structured, why they're difficult to parse programmatically, and what accuracy really means for financial reconciliation. She's particularly focused on the unique challenges of processing statements from different banks, each with their own formatting quirks and layouts.

At Data River, Sandra leads the technical development of AI-powered document processing specifically optimized for financial documents. Her experience spans building parsers for thousands of bank formats, working directly with accounting teams to understand their workflows, and designing systems that prioritize accuracy and data security in financial automation.