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.
| Terme | Signification | Élément UBL |
|---|---|---|
| BT-29 | Identifiant du vendeur : son attribut d'identifiant de schéma | cac:AccountingSupplierParty/cac:Party/cac:PartyIdentification/cbc:ID/@schemeID |
| BT-46 | Identifiant de l'acheteur : son attribut d'identifiant de schéma | cac:AccountingCustomerParty/cac:Party/cac:PartyIdentification/cbc:ID/@schemeID |
| BT-60 | Identifiant du bénéficiaire : son attribut d'identifiant de schéma | cac: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
GLNouDUNSlà 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
99xxque 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
schemeIDqui nomme le système source.
Comment corriger le document
- Utilisez l'emplacement du constat pour voir quel identifiant de partie est concerné.
- 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.
- Écrivez ce code dans
schemeIDsous forme de texte, avec ses zéros de tête :schemeID="0088". - 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. - 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é
- La facture en erreur signale BR-CL-10. Le document corrigé passe toutes les étapes de validation sans constat.Télécharger le XML en erreurTélécharger le XML corrigé
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,
GLNsur l'identifiant du vendeur d'un avoir a signaléBR-CL-10seul. - L'adresse électronique dans
cbc:EndpointIDest jugée à la place par rapport à la liste EAS, parBR-CL-25etPEPPOL-EN16931-CL008. Un GLN vaut0088dans 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.
Règles liées
- BR-CL-25 contrôle le schéma de l'adresse électronique, qui utilise la liste EAS à la place
- PEPPOL-COMMON-R040 contrôle le GLN lui-même dès qu'un identifiant est marqué 0088
- BR-CO-26 exige un identifiant du vendeur et ne compte pas celui qui porte le schéma SEPA
- BR-CL-21 contrôle le schéma d'un identifiant standard d'article par rapport à la même liste ICD
- Parcourir toutes les règles de la référence
- Contexte (en anglais) : Understanding EN 16931 validation errors
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.

