Aller au contenu

Ironfang Finance - Référence des règles

BR-63 : Ajouter l'attribut schemeID à l'adresse électronique de l'acheteur

Un cbc:EndpointID de l'acheteur doit porter un attribut schemeID. La règle contrôle que l'attribut existe, pas ce qu'il contient.

EN 16931Erreur : le document n'est pas valideParties et adresses

Sur cette page

La réponse courte

BR-63 échoue lorsque l'adresse électronique de l'acheteur, cac:AccountingCustomerParty/cac:Party/cbc:EndpointID, n'a pas d'attribut schemeID. Ajoutez l'attribut, avec le code du schéma auquel appartient l'identifiant de l'acheteur.

Contrairement au côté vendeur, cette valeur change d'un document à l'autre. Un client peut être adressé par GLN et le suivant par un numéro d'organisation national ; le schéma doit donc être stocké par client, et non configuré une fois pour toutes.

Ce que la règle vérifie

La règle sélectionne le cbc:EndpointID de l'acheteur et exige qu'il porte un attribut schemeID. S'il n'y a pas de cbc:EndpointID de l'acheteur dans le document, elle ne signale rien ; ce manque relève de PEPPOL-EN16931-R010.

Seule l'existence est contrôlée. Un attribut présent mais vide, schemeID="", passe BR-63 et échoue plutôt aux règles de liste de codes : BR-CL-25, et PEPPOL-EN16931-CL008 à l'étape Peppol.

Un cbc:EndpointID de l'acheteur sans contenu ni attribut signale BR-63 et, pour l'élément vide, PEPPOL-EN16931-R008.

TermeSignificationÉlément UBL
BT-49Adresse électronique de l'acheteurcac:AccountingCustomerParty/cac:Party/cbc:EndpointID
BT-49Adresse électronique de l'acheteur : son attribut d'identifiant de schémacac:AccountingCustomerParty/cac:Party/cbc:EndpointID/@schemeID

Comment une intégration en arrive là

Causes possibles, déduites de la forme de la règle et non d'une utilisation mesurée :

  • La fiche client a un seul champ d'adresse électronique et aucun endroit où conserver le schéma.
  • Les clients ont été importés depuis une liste qui ne donnait que les identifiants, si bien que la colonne du schéma est vide pour ces fiches.
  • Le mapping code en dur le schéma pour les clients du pays d'origine et n'écrit rien pour les autres.
  • Le schéma est écrit dans schemeName ou un autre attribut. Seul schemeID compte, et schemeName entraîne en plus l'avertissement UBL-DT-08.

Comment corriger le document

  1. Demandez à l'acheteur sous quel identifiant et quel schéma il reçoit les documents, et enregistrez les deux. Ne déduisez pas le schéma de la longueur ou de l'aspect de l'identifiant.
  2. Ajoutez un champ de schéma à la fiche client s'il n'y en a pas, et rendez-le obligatoire dès qu'une adresse électronique est saisie.
  3. Associez le schéma à l'attribut schemeID et l'identifiant au contenu de cac:AccountingCustomerParty/cac:Party/cbc:EndpointID.
  4. Validez le code enregistré par rapport à la liste de codes EAS au moment de la saisie, afin que BR-CL-25 n'apparaisse pas plus tard, à l'envoi.

Valider votre facture corrigée

Avant et après

Ce sont des extraits, pas des documents complets. Les documents synthétiques complets dont ils proviennent sont liés ci-dessous.

Fragment de la facture en échec : l'EndpointID de l'acheteur n'a pas de schemeID

<cac:AccountingCustomerParty>
  <cac:Party>
    <cbc:EndpointID>7300010000001</cbc:EndpointID>
    <!-- postal address and legal entity omitted from this fragment -->
  </cac:Party>
</cac:AccountingCustomerParty>

Fragment de la facture corrigée : l'EndpointID de l'acheteur indique son schéma

<cac:AccountingCustomerParty>
  <cac:Party>
    <cbc:EndpointID schemeID="0088">7300010000001</cbc:EndpointID>
    <!-- postal address and legal entity omitted from this fragment -->
  </cac:Party>
</cac:AccountingCustomerParty>

L'attribut schemeID="0088" sur le cbc:EndpointID de l'acheteur est toute la différence ; l'identifiant est inchangé. Le document en échec ne signale que BR-63, à l'étape EN 16931, et son étape Peppol passe. Le cbc:EndpointID du vendeur dans le même fichier conserve son attribut, c'est pourquoi BR-62 n'est pas signalé.

Ce que le validateur a signalé

Enregistré avec phive 12.1.0 / phive-rules-peppol 4.5.6 / Saxon-HE 12.10, le moteur du validateur gratuit, sur des données synthétiques. Un résultat enregistré est une preuve de non-régression pour ces documents ; ce n'est pas une certification.

Où la règle s'applique

  • S'applique à UBL Invoice et CreditNote. La même modification sur un avoir signale le même constat unique.
  • La règle ne couvre que la partie acheteur. Un cbc:EndpointID du vendeur relève de BR-62.
  • Elle fait partie d'EN 16931 et signale à cette étape. Peppol ajoute l'exigence que l'élément soit présent en premier lieu.

Portée et source

Rédigé pour Peppol BIS Billing 3.0.21 (May 2026), EN 16931 1.3.16, tel qu'appliqué aux documents Invoice et CreditNote en UBL 2.1. D'autres profils, syntaxes et versions peuvent définir cet identifiant autrement. Version du catalogue d'aide 2026-09-24.1 : source vérifiée le 2026-09-24, explication mise à jour le 2026-09-20.

La définition officielle de BR-63 (en anglais) contient le texte normatif et le test. Cette page en est notre explication, pas une copie.

Cette aide ne modifie pas le verdict du moteur. Corriger ce constat ne signifie pas que le document passe toutes les étapes de validation, et la validation ne certifie pas la conformité juridique ou fiscale et ne transmet aucun document via Peppol.