Les messages pacs expliqués Les messages pacs expliqués
Cette page fournit une référence technique détaillée pour la famille de messages pacs ISO 20022. Elle couvre le fonctionnement des messages dans le cycle de vie complet d'un paiement, la structure XML, les méthodes de règlement, les codes motif, l'identification des parties, les informations de remise et le suivi de bout en bout.
Cycle de vie du paiement Cycle de vie du paiement
Le cycle de vie complet d'un paiement pacs comprend six étapes et plusieurs types de messages qui fonctionnent ensemble.
Étape 1 — Initiation. Le paiement prend sa source dans le domaine client-banque (pain.001). La banque du débiteur reçoit l'instruction et la transpose dans le domaine interbancaire.
Étape 2 — Instruction interbancaire. L'agent du débiteur crée un pacs.008 et l'envoie à l'agent suivant dans la chaîne. Dans un flux en série, le pacs.008 transite de proche en proche à travers les intermédiaires. Dans un flux de couverture, le pacs.008 va directement de l'agent du débiteur à l'agent du créancier, tandis qu'un pacs.009 distinct assure le volet financement à travers la chaîne de correspondants.
Étape 3 — Rapports de statut. À chaque étape, l'agent récepteur peut renvoyer un pacs.002 confirmant l'acceptation (ACCP/ACSP/ACSC), le rejet (RJCT) ou un statut en attente (PDNG). En CBPR+, le pacs.002 est obligatoire pour toute communication de statut de paiement.
Étape 4 — Règlement. Le règlement s'effectue via un système de compensation (CLRG), sur des comptes de correspondants (INDA/INGA) ou par un paiement de couverture (COVE). La date et le montant du règlement interbancaire déterminent quand et combien est réglé.
Étape 5 — Crédit au bénéficiaire. L'agent du créancier crédite le bénéficiaire et peut envoyer une notification au client.
Étape 6 — Gestion des exceptions. Si le bénéficiaire ne peut être crédité après le règlement, le pacs.004 retourne les fonds à travers la chaîne. Si l'émetteur découvre une erreur ou une fraude, le pacs.007 progresse dans la chaîne. Si le statut est inconnu, le pacs.028 interroge l'agent suivant et la réponse revient via pacs.002.
Flux en série Flux en série
text
Debtor Agent --(pacs.008)--> Intermediary Agent
Intermediary Agent --(pacs.002)--> Debtor Agent [status]
Intermediary Agent --(pacs.008)--> Creditor Agent
Creditor Agent --(pacs.002)--> Intermediary Agent [status]
Creditor Agent --> Creditor [credit notification]Flux de couverture Flux de couverture
text
Debtor Agent --(pacs.008)--> Creditor Agent [direct, with customer data]
Debtor Agent --(pacs.009)--> Cover Bank --(pacs.009)--> Creditor Agent [funding leg]Structure XML de pacs.008 Structure XML de pacs.008
pacs.008 comprend deux blocs principaux : l'en-tête de groupe (GrpHdr) et les informations sur l'opération de virement (CdtTrfTxInf).
En-tête de groupe (GrpHdr) En-tête de groupe (GrpHdr)
L'en-tête de groupe apparaît exactement une fois par message et contient :
- MsgId — Identifiant unique du message attribué par l'agent émetteur. 35 caractères maximum, doit être unique par émetteur.
- CreDtTm — Horodatage de création au format ISO 8601.
- NbOfTxs — Nombre de transactions individuelles dans le message.
- SttlmInf — Informations de règlement comprenant la méthode de règlement (SttlmMtd) et éventuellement le système de compensation et le compte de règlement.
- IntrBkSttlmDt — Date à laquelle le règlement interbancaire a lieu.
- PmtTpInf — Informations sur le type de paiement comprenant la priorité, le niveau de service, l'instrument local et l'objet de la catégorie.
Informations sur l'opération de virement (CdtTrfTxInf)
Chaque transaction contient :
- PmtId — Identifiants de paiement : InstrId, EndToEndId, TxId et UETR.
- IntrBkSttlmAmt — Montant du règlement interbancaire avec le code devise.
- InstdAmt — Montant initial demandé (peut différer du montant de règlement en raison du change).
- ChrgBr — Code de support des frais (DEBT, CRED, SHAR ou SLEV).
- Dbtr / DbtrAcct / DbtrAgt — Nom, adresse, identification, compte et agent du débiteur.
- Cdtr / CdtrAcct / CdtrAgt — Nom, adresse, identification, compte et agent du créancier.
- IntrmyAgt1 / 2 / 3 — Jusqu'à trois agents intermédiaires dans la chaîne.
- RmtInf — Informations de remise, soit non structurées (texte libre) soit structurées (références de documents, montants, dates).
- Purp — Code d'objet structuré.
- RgltryRptg — Détails des déclarations réglementaires.
Identifiants de paiement Identifiants de paiement
Les messages pacs utilisent plusieurs identifiants qui remplissent différents rôles dans la chaîne de paiement.
| Identifiant | Défini par | Change dans la chaîne ? |
|---|---|---|
| MsgId | Chaque agent émetteur | Oui — nouveau par message |
| InstrId | Chaque agent donneur d'ordre | Oui — peut changer à chaque étape |
| EndToEndId | Émetteur (débiteur) | Non — ne doit pas être modifié |
| TxId | Premier agent donneur d'ordre | Non — ne doit pas être modifié |
| UETR | Agent du débiteur | Non — suivi universel |
Méthodes de règlement Méthodes de règlement
L'élément SttlmMtd définit comment le règlement interbancaire s'effectue.
- CLRG — Règlement via un système de compensation tel que TARGET2, EURO1 ou CHIPS. Le plus courant pour la compensation nationale et régionale.
- INDA — Règlement dans les livres de l'agent destinataire de l'instruction. L'agent du débiteur détient un compte nostro auprès de l'agent suivant. Typique de la banque correspondante bilatérale.
- INGA — Règlement dans les livres de l'agent donneur d'ordre. L'agent destinataire détient un compte nostro auprès de l'agent émetteur. Moins courant que INDA.
- COVE — Règlement via un paiement de couverture séparé. Un pacs.009 assure le volet financement tandis que le pacs.008 transmet directement les données client. Utilisé dans la banque correspondante transfrontalière.
Codes de support des frais Codes de support des frais
L'élément ChrgBr précise qui supporte les frais de paiement.
- DEBT — Le débiteur supporte tous les frais (équivalent MT103 : OUR). Le créancier reçoit la totalité du montant.
- CRED — Le créancier supporte tous les frais (équivalent MT103 : BEN). Les frais sont déduits du virement.
- SHAR — Les frais sont partagés (équivalent MT103 : SHA). Chaque partie paie les frais de son propre agent. Le plus courant pour les paiements transfrontaliers.
- SLEV — Les frais suivent le niveau de service. Obligatoire pour SEPA. Aucune déduction sur le montant du virement.
Correspondance des champs MT103 vers pacs.008 Correspondance des champs MT103 vers pacs.008
| Champ MT103 | Nom MT103 | Chemin XML pacs.008 |
|---|---|---|
| 20 | Référence de l'émetteur | GrpHdr/MsgId or PmtId/InstrId |
| 23B | Code d'opération bancaire | PmtTpInf/SvcLvl |
| 32A | Date de valeur / Montant | IntrBkSttlmDt + IntrBkSttlmAmt |
| 33B | Montant demandé | InstdAmt |
| 50a | Client donneur d'ordre | Dbtr + DbtrAcct |
| 52a | Institution donneuse d'ordre | DbtrAgt |
| 57a | Institution du compte | CdtrAgt |
| 59a | Client bénéficiaire | Cdtr + CdtrAcct |
| 70 | Informations de remise | RmtInf/Ustrd or RmtInf/Strd |
| 71A | Détail des frais | ChrgBr (BEN→CRED, OUR→DEBT, SHA→SHAR) |
| 72 | Info. émetteur au récepteur | InstrForCdtrAgt / InstrForNxtAgt |
| N/A | UETR (Block 3, field 121) | PmtId/UETR |
Codes de statut et de motif Codes de statut et de motif
Codes de statut pacs.002 Codes de statut pacs.002
| Code | Signification |
|---|---|
ACCP | Accepté — contrôles préalables réussis |
ACSP | Accepté — règlement en cours |
ACSC | Accepté — règlement finalisé |
RCVD | Reçu — pas encore traité |
PDNG | En attente — traitement complémentaire nécessaire |
RJCT | Rejeté — avec code de motif |
Codes de motif courants de rejet et de retour Codes de motif courants de rejet et de retour
| Code | Nom | Description |
|---|---|---|
AC01 | Numéro de compte incorrect | Le numéro de compte est invalide ou n'existe pas |
AC04 | Compte clôturé | Le compte est clôturé |
AC06 | Compte bloqué | Le compte est bloqué pour les transactions |
AM04 | Provision insuffisante | Provision insuffisante sur le compte du débiteur |
AM05 | Doublon | Paiement en double détecté |
BE04 | Adresse du créancier manquante | L'adresse du créancier est manquante ou incomplète |
CUST | Demandé par le client | Retour ou rejet demandé par le client |
DUPL | Paiement en double | Paiement en double identifié |
FOCR | Suite à annulation | Suite à une demande d'annulation |
FR01 | Fraude | Suspicion de fraude |
RC01 | BIC incorrect | Le BIC est incorrect ou inconnu |
RR03 | Nom/adresse du créancier manquant | Le nom ou l'adresse du créancier est manquant |
TM01 | Heure limite dépassée | L'heure limite de traitement est dépassée |
Format d'adresse postale
Adresse structurée Adresse structurée
xml
<PstlAdr>
<StrtNm>High Street</StrtNm>
<BldgNb>42</BldgNb>
<PstCd>EC2V 8BX</PstCd>
<TwnNm>London</TwnNm>
<Ctry>GB</Ctry>
</PstlAdr>Adresse non structurée (obsolète pour CBPR+ après novembre 2026) Adresse non structurée (obsolète pour CBPR+ après novembre 2026)
xml
<PstlAdr>
<AdrLine>42 High Street</AdrLine>
<AdrLine>London EC2V 8BX</AdrLine>
<Ctry>GB</Ctry>
</PstlAdr>Contraintes principales : StrtNm max 70 caractères (CBPR+), TwnNm max 35 caractères (CBPR+), Ctry au format ISO 3166-1 alpha-2, AdrLine max 70 caractères par ligne et max 7 lignes.
Identification des parties Identification des parties
Les parties dans pacs.008 prennent en charge plusieurs méthodes d'identification :
- BIC — Code d'identification d'entreprise selon ISO 9362. 8 ou 11 caractères (BBBBCCLL ou BBBBCCLLBBB). Utilisé dans FinInstnId/BICFI pour les agents et OrgId/AnyBIC pour les parties.
- LEI — Identifiant d'entité juridique selon ISO 17442. 20 caractères alphanumériques. Apparaît dans OrgId/LEI pour les parties et FinInstnId/LEI pour les agents. Améliore la désambiguïsation des entités pour les déclarations réglementaires.
- IBAN — Numéro de compte bancaire international selon ISO 13616. Utilisé dans DbtrAcct/Id/IBAN et CdtrAcct/Id/IBAN.
- Identifiants d'organisation — Autres identifiants basés sur un schéma (numéro fiscal, DUNS, numéro client) via OrgId/Othr avec un code de nom de schéma.
- Identifiants privés — Pour les personnes physiques : date et lieu de naissance, passeport (CCPT), carte d'identité nationale (NIDN) ou permis de conduire (DRLC) via PrvtId.
Informations de remise Informations de remise
Les données de remise dans pacs.008 utilisent l'élément RmtInf avec deux formes :
Non structurées — Texte libre jusqu'à 140 caractères par occurrence. Simple mais limite le rapprochement automatisé.
Structurées — Références de documents avec codes de type, numéros, dates et montants. Types de documents courants : CINV (facture commerciale), CREN (avoir), SOAC (relevé de compte). Prend en charge les références créancier ISO 11649 (RF + chiffres de contrôle + référence) via CdtrRefInf. Permet le rapprochement automatique des factures et les paiements multi-factures.
UETR et suivi gpi UETR et suivi gpi
UETR (Unique End-to-End Transaction Reference) est un UUID v4 généré par l'agent du débiteur. Il apparaît dans PmtId/UETR à travers pacs.008, pacs.009, pacs.002, pacs.004, pacs.007 et pacs.028. Il ne doit pas être modifié tout au long de la chaîne de paiement.
SWIFT gpi utilise le UETR pour suivre les paiements via une base de données Tracker hébergée dans le cloud. Chaque agent confirme la réception et le traitement, permettant une visibilité de bout en bout. L'accord de niveau de service gpi pour les paiements transfrontaliers vise un crédit le jour même sur le compte du créancier.