SWIFT (Society for Worldwide Interbank Financial Telecommunication) est une société de droit belge dont l’objectif est de permettre aux banques et corporates d’échanger rapidement, de manière sécurisée des informations/transactions financières.
Le réseau Swift est un réseau sécurisé, les informations transmises sont cryptées et non répudiables : les informations transmises via le réseau SWIFT ont une valeur légale et aucun tiers ne peut nier avoir effectué une transaction.
Le réseau SWIFT est devenu depuis sa mise en fonctionnement en 1977 un standard de l’industrie financière. Le montant des transactions échangées via le réseau SWIFT représente quotidiennement plusieurs milliers de milliards d’USD.s
Chaque adhérent SWIFT est enregistré par un code BIC (également appelé code SWIFT.) La société SWIFT gère l’enregistrement des BICs.
Le réseau & Architecture Swift
Depuis 2004, le réseau Swift est un réseau IP : SWIFTNet.
Chaque tiers se connecte au réseau via une SAG (SWIFT Alliance Gateway). Une tiers peut avoir un ou plusieurs SAG, chaque SAG ayant son propre identifiant (une lettre A,B…) et sa propre séquence qui seront utilisés dans les messages Swift.
Les tiers envoient à SWIFT des messages appelés « Incoming » (du point de vue Swift) tandis que SWIFT envoie des messages appelés « Outgoing. »
Ainsi, une confirmation sera envoyée par une contrepartie A à SWIFT à destination une contrepartie B en Incoming. SWIFT renverra cette confirmation à la partie en tant que message Outgoing (puisque sortant du réseau SWIFT).
Swift communique avec les contreparties en définissant ce qui rentre et sort du réseau SWIFT du point de vue SWIFT, mais les messages envoyés/transmis aux contreparties le sont du point de vue de la contrepartie avec laquelle SWIFT communique. Cela signifie que SWIFT transforme les messages envoyés par la contrepartie A à destination de la contrepartie B en se plaçant du point de vue de la contrepartie B.
Code BIC
Le code Bic est un code sur 8 ou 11 caractères identifiant exactement un tiers.
Composition d'un code BIC Code Banque Code Pays Code de Place Code Branche LLLL LL XX XXX
L : Lettre
X : Chiffre ou Lettre
Un code BIC sur 8 caractères équivaut à un code BIC sur 11 caractères avec XXX comme code branche.
Exemple de code BIC
NATXFRPPMAR
Le code banque NATX identifie Natixis
Le code Pays FR identifie la France
Le code de Place PP identifie Paris pour la France
Le code Branche MAR identifie la direction des marchés de Natixis
SOGEFRPPXXX
Le code banque SOGE identifie la société Générale
Le code Pays FR identifie la France
Le code de Place PP identifie Paris pour la France
Le code Branche XXX indique qu’il s’agit globalement de la Société Générale Paris et pas d’une entité particulière
NATXCNSHXXX
Le code banque NATX identifie Natixis
Le code Pays CN identifie la Chine
Le code de Place SH identifie Shanghai pour la Chine
Le code Branche XXX indique qu’il s’agit globalement de la Natixis Shangai et pas d’une autre entité particulière
Code BIC en environnement de test SWIFT
Le réseau SWIFT de Production et de Test se distingue par le fait que les codes BIC de production ne sont pas autorisés en test et inversement.
Les codes BIC de test sont les codes BIC de production à la différence près que le 8 caractère du BIC de test est 0 (zéro) :
Le code BIC de production de la société générale est SOGEFRPPXXX
Le code BIC de test de la société générale est SOGEFRP0XXX
Message type Swift & Structure des messages types
Message types
Il existe deux normes pour les messages SWIFT :
La norme 15022 qui utilise le format texte historique de SWIFT : format RJE
La norme 20022 qui utilise un format XML : la norme 20022 n’est pour l’instant que très peu utilisées la plupart des tiers ayant mis en place depuis longtemps une architecture en 15022. Nous n’aborderons donc ici que le format 15022.
Les messages types SWIFT sont identifiés par un nombre à 3 chiffres :
Le premier chiffre indique la catégorie. Une catégorie regroupe l’ensemble des messages qui correspondent à des instruments financiers ou des services particuliers comme les métaux précieux (6), la trésorerie (3), ou les chèques de voyage (8).
Le second chiffre représente un groupe d’éléments faisant partie du cycle de vie d’une transaction. Le groupe numéro 0 correspond à un transfert d’une institution financière.
Le troisième chiffre est le type du présent message
Sur l’ensemble des catégories, il existe plusieurs centaines de types de message différents.
Catégorie de message Description Exemple MT1xx Customer Payments and Cheques MT103 Single customer credit transfer MT2xx Financial Institution Transfers MT202 General financial institution transfer MT3xx Treasury Markets – FX, money markets and derivatives MT300 Foreign exchange confirmation MT4xx Collection and Cash Letters MT405 Clean collection MT5xx Securities Markets MT541 Receive against payment MT6xx Treasury Markets – Precious Metals and Syndications MT600 Precious metal trade MT7xx Documentary Credits and Guarantees MT700 Issue of a documentary credit MT8xx Travellers Cheques MT800 TC sales & settlement advice MT9xx Cash Management and Customer Status MT950 Statement MTn9x Common group messages MTn92 Request for cancellation MT0xx FIN system Messages MT020 Retrieval request (Text & History)
Structure des messages SWIFTs
Il est à noter que Swift ajoute un 5ème block (non généré par les contreparties), un check sum qui permet de garantir l’intégrité des fichiers lors de leur transit :
{5:{CHK:6084ACEBF5D5}}{S:{COP:P}}
Cinématique Swift
L’annulation ou la modification de messages SWIFT font appel à des cinématiques particulières.
Annulation d’une confirmation SWIFT
Pour annuler une confirmation SWIFT, il faut envoyer une Confirmation : un champ 22/22A type of opération à CANC (pour CANCEL) et un champ 21 Related reference qui a pour valeur le champ 20 dans la première confirmation pour chainer correctement.
Les préconisations SWIFTs n’empêchent pas que les champs 20 de la confirmation et de son annulante soient identiques, mais cela est fortement déconseillé. Le champ 20 a pour fonction d’identifier de manière unique un message, c’est donc une pratique à exclure.
Il existe certaines différences sur le nommage des champs ou leurs valeurs selon les messages types et les catégories, mais la cinématique générale reste la même.
Modification d’une confirmation SWIFT
La modification d’une confirmation peut être gérée de 2 manières différentes :
NEW CANC NEW
On envoie un premier message de confirmation (NEW)
On envoie un second message pour annuler (CANC)
On envoie un troisième message pour avec les nouvelles données de confirmation (NEW)
NEW AMND
On envoie un premier message de confirmation (NEW)
On envoie un second message de confirmation (AMND) portant les nouvelles données à confirmer et qui annule également le message initial.
Cinématique 1 NEW CANC NEW
Cinématique 2 NEW AMND
Pour un peu plus de lecture sur SWIFT, lisez notre articles sur la Standards MT Release 2017.