Xero Guide

How to Import a Bank Statement into Xero from CSV (Step-by-Step 2026)

📅 June 8, 2026 ⏱ 10 min read 📊 Xero Accounting

Xero is one of the most widely used cloud accounting platforms for small businesses and accounting firms, serving over 4 million subscribers globally. Unlike QuickBooks, which has native bank import in the Banking section, Xero's bank statement import has a few specific requirements — particularly around date formatting — that catch many users off guard. This guide walks through the entire process, from PDF to reconciled Xero bank account.

📋
Before you start: Convert your bank statement PDF to CSV at bankstatementtocsvfile.com. You need a CSV with Date, Description, and Amount columns before following the steps below.

Xero's CSV Format Requirements

Xero accepts CSV files for bank statement import with the following specifications:

ColumnRequired?Notes
DateRequiredMust match your Xero organization's date format setting (DD/MM/YYYY or MM/DD/YYYY). This is the #1 source of import errors.
AmountRequiredSingle column with negative values for debits (money out) and positive for credits (money in). OR use separate Debit and Credit columns.
DescriptionRequiredTransaction description / memo. Xero uses this for bank rules matching.
ReferenceOptionalCheck number or transaction reference. Maps to Xero's Reference field.
PayeeOptionalMerchant or payee name if separate from description.

File constraints:

The Critical Date Format Setting

The single most common reason Xero bank imports fail — or produce wrong dates — is a mismatch between the date format in your CSV and the date format configured in your Xero organization settings.

⚠️
Date format mismatch is the #1 Xero import error. If your Xero org is set to DD/MM/YYYY and your CSV has MM/DD/YYYY dates (or vice versa), either the import fails or transactions are posted with wrong dates. Fix this before importing.

How to Check Your Xero Date Format

  1. In Xero, go to Settings (top right gear icon) → General Settings.
  2. Look for "Date Format" in the Organisation Settings section. It will show either DD/MM/YYYY (used in Australia, UK, and many international orgs) or MM/DD/YYYY (common for US orgs).
  3. Note this format. Your CSV dates must match it exactly.

How to Reformat CSV Dates in Excel

If your CSV dates don't match Xero's format, use this Excel formula to reformat them:

-- Convert from MM/DD/YYYY to DD/MM/YYYY --
=TEXT(DATEVALUE(A2),"DD/MM/YYYY")

-- Convert from DD/MM/YYYY to MM/DD/YYYY --
=TEXT(DATEVALUE(A2),"MM/DD/YYYY")

