ediverse Explorer la plateforme

À la une PEPPOL BIS Billing 3.0 L’obligation européenne d’e-invoicing arrive : France sept 2026, Belgique janv 2026, Allemagne 2025.

pain.001 — Customer Credit Transfer Initiation

Le message qu'un ERP, un TMS ou un module bancaire envoie à la banque pour ordonner un lot de virements. Une enveloppe, un ordre de paiement, des transactions filles — le standard universel des initiations de virement depuis SEPA et CBPR+.

Objet et place dans le flux

pain.001 est le point d'entrée du « corporate to bank » dans la famille des paiements ISO 20022. Une entreprise (ou son ERP/TMS) construit un fichier XML qui contient : un en-tête de groupe, une (ou plusieurs) instructions de paiement PmtInf et, dans chaque instruction, autant de CdtTrfTxInf que de bénéficiaires à payer. La banque réceptionne le fichier, le valide (schéma + règles métier + règles SEPA/CBPR+), exécute les virements, et renvoie un pain.002 (Customer Payment Status Report) qui détaille l'acceptation ou le rejet par transaction.

En aval, chaque virement est routé sous forme de pacs.008 (FI to FI Customer Credit Transfer) entre la banque ordonnatrice et la banque du bénéficiaire. Côté client, le mouvement réapparaît dans le relevé bancaire camt.053 (ou MT940 en mode legacy).

Structure XML

pain.001 est encapsulé dans <Document> avec namespace de la version. Trois niveaux structurent le contenu :

  • GrpHdr (Group Header) — identifiant du message MsgId, datetime de création CreDtTm, nombre total de transactions NbOfTxs, somme de contrôle CtrlSum, partie initiatrice InitgPty (peut différer du Debtor).
  • PmtInf (Payment Information) — un ordre de paiement par compte débiteur, par devise, par date d'exécution. Porte PmtMtd (TRF pour Credit Transfer), ReqdExctnDt, Dbtr, DbtrAcct, DbtrAgt, et la liste des CdtTrfTxInf. Répétable.
  • CdtTrfTxInf (Credit Transfer Transaction Information) — une transaction par bénéficiaire. Porte PmtId (EndToEndId obligatoire, UETR optionnel selon version), Amt, Cdtr, CdtrAcct, CdtrAgt facultatif si SEPA SCT, RmtInf. Répétable.

Champs clés

  • GrpHdr/MsgId — identifiant unique du message côté émetteur. La banque rejette tout doublon dans une fenêtre glissante (typiquement 90 jours).
  • GrpHdr/NbOfTxs et CtrlSum — totaux de contrôle qui doivent matcher exactement la somme des transactions filles. Une banque rejette le fichier entier en cas de mismatch.
  • PmtInf/PmtMtd — fixe pour pain.001 à TRF (Credit Transfer). Le pendant DD appartient à pain.008 (Direct Debit).
  • PmtInf/PmtTpInf/SvcLvl/Cd — niveau de service. SEPA pour SCT, INST pour SCT Inst, SDVA pour Same Day Value, URGP pour urgent. Vide en CBPR+ classique.
  • PmtInf/ReqdExctnDt — date d'exécution souhaitée. Format ISO date ou DtTm selon la version. La banque peut décaler à j+1 selon le cut-off.
  • PmtInf/ChrgBr — code de répartition des frais. SLEV pour SEPA, DEBT (= MT OUR), SHAR (= SHA), CRED (= BEN).
  • CdtTrfTxInf/PmtId/EndToEndId — référence métier transportée bout en bout. Apparaît dans le pacs.008 puis dans le camt.053 du bénéficiaire : c'est l'identifiant à utiliser pour le rapprochement comptable.
  • CdtTrfTxInf/RmtInf/Ustrd vs Strd — libellé non structuré (140 caractères max en SEPA) ou structuré (référence créancier ISO 11649, format RF + 2 check digits + 21 caractères).

Exemple SEPA SCT

Un fichier pain.001.001.09 émis par ACME SARL le 14 mai 2026 contenant deux virements : une facture vers Hans Mueller GmbH (12 500 EUR, référence structurée RF) et un salaire vers Maria Acosta en Espagne (750 EUR, libellé libre).

