Parser SWIFT MT

Parser et analyser les messages SWIFT MT

1
Comprendre Messages SWIFT MT
TL;DR

Les messages SWIFT MT sont le format de messagerie standard utilise par plus de 11 000 institutions financieres dans le monde pour les paiements transfrontaliers et les transactions sur titres.

Qu’est-ce que SWIFT MT ?

SWIFT MT (Message Type) est le format de messagerie historique utilise par le reseau SWIFT (Society for Worldwide Interbank Financial Telecommunication) pour faciliter les transactions financieres transfrontalieres. Depuis 1977, les messages MT constituent l’epine dorsale de la communication bancaire internationale, connectant plus de 11 000 institutions financieres dans plus de 200 pays.

Chaque type de message MT est identifie par un numero a trois chiffres. Le premier chiffre indique la categorie du message (par ex., 1xx pour les virements clients, 2xx pour les transferts entre institutions financieres, 9xx pour la gestion de tresorerie). Le type de message complet — tel que MT103 pour les virements clients ou MT940 pour les releves de compte — determine les champs et la structure exactes requis.

Les messages MT utilisent un format proprietaire a tags ou chaque element de donnees est identifie par un numero de tag delimite par des deux-points. Bien que ce format ait servi l’industrie pendant des decennies, il est progressivement remplace par les messages XML ISO 20022 dans le cadre de l’initiative de migration mondiale.

Structure du message

Chaque message SWIFT MT est compose de cinq blocs, chacun jouant un role distinct dans le routage, le traitement et l’authentification du message.

SWIFT MT Message Block Structure A vertical stack diagram showing the five blocks of a SWIFT MT message: Basic Header, Application Header, User Header, Text Body, and Trailer, with field annotations for each block. B1 Block 1 — Basic Header App ID | Service ID | LT Address | Session | Sequence B2 Block 2 — Application Header I/O Indicator | Message Type | Receiver BIC | Priority B3 Block 3 — User Header (Optional) Service Identifier | Banking Priority | MUR B4 Block 4 — Text (Message Body) :20: Reference | :32A: Amount | :50K: Ordering Customer :59: Beneficiary | :71A: Charges | :70: Remittance Info B5 Block 5 — Trailer MAC (Authentication) | CHK (Checksum) | PDE | DLM Parse order

Le bloc 1 (Basic Header) identifie l’expediteur et la session. Il contient l’identifiant d’application, l’identifiant de service, l’adresse du terminal logique (LT) de l’expediteur, le numero de session et le numero de sequence.

Le bloc 2 (Application Header) specifie le type de message et le destinataire. L’indicateur I/O indique s’il s’agit d’un message entrant (envoye) ou sortant (recu), suivi du type MT a trois chiffres, du BIC du destinataire et de la priorite du message.

Le bloc 3 (User Header) est optionnel et contient des metadonnees definies par l’utilisateur telles que la reference utilisateur du message (MUR) utilisee pour le rapprochement, la priorite bancaire et les identifiants de service.

Le bloc 4 (Text Body) est le coeur du message. Il contient les donnees de transaction proprement dites a l’aide de champs etiquetes (par ex., :20: pour la reference de transaction, :32A: pour la date de valeur/devise/montant). Les tags requis varient selon le type de message.

Le bloc 5 (Trailer) assure l’authentification et la verification. Le MAC (Message Authentication Code) garantit l’integrite, tandis que le CHK (checksum) verifie que le contenu n’a pas ete altere en transit.

Types de messages courants

Type MTNomDescription
MT103Virement clientPaiement client unitaire — le type de message SWIFT le plus courant
MT202Transfert entre institutions financieresPaiement de banque a banque, souvent utilise pour couvrir les obligations MT103
MT940Releve de compte clientReleve de compte en fin de journee avec soldes et details des transactions
MT199Message en format libreMessage non structure pour les demandes d’information, investigations ou communications ad hoc
MT300Confirmation de changeConfirme les details d’une operation de change entre deux contreparties
MT760Garantie / Lettre de credit standbyEmission d’une garantie bancaire ou d’une lettre de credit standby
MT700Emission d’un credit documentaireOuverture d’une lettre de credit pour le financement du commerce

Flux d’un paiement transfrontalier

Un paiement transfrontalier typique utilisant le MT103 suit ce parcours :

  1. Initiation : le client donneur d’ordre instruit sa banque (banque d’origine) d’envoyer des fonds
  2. Creation du MT103 : la banque d’origine cree un message MT103 avec les details complets du beneficiaire
  3. Reseau SWIFT : le message est achemine via le reseau SWIFT (SWIFTNet FIN) vers la banque du beneficiaire
  4. Banque correspondante : en l’absence de relation directe, le message transite par une ou plusieurs banques correspondantes, chacune generant un MT202 (paiement de couverture)
  5. Credit : la banque du beneficiaire credite le compte du beneficiaire et envoie une confirmation MT199 ou MT910
  6. Releve : en fin de journee, les deux banques generent des releves MT940 refletant la transaction

Cas d’utilisation courants

  • Virements internationaux : le MT103 est le standard pour les paiements clients transfrontaliers entre banques
  • Operations de tresorerie : les MT202, MT300 et MT320 gerent les transferts interbancaires, les operations de change et les depots a terme
  • Gestion de tresorerie : les MT940 et MT942 delivrent les releves de compte en fin de journee et en cours de journee aux tresoreries d’entreprise
  • Financement du commerce : les MT700, MT760 et messages associes prennent en charge les lettres de credit et les garanties bancaires
  • Reglement de titres : les messages MT5xx gerent les instructions de reglement, les confirmations et les operations sur titres
  • Investigations : les MT199 et MT299 offrent des canaux en format libre pour les demandes de renseignements sur les paiements et le traitement des exceptions

Essayez ces exemples

MT103 valide (virement client) Valide

Un virement client MT103 complet avec tous les tags obligatoires : reference de transaction (20), code operation bancaire (23B), date de valeur/devise/montant (32A), client donneur d'ordre (50K), beneficiaire (59) et instruction de frais (71A). Le bloc 5 contient l'authentification (MAC) et la somme de controle (CHK).

{1:F01BANKFRPPAXXX0000000000}{2:I103BANKDEFFXXXXN}{3:{108:MT103}}{4: :20:TXREF20240315001 :23B:CRED :32A:240315EUR25000,00 :50K:/FR7630006000011234567890189 JOHN DOE 10 RUE DE LA PAIX PARIS FR :59:/DE89370400440532013000 JANE SMITH BERLINER STR 45 BERLIN DE :71A:SHA -}{5:{MAC:00000000}{CHK:123456789ABC}}
MT103 malformate (tag obligatoire 32A manquant) Invalide

Ce MT103 ne contient pas le tag obligatoire 32A (date de valeur/devise/montant). Sans ce tag, la banque receptrice ne peut pas determiner le montant du virement, la devise ou la date de reglement. Les blocs 3 et 5 sont egalement absents.

{1:F01BANKFRPPAXXX0000000000}{2:I103BANKDEFFXXXXN}{4: :20:TXREF20240315001 :23B:CRED :50K:/FR7630006000011234567890189 JOHN DOE :59:/DE89370400440532013000 JANE SMITH :71A:SHA -}