How to Reconcile Bank Statements in Xero Using CSV Imports
Bank reconciliation is one of the most important routines in bookkeeping, and Xero makes the process remarkably smooth—when the data flows in correctly. But what happens when your bank doesn't offer a direct feed to Xero, or you need to import historical transactions from a PDF statement? That's where CSV imports come in.
This guide walks you through the entire process: converting a bank statement PDF into a CSV that Xero accepts, importing it correctly, and reconciling the transactions. Whether you're a bookkeeper managing multiple clients or a business owner handling your own accounts, you'll have a repeatable workflow by the end of this article.
Why Bank Reconciliation Matters
Bank reconciliation is the process of matching the transactions in your accounting software against the transactions on your actual bank statement. It confirms that every dollar recorded in your books corresponds to a real movement of money in your bank account.
Skipping reconciliation—or doing it infrequently—creates real problems:
- Undetected errors — Double entries, missed transactions, or incorrectly recorded amounts go unnoticed until they cascade into larger discrepancies.
- Fraud risk — Unauthorized transactions are only caught when someone compares what the bank shows against what the books show. Without reconciliation, fraudulent charges can go undetected for months.
- Inaccurate financial reports — Your profit and loss statement, balance sheet, and cash flow reports are only as accurate as the underlying data. Unreconciled accounts mean unreliable reports.
- Tax complications — Auditors and tax authorities expect reconciled accounts. Discrepancies between your filed numbers and your bank records trigger scrutiny.
- Cash flow surprises — You might think you have more (or less) cash than you actually do, leading to poor spending decisions or missed opportunities.
Xero simplifies reconciliation by presenting bank transactions alongside your recorded transactions and suggesting matches. But Xero can only reconcile what it has—and that means getting your bank transactions into the system first.
Xero's Bank Feed Limitations
Xero offers automatic bank feeds with thousands of financial institutions worldwide. When a feed is connected, transactions flow into Xero daily without any manual intervention. It's the ideal setup—but it has real limitations:
- Not all banks are supported — Smaller banks, credit unions, and many international institutions don't offer direct feeds to Xero. If your bank isn't on Xero's supported list, you're out of luck with automatic feeds.
- Feeds only go back 90 days (usually) — When you first connect a bank feed, Xero typically imports only the last 90 days of transactions. If you're setting up Xero for a new client or migrating from another platform, you need a way to bring in older transactions.
- Feed disconnections happen — Banks change their APIs, security protocols get updated, or technical issues interrupt the feed. During these outages, transactions stop flowing in, and you need a manual import to fill the gap.
- Some accounts can't connect — Loan accounts, foreign currency accounts, and certain business account types may not support automatic feeds even at banks that Xero generally integrates with.
- You can't control the data — Bank feeds deliver transactions as-is. If you need to import corrected or modified data (e.g., after a bank error correction), you need to use manual import.
CSV import is Xero's built-in solution for all of these scenarios. It lets you manually upload transaction data for any bank account, any time period, and any bank in the world—as long as the CSV is formatted correctly.
Step-by-Step: Convert PDF to CSV for Xero
If your bank provides CSV downloads directly through online banking, grab those and skip ahead to the formatting section. But if you're working from a PDF bank statement—which is common when dealing with historical records, client documents, or banks without CSV export—you'll need to convert first.
Using StatementKit for the Conversion
- Sign up for a free account — Go to StatementKit and create your account. No credit card required to start.
- Upload your bank statement PDF — Drag and drop the file or click to browse. StatementKit accepts statements from any bank worldwide.
- AI extracts the transactions — Within seconds, StatementKit's AI reads the entire document, identifies each transaction, and extracts the date, description, and amount into structured data.
- Review the preview — Check the extracted transactions in the preview table. You can edit any field if needed before downloading.
- Download as CSV — Click the CSV download button. Your file is ready for Xero.
This entire process takes under a minute for most statements, compared to 15–30 minutes of manual data entry per page when typing transactions by hand.
Why Not Use a Generic PDF Converter?
Generic PDF-to-CSV tools try to convert any table in any PDF. They aren't trained on bank statement layouts, so they frequently merge columns, split wrapped descriptions into separate rows, and include page headers and footers in the output. For bank statements, a purpose-built tool like StatementKit produces dramatically cleaner results with far less manual cleanup. You can also use the Excel export if you want to inspect the data in a spreadsheet before creating your final CSV.
Xero CSV Format Requirements
Xero is strict about the format of imported CSV files. Understanding the requirements before you import prevents errors and re-work.
Required Columns
At minimum, Xero needs these three columns in every bank statement CSV:
- Date — The transaction date. Xero supports multiple date formats during import, but for consistency, use DD/MM/YYYY (for most regions) or MM/DD/YYYY (for US-based Xero organizations). The format must be consistent throughout the file.
- Amount — The transaction amount as a single number. Use negative values for money going out (debits) and positive values for money coming in (credits). Alternatively, you can use two separate columns for Debit and Credit amounts.
- Description — Also called "Payee" or "Particulars." This is the text description of the transaction. Xero uses this field to suggest matching rules and payee assignments.
Optional Columns
- Payee — If your CSV has a separate payee column distinct from the description, Xero can map it.
- Reference — A reference number or check number. Useful for matching to specific invoices or bills.
- Check Number — If applicable, Xero can map check numbers from the CSV.
Formatting Rules
- Include a header row. Xero uses the headers to identify column types during the mapping step.
- Remove currency symbols from amounts. Use
-250.00, not$250.00or-$250.00. - Remove thousands separators. Use
1500.00, not1,500.00. - Ensure amounts are numeric. If amounts paste as text (with hidden characters), Xero will reject the file.
- Remove any totals, subtotals, or summary rows from the CSV. These aren't transactions and will create incorrect entries in Xero.
- Save as UTF-8 encoded CSV. This prevents character encoding issues with special characters in descriptions.
Example CSV for Xero
Date,Amount,Description
18/02/2026,3200.00,Client Payment - ABC Corp
19/02/2026,-89.99,Zoom Video Communications
20/02/2026,-450.00,Office Rent - February
21/02/2026,-35.50,Uber Eats
22/02/2026,150.00,Refund - Amazon.com
23/02/2026,-1200.00,Payroll - Staff Wages
Importing the CSV into Xero
With your properly formatted CSV ready, here's how to get it into Xero:
- Navigate to the bank account — In Xero, go to Accounting > Bank Accounts. Click on the bank account where you want to import transactions.
- Click "Import a Statement" — You'll find this option in the account's statement management area. In some Xero versions, it's under the "Manage Account" dropdown.
- Upload your CSV — Click "Browse" and select your CSV file. Xero will analyze the file structure.
- Map the columns — Xero will show you a preview and ask you to confirm which column is Date, which is Amount, and which is Description. If your headers are clear (Date, Amount, Description), Xero will usually auto-detect them correctly.
- Set the date format — Confirm whether your dates are DD/MM/YYYY or MM/DD/YYYY. Getting this wrong will either fail the import or swap days and months, creating wrong transaction dates.
- Review the preview — Xero shows a sample of the transactions it's about to import. Check a few entries to verify dates, amounts, and descriptions look correct.
- Complete the import — Click "Import." Xero will process the file and add the transactions to the bank account's statement line items.
After import, the transactions appear in the Reconcile tab, ready for matching and categorization.
Reconciling Transactions in Xero
Once your CSV transactions are imported, the real work of reconciliation begins. Here's how to work through them efficiently in Xero:
Understanding the Reconcile Screen
Xero's reconciliation screen shows each imported bank transaction alongside suggested matches from your existing records. For each transaction, you have three options:
- Match — Xero found an existing invoice, bill, or transaction that corresponds to the bank entry. Review the match and click OK to confirm.
- Create — No existing match was found. Create a new transaction (spend money, receive money) directly from the reconciliation screen. Assign the payee, account category, and tax rate.
- Transfer — The transaction represents a transfer between two of your own accounts (e.g., moving money from checking to savings). Map it as an inter-account transfer instead of recording it as income or expense.
Setting Up Bank Rules
For recurring transactions—like monthly subscriptions, rent payments, or regular supplier invoices—set up bank rules in Xero. A bank rule tells Xero: "Whenever you see a transaction with [this description], automatically categorize it as [this account] and assign it to [this payee]."
To create a rule, click "Create Rule" while reconciling a transaction, or go to Accounting > Bank Accounts > Bank Rules. Once set up, Xero will auto-suggest categorization for matching transactions, cutting your reconciliation time dramatically.
Handling Duplicates
If you're importing a CSV for a period that partially overlaps with data already in Xero (from a bank feed or a previous import), duplicates may appear. Xero has some duplicate detection built in, but it's not foolproof. Before importing, check the date range of existing transactions in the account and trim your CSV to avoid overlap.
If duplicates do get imported, you can delete them from the bank statement in Xero: go to the bank account, click "Manage Account" > "Bank Statements," find the statement, and remove the duplicate lines before reconciling.
Batch Reconciliation
When importing a full month's worth of transactions, work through them in batches. Start from the oldest transactions and work forward. This ensures any inter-dependent entries (like a payment followed by a refund) are reconciled in the correct order. Xero lets you reconcile multiple transactions on one screen—confirm matches in bulk to move faster.
Automating Monthly Reconciliation
If CSV import is going to be a regular part of your workflow—either because your bank doesn't support feeds or you prefer the control of manual imports—here's how to streamline the process:
Create a Monthly Routine
- Day 1–3 of each month — Download the previous month's bank statement (PDF or CSV) from your bank's online portal.
- Convert if needed — If you downloaded a PDF, convert it to CSV using StatementKit.
- Quick format check — Open the CSV, verify the date format matches your Xero settings, and confirm amounts look clean.
- Import into Xero — Upload the CSV to the appropriate bank account.
- Reconcile — Work through the reconciliation screen. With bank rules set up, most transactions will be pre-categorized.
- Review — Run a bank reconciliation report in Xero to confirm the closing balance matches your bank statement.
Bookkeeper Workflows for Multiple Clients
If you're a bookkeeper or accountant managing reconciliation for multiple clients, the PDF-to-CSV workflow scales well:
- Batch convert statements — Collect all client bank statements, convert them in StatementKit (which supports multiple uploads), and download all CSVs at once.
- Standardize formatting — Use the same date format and column structure for all clients. This makes the Xero import step predictable regardless of which bank each client uses.
- Template bank rules per client — Set up bank rules in each client's Xero organization for their recurring transactions. This front-loads the categorization work so monthly reconciliation becomes mostly just confirming auto-suggestions.
- Track completion — Keep a simple checklist of which clients have been reconciled for each month. Many bookkeepers use practice management tools for this, but even a spreadsheet works.
Verifying the Reconciliation
After reconciling all imported transactions, run Xero's Bank Reconciliation Summary report (under Reports). This shows the statement balance, the Xero balance, and any unreconciled difference. A zero difference means your books match the bank perfectly. If there's a discrepancy, check for:
- Transactions that were imported but not yet reconciled (still in the "Reconcile" tab).
- Manual journal entries or adjustments that haven't been matched to a bank transaction.
- Duplicate transactions that were accidentally reconciled twice.
- Timing differences—transactions recorded in Xero in one period but appearing on the bank statement in another.
Frequently Asked Questions
Can I import PDF bank statements directly into Xero?
No. Xero does not accept PDF files for bank statement imports. You need to convert the PDF to CSV, OFX, or QIF format first. The easiest path is to convert to CSV using StatementKit's PDF to CSV converter, then import the CSV into Xero.
What file formats does Xero accept for bank imports?
Xero accepts CSV, OFX, QIF, and QFX files for manual bank statement imports. CSV is the most commonly used because it's the easiest to create and inspect. OFX and QIF are more structured but harder to generate from a PDF without specialized tools.
Why did my CSV import fail in Xero?
The most common causes of CSV import failure in Xero are: wrong date format (DD/MM/YYYY vs. MM/DD/YYYY mismatch), currency symbols in the amount column, inconsistent date formatting within the file, non-numeric amounts (caused by hidden characters or text formatting), and missing header rows. Re-open your CSV in a text editor to check for these issues.
How do I handle foreign currency bank accounts in Xero?
Xero supports multi-currency bank accounts. When importing a CSV for a foreign currency account, ensure the amounts are in the account's currency (not converted to your home currency). Xero will handle the exchange rate conversion based on the transaction date. Set up the bank account in Xero with the correct currency before importing.
Can I undo a CSV import in Xero?
Yes. If you imported incorrect data, go to the bank account in Xero, click "Manage Account" > "Bank Statements," find the imported statement, and delete it. This removes the imported transactions. Note that any transactions you've already reconciled will need to be un-reconciled first (by finding the matching spend/receive money transaction and voiding or deleting it).
How often should I reconcile bank accounts in Xero?
Best practice is to reconcile at least monthly, ideally within the first week of the following month. Some businesses reconcile weekly or even daily if transaction volumes are high. The more frequently you reconcile, the easier each session is and the faster you catch errors or unauthorized transactions.
Is there a transaction limit for CSV imports in Xero?
Xero doesn't publish a hard transaction limit for CSV imports, but in practice files with up to several thousand transactions import without issues. For very large imports (covering many months of a high-volume account), consider splitting the CSV into monthly files for easier management and reconciliation.
Related Articles
How to Import Bank Statements into QuickBooks (CSV Method)
Step-by-step guide to converting bank statement PDFs to CSV and importing into QuickBooks Online or Desktop.
GuidesHow to Convert a Bank Statement PDF to Excel (2026 Guide)
Compare manual methods, online tools, and AI-powered extraction for converting bank statements to Excel.