Import an ING MT940 statement into Xero

In short: ING's MT940 file puts the other party, the description and the reference into /CNTP/, /REMI/ and /EREF/ code words. The converter writes the /CNTP/ name as Payee and the /REMI/ text as Description in Xero's template, with day-first dates. Drop the file below; it is converted on your device and never uploaded.

Before you start: ING's own published MT940 sample does not add up as printed (an opening balance of 1,000.00 plus bookings of 475.00 against a closing balance of 1,605.00), so the converter shows its balance warning on the sample below. A complete statement should add up.

Convert ING MT940

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.

What the ING MT940 file looks like

  • The account line (:25:) is the IBAN followed by the currency, for example NL20INGB0001234567EUR.
  • Each booking line (:61:) can have a second line with an ING transaction code, for example /TRCD/00100/, and /OCMT/ with the original amount when it differs from the booked amount.
  • The description field (:86:) is built from code words in the form /code word/value/: /EREF/ for the end-to-end reference, /CNTP/ for the other party as account/BIC/name/city, and /REMI/ for the payment description, either /REMI/USTD// with free text or /REMI/STRD/CUR/ with a structured reference. Other code words include /IREF/, /PREF/, /MARF/, /CSID/ and /RTRN/.
  • Lines are at most 65 characters and a value can continue on the next line in the middle of a word (for example "ING T" then "estrekening").
  • After the closing balance, a last :86: line names the account owner and gives totals: /NAME/.../BIC/.../SUM/ with the number and total of debit and credit bookings.

What the converter does with it

  • Writes the /CNTP/ name as Payee and the /REMI/ text as Description. Values split across lines are joined back together.
  • Xero's Reference column gets the two references from the :61: booking line (the reference for the account owner and the bank's reference, for example 5200150700013379//00000000000001 in ING's sample), not the /EREF/ value. The /EREF/ value is in the Reference column of the spreadsheet CSV.
  • Uses the account from :25: without the currency as the account number, and the currency from the balance lines.
  • Skips the /TRCD/ code line and the closing /NAME/ /SUM/ line: they are not transactions.
  • Checks every statement: the opening balance plus the bookings must equal the closing balance, and you get a warning if it does not.

Before and after

Before: the MT940 statement as downloaded

{1:F01INGBNL2ABXXX0000000000}{2:I940INGBNL2AXXXN}{3:{108:B12345678S000001
}}{4:
:20:P140104000009999
:25:NL20INGB0001234567EUR
:28C:00003
:60F:C250204EUR1000,00
:61:2502040103C350,00NTRF5200150700013379//00000000000001
/TRCD/00100/
:86:/EREF/E2E2014030100899040//CNTP/NL08INGB0000001234/INGBNL2A/ING 

After: what Xero receives

After: mt940-2025-01-03-to-2025-01-03-xero.csv
*Date*AmountPayeeDescriptionReferenceCheck Number
01/03/2025350.00ING Testrekening52001507000133795200150700013379//00000000000001
01/03/2025125.00ING TestrekeningUstrdRemInf58789921105010012368971337//00000000000006

Sample: ING's own published MT940 sample file (first statement), copied from the PDF. The "after" output was produced from it by the same converter this page runs.

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.

Sources

BooksReady is not affiliated with, endorsed by or sponsored by ING. The layout notes above come from the sources listed.

More