Import an MT940 statement into Xero

In short: An MT940 file is the SWIFT bank statement many European banks offer for download. It is plain text in tagged fields, with decimal commas, D and C marks for money out and in, and a free-text description field whose layout differs by bank. Xero's statement import uses its own CSV template: a Date and a signed Amount on every line, plus Payee, Description, Reference and a cheque number column. Money out is negative. Drop the file below. It is converted on your device and never uploaded.

Before you start: Dates are written day first (DD/MM/YYYY) for MT940 statements. If your Xero organisation is in the United States, switch the Xero organisation setting below to United States.

Convert your file

MT940 to Xero (CSV)

A .sta, .940, .mt940 or .txt file from your bank's MT940 (SWIFT) statement download

Your file stays on this device

It is read and converted by this page, inside your browser. Nothing from the file is uploaded, and the converter keeps working offline once the page has loaded.

One email when it ships. The address is used for nothing else. Details.

1. Export the file from your bank

  1. In your online banking open the account and look for Statements, Export or Download.
  2. Choose the MT940 format (some banks call it SWIFT, MT940 structured or .sta).
  3. Pick the period and download.
  4. Upload the file here exactly as downloaded.

Why a raw MT940 export fails in Xero

Xero does not read MT940 files from an upload. Its statement import takes its own CSV template or an OFX file, so the statement has to be turned into one of those first.

Xero imports the CSV line by line, so title rows above the table, balance rows, currency symbols in the amount, or separate gross, fee and net columns end up rejected or imported as the wrong amount.

What is unusual about the MT940 file

  • One file can hold many statements and several accounts. Each converted file holds one account in one currency; you choose which.
  • Amounts use a decimal comma (1234,56) and a D or C mark for money out or in. RD and RC mark reversals.
  • Each entry has a value date and usually a booking date; we use the booking date and keep the value date in the spreadsheet CSV.
  • We check every statement: the opening balance plus the entries must equal the closing balance. If it does not, you get a clear warning.
  • The description field (:86:) comes in several layouts. We read the German ?20 to ?63 subfields and the /NAME/ /REMI/ /EREF/ style used by Dutch banks, and keep anything else as plain text.

What Xero requires

  • Header matches Xero's template: *Date, *Amount, Payee, Description, Reference, Check Number.
  • One signed amount column: money out negative, decimal point, no symbols.
  • Up to 100,000 rows per file.

2. Before and after

Before: the MT940 statement as downloaded

:20:940S150209
:25:NL68RABO0123456789 EUR
:28C:0
:60F:C150206EUR000000005442,89
:61:150209C000000000300,00N541NONREF
NL75INGB0001234567
:86:/ORDP//NAME/Hr J DOE/ADDR/Ieplaan 100 2500AA S GRAVENHAGE
 NL/REMI/bijdrage februari 2014/ISDT/2015-02-09
:62F:C150209EUR000000005742,89

After: what Xero receives

After: mt940-2015-02-09-to-2015-04-20-xero.csv
*Date*AmountPayeeDescriptionReferenceCheck Number
02/09/2015300.00Hr J DOEbijdrage februari 2014
02/16/2015300.00Hr J DOEMaandelijkse bijdrage februari
02/19/2015600.00M. DOE EOInleg maart 2015
03/16/2015300.00Hr J DOEMaandelijkse bijdrage februari
03/22/2015600.00M. DOE EOInleg april 2015
03/26/2015-4114.00Bouwbedrijf M NAAIER B.V.Factuurnr.: 2015014 project: 201502 1

Synthetic sample data that follows the real export layout, not a real account. The "after" output was produced from it by the same converter this page runs.

3. Import the converted file into Xero

  1. In Xero open Accounting > Bank accounts and choose the account.
  2. Click Manage account > Import a statement.
  3. Choose this CSV and click Import.
  4. Check the column mapping (Date, Amount, Payee, Description, Reference) and confirm the date format if asked.

Questions

How do I know nothing went missing?
Every MT940 statement carries an opening and a closing balance. The converter adds up the bookings of each statement and compares the result with the closing balance. If they do not match, you see a warning that names the statement and the difference.
Which date format does Xero need?
Xero lists both month-first and day-first dates as accepted and asks you to confirm the format when it is unclear. Choose United States for MM/DD/YYYY or Elsewhere for DD/MM/YYYY, and confirm the same format in Xero if it asks.
My file has several accounts. What happens?
One file can hold statements for several accounts or currencies. Each converted file holds one account in one currency, and a menu lets you pick which one. Convert each account into its own account in your books.
Can I import more than one month at once?
Yes. Xero imports the whole statement file you give it. Keep each file to one bank account in Xero, and avoid overlapping a period you already imported so you do not have to delete duplicate statement lines.

Other ways to convert MT940

Other exports to Xero (CSV)