How to Read an MT940 File (SWIFT Tags Explained)

Jul 20, 2026

Convert your bank statement to Excel now

PDF, JPG, PNG, BMP, HEIC, TIFF, MT940

Upload your bank statement

Last updated July 2026.

An MT940 file is a plain-text SWIFT bank statement built from numbered colon tags, not columns. To read it, learn six tags: :20: is the statement reference, :25: is the account, :60F: is the opening balance, :61: is one transaction, :86: is that transaction's description, and :62F: is the closing balance. Every transaction is a :61: line followed by one or more :86: lines, so you read the file top to bottom, pairing each :61: with the :86: beneath it.

MT940 was designed for bank-to-bank software, not for people, which is why it looks like a wall of codes when you open it. Once you know the handful of tags below, any MT940 becomes readable. Here is how to decode one line by line.

What an MT940 file is

MT940 is the SWIFT Customer Statement Message, the end-of-day statement a bank sends for an account. It is plain text made of tags in a fixed order rather than rows and columns. Each file gives you a statement reference, the account it covers, an opening balance, a list of transactions, and a closing balance. If you open a file and see lines starting with :20:, :60F:, :61:, and :62F:, you are looking at an MT940. Banks usually deliver it with a .sta, .mt940, or .txt extension.

The MT940 tags, in order

The tags always appear in the same sequence, so reading one is a matter of recognizing six or seven of them. This table covers the ones on nearly every file.

TagNameWhat it carries
:20:Transaction referenceThe bank's reference for this statement message.
:25:Account identificationThe account the statement covers, often an IBAN or account number plus currency.
:28C:Statement numberStatement and sequence number, used to spot a missing day.
:60F:Opening balanceFinal opening balance. :60M: appears instead when the statement continues from a prior page.
:61:Statement lineOne transaction: dates, debit or credit mark, amount, type code, references.
:86:Information to account ownerFree-text description for the transaction above it, often wrapped across lines.
:62F:Closing balanceFinal closing balance. :62M: marks an intermediate closing balance.
:64:Closing available balanceFunds actually available, which can differ from the ledger balance.

How to read a tag 61 statement line

Tag :61: is where the transaction lives, and it packs six or seven pieces of data into one line with no separators. Reading it left to right, this is the order.

SubfieldFormatNotes
Value dateYYMMDDSix digits, no separators. The date the money counts from.
Entry dateMMDD, optionalBooking date. Some banks leave it blank.
Debit or credit markC, D, RC, or RDRC and RD mark reversals of a credit or a debit.
AmountUp to 15 charactersComma as the decimal separator, no thousands separator, so 1250,00 means 1,250.00.
Transaction type code4 charactersA letter then three characters, such as NTRF or NCHK.
Customer referenceUp to 16 charactersYour reference, where the bank passes one back.
Bank referencePrefixed //Optional. The bank's own reference for the entry.

The four-character transaction type code is the closest thing MT940 has to a category, and the first letter tells you where the entry came from. N marks a non-SWIFT transfer, S marks a SWIFT transfer where the next three characters are the message number (so S103 is an MT103), and F marks a first advice raised by the bank. Common codes include NTRF for a transfer, NCHK for a cheque, NINT for interest, NCOM for commission, and NFEX for a foreign exchange settlement. Banks do use their own proprietary codes here, so check anything unusual against your bank's MT940 implementation guide rather than assuming a universal list.

How to read tag 86

Tag :86: is the information-to-account-owner field, the free-text description for the transaction on the :61: line directly above it. It usually holds the counterparty name, the payment reference, and the bank's own wording, all compressed together and often wrapped onto several lines. Some banks send a structured :86: broken into subfields with codes like ?20 or ?32, while others send one run of plain text. Either way, the rule is simple: a :86: always belongs to the :61: that precedes it, so never read a description without pairing it to its transaction.

Reading the balances

The balance tags share one format: a debit or credit mark, a six-digit YYMMDD date, a three-letter currency code, and the amount with a comma decimal. So :60F:C260701USD12500,00 means a final opening balance on July 1, 2026 of 12,500.00 US dollars on the credit side. The opening balance in :60F: plus every :61: amount should equal the closing balance in :62F:. That reconciliation is the fastest way to confirm you have read the whole file and nothing was dropped.