xml pain-001-sepa-sct.xml
<?xml version="1.0" encoding="UTF-8"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.09">
  <CstmrCdtTrfInitn>
    <GrpHdr>
      <MsgId>ACME-20260514-001</MsgId>
      <CreDtTm>2026-05-14T09:15:00+02:00</CreDtTm>
      <NbOfTxs>2</NbOfTxs>
      <CtrlSum>13250.00</CtrlSum>
      <InitgPty>
        <Nm>ACME SARL</Nm>
        <Id>
          <OrgId>
            <Othr><Id>SIRET12345678901234</Id></Othr>
          </OrgId>
        </Id>
      </InitgPty>
    </GrpHdr>
    <PmtInf>
      <PmtInfId>ACME-PMT-2026001</PmtInfId>
      <PmtMtd>TRF</PmtMtd>
      <BtchBookg>true</BtchBookg>
      <NbOfTxs>2</NbOfTxs>
      <CtrlSum>13250.00</CtrlSum>
      <PmtTpInf>
        <SvcLvl><Cd>SEPA</Cd></SvcLvl>
      </PmtTpInf>
      <ReqdExctnDt>
        <Dt>2026-05-15</Dt>
      </ReqdExctnDt>
      <Dbtr>
        <Nm>ACME SARL</Nm>
      </Dbtr>
      <DbtrAcct>
        <Id><IBAN>FR7630006000011234567890189</IBAN></Id>
      </DbtrAcct>
      <DbtrAgt>
        <FinInstnId><BICFI>BNPAFRPPXXX</BICFI></FinInstnId>
      </DbtrAgt>
      <ChrgBr>SLEV</ChrgBr>
      <CdtTrfTxInf>
        <PmtId>
          <EndToEndId>INV2026-187</EndToEndId>
        </PmtId>
        <Amt>
          <InstdAmt Ccy="EUR">12500.00</InstdAmt>
        </Amt>
        <CdtrAgt>
          <FinInstnId><BICFI>DEUTDEFFXXX</BICFI></FinInstnId>
        </CdtrAgt>
        <Cdtr>
          <Nm>Hans Mueller GmbH</Nm>
        </Cdtr>
        <CdtrAcct>
          <Id><IBAN>DE89370400440532013000</IBAN></Id>
        </CdtrAcct>
        <RmtInf>
          <Strd>
            <CdtrRefInf>
              <Tp><CdOrPrtry><Cd>SCOR</Cd></CdOrPrtry></Tp>
              <Ref>RF18INV2026187</Ref>
            </CdtrRefInf>
          </Strd>
        </RmtInf>
      </CdtTrfTxInf>
      <CdtTrfTxInf>
        <PmtId>
          <EndToEndId>SAL2026-05-ACOSTA</EndToEndId>
        </PmtId>
        <Amt>
          <InstdAmt Ccy="EUR">750.00</InstdAmt>
        </Amt>
        <Cdtr>
          <Nm>Maria Acosta</Nm>
        </Cdtr>
        <CdtrAcct>
          <Id><IBAN>ES9121000418450200051332</IBAN></Id>
        </CdtrAcct>
        <RmtInf>
          <Ustrd>SALAIRE MAI 2026</Ustrd>
        </RmtInf>
      </CdtTrfTxInf>
    </PmtInf>
  </CstmrCdtTrfInitn>
</Document>

Versions

Plusieurs versions de pain.001 cohabitent en 2026. Le choix dépend du profil suivi.

VersionPublicationUsage
pain.001.001.032009Version historique, encore acceptée par certaines banques européennes pour le SEPA SCT (EPC Rulebook 2009-2023).
pain.001.001.092019Version CBPR+ et profile harmonisé. Apparition du tag UETR, intégration des règles SEPA SCT Inst, alignement sur la version pacs.008 v10.
pain.001.001.112023Dernière version CGI-MP. Renforcement du structured remittance, alignement HVPS+.

Les banques européennes acceptent typiquement v3 et v9 en parallèle dans la fenêtre de migration SEPA 2023-2025, puis v9 ou v11 à partir de 2026.

Pièges courants

  • NbOfTxs / CtrlSum mismatch — la première cause de rejet de fichier. GrpHdr/NbOfTxs doit égaler la somme des PmtInf/NbOfTxs, qui à leur tour doivent égaler le nombre de CdtTrfTxInf de chaque PmtInf. CtrlSum est la somme arithmétique des InstdAmt, à deux décimales, sans symbole.
  • MsgId trop long — limite 35 caractères. Un horodatage tronqué ou un compteur sans préfixe explose vite côté multi-banques.
  • EndToEndId obligatoire — à fournir pour chaque transaction. Si l'ERP ne le génère pas, mettre NOTPROVIDED (valeur prévue par la norme).
  • BICFI sans branch code — un BIC SWIFT à 11 caractères se termine par un branch code (souvent XXX). Le BICFI ISO 20022 accepte 8 ou 11 caractères, mais sans XXX ajouté arbitrairement : c'est une cause classique de validation Schematron en CBPR+.
  • UTF-8 et caractères latins étendus — pain.001 v9 et v11 acceptent UTF-8 mais le profil SEPA limite le jeu autorisé au sous-ensemble SEPA character set (RFC 3986 + quelques caractères de ponctuation). Un caractère hors plage déclenche un rejet à la première gateway bancaire.
  • RgltryRptg manquant — pour les virements hors UE au-dessus du seuil de reporting (12 500 EUR en France par exemple), le bloc RgltryRptg avec code (BOP — Balance of Payments) est obligatoire. Son oubli déclenche un rejet par la Banque de France.

Messages liés

  • pain.002 — Customer Payment Status Report. Réponse de la banque au pain.001, avec statut par transaction (ACCP, RJCT, PDNG, ACSC…).
  • pain.008 — Customer Direct Debit Initiation. Le miroir prélèvement de pain.001.
  • pain.007 — Customer Payment Reversal. Annulation côté débiteur.
  • pacs.008 — message bank-to-bank généré à partir du pain.001 pour le routage interbancaire.
  • camt.053 — relevé EOD où le mouvement réapparaîtra côté débiteur. Voir MT940 pour l'équivalent legacy.