Logo
Payments · Standards

MT940 Fields Explained: The Complete Tag Reference

20/10/2026
MT940 field tag reference table

MT940 is the SWIFT customer statement message — the format banks have used for decades to send end-of-day account statements to corporate clients. It is being retired in favour of ISO 20022 camt.053 (the MT↔MX coexistence period ends in November 2026), but billions of lines of MT940 are still produced daily and every bank statement parser in production still has to read it. This reference covers every tag you will actually meet, in the order it appears in a statement.

The tag reference

TagNameFormatNotes
:20:Transaction Reference Number16xSender's reference for the whole statement. Always present.
:21:Related Reference16xOptional — links the statement to a prior instruction (e.g., a :202: request).
:25:Account Identification35xThe account being reported — usually the IBAN, sometimes a domestic account number or IBAN in an odd format.
:28C:Statement Number / Sequence Number5n[/5n]e.g. 00042/001 — statement 42, page 1. Multi-page statements share the first number.
:60F: / :60M:Opening BalanceC/D YYMMDD CCC amountF = first, M = intermediate (page 2+ of a long statement). Amount uses a comma as decimal separator.
:61:Statement LinecomplexOne per transaction. Anatomy decoded below — the field everyone searches for.
:86:Information to Account Owner6×65xThe remittance/remark text that follows a :61:. Either free text or structured ?NN subfields / SEPA tags.
:62F: / :62M:Closing BalanceC/D YYMMDD CCC amountF = final (last page), M = intermediate (carried to next page). The value every reconciliation checks.
:64:Available BalanceC/D YYMMDD CCC amountCurrent cleared/available balance — often different from the closing book balance.
:65:Forward Available BalanceC/D YYMMDD CCC amountProjected balance at a future value date (pending debits). Can repeat.
:90D: / :90C:Summary totalscount CCC amountNumber and sum of debit (:90D:) or credit (:90C:) entries in the statement.
:NS:Non-SWIFT Extension65xBank-specific data — some banks hide proprietary structured info here.

Anatomy of a :61: statement line

A single :61: line packs up to ten subfields:

:61:2609210921D1000,00NTRFNONREF//E2E-001
     └─┬─┘ └─┬┘ └─┬─┬───┘└┬┘└──┬──┘└─┬───┘
     value   entry D/  amt funds tx cust    //bank
     date    date  C       code  code ref   ref
  • Value date — YYMMDD, always present.
  • Entry date — optional MMDD (booking date; may differ from value date).
  • Debit/credit mark — C, D, or the reversal marks RC/RD.
  • Funds code — optional single letter (S = same-day, V = value-date, B = booked).
  • Amount — comma as decimal separator: 1000,00.
  • Transaction type — N + 3-letter code (see table below).
  • Customer reference — NONREF or a reference, up to the // delimiter.
  • Bank reference — after //: the bank's own entry ID.
  • Supplementary details — free text that may spill onto the next physical line.

Debit/credit marks

MarkMeaning
CCredit — money in.
DDebit — money out.
RCReversal credit — reverses a previous debit. Money effectively comes back to you.
RDReversal debit — reverses a previous credit. Money is effectively taken back.

Parsers trip over RC/RD constantly: an RD entry must be treated as negative — a returned direct debit shows as RD, not as a normal debit.

Transaction type codes

The letter after the amount identifies the transaction class. Common codes:

CodeMeaning
NTRFTransfer — ordinary SEPA credit transfers and most payments.
NDDTDirect debit — a SDD collection charged to the account.
NMSCMiscellaneous — catch-all for bank-specific postings.
NCHKCheque.
NBNKBank charges / fees.
NINTInterest credit or debit.
NCMZCash management sweep / zero balancing.
NCCO / NRCRCard payment / card receipt (acquiring settlement).
NEXNExternal transfer — FX or cross-border payments.

Structured :86: — the remittance tag

The :86: field either contains free text or a structured form that starts with a transaction-type ?00 code, then subfields tagged ?NN. German-language banks (and most SEPA MT940s) use the structured variant:

SubfieldContent
?00Posting text / transaction class ("SEPA UEBERWEISUNG").
?10Original posting text.
?20–?29Remittance lines — free text or SEPA tags (below).
?30Counterparty BIC.
?31Counterparty IBAN / account number.
?32, ?33Counterparty name (continues across both).
?34SEPA purpose code.
?60–?63Additional remittance text.

Inside the ?20–?29 lines, SEPA remittance is packed as four-letter tags:

TagMaps to (camt)Content
EREF+EndToEndIdEnd-to-end reference — the invoice or mandate ref you need for reconciliation.
SVWZ+RmtInf/UstrdSEPA remittance text (unstructured).
CRED+CdtrSchmeIdCreditor scheme identifier (SDD collections).
MREF+MndtIdMandate reference (SDD).
PURP+PurpSEPA purpose code (SALA, PENS, etc.).
ABWA+ / ABWE+RltdPtiesAlternative / corrected counterparty name.
RTRN+RtrInfReturn reason code for rejected/returned payments.

A worked example

:61:2609210921D1000,00NTRFNONREF//E2E-001
:86:020?00SEPA UEBERWEISUNG?20SVWZ+Invoice INV-1042?30DEUTDEFF?31DE89370400440532013000?32Supplier One Ltd
  • Debited 1,000.00 on 21 September 2026 (value date = entry date).
  • Type NTRF — an ordinary transfer; bank reference E2E-001.
  • Structured :86: says it was a SEPA transfer with remittance "Invoice INV-1042", paid to Supplier One Ltd (DE8937...3000 via DEUTDEFF).

Try it on real data

Paste a statement into the MT940 to CSV converter to see every field decoded in a table, or convert the same file to ISO 20022 with the MT940 → camt.053 converter to see how each tag maps across — our MT940 → camt.053 migration guide covers the coexistence deadline and what changes at the message level.

Frequently Asked Questions

What is tag :86: in an MT940?

:86: is "Information to Account Owner" — the remittance/remark text attached to the preceding :61: transaction line. In SEPA statements it is usually structured: a ?00 posting code followed by ?NN subfields carrying the counterparty name (?32/?33), IBAN (?31), BIC (?30), and the SEPA remittance tags EREF+, SVWZ+, CRED+, and MREF+.

What is the difference between :62F: and :64:?

:62F: is the final book balance of the statement period — what the ledger showed at the statement's closing date. :64: is the available balance — what you could actually withdraw at generation time, after holds and pending debits. Reconciliation should tie against :62F:, not :64:.

What do C, D, RC, and RD mean in :61:?

C is a credit and D a debit. RC and RD are reversal marks: RC reverses a previous debit (money comes back), RD reverses a previous credit (money is taken back — e.g., a returned direct debit). Treat RD entries as negative amounts when summing.

Why does the amount use a comma?

SWIFT MT formats use the comma as the decimal separator and no thousands separator:1234567,89. Parsers that assume a dot will either mis-parse or return NaN — normalise the comma before converting to a number.

Related Insights

Privacy & Cookie Preferences

We use cookies to enhance your experience, analyze site performance, and support our marketing efforts. Your privacy matters, and you can withdraw consent at any time.