Blog/Software Integrations/How to Import Bank Statements into Xero
๐Ÿ”—

How to Import Bank Statements into Xero

9 min readJuly 14, 2025

Quick Answer {#quick-answer}

Xero does not accept PDF bank statements. To import a bank statement into Xero you need a CSV file with specific column headers: Date, Amount, Payee, Description, Reference, and Check Number (not all are required, but order matters). The fastest workflow is:

  1. Export or scan your bank statement as a PDF.
  2. Upload it to QuickBankConvert โ€” it extracts every transaction row automatically.
  3. Download the converted CSV in Xero format.
  4. In Xero, go to Accounting โ†’ Bank Accounts โ†’ Import a Statement and upload the file.

The whole process takes under three minutes for most statements.


Why Import Bank Statements into Xero? {#why-import-bank-statements-into-xero}

Xero is one of the most popular cloud accounting platforms for small businesses and accountants, and for good reason โ€” its bank reconciliation workflow is fast, intuitive, and largely automated once your transactions are in the system.

The problem is getting historical or non-connected bank transactions into Xero in the first place. Xero offers direct bank feeds for hundreds of financial institutions, but there are several situations where a manual import is the only option:

  • Your bank is not on Xero's supported feed list. Many regional banks, credit unions, and international institutions fall outside Xero's direct feed network.
  • You need to import historical statements. Even banks with live feeds typically only connect from a certain date forward. Importing past CSVs fills the gap.
  • Your accountant needs to clean up a backlog. At tax time or during a bookkeeping catch-up, bulk-importing months of statements at once is far faster than manual entry.
  • You switched from another accounting system. Moving from FreshBooks, Wave, or a spreadsheet? You will need to import existing transaction history.
  • A direct feed disconnected mid-month. Re-importing the missing window from a downloaded statement keeps reconciliation continuous.

In all these cases, the path runs through a properly formatted CSV file โ€” and that is where most people hit their first wall.

Callout โ€” Bank Feed vs CSV Import: A direct bank feed pulls transactions automatically every business day. A CSV import is a one-time manual upload. Both end up in the same Xero reconciliation queue. Use whichever is available; fall back to CSV when a feed is not an option.


What Xero Expects: CSV Format & Column Headers {#what-xero-expects-csv-format}

This is where most failed imports happen. Xero's CSV importer is strict: the column headers must match exactly, and the data in each column must conform to specific rules.

Required Column Headers

Xero recognises the following column headers (case-insensitive, but spelling must match):

ColumnRequired?Notes
DateYesTransaction date
AmountYesPositive for credits, negative for debits
PayeeNoMerchant or counterparty name
DescriptionNoNarrative or memo field
ReferenceNoReference number
Check NumberNoCheque/check number if applicable

At minimum, every row must have a Date and an Amount. Everything else is optional but strongly recommended โ€” Xero's auto-matching and rules engine works much better when it has payee and description data to work with.

Date Format

Xero accepts:

  • DD/MM/YYYY (e.g., 08/04/2026)
  • MM/DD/YYYY (e.g., 04/08/2026)
  • YYYY-MM-DD (e.g., 2026-04-08)
  • D MMM YYYY (e.g., 8 Apr 2026)

Recommendation: Always use YYYY-MM-DD. It is unambiguous regardless of whether your Xero organisation is set to US or non-US locale.

Amount Format

  • Debits (money out): use a negative number, e.g. -142.50
  • Credits (money in): use a positive number, e.g. 2500.00
  • Do not include currency symbols ($, ยฃ, โ‚ฌ) or comma thousands-separators inside the Amount column. Xero will reject the row.

A Minimal Valid Example

Date,Amount,Payee,Description,Reference
2026-03-01,-85.00,Amazon,Office supplies,ORD-9923
2026-03-03,4200.00,Client Co,Invoice #1045 payment,INV-1045
2026-03-05,-12.99,Spotify,Monthly subscription,

Callout โ€” Common Mistake: Adding a currency symbol to the Amount column ($-85.00 instead of -85.00) is the single most common reason Xero rejects a CSV upload. Strip all symbols before importing.


Step-by-Step: Bank PDF โ†’ QuickBankConvert โ†’ Xero {#step-by-step-pdf-to-xero}

Here is the full end-to-end workflow to convert pdf to csv for xero and complete the bank statement import.

Step 1 โ€” Get Your Bank Statement as a PDF

Log in to your online banking portal and download your statement as a PDF. Most banks provide monthly PDF statements going back at least 12โ€“24 months. If your bank only offers a proprietary format (OFX, QFX), skip to Step 3 โ€” QuickBankConvert handles those too.

Step 2 โ€” Upload to QuickBankConvert

Navigate to QuickBankConvert and upload your PDF statement. The tool uses intelligent parsing to:

  • Detect the table structure of your statement automatically
  • Extract each transaction row (date, description, debit, credit, balance)
  • Handle multi-page statements and headers that repeat across pages
  • Merge split rows that some banks wrap across two lines

No account setup is required. Drag, drop, and wait a few seconds for processing.

Step 3 โ€” Select "Xero" as Export Format

After processing, select Xero CSV from the export format dropdown. QuickBankConvert will:

  • Map your statement columns to Xero's required headers (Date, Amount, Payee, Description, Reference)
  • Convert debit amounts to negative values and credits to positive
  • Format all dates as YYYY-MM-DD
  • Strip currency symbols and thousands-separators from the Amount column
  • Remove any balance column (Xero does not use it and will reject rows if the column count is inconsistent)

Step 4 โ€” Review and Download the CSV

QuickBankConvert shows a preview table before download. Quickly scan for:

  • Any rows where the amount looks wrong (e.g., a credit appearing as negative)
  • Transactions that may have been split across two lines and merged incorrectly
  • The date range โ€” confirm it matches the statement period you intended

Download the CSV.

Step 5 โ€” Import into Xero

  1. Log in to Xero and go to Accounting โ†’ Bank Accounts.
  2. Click the bank account you want to import into.
  3. Click the Import a Statement button (top right of the statement view).
  4. Click Get bank statement file or Upload a file, then select your CSV.
  5. Xero will show a preview. Confirm the column mapping (it should auto-detect if headers match).
  6. Click Import to load the transactions.

Your transactions will appear in the Bank Reconciliation queue immediately.

Step 6 โ€” Reconcile

Work through the reconciliation queue as you normally would. Xero's rules engine will suggest matches for recurring transactions. For new payees, create a rule so future imports reconcile even faster.


Xero vs QuickBooks: Bank Import Differences {#xero-vs-quickbooks-bank-import}

If you work with clients on both platforms โ€” or you are migrating โ€” it is worth understanding how Xero and QuickBooks handle CSV bank imports differently. We cover the QuickBooks side in detail in our QuickBooks bank import guide.

FeatureXeroQuickBooks Online
Accepted formatsCSV, OFX, QFX, QBOCSV, OFX, QFX, QBO
Required CSV headersDate, AmountDate, Description, Amount (or split debit/credit)
Debit/credit handlingSingle Amount column (negative = debit)Can use separate Debit/Credit columns
Date format flexibilityHigh (multiple formats accepted)Moderate (MM/DD/YYYY preferred)
Currency symbol in AmountNot allowedNot allowed
Duplicate detectionYesYes (less aggressive)
Max rows recommended~1,000~1,000
Import locationAccounting โ†’ Bank Accounts โ†’ Import a StatementBanking โ†’ Upload transactions
Auto-categorisationRules-based, learns from past reconciliationsRules-based + AI suggestions

Key practical difference: Xero uses a single Amount column where debits are negative. QuickBooks is more flexible and allows separate Debit and Credit columns โ€” but also accepts the single-column approach. If you are re-using a QuickBooks CSV in Xero (or vice versa), the main thing to check is the Amount column sign convention and whether the headers match what each platform expects.


Troubleshooting Xero Import Errors {#troubleshooting-xero-import-errors}

"We couldn't read your file"

This almost always means Xero cannot parse the file structure. Check:

  • The file is saved as UTF-8 encoded CSV (not Excel .xlsx or .xls โ€” Xero does not accept Excel files directly).
  • There are no merged cells or blank header rows at the top of the file.
  • The delimiter is a comma, not a semicolon or tab (common if you export from Excel on a locale set to a European language).

Fix: Open the file in a plain text editor and verify the first line looks like Date,Amount,Payee,Description,Reference.

"Invalid date in row X"

The date in that row does not match a format Xero recognises, or the day/month values are swapped.

Fix: Convert all dates to YYYY-MM-DD format. If you are using Excel to prepare the CSV, format the date column as Text and type dates manually, or use the TEXT(A2,"YYYY-MM-DD") formula.

"Invalid amount in row X"

The Amount column for that row contains a non-numeric value โ€” usually a currency symbol ($, ยฃ), a comma thousands-separator (1,500.00), or a dash used as a zero (- instead of 0.00).

Fix: Strip all symbols and formatting from the Amount column. Use only digits, a decimal point, and a leading minus sign for debits.

Transactions imported but amounts are reversed

Credits appear as debits and vice versa.

Fix: The sign convention in your CSV is inverted relative to what Xero expects. Multiply the Amount column by -1 and re-import. QuickBankConvert handles this automatically when you select Xero export format.

Duplicate transactions appearing after import

You imported a date range that overlaps with an existing bank feed period or a previous import.

Fix: Before importing, check the last reconciled date in Xero for that account. Start your CSV from the day after the last imported transaction. Delete the duplicate entries from Xero's Bank Transactions view before reconciling.

Xero says the import was successful but no transactions appear

This happens when Xero silently skips rows that are outside the account's expected currency or where the amount is 0.00.

Fix: Check Xero's Bank Transactions tab (not just the reconciliation queue) to see if the transactions were actually created. Filter by date range to confirm. Remove any zero-amount rows from your CSV.


Tips for a Clean Xero Import {#tips-for-a-clean-xero-import}

  • Import one month at a time for large backfills. It is easier to verify a single month and troubleshoot isolated errors than to debug a 12-month import.
  • Always keep the original PDF. QuickBankConvert processes your PDF without storing it permanently. Keep your own copy as an audit trail.
  • Set up bank rules before reconciling. After importing, spend five minutes creating Xero bank rules for your most common payees (e.g., rent, utilities, payroll). This slashes reconciliation time for future imports.
  • Match your fiscal year boundaries. If your financial year starts on 1 April, ensure you are not importing transactions that straddle two fiscal years in a single file โ€” split them at the year boundary to keep reporting clean.
  • Reconcile the same day you import. Freshly imported transactions are easiest to reconcile when you remember what they are. Do not let them sit unreconciled for weeks.
  • Use the Description field generously. The more detail in your Description column, the better Xero's auto-matching performs. QuickBankConvert carries over the full transaction narrative from your PDF so nothing is lost.

Frequently Asked Questions {#frequently-asked-questions}

Can I import a PDF directly into Xero?

No. Xero only accepts CSV, OFX, QFX, and QBO formats for manual bank statement imports. Convert your PDF to a Xero-compatible CSV first using a tool like QuickBankConvert.

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

A bank feed is an automatic, ongoing connection to your bank that pulls transactions daily. A CSV import is a one-time manual upload. Both populate the same reconciliation queue, but feeds are lower-maintenance for current transactions while CSV imports are better for historical data or unsupported banks.

Does Xero charge extra for importing bank statements?

No. Manual CSV imports are included in all Xero subscription plans at no additional cost.

Can I edit transactions after importing?

Yes, but with limitations. You can delete unreconciled imported transactions and re-import a corrected file. Once a transaction is reconciled, it is locked and requires a reconciliation reversal to modify.

What if my bank statement has two Amount columns (Debit and Credit)?

Combine them into a single Amount column where debits are negative and credits are positive before importing. For example, if a row shows Debit 150.00 and Credit is blank, the Amount value should be -150.00. QuickBankConvert handles this merge automatically.

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 must first convert the PDF to a CSV file that matches Xero's required column format (Date, Amount, Payee, Description, Reference, Check Number) before uploading.
What date format does Xero require for CSV imports?
Xero accepts several date formats including DD/MM/YYYY, MM/DD/YYYY, and YYYY-MM-DD. The safest choice is YYYY-MM-DD (ISO 8601) as it is unambiguous regardless of your Xero organisation's regional settings.
Does Xero detect duplicate transactions during import?
Yes. Xero performs duplicate detection on bank imports and will flag or skip transactions it believes already exist. Always reconcile your statement date range against what is already in Xero before importing to avoid gaps or overlaps.
What is the maximum number of rows Xero will accept in a single CSV import?
Xero recommends keeping CSV imports under 1,000 rows at a time for best performance. For very large statements, split the file by month or quarter.
Can I import bank statements from any bank into Xero?
Yes, as long as you can produce a correctly formatted CSV. Xero supports direct bank feeds for many banks, but for banks not supported or for historical statements, a manual CSV import is the reliable fallback.

Ready to convert your bank statement?

Free. Private. Instant. Your files never leave your browser.

Convert Your Statement
How to Import Bank Statements into Xero โ€” Quick Bank Convert