Skip to content

SWIFT MT940 field

MT940 field :25: Account Identification

The account the statement is for: an IBAN or the bank’s own account number, up to 35 characters. Option P (:25P:) adds, on a second line, the identifier code (a BIC) of the account owner.

:25: at a glance
:25: (mandatory)Account Identification: The account the statement is for: an IBAN or the bank’s own account number (:25P: adds the owner’s BIC).
Format35x
MessageMT940 customer statement (also used by MT942 where the field exists there)
In camt.053Stmt/Acct/Id/IBAN or Othr/Id (:25P: BIC: Acct/Ownr)

Format

The format is written in SWIFT notation: 35x. 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 · :25:
:25:DE89370400440532013000
:25: example, part by part
PartMeaning
:25:The tag (:25P: when the account owner’s BIC follows on the next line).
DE89370400440532013000The account: here a German IBAN. Some banks write a domestic number, or bank code and number with a slash (37040044/0532013000).

Where it goes in camt.053

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

:25: to camt.053.001.08
MT940camt.053.001.08Note
:25: AccountStmt/Acct/Id/IBAN, else Acct/Id/Othr/IdAn IBAN that passes mod-97 goes in IBAN; anything else in Othr/Id (34 characters at most).
:25P: identifier codeStmt/Acct/Ownr/Id/OrgId/AnyBICThe account owner’s BIC (field 25a identifies the account and, optionally, its owner). An identifier code that is not a BIC is left out.
:25: BIC/account, or the SWIFT headerStmt/Acct/Svcr/FinInstnId/BICFIThe bank that services the account: a BIC written before the account in :25:, else the bank that sent the statement (the sender in block 2 of a SWIFT output message, or in block 1 of an input one).

An IBAN that passes its mod-97 check becomes Acct/Id/IBAN; anything else goes to Acct/Id/Othr/Id. The :25P: identifier code is the account owner’s BIC and becomes Acct/Ownr/Id/OrgId/AnyBIC. The account servicer (Acct/Svcr) is the bank that sent the statement: a BIC written before the account in :25:, else the sender BIC of the SWIFT header.

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

Checks the viewer runs

Worth knowing

  • One account per statement. A file with several accounts holds several statements, each starting with its own :20:.

Read :25: 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>"
    }
  }
}