A worked example

Here is a short MT940 fragment and what each line means:

:20:STMT2026070100
:25:12345678/USD
:28C:184/1
:60F:C260701USD12500,00
:61:260701D2500,00NTRFINV-4471//BANKREF9
:86:ACME SUPPLY CO INVOICE 4471 VENDOR PAYMENT
:62F:C260701USD10000,00

Reading it: statement reference STMT2026070100, on account 12345678 in USD, statement 184 sequence 1. The opening balance is 12,500.00. The one transaction is a debit dated July 1, 2026 for 2,500.00, a non-SWIFT transfer (NTRF), with your reference INV-4471 and the bank reference BANKREF9. Its description says it was a vendor payment to Acme Supply Co for invoice 4471. The closing balance is 10,000.00, which equals 12,500.00 minus the 2,500.00 debit, so the statement ties out.

MT940 versus MT942

MT940 is the end-of-day statement, a final record of a closed banking day with an opening balance in :60F: and a closing balance in :62F:. MT942 is the Interim Transaction Report, sent during the day for intraday cash positioning, and it carries no opening or closing balance tags at all. Instead it uses :34F: for the floor limit and :90D: and :90C: for the count and sum of debits and credits. Both use the same colon-tag style, so the same reader handles them. If you are holding an interim file, see the walkthrough on how to convert an MT942 file to CSV or Excel.

Turning an MT940 into a spreadsheet

Reading an MT940 by eye is fine for one or two lines, but nobody wants to decode a month of them by hand. The practical move is to convert the file so each :61: line becomes a row with its :86: description attached, the comma decimals become real numbers, and the balances are pulled into their own fields. The MT940 to Excel converter does exactly that, and it reads MT942 interim reports too. If your books run in QuickBooks, the same output imports cleanly once you convert the MT940 file to QuickBooks as a QBO or CSV file. If you are not sure which bank file you are holding, the bank file format converter tells BAI2, MT940, camt.053, and NACHA apart. Teams loading the result into an ERP or treasury workstation often push it through an integration layer that connects apps, APIs, and databases so the statement lands in the ledger automatically. And if your bank is moving you off MT940, our comparison of camt.053 versus MT940 covers what changes.

Frequently asked questions

How do I read an MT940 file?

Read it top to bottom by its colon tags: :20: is the statement reference, :25: is the account, :60F: is the opening balance, each :61: is one transaction, the :86: below it is that transaction's description, and :62F: is the closing balance. Pair every :61: with the :86: beneath it, and confirm the opening balance plus all transactions equals the closing balance.

What does tag 61 mean in an MT940 file?

Tag :61: is the statement line, one per transaction. It packs the value date as YYMMDD, an optional MMDD entry date, a debit or credit mark, the amount with a comma decimal, a four-character transaction type code such as NTRF, and customer and bank references into a single line with no separators.

Why are the amounts in an MT940 written with a comma?

MT940 follows the European convention of a comma as the decimal separator with no thousands separator, so 1250,00 means one thousand two hundred fifty. A US Excel install reads that as text or as the wrong number, which is why the amounts have to be converted rather than opened raw.

Can I open an MT940 file in Excel?

You can open it as text, but it will not be usable. Every line lands in one column, a single transaction is split across a :61: line and its :86: description, amounts use a comma decimal that US Excel misreads, and dates are six-digit numbers. Convert it first so each transaction becomes a proper row.

Is MT940 still used in 2026?

Yes. SWIFT ended MT and ISO 20022 coexistence for cross-border payment messages in November 2025, but that did not cover the MT9xx reporting messages. MT940 is deprecated and no longer actively maintained, yet banks are still sending it, and there is no announced hard sunset for the statement messages. Banks are migrating clients to camt.053 on their own timelines into 2027 and beyond.

Ready to convert your bank statement?

Upload a PDF and get clean Excel or CSV in seconds. Works with statements from any bank.

Convert to Excel now

Free to try, no credit card required

From the same family of tools