Conversion

Convert an MT940 SWIFT Statement File to CSV

An MT940 is a coded SWIFT bank statement your spreadsheet can't read. Convert it to a CSV to parse the :61: and :86: tags into clean transaction rows.

6 min read
Updated 2026-08-06
By EasyBankConvert Team

TL;DR - Quick Summary

An MT940 is the SWIFT standard for bank statements sent to corporate customers, but its coded, fixed-field text is not something a spreadsheet can read. Convert the MT940 to a CSV to parse its tagged records, one row per :61: transaction line, with the :86: narrative, amount, and value date pulled out.

What an MT940 file is

MT940 is the SWIFT Customer Statement message, the format banks send corporate customers as an end-of-day record of the account's transactions and balances. It is a plain-text file, but it follows the rigid SWIFT convention rather than a friendly layout: information is carried in tagged fields, each introduced by a colon-delimited code like :25: for the account or :61: for a transaction. That structure is built for bank-to-system exchange, and multinational and treasury operations see MT940 constantly because it is the international norm. What it is not is human-readable at a glance, which is the whole reason to turn it into a CSV.

The tags: :61: transactions and :86: details

Two tags carry the transaction data. Tag :61: is the transaction line itself: a value date in YYMMDD, an optional booking date, a debit or credit mark (C, D, or the RC and RD reversals), the amount with a comma as the decimal, a four-character SWIFT transaction type code, and a reference. Tag :86: holds the narrative that describes that transaction, and it always follows the :61: it belongs to; it often carries the payer, the payment reference, or an invoice number. Reading these by eye is painful because the fields run together inside each tag, with no columns to separate value date from amount from code.

Flattening MT940 into CSV rows

Converting an MT940 to CSV unpacks those tags into a table. Each :61: line becomes one row with its value date, debit or credit indicator, amount, SWIFT type code, and reference split into their own columns, and the :86: narrative that follows is attached to the same row as a description. The statement-level context, the account from :25: and the opening and closing balances from :60F: and :62F:, carries down so every row knows which account and period it belongs to. The result is an ordinary CSV you can sort, filter, and total, or load into a tool that does not parse SWIFT.

Reconciliation and the SWIFT type codes

The tags are what make an MT940 good for reconciliation once they are readable. Because the :86: narrative frequently carries an invoice reference, a converted CSV lets you match a receipt against the open invoice it settles rather than eyeballing a payer name. Sorting by the four-character SWIFT transaction code isolates a class of activity, incoming transfers, charges, or reversals, in one step. This is the same value a treasury system gets from ingesting MT940 directly, delivered as a spreadsheet when you need to review the day's cash or when the receiving system cannot read the raw SWIFT file.

When to convert, and privacy

Many ERPs and treasury systems import MT940 natively, so the conversion is for the cases they do not cover: a quick review of the day's activity in a spreadsheet, a reconciliation outside the treasury system, or a data migration into a tool that only accepts CSV. In each, a flat CSV is simply easier to work with than tagged SWIFT text. Because the file holds real corporate account activity, it is processed to build the CSV and then deleted automatically, with nothing retained on a server afterward. For a treasury handling several banking relationships, that keeps daily statement data usable without leaving it in a third-party tool.

How it works

  1. Upload the MT940: Upload the MT940 file your bank sent for the day or period.
  2. Parse the tags: Convert it to a CSV so each :61: line becomes a row with its :86: narrative attached.
  3. Read the fields: Use the split columns: value date, debit or credit, amount, SWIFT type code, and reference.
  4. Reconcile or load: Sort and reconcile the CSV, or import it into a system that cannot read SWIFT.

Comparison

MT940 tagWhat it isHoldsIn the CSV
:25: / :28C:Account headerAccount and statement numberRow context
:60F: / :62F:BalancesOpening and closing balanceControl totals
:61:Transaction lineDate, debit/credit, amount, codeOne CSV row each
:86:DetailsNarrative, invoice referencesA description column

An MT940 with hundreds of transactions parses to a CSV in about 25 seconds. Convert your statements now.

See pricing

Frequently Asked Questions

Related guides and articles

Try It Yourself

Experience the power of automated conversion

Start Converting