1. Export the file from your bank
- In your online banking open the account and look for Statements, Export or Download.
- Choose the MT940 format (some banks call it SWIFT, MT940 structured or .sta).
- Pick the period and download.
- Upload the file here exactly as downloaded.
Why a raw MT940 export fails in Excel, Google Sheets or LibreOffice
Opened in Excel, an MT940 file is a single column of tagged lines such as :61:2512011201D12,34NTRF. Amounts, dates and descriptions are packed into codes, so there is nothing to sort or sum.
Excel and Google Sheets open a CSV directly, but only if it is a simple table. A bank statement file has to be turned into one first.
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 Excel, Google Sheets or LibreOffice requires
- One row per transaction: Date, Value date, Amount, Currency, Debit/Credit, Counterparty, Counterparty account, Description, Reference, Balance.
- Comma style: commas between columns and 1234.56 amounts. Semicolon style: semicolons and 1234,56 amounts.
- Dates are written as YYYY-MM-DD unless you choose another format.
- Text that starts with = + - or @ gets an apostrophe in front so a spreadsheet does not run it as a formula.
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 Excel, Google Sheets or LibreOffice receives
| Date | Value date | Amount | Currency | Debit/Credit | Counterparty | Counterparty account | Description | Reference | Balance |
|---|---|---|---|---|---|---|---|---|---|
| 2015-02-09 | 2015-02-09 | 300.00 | EUR | Credit | Hr J DOE | NL75INGB0001234567 | bijdrage februari 2014 | 5742.89 | |
| 2015-02-16 | 2015-02-16 | 300.00 | EUR | Credit | Hr J DOE | NL75INGB0001234567 | Maandelijkse bijdrage februari | 6042.89 | |
| 2015-02-19 | 2015-02-19 | 600.00 | EUR | Credit | M. DOE EO | NL60RABO0987654321 | Inleg maart 2015 | 502790242 | 6642.89 |
| 2015-03-16 | 2015-03-16 | 300.00 | EUR | Credit | Hr J DOE | NL75INGB0001234567 | Maandelijkse bijdrage februari | 6942.89 | |
| 2015-03-22 | 2015-03-22 | 600.00 | EUR | Credit | M. DOE EO | NL60RABO0987654321 | Inleg april 2015 | 530159478 | 7542.89 |
| 2015-03-26 | 2015-03-26 | -4114.00 | EUR | Debit | Bouwbedrijf M NAAIER B.V. | NL25DEUT050881234515185 | Factuurnr.: 2015014 project: 201502 1 | 534456395 | 3428.89 |
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 Excel, Google Sheets or LibreOffice
- Open the downloaded file in Excel, Google Sheets or LibreOffice.
- If every value lands in one column, use the semicolon style (for European Excel) or import it with Data > From Text/CSV.
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.
- Why does everything land in one column in Excel?
- Excel uses the list separator of your computer's region. In much of Europe that is a semicolon and the decimal mark is a comma. Choose the semicolon style and download again, or open the file through Data > From Text/CSV and pick the separator there.
- 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.
- Are accents and umlauts kept?
- Yes. The file is UTF-8 and starts with the marker Excel looks for, so names such as Müller or Société open correctly.
Other ways to convert MT940
- Convert an MT940 file to QuickBooks (QBO)
- Import an MT940 statement into Xero
- Convert an MT940 file to OFX