Import bank transactions into Xero (CSV, OFX, QFX, QBO)
Xero imports bank and credit card transactions from CSV, OFX, QFX, QBO and QIF files through Import a Statement on a bank account. If your file does not import, or you have a PDF, Excel or MT940 file, convert it to OFX or to a Xero CSV with ProperConvert first, then import the result.
Formats Xero imports
- OFX: the first choice. If any other file does not import, convert it to OFX.
- QFX and QBO: OFX variants made for Quicken and QuickBooks.
- QIF: use the date format that matches your Xero country settings.
- CSV: works best when the columns are named the way Xero expects. A CSV downloaded from online banking usually needs mapping on import.
Convert other files first
- PDF statements: convert to OFX, or to CSV if you want to review or edit the transactions first. See convert PDF to OFX.
- Excel or another CSV layout: convert to OFX, or to CSV with the Xero target. See convert CSV to OFX.
- MT940: convert to OFX.
- OFX, QFX or QBO files Xero rejects: convert to a clean OFX file.
When you convert to CSV, set the CSV target to Xero. The file then has the columns Xero expects: Date, Amount, Payee, Description, Reference and Check Number.
Import a CSV file into Xero
- In Xero, click Accounting, then Bank accounts.
- Select the bank or credit card account to import into.
- Click Manually import a statement, or click Manage Account and then Import a Statement.
- Under Upload a bank file, click Browse, select the CSV file, and click Import.
- Map the CSV columns to Xero transaction fields (see below).
- Click Next and review the dates and amounts as they will appear in Xero.
- Click Save, then OK. The transactions are imported.
Map the CSV columns
A CSV made with the Xero target has column headers that Xero recognizes. Date maps to Date, Amount to Amount, Payee to Payee, and Description to Description on their own.
Two columns are not mapped automatically: Reference and Check Number. Map them yourself:
- Check Number: filled when the source file has checks with check numbers.
- Reference: holds extra details from the source OFX or PDF file. Xero keeps them with the transaction.
A CSV downloaded from online banking may have different column names. Map each column by hand, or convert it with the Xero target. See mapping CSV files.
Import an OFX, QFX or QBO file into Xero
- Click Accounting, then Bank accounts, and select the account.
- Click Manage Account, then Import a Statement.
- Under Upload a bank file, click Browse and select the OFX, QFX or QBO file.
- Click Import.
- Review the imported transactions.
OFX files need no column mapping. They carry the date, amount, payee, memo and check number in fixed fields.
After the import: contacts and accounts
The imported transactions wait in the account's reconcile list.
- Match payees to contacts. A bank file may show one vendor under several names, such as "Shell 1", "Shell 2" and "Shell". If you have a contact called Shell in Xero, select that contact for each of these transactions.
- Categorize. Select the account for each transaction, such as an expense or income account.
Clear payee names make this faster. ProperConvert extracts the payee from the description and can rename payees to match your Xero contacts before you save the file.
When Xero does not import the file
Xero may skip some or all transactions when the file has an incorrect format or contains errors. Common causes:
- The file is named OFX, QFX or QBO but does not follow the format. Convert it to OFX with ProperConvert, which tolerates many file errors and writes a correct file.
- A CSV has columns Xero cannot map, or extra columns. Convert it with the Xero CSV target.
- The source is a PDF or Excel file. Xero cannot read these; convert them first.
Fix the file and import it again.
Xero import settings
Xero imports bank transactions through Accounting, Bank accounts, Import a Statement (also reached as Manage Account, Import a Statement). The file goes into the bank account's reconcile list, where Xero matches each line to invoices, bills and bank rules, or creates a spend or receive money transaction.
- OFX is the format to aim for. It carries the date, the amount, a payee, a description, a reference, a check number and a unique transaction ID. Xero uses the ID to skip lines it already has, so re-importing a period does not double it.
- QBO and QFX are OFX with extra header fields for QuickBooks and Quicken. Xero reads them as OFX, either directly or after renaming the extension to
.ofx. If a QBO, QFX or OFX file downloaded from a bank is rejected, the file usually has a header, encoding or date format Xero does not accept; converting it to a plain OFX fixes that. - CSV works when the columns match what Xero expects. A CSV downloaded from a bank often needs mapping on import and sometimes fails on the date or amount format. A CSV written for Xero carries the column names Xero maps on its own: Date, Amount, Payee, Description, Reference, Check Number.
- PDF must be converted first, to OFX or to a Xero CSV.
Settings that matter:
- Account: the Xero bank account is chosen before the upload. The account number inside the file is not used to pick the account, but keep it stable per account so the file is recognized on the review screen.
- Account type: bank or credit card. Xero keeps the statement's sign convention for credit cards, so a card purchase stays a debit; the converter should not flip signs for Xero the way it does for some other targets.
- Dates: four-digit years. In CSV, use one order for the whole file and confirm it on the import screen; day-month and month-day are both accepted but Xero must be told which one.
- Amounts: one signed Amount column, or separate Debit and Credit columns, in a CSV. No currency symbols or thousands separators. Money out is negative in the single-column layout.
- Payee and description: Xero shows Payee as the contact and Description as the transaction text, and bank rules match on either. Put the merchant name in Payee and the bank's transaction text in Description. Reference is a free field that other targets do not have; use it for the bank's reference number.
- Transaction IDs: unique per line and stable per transaction, so a second import of the same statement skips what is already there instead of duplicating it.
- Balances: Xero does not read an opening or closing balance from the file. Check the statement balance in Xero against the printed closing balance after import.
Xero questions
Should I import OFX or CSV into Xero?
OFX. It carries the payee, description, reference and check number in separate fields and gives Xero a transaction ID for duplicate checks. CSV is fine when the file was written for Xero with the right column names; a bank's own CSV usually needs mapping and cleanup.
Xero says my OFX, QFX or QBO file is invalid. What is wrong?
Most often the file has a header Xero does not read, non-UTF-8 text, dates in a format it does not accept, or a missing transaction ID. Convert the file to plain OFX and import that. Renaming QBO or QFX to .ofx helps only when the content is already clean.
Why did Xero import only some of the transactions?
Xero skips lines whose transaction ID it already has, and for CSV it skips lines it reads as duplicates by date, amount and description. Two genuine identical lines on the same day can be dropped from a CSV. Use OFX with unique IDs for those.
Why are the dates wrong after a CSV import?
The date order was misread. A file with 03/04/2026 can be read as 3 April or 4 March. Set the order on the import screen, or export dates as YYYY-MM-DD, which Xero reads without asking.
How do I undo an import?
Open the bank account, go to the statement lines or Bank Statements tab, select the imported statement and delete it. The lines disappear from reconcile and the file can be imported again.
Can I import older periods into Xero?
Yes. There is no date limit on file imports. Import periods in order and do not overlap them, so the balance in Xero follows the statements.
Does Xero read the opening balance from the file?
No. The statement balance in Xero is computed from the imported lines. Compare it to the printed closing balance after each import. If they differ, a line is missing, doubled, or has the wrong sign.
Bank-specific guides for Xero
Each guide covers one bank's statement layout and the settings that matter when the result goes into Xero.
Bonaire
Canada
- Convert CIBC PDF bank statement to Xero
- Convert RBC Royal Bank PDF bank statement to Xero
- Convert Scotiabank PDF bank statement to Xero
- Convert TD PDF bank statement to Xero
CuraƧao
United Kingdom
United States
- Convert American Express PDF bank statement to Xero
- Convert BECU PDF bank statement to Xero
- Convert Bank of America PDF bank statement to Xero
- Convert Capital One PDF bank statement to Xero
- Convert Chase PDF bank statement to Xero
- Convert Citi PDF bank statement to Xero
- Convert Fifth Third Bank PDF bank statement to Xero
- Convert Guaranty Bank & Trust PDF bank statement to Xero
- Convert PNC PDF bank statement to Xero
- Convert Truist PDF bank statement to Xero
- Convert U.S. Bank PDF bank statement to Xero
- Convert Webster Bank PDF bank statement to Xero
- Convert Wells Fargo PDF bank statement to Xero