-- If Excel stored the date as text (won't DATEVALUE correctly) --
=TEXT(DATE(RIGHT(A2,4),MID(A2,4,2),LEFT(A2,2)),"MM/DD/YYYY")

Copy the reformatted dates, paste them over the original date column (use Paste Special → Values Only), then save as CSV before importing to Xero.

Step 1: Convert Your Bank Statement PDF to CSV

  1. Download your bank statement PDF. Log in to your bank portal and download the monthly PDF statement. For password-protected PDFs, unlock them first.
  2. Go to bankstatementtocsvfile.com and upload your PDF.
  3. Download the CSV. The converter produces a CSV with Date, Description, Amount, and Balance columns. This is your starting point for Xero import.

Step 2: Format Your CSV for Xero

  1. Open the CSV in Excel.
  2. Check the date format and reformat if needed to match your Xero setting (see the date format section above).
  3. Verify the Amount column. Xero expects negative amounts for debits (money out) and positive for credits (money in). The converter from bankstatementtocsvfile.com uses this convention by default — verify a debit transaction shows a negative number.
  4. Remove the Balance column if present. Xero's import doesn't use a balance column — it calculates the running balance itself. Remove it to avoid confusing Xero's column mapper.
  5. Ensure the header row is present. The first row should be: Date,Description,Amount (or Date,Description,Debit,Credit if using separate columns).
  6. Save as CSV. File → Save As → CSV (Comma delimited). Not .xlsx.

Step 3: Import into Xero

  1. In Xero, go to Accounting → Bank Accounts. If you don't have a bank account set up in Xero yet, add it first: click "Add Bank Account" and enter your bank name and account details.
  2. Click on your bank account. This opens the bank account's transaction view.
  3. Click "Import Statement." This button is typically in the top-right area of the bank account view, next to "Get Bank Feed." If you don't see it, look under the "Manage Account" dropdown.
  4. Upload your formatted CSV. Click "Select file" and choose your CSV. Xero will process the file and show a column mapping screen.
  5. Verify column mapping. Xero auto-detects columns based on header names. Check that Date → Date, Description → Description, Amount → Amount (or Debit/Credit appropriately). Adjust if Xero misidentified any column.
  6. Review the transaction preview. Xero shows the first few transactions. Verify dates look correct (not swapped month/day), amounts have the right signs, and descriptions are readable.
  7. Click "Import." Xero imports the transactions and shows a confirmation: X statement lines imported.

Common Import Errors and Fixes

ErrorCauseFix
"Date format does not match organisation settings"CSV dates in wrong formatCheck Settings → General Settings for your org's date format. Reformat CSV dates using Excel's TEXT formula.
"File is too large"CSV exceeds 500KB or 5,000 rowsSplit the file into two uploads covering different date ranges.
All transactions show as positive (no debits)Amount column only has absolute valuesAdd negative signs to withdrawal/debit amounts. In Excel: if column C shows debit amounts separately, use =IF(C2>0,C2*-1,D2) to combine into a signed column.
Duplicate transactions appearOverlapping date ranges importedCheck statement lines, delete duplicates. Avoid overlapping date ranges on future imports.
"Could not parse the file"File saved as .xlsx not .csvRe-save as CSV (Comma delimited) in Excel before uploading.

Step 4: Reconcile with Find & Match

After importing, Xero moves all imported statement lines into the Reconcile queue for that bank account. The reconciliation workflow uses two primary actions:

Find & Match

Xero searches your existing transactions (entered invoices, bills, expense claims, manual journal entries) for a match to the imported bank statement line. When Xero finds a match by amount and approximate date, it surfaces it as a suggested match. Review and click OK to confirm the match and reconcile both the statement line and the Xero transaction.

Create & Match

For bank statement lines that have no existing Xero transaction (a direct expense not previously entered, a fee not yet recorded), Create & Match creates a new Xero transaction on the spot — you specify the account code and contact, and Xero creates and reconciles in one step.

Speed tip: Set up Xero Bank Rules before reconciling. Bank rules auto-match recurring transactions (payroll, rent, known vendors) so they don't require manual review each month. Rules are configured at Accounting → Bank Accounts → your account → Bank Rules.

Xero Bank Feed vs CSV Import: When to Use Each

ScenarioBank FeedCSV Import
Current month's transactionsPreferredWorks too
Historical transactions (3+ months ago)Usually not availableYes
Bank not supported by Xero's feedNot availableYes
New business setup (catching up 12 months)Not availableYes
Credit union or small regional bankOften not availableYes
Explicit control over what enters XeroAlways on (auto-imports)Manual control

Convert Your Bank Statement PDF for Xero Import

Get a clean CSV with the right format for Xero import in 30 seconds. Free, no signup, handles all major US banks.

Convert Bank Statement for Xero →

Frequently Asked Questions

What CSV format does Xero require for bank statement import?

Xero requires at minimum: Date (matching your org's date format), Amount (negative for debits), and Description. Optional: Reference and Payee. Max 500KB or 5,000 transactions per file. Must be saved as .csv not .xlsx. The #1 requirement to get right is date format — check your Xero org settings first.

What is the most common Xero bank import error?

Date format mismatch. If your Xero organization is set to DD/MM/YYYY and your CSV has MM/DD/YYYY dates (or vice versa), the import will fail or post transactions with wrong dates. Fix: go to Settings → General Settings in Xero to check your date format, then reformat your CSV dates using =TEXT(DATEVALUE(A2),"DD/MM/YYYY") in Excel before saving and re-uploading.

What is the difference between Xero bank feed and CSV import?

Xero bank feed (via Plaid) automatically pulls new transactions daily — no manual import needed. CSV import is manual: you download, convert, and upload. Bank feeds are best for current transactions at supported banks. CSV import is better for historical statements (bank feeds typically go back 90 days), unsupported banks, and when you want manual control over what enters Xero.

Can I import OFX or QBO instead of CSV into Xero?

Yes. Xero accepts CSV, OFX, QIF, and QBO file formats for bank statement import. OFX and QBO often include more transaction metadata than CSV. If your bank offers an OFX download, that can give a slightly cleaner Xero import. However, bankstatementtocsvfile.com's CSV output is formatted to work reliably with Xero for all major US bank formats.

What is Xero's Find & Match vs Create & Match?

Find & Match searches Xero for an existing transaction (invoice, bill, manual entry) matching the bank statement line by amount and date — you approve the match to reconcile. Create & Match creates a new Xero transaction directly from the bank statement line (you specify the account code) and reconciles it simultaneously. Find & Match is for transactions already in Xero. Create & Match is for new expenses or income not yet recorded.

How do I handle duplicate transactions in Xero?

Xero warns about potential duplicates during import but may not catch all of them. After import, go to Accounting → Bank Accounts → your account → Statement Lines, filter for the relevant date range, and check for duplicates. To delete a statement line, click it and select Delete. Prevent duplicates by never importing overlapping date ranges — always note the exact date range of each import.


Related Guides

How to Import a Bank Statement CSV into QuickBooks Online
How-To Guide
How to Convert Any PDF Bank Statement to Excel (All Banks)
Bookkeeping Guide
How Professional Bookkeepers Use Bank Statement Converters