Import Bank Statements into Xero: Convert PDF to CSV

Jun 13, 2026

Convert your bank statement to Excel now

PDF, JPG, PNG, BMP, HEIC, TIFF

Upload your bank statement

Extract:
|
|

Xero pulls most transactions in automatically through bank feeds, so why import a statement by hand at all? Because feeds have gaps. They usually backfill only a few months, they stop the moment an account closes, and plenty of regional banks and credit unions have no reliable feed. When any of those happen, the transactions still need to reach Xero, and the source is almost always a PDF statement that Xero cannot read. This guide covers how to convert that PDF into a Xero-ready file and import it as statement lines.

When you have to manually import bank statements into Xero

  • Historical transactions. Feeds typically backfill a limited window. Catch-up bookkeeping, prior-year cleanup, and onboarding all need months the feed never delivered.
  • Closed accounts. Once an account is closed the feed disappears, but the statements still have to be booked and reconciled.
  • New client onboarding. Clients arrive with a folder of PDF or scanned statements, not a live connection you can switch on.
  • Unsupported banks. Some smaller US banks and credit unions do not offer a Xero feed, so manual import is the only route.
  • Loan files and audits. Underwriters and auditors work from the statement itself, so you need the data extracted exactly as printed.

In every one of these cases you are starting from a PDF, often a scanned one, and Xero only imports structured files. The statement has to be converted first.

Step 1: Convert the PDF bank statement to a Xero-ready CSV

Upload the statement to the BankXLSX bank statement converter. The AI extraction reads both digital and scanned PDFs, rebuilds the transaction table across every page, and keeps dates, descriptions, and amounts aligned. Export the result as CSV, which is the format Xero's manual import expects. If you are onboarding a client with several accounts, convert the whole stack in one batch upload rather than file by file.

For the conversion step on its own, see how to convert a bank statement PDF to CSV for Xero import, or the PDF bank statement to CSV converter for how the columns are built.

Step 2: Match Xero's CSV requirements

Xero's CSV import is forgiving on extras but strict on two fields. You only need a Date column and an Amount column to create statement lines; everything else makes reconciliation easier but is optional.

ColumnRequiredNotes
DateYesUse a single consistent format and pick the matching one in the import wizard.
AmountYesOne column for both money in and money out. Income is positive, expenses are negative (for example -30.00 or in brackets (30.00)).
PayeeNoHelps Xero suggest matches during reconciliation.
Description / ReferenceNoCarries the transaction detail through to the bank statement line.

The key difference from QuickBooks is the amount column. Xero wants a single Amount column with expenses signed negative, not separate debit and credit columns. When you export from BankXLSX, choose the single-amount layout so money out already carries a minus sign and you skip a round of editing.

Step 3: Import the statement into Xero

  1. In Xero, go to Accounting > Bank accounts and open the account the statement belongs to.
  2. Click the menu icon for that account and choose Import a Statement. You can download Xero's CSV template here to confirm the exact column layout.
  3. Upload your converted CSV, then map each column (Date, Amount, Payee, Description) to the matching Xero field when prompted.
  4. Select the date format that matches your file, review the preview, and import. The transactions land as bank statement lines ready to reconcile.

Xero also accepts OFX and QIF files for manual import. If your converter can produce one of those, the import is even cleaner because the amount signs and dates are already structured, with no column mapping at all. CSV remains the most universal option and is what most firms use day to day.

Watch the sign convention

The most common manual-import mistake in Xero is reversed amounts: deposits booked as spending and withdrawals booked as income. It happens because a bank prints its statement from the bank's point of view, while Xero reads the account holder's point of view.

Because Xero uses one Amount column, money leaving the account must be negative and money coming in must be positive. If your statement lists withdrawals as plain positive numbers in a separate debits section, those values need the sign flipped before import. Spot-check the first few imported lines against the printed statement: pick one deposit and one payment and confirm each shows on the correct side. Catching a reversed file in 30 seconds beats deleting and re-importing a few hundred lines later.

