Aller au contenu

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

BR-CL-10 : Utiliser un code ICD de l'ISO 6523 comme schéma d'un identifiant de partie

Le schemeID d'un cac:PartyIdentification/cbc:ID doit être un code ICD de l'ISO 6523, comme 0088 pour un GLN. SEPA n'est admis que pour le vendeur et le bénéficiaire.

EN 16931Erreur : le document n'est pas valideListes de codesParties et adresses

Sur cette page

La réponse courte

BR-CL-10 échoue lorsqu'un cac:PartyIdentification/cbc:ID porte un schemeID qui n'est pas un code de la liste ICD de l'ISO 6523. Remplacez la valeur par le code ICD à quatre chiffres du schéma qui a émis l'identifiant : 0088 pour un GLN, et non GLN.

L'emplacement du constat indique la partie. Dans l'exemple enregistré, il s'agit du vendeur, mais les identifiants de l'acheteur et du bénéficiaire sont contrôlés de la même façon.

Ce que la règle vérifie

La règle s'exécute sur chaque cbc:ID d'un cac:PartyIdentification qui porte un attribut schemeID. Sans l'attribut, rien n'est testé : lors d'un essai, l'identifiant du vendeur privé de son schemeID a passé toutes les étapes.

La valeur, une fois retirés les espaces qui l'entourent, doit correspondre exactement à un code de la liste, et la casse compte. Les codes ICD de cette version vont de 0002 à 0248, quatre numéros de cet intervalle étant absents. 88 échoue, car les zéros de tête font partie du code.

Une exception est inscrite dans la règle : SEPA est accepté sur les identifiants du vendeur et du bénéficiaire, où il désigne l'identifiant de créancier SEPA utilisé pour le prélèvement. Lors d'un essai, SEPA sur le vendeur a été accepté, sepa sur le vendeur a échoué et SEPA sur l'acheteur a échoué.

La liste des adresses électroniques est une autre liste. Ses codes 99xx ne sont pas des codes ICD : lors d'un essai, 9930 sur l'identifiant du vendeur a fait échouer cette règle.

L'identifiant d'immatriculation légale dans cac:PartyLegalEntity/cbc:CompanyID est contrôlé par rapport à la même liste par une règle distincte, BR-CL-11. Lors d'un essai, schemeID="GLN" à cet endroit a signalé BR-CL-11, et non cette règle.

TermeSignificationÉlément UBL
BT-29Identifiant du vendeur : son attribut d'identifiant de schémacac:AccountingSupplierParty/cac:Party/cac:PartyIdentification/cbc:ID/@schemeID
BT-46Identifiant de l'acheteur : son attribut d'identifiant de schémacac:AccountingCustomerParty/cac:Party/cac:PartyIdentification/cbc:ID/@schemeID
BT-60Identifiant du bénéficiaire : son attribut d'identifiant de schémacac:PayeeParty/cac:PartyIdentification/cbc:ID/@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 :

  • Le mapping écrit un nom de schéma comme GLN ou DUNS là où le code ICD est attendu.
  • Le code transite par un champ numérique et perd ses zéros de tête.
  • Le schéma de l'adresse électronique est réutilisé pour l'identifiant de partie, ce qui apporte un code 99xx que seule la liste des adresses électroniques contient.
  • Un identifiant de créancier SEPA est rattaché à l'acheteur, où la règle n'accepte pas le schéma SEPA.
  • Un numéro interne de client ou de fournisseur est envoyé avec un schemeID qui nomme le système source.

Comment corriger le document

  1. Utilisez l'emplacement du constat pour voir quel identifiant de partie est concerné.
  2. Déterminez quel schéma a émis l'identifiant, par exemple GS1 pour un GLN ou un registre national des entreprises, et recherchez son code ICD.
  3. Écrivez ce code dans schemeID sous forme de texte, avec ses zéros de tête : schemeID="0088".
  4. Si l'identifiant ne provient d'aucun schéma enregistré, comme votre propre numéro de compte pour le client, envoyez-le sans schemeID. L'attribut est facultatif sur les identifiants de partie, et un code qui ne décrit pas l'identifiant induit le destinataire en erreur.
  5. Réservez SEPA à l'identifiant de créancier SEPA du vendeur ou du bénéficiaire.

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'identifiant du vendeur est marqué avec le nom de schéma GLN

<cac:AccountingSupplierParty>
  <cac:Party>
    <cbc:EndpointID schemeID="0088">7300010000001</cbc:EndpointID>
    <cac:PartyIdentification>
      <cbc:ID schemeID="GLN">7300010000001</cbc:ID>
    </cac:PartyIdentification>
    <!-- party name, address, tax scheme, legal entity and contact omitted from this fragment -->
  </cac:Party>
</cac:AccountingSupplierParty>

Fragment de la facture corrigée : l'identifiant du vendeur utilise le code ICD 0088

<cac:AccountingSupplierParty>
  <cac:Party>
    <cbc:EndpointID schemeID="0088">7300010000001</cbc:EndpointID>
    <cac:PartyIdentification>
      <cbc:ID schemeID="0088">7300010000001</cbc:ID>
    </cac:PartyIdentification>
    <!-- party name, address, tax scheme, legal entity and contact omitted from this fragment -->
  </cac:Party>
</cac:AccountingSupplierParty>

Seul le schemeID de l'identifiant du vendeur diffère : GLN dans la facture en échec, 0088 dans la facture corrigée, avec le même GLN dans les deux. Le document en échec signale BR-CL-10 et rien d'autre. La règle Peppol sur le chiffre de contrôle du GLN, PEPPOL-COMMON-R040, ne reconnaît un GLN qu'à schemeID="0088" : elle a donc ignoré l'identifiant dans le fichier en échec et trouvé le chiffre de contrôle correct dans le fichier corrigé.

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

  • Les avoirs sont contrôlés de la même façon. Lors d'un essai, GLN sur l'identifiant du vendeur d'un avoir a signalé BR-CL-10 seul.
  • L'adresse électronique dans cbc:EndpointID est jugée à la place par rapport à la liste EAS, par BR-CL-25 et PEPPOL-EN16931-CL008. Un GLN vaut 0088 dans les deux listes.
  • Une règle de liste de codes EN 16931. La liste est celle figée avec cette version des artefacts ; un code ajouté plus tard à l'ISO 6523 n'est accepté qu'une fois qu'une nouvelle version l'inclut.
  • Les identifiants d'article ne sont pas couverts. Le schéma d'un identifiant standard d'article a sa propre règle, BR-CL-21.

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-24.

La définition officielle de BR-CL-10 (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.