Skip to content

SWIFT MT940 field

MT940 field :86: Information to Account Owner

Free text of up to 6 lines of 65 characters. After a :61: it describes that entry (the counterparty, the remittance, the references); after the closing balance it is about the whole statement. Many banks structure it with subfield codes.

:86: at a glance
:86: (optional)Information to Account Owner: After a :61:, details of that entry (often structured with ?nn or /CODE/ subfields); at the end, information about the whole statement.
Format6*65x
MessageMT940 customer statement (also used by MT942 where the field exists there)
In camt.053Ntry/AddtlNtryInf, RmtInf, RltdPties; or Stmt/AddtlStmtInf

Format

The format is written in SWIFT notation: 6*65x. n digits; a capital letters; c capital letters and digits; x any character of the SWIFT set; d a decimal amount with a comma; 16x up to 16 of them; 6!n exactly 6; [ ] optional; 6*65x up to 6 lines of 65.

Annotated example

From the sample MT940 the viewer opens with “Try a sample”:

MT940 · :86:
:86:166?00SEPA-GUTSCHRIFT?100931?20EREF+AW-2026-0815?21SVWZ+RE 2026-0
815 Kd 4711?30SSKMDEMMXXX?31DE75512108001245126199?32Adventure Wo
rks GmbH
:86: example, part by part
PartMeaning
166German business transaction code (GVC): SEPA credit transfer received.
?00SEPA-GUTSCHRIFT?00 booking text.
?20EREF+AW-2026-0815?20–?29 remittance lines; EREF+ is the SEPA end-to-end id.
?21SVWZ+RE 2026-0815 Kd 4711SVWZ+ the remittance text, wrapped across lines mid-word.
?30SSKMDEMMXXX?30 the counterparty’s bank (BIC).
?31DE75512108001245126199?31 the counterparty’s account (IBAN).
?32Adventure Works GmbH?32–?33 the counterparty’s name.

Where it goes in camt.053

The MT940 Viewer and the API convert MT940 to camt.053.001.08. For this field:

:86: to camt.053.001.08
MT940camt.053.001.08Note
:86: (after a :61:)Ntry/AddtlNtryInf and TxDtls/RmtInf/UstrdThe full text is kept (500 characters at most in AddtlNtryInf; Ustrd in 140-character parts). Structured :86: lines join as written (they are wrapped mid-word), free-text lines with a space.
:86: ?20–?29 / /REMI/ remittanceTxDtls/RmtInf/UstrdFrom structured :86: the remittance lines (or SVWZ+) are used instead of the whole text.
:86: ?32/?33, /NAME/, /CNTP/TxDtls/RltdPties/Dbtr (credits) or Cdtr (debits)/Pty/Nm
:86: ?31, /IBAN/TxDtls/RltdPties/DbtrAcct or CdtrAcct
:86: ?30, /BIC/TxDtls/RltdAgts/DbtrAgt or CdtrAgt (BICFI, else clearing member id)
:86: EREF+ / /EREF/TxDtls/Refs/EndToEndId
:86: MREF+ / /MARF/TxDtls/Refs/MndtId
:86: at the end of the statementStmt/AddtlStmtInf

Structured subfields become counterparty, account, bank, end-to-end id, mandate and remittance elements; the full text is kept in AddtlNtryInf. A :86: after the closing balance becomes Stmt/AddtlStmtInf.

The whole mapping, field by field, is in camt.053 vs MT940.

Checks the viewer runs

  • mt.field.length: Field too long (SWIFT MT940/MT942 field lengths)
  • mt.charset: Characters outside the SWIFT set (SWIFT FIN character set X)

Worth knowing

  • Two structures are common. German banks (and others in central Europe) use ?nn subfields; Dutch banks and many others use /CODE/value words such as /TRTP/, /EREF/, /NAME/, /REMI/ and /IBAN/. The viewer reads both and keeps any other text as it is.
  • Lines are cut at 65 characters, even mid-word: join structured lines without a space, free text with one.
  • Characters outside the SWIFT set (umlauts, accents) are common in files sent outside SWIFT; check the file’s encoding if they look garbled.

Read :86: from a script or an AI agent

Scripts and AI agents can do the same without a browser: POST /api/v1/parse or the MCP tool parse_mt940 returns every statement as JSON: balances, each :61: split into its subfields and each :86: with its structured parts. No key is needed, and the file is processed in memory and never stored (API and MCP docs).

REST · curl
curl -s --data-binary @statement.sta https://iso20022-navigator.com/api/v1/parse
MCP · tools/call
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "parse_mt940",
    "arguments": {
      "content": "<the file text>"
    }
  }
}