
Import PDF Bank Statements into Xero - Free Tool (2026)
Published on March 8, 2026 by CapyParse Team
Xero is one of the most popular cloud accounting platforms worldwide, trusted by millions of small businesses, freelancers, and accountants. But if you've ever tried to upload a PDF bank statement directly into Xero, you already know it doesn't work. Xero needs structured data -- CSV, OFX, or QFX files -- not PDFs. This guide walks you through converting your bank statement PDFs into Xero-ready CSVs and importing them without errors.
Quick Summary
Xero accepts CSV, OFX, QFX, QBO, and QIF files for manual bank statement imports -- but not PDFs. CapyParse converts your bank statement PDF into a clean, Xero-compatible CSV in seconds. Upload your PDF, download the CSV, and import it into Xero via Accounting > Bank Accounts > Import a Statement.
Why Xero Can't Import PDF Bank Statements
Bank statement PDFs are designed for human eyes, not software. They contain logos, headers, footers, page breaks, varying fonts, and inconsistent layouts that differ from bank to bank. Xero, like all accounting software, needs transaction data in structured rows and columns to process it correctly.
Xero does offer automatic bank feeds that pull transactions directly from your bank. When they work, bank feeds are the easiest option. However, they come with real limitations:
- Limited bank coverage: Not all banks support Xero bank feeds. Smaller banks, credit unions, and many international institutions are not on Xero's supported bank list, leaving manual import as the only option.
- History limits: Bank feeds typically pull only the last 90 days of transactions. If you need to import older statements -- for year-end reconciliation, audits, or catching up on bookkeeping -- feeds won't help.
- Connection drops: Multi-factor authentication, bank security updates, and API changes cause feed disconnections. When this happens, you're left with gaps in your transaction data that need to be filled manually.
- Data granularity issues: Bank feeds sometimes import net settlement amounts rather than individual transactions, and refunds may reduce deposit totals rather than appearing as separate line items.
For historical statements, unsupported banks, connection gaps, or any situation where automatic feeds fall short, converting your PDF to CSV and importing manually is the reliable solution.
Xero's Import Options
Xero supports several file formats for manual bank statement imports. Here's how they compare:
| Feature | Bank Feeds | CSV Import | OFX / QFX Import |
|---|---|---|---|
| Setup effort | One-time connection | Per-file upload + column mapping | Per-file upload, no mapping needed |
| Bank coverage | Major banks only | Any bank (convert from PDF) | Banks offering OFX/QFX downloads |
| Historical data | ~90 days | Unlimited (import any period) | Unlimited (import any period) |
| Transaction limit | Automatic, no limit | 1,000 per file | Varies by file size |
| Format control | None (bank controls data) | Full (you control columns and formatting) | None (standardized format) |
| Best for | Day-to-day reconciliation | Historical imports, unsupported banks | Banks that offer OFX/QFX downloads |
Which should you choose? If your bank supports Xero bank feeds and you only need recent transactions, use bank feeds. For everything else -- historical data, unsupported banks, filling gaps from feed disconnections -- CSV import is the most flexible and widely compatible option. OFX/QFX is a good middle ground if your bank provides those file formats, since Xero maps the columns automatically.
CSV Format Requirements for Xero
Getting the CSV format right is critical. An incorrectly formatted file is the most common reason Xero imports fail. Here's exactly what Xero expects:
| Column | Required? | Format / Notes |
|---|---|---|
| Date | Yes | MM/DD/YYYY (US) or DD/MM/YYYY (UK/AU/NZ). Must match your Xero org region setting. |
| Amount | Yes | Numeric only, no currency symbols. Positive for money in (deposits), negative for money out (withdrawals). Cannot be $0.00. |
| Payee | Recommended | Name of the person or business. Xero uses this for matching and bank rules. |
| Description | Recommended | Transaction memo or details. Helps with reconciliation and searching. |
| Reference | Optional | Check number or reference code. Keep this short -- long strings cause import failures. |
| Check Number | Optional | Numeric check number. Also must be kept short to avoid errors. |
Important: Date Format Must Match Your Xero Region
This is the single most common source of import errors. Go to Settings > General Settings > Region in Xero to check your organization's region. US organizations expect MM/DD/YYYY, while UK, Australian, and New Zealand organizations expect DD/MM/YYYY. If your CSV dates don't match this setting, transactions will either fail to import or land on the wrong dates.
Additional formatting rules:
- Use a single Amount column. If your bank separates debits and credits into two columns, consolidate them into one column with negative values for withdrawals and positive values for deposits.
- Remove blank rows and ensure no extra spaces in column data. Blank lines cause "No valid statement data" errors.
- Save as UTF-8 encoded CSV. In Excel, choose "CSV UTF-8 (Comma delimited)" when saving.
- Keep files under 1,000 transactions. Larger files will time out or fail. Split into multiple files if needed.
Convert Your Bank Statement and Import into Xero (Step-by-Step)
Here's the complete process from PDF to Xero, start to finish:
Step 1: Download Your Bank Statement PDF
Log into your bank's online banking portal and download the statement you need as a PDF. Most banks keep 1-7 years of statements available in their document center or statement archive. Download each month separately for easier importing.
If your bank offers CSV or OFX downloads directly, you may be able to skip the conversion step. But many banks only provide PDF statements, especially for older periods or through their mobile apps.
Step 2: Convert PDF to CSV with CapyParse
Go to CapyParse and upload your bank statement PDF. CapyParse uses AI to extract every transaction -- dates, descriptions, amounts, and running balances -- and outputs a clean CSV file. The conversion takes seconds, and you can process multiple statements at once.
CapyParse automatically handles different bank layouts, multi-page statements, and both digital and scanned bank statements. The output CSV is formatted with standard columns that Xero can read directly.
Step 3: Verify the CSV Format (If Needed)
Open the CSV in Excel or Google Sheets and check a few things before importing:
- Date format matches your Xero region (MM/DD/YYYY for US, DD/MM/YYYY for UK/AU/NZ)
- Amount column uses a single column with positive/negative values (no separate debit/credit columns)
- No blank rows or extra header/footer lines from the PDF conversion
- No currency symbols in the Amount column (just plain numbers)
CapyParse outputs clean CSVs that typically need no adjustments. But if your Xero organization uses a non-US date format, you may need to reformat the date column.
Step 4: Import into Xero
In Xero, navigate to Accounting > Bank Accounts. Click on the bank account you want to import into (or add a new bank account first if needed). Then click Manage Account > Import a Statement.
Browse to your CSV file and click Import. Xero will ask you to map the columns in your CSV to its expected fields (Date, Amount, Payee, Description, etc.). Once you confirm the mapping, Xero shows a preview of the imported transactions. Review the preview, then confirm to complete the import.
After importing, the transactions appear in your bank account's Reconcile tab, where you can match them to invoices, bills, and expenses.
Convert Your Bank Statement for Xero
Upload any bank statement PDF and get a Xero-compatible CSV in seconds. 10 free pages, no credit card required.
Try CapyParse FreeTips for a Smooth Xero Import
Match Your Date Format
Before importing, check your Xero organization's region under Settings > General Settings. US organizations use MM/DD/YYYY; UK, Australia, and New Zealand use DD/MM/YYYY. A mismatch won't always cause an error -- it can silently swap months and days, putting transactions on wrong dates. Always verify the first few rows.
Watch for Duplicate Transactions
Xero checks for duplicates during import and will warn you if it detects overlapping dates with previously imported statements. Pay attention to these warnings. If you're re-importing a corrected file, delete the original import first via Manage Account > Bank Statements to avoid duplicates in your reconciliation queue.
Match the Right Bank Account
Make sure you're importing into the correct bank account in Xero. If you haven't set up the bank account yet, go to Accounting > Bank Accounts > Add Bank Account first. Choose the right account type (checking, savings, or credit card) so transactions are categorized correctly.
Use Bank Rules for Faster Reconciliation
After importing, set up bank rules in Xero to auto-categorize recurring transactions. For example, create a rule that assigns all "ELECTRIC COMPANY" transactions to your Utilities expense account. This dramatically speeds up reconciliation for future imports.
Common Xero Import Errors and Fixes
If your Xero import fails or produces unexpected results, here are the most common issues and how to resolve them:
| Error / Symptom | Likely Cause | Fix |
|---|---|---|
| "No valid statement data" | Blank rows in the CSV, extra spaces in columns, or wrong file encoding | Remove blank rows, trim whitespace, and re-save as CSV UTF-8 |
| "Invalid date" error | Date format doesn't match your Xero org region (e.g., DD/MM vs MM/DD) | Check Settings > General Settings > Region and reformat dates to match |
| Import times out | File contains more than 1,000 transactions | Split into multiple CSV files of 1,000 transactions or fewer |
| Amounts are wrong or missing | Currency symbols ($, EUR) in Amount column, or separate debit/credit columns | Remove symbols, consolidate into single Amount column with +/- values |
| Transactions on wrong dates | Silent DD/MM vs MM/DD swap (e.g., 03/07 read as March 7 vs July 3) | Verify region setting matches CSV date format; check transactions after day 12 |
| "Duplicate statement" warning | Overlapping date range with a previously imported statement | Delete the old import first, or trim dates in the CSV to avoid overlap |
| Reference or Check Number error | Too many characters in the Reference or Check Number field | Shorten or remove long reference strings before importing |
Frequently Asked Questions
Can I import a PDF bank statement directly into Xero?
No. Xero does not accept PDF files for bank statement imports. You need to convert the PDF to a supported format like CSV, OFX, or QFX first. CapyParse converts bank statement PDFs into clean CSV files that Xero can import directly via the manual bank statement import feature.
What CSV format does Xero require for bank statement imports?
Xero requires a CSV with at minimum a Date column and an Amount column. Optional columns include Payee, Description, Reference, and Check Number. The date format must match your Xero organization region: MM/DD/YYYY for US, DD/MM/YYYY for UK/AU/NZ. Amounts should be positive for money in and negative for money out. The file must use UTF-8 encoding.
Does Xero support QBO file imports?
Yes. Xero supports OFX, QFX, QBO, and QIF file formats in addition to CSV. These formats are auto-mapped by Xero, so no column mapping is needed. If your bank only provides PDFs, convert them to CSV with CapyParse. If you have a QBO file you'd prefer in CSV, use our free QBO to CSV converter.
How do I import historical bank statements into Xero?
Xero bank feeds typically only pull the last 90 days of transactions. For older statements, download the PDF from your bank's statement archive, convert it to CSV using CapyParse, then import it manually via Accounting > Bank Accounts > Manage Account > Import a Statement. There's no limit on how far back you can go -- import statements from any period your bank provides.
Can I import credit card statements into Xero?
Yes. First, add the credit card as a bank account in Xero (Accounting > Bank Accounts > Add Bank Account, select "Credit Card" as the type). Then convert your PDF credit card statement to CSV with CapyParse and import it the same way. Purchases appear as negative amounts (money out) and payments appear as positive amounts (money in).
Is there a transaction limit for Xero CSV imports?
Yes. Xero limits CSV imports to 1,000 transactions per file. If your statement contains more than 1,000 transactions, split the CSV into multiple files and import them one at a time. Additionally, transactions with a $0.00 amount are skipped during import since there is nothing to reconcile. Most monthly bank statements are well under the 1,000-transaction limit.
Have a QBO or OFX file?
If your bank offers QBO or OFX downloads, Xero can import those directly without column mapping. If you need to convert a QBO file to CSV for other purposes, use our free QBO to CSV converter. And if you need to learn more about downloading bank statements, check our guide on how to download a bank statement as a CSV file.
Ready to Import Your Bank Statements into Xero?
Convert any bank statement PDF to a Xero-compatible CSV in seconds. No manual data entry, no formatting headaches.
Try CapyParse Free10 free pages. No credit card required. View pricing for higher volumes.
Related Articles
How to Import Bank Statements into QuickBooks from PDF
Step-by-step guide for importing bank statement CSVs and QBO files into QuickBooks Online and Desktop.
How to Import Bank Statements into FreshBooks from PDF
Complete guide to converting PDFs and importing via FreshBooks Expense Import and Bank Reconciliation.
Best Bank Statement to CSV Converters in 2026
Side-by-side comparison of the top 10 conversion tools for accuracy, speed, and pricing.
How to Convert QBO to CSV
Convert QuickBooks Web Connect files to CSV for use in Xero, Excel, or any accounting software.