Import CSV or Excel into Xero: convert CSV or Excel to OFX

Xero imports OFX files. Convert your CSV or Excel file to OFX first, then import it. Read the full Xero import guide.

extract transaction data from CSV files

What is a CSV file

CSV (comma-separated values) is a plain text file with one transaction per row and columns for date, amount, description and other fields. Every bank and payment service uses its own column names and layout, so no two CSV files look exactly the same. An Excel file (XLS or XLSX) works the same way here.

CSV column mapping

Different CSV files use different column names. A PayPal export uses different headers than a bank export. ProperConvert detects the columns automatically in most cases. If your CSV has unusual column names or splits amounts into separate debit and credit columns, use the manual mapping option to tell the app which column contains which value. Once mapped, the app remembers the layout for the next file from the same source. See CSV column mapping.

Can any CSV file be converted?

Most bank and credit card CSV files can be converted. The file needs at least a date column and an amount column. Files that put deposits and withdrawals in separate columns, or use unusual date formats, may need manual column mapping before converting. Remove any summary rows above or below the transactions.

What is an OFX file

OFX (Open Financial Exchange) is a standard format for bank data. Many accounting apps import it. It holds the date, amount, payee, memo, check number and a transaction ID, along with the account ID and type. More about OFX.

Why convert CSV to OFX

OFX is the most widely accepted bank format, and it gives an app more to work with than a CSV. Xero and similar apps can import CSV directly, but only when the columns suit them, and a bank's download usually needs mapping every time. An OFX file has named fields and a transaction ID on each row, so it imports the same way every time and repeated rows can be skipped.

Before you import: check the account in Xero

Xero keeps your data online, so there is no company file to back up. Check that the bank or credit card account exists under Accounting > Bank accounts, and look at what is already imported for this period so you don't bring in the same transactions twice.

Step by step: convert CSV or Excel to OFX

  1. Download, install and start ProperConvert. The trial is free.
  2. Open your CSV or Excel file.
  3. Review the transactions to see how the app read your file. Check that the dates are correct, and that expenses are negative and deposits (payments to the account) are positive. The "Change +/-" button reverses the signs for the whole file, for bank and credit card accounts alike.
  4. Set the OFX settings below.
  5. Click Convert, then confirm the file name and location.

Set the OFX output settings

In the QBO/QFX/OFX tab on the right sidebar, set the file type to OFX and choose the OFX target for your app, then set:

Import the OFX file into Xero

  1. In Xero, click Accounting, then Bank accounts.
  2. Select the bank or credit card account to import into.
  3. Click Manually import a statement, or click Manage Account and then Import a Statement.
  4. Under Upload a bank file, click Browse, select the OFX file, and click Import.
  5. Review the transactions and reconcile them.

See the Xero import guide for more.

OFX transactions imported into Xero

Xero OFX 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.

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.

Related Xero conversions