camt.052, 053, 054 : trois messages, trois usages
La famille camt (Cash Management) porte le reporting de compte en ISO 20022. Trois messages couvrent l'essentiel des besoins de réconciliation, en remplacement direct des MT942, MT940 et MT900/910.
| Critère | camt.052 | camt.053 | camt.054 |
|---|---|---|---|
| Périodicité | Intraday (n vacations/jour) | 1/jour ouvré par compte | Au fil de l'eau ou par lot |
| Soldes portés | Intermédiaires (ITBD) | OPBD, CLBD, CLAV, FWAV | Aucun (avis) |
| Valeur probante comptable | Indicative | Référence pour le rapprochement | Complément de détail |
| Équivalent MT | MT942 | MT940 | MT900/MT910 |
| Usage type | Position de trésorerie, équilibrage | Réconciliation et comptabilisation | Détail des remises (prélèvements émis, cartes) et notifications |
Sts devient un choix Cd/Prtry en .08), si bien que le parseur doit être testé par version ET par banque.L'arborescence du camt.053
Le camt.053 est un document XML dont la hiérarchie sépare rigoureusement le message (GrpHdr), le relevé par compte (Stmt), l'écriture comptable (Ntry) et la transaction de détail (TxDtls). Cette distinction Ntry/TxDtls est la clé de lecture, parce qu'une écriture peut agréger tout un lot dont chaque transaction reste individuellement accessible.
| Élément | Chemin | Rôle |
|---|---|---|
GrpHdr | BkToCstmrStmt/GrpHdr | En-tête du message : MsgId unique, CreDtTm (horodatage de génération) |
Stmt | BkToCstmrStmt/Stmt | Un relevé par compte : Id, ElctrncSeqNb (n° séquentiel, équivalent :28C:), FrToDt |
Acct | Stmt/Acct | Compte : IBAN, devise, titulaire (Ownr) |
Bal | Stmt/Bal (répété) | Soldes typés : OPBD ouverture, CLBD clôture comptable, CLAV disponible, ITBD intermédiaire, FWAV prévisionnel |
Ntry | Stmt/Ntry (répété) | Écriture comptable : montant, sens (CdtDbtInd), statut (BOOK/PDNG), dates (BookgDt, ValDt), référence banque (AcctSvcrRef), BkTxCd |
NtryDtls | Ntry/NtryDtls | Détail de l'écriture : nombre de transactions du lot (Btch/NbOfTxs) et liste de TxDtls |
TxDtls | NtryDtls/TxDtls (répété) | La transaction unitaire : références, montants détaillés, parties, motif |
Refs | TxDtls/Refs | Le trésor du matching : MsgId, PmtInfId, InstrId, EndToEndId, MndtId, TxId, tous restitués sans troncature |
RmtInf | TxDtls/RmtInf | Motif de paiement : Ustrd (libre, 140 c.) ou Strd (structuré : références de factures, référence créancier ISO 11649 « RF ») |
Ntry renvoyant vers un camt.054 de détail. Un moteur de réconciliation qui s'arrête au niveau de l'écriture ne dispose d'aucune donnée pour rapprocher les impayés unitaires, puisque ceux-ci ne figurent que dans les TxDtls.Bank Transaction Codes : la taxonomie Domain / Family / SubFamily
Le Bank Transaction Code (BTC) est un code publié par ISO qui qualifie chaque écriture sur trois niveaux, le domaine, la famille et la sous-famille. Là où le MT940 se limitait à un code du type NTRF et le CFONB120 à un code AFB à deux chiffres, le BTC indique ce qu'est l'opération, dans les mêmes termes d'une banque à l'autre dès lors qu'elle le renseigne.
| Domain | Family | SubFamily | Signification |
|---|---|---|---|
PMNT | RCDT | ESCT | Virement SEPA reçu (received credit transfer, SEPA) |
PMNT | ICDT | ESCT | Virement SEPA émis |
PMNT | RDDT | ESDD | Prélèvement SEPA Core débité sur le compte |
PMNT | RDDT | BBDD | Prélèvement SEPA B2B débité |
PMNT | IDDT | ESDD | Remise de prélèvements SEPA émise (créancier), créditée |
PMNT | CCRD | POSD | Paiement carte au point de vente (côté porteur) |
PMNT | CNTR | CDPT | Dépôt d'espèces au guichet |
PMNT | ICDT | CHRG | Frais sur virement émis |
Le BTC coexiste avec un code propriétaire (Prtry). En France, les banques y restituent le code opération AFB historique (avec Issr = CFONB). La transition des moteurs de réconciliation construits sur le CFONB120 en est facilitée, parce que chaque écriture porte les deux codages à la fois.
PMNT/RCDT/ESCT s'impute et se rapproche alors automatiquement, quel que soit le libellé qu'elle porte par ailleurs.Exemple complet de camt.053 annoté
Relevé camt.053.001.08 du 10/07/2026 : un payout Adyen en crédit, un prélèvement de loyer en débit. Les écritures et les soldes reprennent volontairement ceux de l'exemple CFONB120 du topic suivant, de quoi comparer les deux formats sur un cas identique.
<?xml version="1.0" encoding="UTF-8"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:camt.053.001.08">
<BkToCstmrStmt>
<GrpHdr>
<MsgId>CAMT053-20260711-000132</MsgId> <!-- identifiant unique du message -->
<CreDtTm>2026-07-11T04:07:12+02:00</CreDtTm> <!-- genere par la banque a 4h07 -->
</GrpHdr>
<Stmt>
<Id>STMT-2026-07-10-132</Id>
<ElctrncSeqNb>132</ElctrncSeqNb> <!-- n° sequentiel = detection de releve manquant -->
<CreDtTm>2026-07-11T04:07:12+02:00</CreDtTm>
<Acct>
<Id><IBAN>FR7630004008120001234567887</IBAN></Id>
<Ccy>EUR</Ccy>
<Ownr><Nm>ACME DISTRIBUTION SAS</Nm></Ownr>
</Acct>
<Bal> <!-- solde d'ouverture -->
<Tp><CdOrPrtry><Cd>OPBD</Cd></CdOrPrtry></Tp>
<Amt Ccy="EUR">152340.25</Amt>
<CdtDbtInd>CRDT</CdtDbtInd>
<Dt><Dt>2026-07-09</Dt></Dt>
</Bal>
<Bal> <!-- solde de cloture comptable -->
<Tp><CdOrPrtry><Cd>CLBD</Cd></CdOrPrtry></Tp>
<Amt Ccy="EUR">162999.75</Amt> <!-- 152340,25 + 12500,00 - 1840,50 -->
<CdtDbtInd>CRDT</CdtDbtInd>
<Dt><Dt>2026-07-10</Dt></Dt>
</Bal>
<Ntry> <!-- ECRITURE 1 : payout Adyen -->
<Amt Ccy="EUR">12500.00</Amt>
<CdtDbtInd>CRDT</CdtDbtInd>
<Sts><Cd>BOOK</Cd></Sts> <!-- comptabilisee (vs PDNG en attente) -->
<BookgDt><Dt>2026-07-10</Dt></BookgDt>
<ValDt><Dt>2026-07-10</Dt></ValDt>
<AcctSvcrRef>BNK7593012</AcctSvcrRef> <!-- reference banque (= //ref du MT940) -->
<BkTxCd>
<Domn>
<Cd>PMNT</Cd>
<Fmly><Cd>RCDT</Cd><SubFmlyCd>ESCT</SubFmlyCd></Fmly> <!-- virement SEPA recu -->
</Domn>
<Prtry><Cd>15</Cd><Issr>CFONB</Issr></Prtry> <!-- code AFB en parallele -->
</BkTxCd>
<NtryDtls>
<TxDtls>
<Refs>
<!-- EndToEndId complet, NON tronque : la cle du matching automatique -->
<EndToEndId>ADYEN-SETTLEMENT-2026-BATCH42</EndToEndId>
</Refs>
<RltdPties>
<Dbtr><Pty><Nm>ADYEN N.V.</Nm></Pty></Dbtr> <!-- donneur d'ordre -->
</RltdPties>
<RmtInf><Ustrd>SETTLEMENT BATCH 42 ACME FR</Ustrd></RmtInf>
</TxDtls>
</NtryDtls>
</Ntry>
<Ntry> <!-- ECRITURE 2 : prelevement SEPA debite -->
<Amt Ccy="EUR">1840.50</Amt>
<CdtDbtInd>DBIT</CdtDbtInd>
<Sts><Cd>BOOK</Cd></Sts>
<BookgDt><Dt>2026-07-10</Dt></BookgDt>
<ValDt><Dt>2026-07-10</Dt></ValDt>
<AcctSvcrRef>BNK7593044</AcctSvcrRef>
<BkTxCd>
<Domn><Cd>PMNT</Cd><Fmly><Cd>RDDT</Cd><SubFmlyCd>ESDD</SubFmlyCd></Fmly></Domn>
</BkTxCd>
<NtryDtls>
<TxDtls>
<Refs>
<EndToEndId>LOYER-2026-07</EndToEndId>
<MndtId>RUM-FONCDOCKS-0042</MndtId> <!-- RUM du mandat de prelevement -->
</Refs>
<RltdPties><Cdtr><Pty><Nm>FONCIERE DES DOCKS</Nm></Pty></Cdtr></RltdPties>
<RmtInf><Ustrd>LOYER ENTREPOT JUILLET 2026</Ustrd></RmtInf>
</TxDtls>
</NtryDtls>
</Ntry>
</Stmt>
</BkToCstmrStmt>
</Document>- Contrôle d'intégrité :
OPBD152 340,25 + 12 500,00 − 1 840,50 = 162 999,75 =CLBD. ✔ - L'
EndToEndIdde 29 caractères passe intact, là où le:61:du MT940 l'aurait tronqué à 16. - Le
MndtId(RUM) permet de rapprocher le débit de la base de mandats sans analyse de libellé. - Le double codage BTC + code AFB propriétaire autorise une migration en douceur depuis le CFONB120.
pain.001, pain.008 et le lien remise → relevé
Les messages pain (Payment Initiation) sont le versant « aller » des camt : pain.001 transporte les remises de virements, pain.008 les remises de prélèvements, pain.002 restitue les statuts (accepté, rejeté, motif). L'apport d'ISO 20022 tient dans la circulation des références de bout en bout, puisque les identifiants émis dans la remise pain sont restitués dans le camt qui rend compte de son exécution.
| Message | Rôle | Références clés émises | Restitution camt |
|---|---|---|---|
pain.001 | Remise de virements (SCT / SCT Inst) | PmtInfId (lot), EndToEndId et InstrId (par virement) | camt.054 (avis de débit du lot), camt.053 (Ntry + TxDtls/Refs) |
pain.008 | Remise de prélèvements SEPA (Core / B2B) | PmtInfId, EndToEndId, MndtId (RUM) | Crédit de remise, puis débits unitaires des impayés (retours RtrInf avec motif) |
pain.002 | Compte rendu de traitement | Statuts ACCP/RJCT + codes motifs ISO | En amont du relevé : filtre les rejets techniques |
EndToEndId doit être signifiant et unique (par exemple FACT-2026-18452), et jamais renseigné à NOTPROVIDED, valeur qui prive la chaîne de toute clé exploitable. Il circule jusqu'à la banque de la contrepartie et revient dans les relevés des deux parties, de sorte que deux back-offices se rapprochent sur la même clé.Avantages, limites et stratégie d'adoption
- Références non tronquées :
EndToEndId35 caractères,PmtInfId,MndtId. Le matching déterministe devient la norme. - Données de remise structurées :
RmtInf/Strdpeut porter des numéros de factures et la référence créancier ISO 11649 (« RF »). Le lettrage client s'automatise. - Sémantique normalisée : les Bank Transaction Codes remplacent l'exégèse de libellés.
- Multi-devises et parties complètes : montants d'origine (
AmtDtls), taux de change, donneur d'ordre ultime (UltmtDbtr). - Un seul standard de la remise au relevé : pain → pacs → camt, mêmes identifiants partout.
TxDtls absents sur certains lots, des BTC génériques (PMNT/MCOP/OTHR), des versions différentes d'une banque à l'autre et des données de remise perdues quand un maillon de la chaîne est resté en MT. Chaque banque doit donc être testée avec des flux réels avant de généraliser les règles de matching.Une stratégie d'adoption pragmatique en 2026 consiste à basculer la réception en camt.053/054 partout où la banque le propose, le CFONB120 ou le MT940 restant en flux de secours pendant un trimestre. Elle suppose aussi d'imposer des EndToEndId signifiants sur toutes les remises émises, puis de reconstruire les règles de routage comptable sur les BTC.