How to Import Bank Statements into Xero
By Sandra Vu
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
- Go to Accounting > Bank Accounts
- Click Add Bank Account
- Search for your bank
- Enter your online banking credentials
- Select accounts to connect
- 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 updates ✅ No manual file handling ✅ Real-time transaction data
❌ Not all banks supported ❌ Connection can break ❌ No 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
- Go to Accounting > Bank Accounts
- Select the account to import into
- Click Manage Account > Import a Statement
- Choose file format: CSV or MT940/ABA
- Upload your CSV file
- Map columns:
- Date → Date column
- Description → Payee or Description
- Amount columns → Debit/Credit or Amount
- Review the preview
- Click Import
Column Mapping Tips
| Your CSV Header | Xero Field |
|---|---|
| Date / Transaction Date | Date |
| Description / Memo / Payee | Description |
| Amount / Total | Money In or Money Out |
| Debit | Money Out |
| Credit | Money 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
- From your bank - Many banks offer OFX/QIF downloads
- From converter tools - Convert PDF to OFX format
- Export from other software - QuickBooks, Quicken export to OFX
Import Process
- Go to Accounting > Bank Accounts
- Select your account
- Click Import a Statement
- Select OFX or QIF format
- Upload the file
- 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
- Go to Accounting > Bank Accounts
- Click Reconcile on the imported account
- 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:
- Go to Accounting > Advanced > Bank Rules
- Click Create New Rule
- Set conditions:
- If description contains "AMAZON" → Office Supplies
- If amount equals $99 → Software Subscription
- If payee matches "Landlord" → Rent Expense
- Xero applies rules automatically on import
Importing Historical Statements
For old statements not available through bank feeds.
Process
- Gather PDF statements from bank archives
- Convert each to CSV or OFX format
- Import in chronological order (oldest first)
- Reconcile each period before importing the next
- 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
- Keep original PDFs for compliance—see best practices for bank statement data security
- Reconcile monthly at minimum
- Review unmatched transactions regularly
Automation
Consider automating monthly bank statement processing for efficiency.
Xero vs QuickBooks for Statement Import
| Feature | Xero | QuickBooks |
|---|---|---|
| Bank feeds | 15,000+ banks globally | 14,000+ banks (US-focused) |
| CSV import | ✅ Yes | ✅ Yes |
| OFX/QIF import | ✅ Yes | ✅ Yes |
| Auto-matching | AI-powered | Rule-based + AI |
| Multi-currency | ✅ Strong | ✅ Strong |
| API access | ✅ Comprehensive | ✅ Comprehensive |
| User interface | Modern, intuitive | Traditional, 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.
Related Guides
Getting Started
- What is a bank statement?
- Bank statement formats explained (PDF, CSV, OFX, QBO)
- Bank statement converter: PDF to Excel
Step-by-Step Conversion
- How to convert bank statements to Excel step by step
- Convert PDF bank statements to CSV online
- How to convert scanned bank statements to CSV
Reconciliation & Analysis
- How to reconcile bank statements in Excel
- How bookkeepers automate bank reconciliation
- How to categorize bank transactions automatically
Software Integration
For Professionals

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.