MT103 — Single Customer Credit Transfer
Le virement client international qui a porté l'essentiel des paiements cross-border SWIFT pendant quarante ans. Désormais remplacé par pacs.008 sur le réseau, mais toujours utilisé en domestique selon les marchés.
Objet du message
Le MT103 est envoyé par une banque ordonnatrice à la banque du bénéficiaire (potentiellement via une banque intermédiaire) pour ordonner le règlement d'un montant unique en faveur d'un bénéficiaire identifié. C'est le message de référence des virements clients transfrontaliers : paiements de factures fournisseurs internationaux, salaires expatriés, transferts familiaux. Il porte nécessairement une partie ordonnatrice et une partie bénéficiaire identifiables, un montant unique, une date de valeur et une option de partage des frais (OUR / SHA / BEN).
MT103 existe en plusieurs variantes : MT103 « Core » (général), MT103 STP (Straight Through Processing — règles d'identification plus strictes pour le routage automatique), et MT103+ (extension SWIFT Remit pour les paiements RemittanceInfo structurés). Le retrait CBPR+ de novembre 2025 concerne toutes ces variantes en cross-border.
Structure des cinq blocs
Comme tout message FIN, le MT103 se compose de cinq blocs (voir aussi la page hub SWIFT MT) :
- Block 1 — Basic Header :
{1:F01...}, application FIN, service 01, BIC émetteur, session, séquence. - Block 2 — Application Header :
{2:I103...}, sens (Input), MT103, BIC destinataire, priorité (N=Normal, U=Urgent). - Block 3 — User Header : porte la
{121:UETR}obligatoire depuis novembre 2018 pour tout MT103 SWIFTNet (Unique End-to-end Transaction Reference, format UUID v4). - Block 4 — Text : le corps métier, structuré par tags
:nn[a]:. - Block 5 — Trailer : checksum et contrôles réseau.
Tags du Block 4 obligatoires
Le SWIFT User Handbook impose sept tags obligatoires pour un MT103 valide :
| Tag | Nom | Format | Usage |
|---|---|---|---|
:20: | Sender's Reference | 16x | Référence unique côté ordonnateur, sans // ni / en début/fin. |
:23B: | Bank Operation Code | 4!c | CRED (credit), CRTS (cheque), SPAY (priority paid), SPRI (priority sent), SSTD (standard). |
:32A: | Value Date / Currency / Interbank Settled Amount | 6!n3!a15d | Date YYMMDD + ISO 4217 + montant (virgule décimale, max 15 chiffres). |
:50a: | Ordering Customer | option A/F/K | 50A = BIC; 50F = identifiant et adresse structurés; 50K = numéro de compte (IBAN) + nom et adresse. |
:59a: | Beneficiary Customer | option « ou » 59 / 59A / 59F | 59 = compte + nom/adresse; 59A = BIC; 59F = identifiant et adresse structurés. |
:71A: | Details of Charges | 3!a | OUR (frais à l'ordonnateur), SHA (partagés), BEN (au bénéficiaire). C'est ce tag que SEPA fige à SLEV. |
Le tag :70: — Remittance Information — est « optionnel » dans le
standard mais en pratique quasi-toujours porté pour la réconciliation comptable côté
bénéficiaire. Les tags conditionnels les plus fréquents : :33B:
(Instructed Amount — utile dès qu'il y a conversion FX), :36:
(Exchange Rate), :52a: (Ordering Institution), :53a: / :54a: / :55a: (Sender's / Receiver's / Third Reimbursement
Institution), :56a: (Intermediary Institution), :57a:
(Account With Institution), :72: (Sender to Receiver Information).
Exemple réel
Virement de 12 500 EUR d'ACME SARL (Lyon, compte BNP Paribas) vers Hans Mueller GmbH (Francfort, compte Deutsche Bank), avec UETR, frais à l'ordonnateur, pour règlement de la facture 2026-187 :
{1:F01BNPAFRPPAXXX0000000000}{2:I103DEUTDEFFXXXXN}{3:{108:REF20260514001}{121:1a2b3c4d-5e6f-7890-abcd-ef1234567890}}{4:
:20:REF20260514001
:23B:CRED
:32A:260514EUR12500,00
:33B:EUR12500,00
:50K:/FR7630006000011234567890189
ACME SARL
12 RUE DE LA SOIE
69001 LYON
:52A:BNPAFRPPXXX
:57A:DEUTDEFFXXX
:59:/DE89370400440532013000
HANS MUELLER GMBH
HAUPTSTRASSE 12
60313 FRANKFURT
:70:INVOICE 2026-187
:71A:OUR
-}{5:{CHK:ABC123456789}} {1:F01BNPAFRPPAXXX...}— émetteur BNP Paribas Paris, BICBNPAFRPP.{2:I103DEUTDEFFXXXXN}— destinataire Deutsche Bank Frankfurt, BICDEUTDEFF, priorité N.{3:{121:1a2b3c4d-...}}— UETR au format UUID v4, obligatoire.:20:REF20260514001— référence ordonnateur (max 16 caractères).:23B:CRED— virement crédité, sans condition particulière.:32A:260514EUR12500,00— date valeur 14 mai 2026, EUR, 12 500,00.:33B:EUR12500,00— montant instruit (égal au règlement ici, donc pas de conversion).:50K:— ordonnateur en option K : IBAN + nom + adresse non structurée.:52A:BNPAFRPPXXX— ordering institution (la banque qui débite, ici la même que l'émetteur).:57A:DEUTDEFFXXX— account with institution (la banque qui crédite le compte du bénéficiaire).:59:/DE89...— bénéficiaire avec IBAN, nom et adresse.:70:INVOICE 2026-187— libellé pour la rapprochement comptable.:71A:OUR— frais entièrement à la charge de l'ordonnateur.
Pièges courants
- BIC vs BICFI — un BIC dans MT est sur 8 ou 11 caractères. Le composant
XXXfinal (branch code) est explicite dans MT (BNPAFRPPXXX). En ISO 20022, l'élémentBICFIattend strictement 8 ou 11 caractères mais sansXXXimplicite — attention lors d'une traduction MT → MX. - IBAN vs proprietary account — le préfixe
/devant un compte en:50K:ou:59:indique un IBAN. Sans préfixe, c'est un identifiant propriétaire (RIB, BBAN, account number domestique). C'est une source classique de rejets en migration vers pacs.008. - FX et le couple 32A / 33B — quand l'ordonnateur instruit une somme dans une devise et que le règlement final est dans une autre,
:32A:porte le montant settled et:33B:porte le montant instructed. Le tag:36:donne le taux de change appliqué. Oublier:33B:sur un FX entraîne un retour en MT199 par la banque destinataire. - Charges & SEPA — pour un MT103 dans la zone SEPA, le tag
:71A:doit porter SLEV (Service Level — frais partagés selon le rulebook). Imposer OUR ou BEN viole l'EPC SCT Rulebook et provoque un rejet. - UETR absente ou mal formée — depuis la Universal Confirmation de SWIFT (novembre 2018), tout MT103 sans
{121:UUID}dans le Block 3 est rejeté à l'émission. L'UUID doit être en v4 (RFC 4122), exactement 36 caractères tirets inclus, en minuscules. - Caractère X (interdit) — SWIFT MT n'autorise pas le jeu Unicode complet. Les caractères autorisés en Block 4 sont définis par le character set x (latin de base, sans accents). Un caractère
ésera remplacé parepar la passerelle SWIFT ou provoquera un rejet selon le mode strict — d'où l'attrait de pacs.008 (UTF-8 natif) pour les noms internationaux.
Équivalent MX — pacs.008
En ISO 20022, le MT103 correspond à pacs.008.001.10 (FI to FI Customer Credit Transfer, version 10, telle qu'utilisée par CBPR+). Les correspondances principales :
| MT103 | pacs.008 | Note |
|---|---|---|
:20: | PmtId/InstrId | Référence ordonnateur. |
Block 3 :121: | PmtId/UETR | UUID v4 obligatoire dans les deux formats. |
:23B: | Catégorie + service level | CRED se traduit en l'absence d'instruction particulière; SLEV → SvcLvl/Cd=SEPA. |
:32A: date | IntrBkSttlmDt | Date ISO YYYY-MM-DD. |
:32A: currency + amount | IntrBkSttlmAmt Ccy=... | Montant interbancaire réglé. |
:33B: | InstdAmt | Montant instruit (avant FX). |
:50a: | Dbtr + DbtrAcct | Nom et compte structurés. |
:52a: | DbtrAgt | Banque ordonnatrice (BIC en BICFI). |
:57a: | CdtrAgt | Banque du bénéficiaire. |
:59a: | Cdtr + CdtrAcct | Nom et compte structurés. |
:70: | RmtInf/Ustrd ou Strd | Remittance non structurée (Ustrd) ou structurée (Strd avec référence créancier ISO 11649). |
:71A: | ChrgBr | OUR → DEBT, BEN → CRED, SHA → SHAR, SLEV → SLEV. |
Voir la page détaillée pacs.008 pour le schéma XSD et un exemple complet.
Messages liés
- MT199 — Free Format Message, utilisé pour les retours, demandes d'information, status simples.
- MT900 / MT910 — Debit / Credit Confirmation envoyés par les banques correspondantes après imputation.
- MT202 / MT202 COV — General FI Transfer, pour le règlement interbancaire du virement (le MT103 étant l'instruction côté client, le MT202 est le règlement côté correspondant).
- MTn92 / MTn95 / MTn96 — Cancellation, Query, Answer pour les investigations post-règlement.
- Équivalent ISO 20022 : pacs.008, avec accusé
pacs.002, retourpacs.004, annulationcamt.056.