Fixing common Xero import errors

  • Date format mismatch. If Xero rejects rows or reads months as days, the format you picked in the wizard does not match the file. Keep one format throughout the CSV and select it exactly.
  • Amount column has symbols or separators. Strip currency symbols and thousands separators so values are plain numbers; "$1,234.56" can fail where 1234.56 imports cleanly.
  • Separate spent and received columns. Xero's standard import expects one Amount column. Combine two columns into a single signed amount before importing, which the converter's single-amount export does for you.
  • Duplicate statement lines. If part of the period was already pulled by a feed, Xero will flag the overlap. Trim the converted file to the dates the feed missed before importing.
  • Total or header rows mixed in. Lines like "Closing balance" must not sit among the transactions. Exclude balance and total rows at export so only real transactions reach Xero.

Reconcile against the statement

After importing, reconcile the account for each period: the imported statement lines plus the opening balance should equal the statement's closing balance. Because BankXLSX preserves the running balance from the statement, you can catch a missing or doubled transaction before it ever reaches Xero. See reconciling bank statements for the full workflow.

How bookkeeping firms automate this

For one statement, the steps above take a few minutes. Firms that onboard clients or run catch-up work every week standardize the pipeline instead of repeating it by hand:

  • Batch convert a client's full statement history in a single upload rather than one PDF at a time.
  • Use a fixed export layout so every statement, from any bank, comes out with the Date and signed Amount columns Xero expects.
  • Validate totals against the printed closing balance before import, so errors surface upstream of Xero rather than during reconciliation.

Bookkeepers who do this at volume can read more on the bank statement converter for bookkeepers page. If you also work in QuickBooks, the companion guide on converting bank statements to QuickBooks covers the QBO and CSV routes there, and our roundup of the best bank statement converter software compares the major tools on scanned-statement OCR, accuracy, and pricing.

Frequently asked questions

Can I import a PDF bank statement into Xero directly?

No. Xero imports structured files (CSV, OFX, and QIF) and live bank feeds, but it cannot read transactions out of a PDF or scanned statement. You have to convert the PDF to one of those formats first, then import the file through Xero's Import a Statement option.

How do I import a bank statement into Xero?

Convert the PDF statement to CSV, then in Xero go to Accounting > Bank accounts, open the account, click the menu icon, and choose Import a Statement. Upload the CSV, map the Date and Amount columns, pick the matching date format, and import. The transactions appear as bank statement lines to reconcile.

What columns does a Xero CSV bank statement need?

Only two are required: Date and Amount. The Amount column holds both income and expenses in one place, with expenses entered as negative numbers. Payee, Description, and Reference are optional but make reconciliation faster because Xero can suggest matches from the detail.

Can I import bank transactions into Xero with separate spent and received columns?

Xero's standard manual import uses a single Amount column, not separate spent and received columns. Combine the two into one signed Amount column before importing, with money out negative and money in positive. Exporting from a converter in the single-amount layout produces this automatically.

How do I import older bank transactions into Xero?

Bank feeds only backfill a limited window, so older months will not arrive on their own. Download or request the PDF statements for those periods, convert them to CSV, and import each through Import a Statement. This is the standard approach for catch-up bookkeeping and prior-year cleanup.

Does this work for scanned bank statements?

Yes, as long as the converter uses visual OCR. BankXLSX reads scanned and photographed statements, reconstructs the table, and exports a clean CSV. Generic PDF-to-spreadsheet tools usually fail on scans because the page has no text layer for them to copy.

Can I import bank statements into Xero without a bank feed?

Yes. Manual statement import exists precisely for accounts with no feed, such as unsupported banks, credit unions, and closed accounts. Convert the PDF statement to CSV and import it through the account's Import a Statement option, and the transactions reconcile the same way feed data does.

Convert your first statement

Upload a PDF bank statement to BankXLSX, export it as a single-amount CSV, and import it into Xero in minutes. The paid plans add batch upload and saved export layouts for firms processing client statements every week.