Sur cette page
La réponse courte
BR-64 échoue lorsque cac:Item/cac:StandardItemIdentification/cbc:ID sur une ligne n'a pas d'attribut schemeID. Ajoutez schemeID avec le code ICD ISO 6523 du système de numérotation auquel appartient l'identifiant. Pour un GTIN GS1, comme dans l'exemple enregistré, c'est 0160.
Si le numéro est votre propre référence article et ne provient pas d'un schéma enregistré, il va dans cac:SellersItemIdentification/cbc:ID, qui ne prend pas de schéma. Lors d'un essai, le même numéro déplacé à cet endroit sans attribut a passé toutes les étapes.
Ce que la règle vérifie
La règle s'exécute sur chaque cbc:ID dans cac:StandardItemIdentification d'une ligne de facture ou d'avoir et contrôle une seule chose : la présence d'un attribut schemeID.
La valeur de l'attribut relève de BR-CL-21. Lors d'un essai, schemeID="" a passé cette règle et a été signalé par celle-là.
L'identifiant n'est pas contrôlé par rapport à son schéma. Avec schemeID="0160", un numéro à 13 chiffres avec une clé de contrôle GS1 erronée et le texte ABC ont tous deux passé toutes les étapes lors d'un essai ; l'exactitude du GTIN relève donc de votre responsabilité.
D'autres attributs ne remplacent pas schemeID. Lorsque le code a été écrit dans schemeAgencyID à la place, cette règle a été signalée avec l'avertissement UBL-DT-27.
Un cbc:ID vide qui porte bien schemeID passe cette règle ; lors d'un essai, il n'a été signalé que par PEPPOL-EN16931-R008.
| Terme | Signification | Élément UBL |
|---|---|---|
| BT-157 | Identifiant standard de l'article | cac:InvoiceLine/cac:Item/cac:StandardItemIdentification/cbc:ID (cac:CreditNoteLine/cac:Item/cac:StandardItemIdentification/cbc:ID in a credit note) |
| BT-157 | Identifiant standard de l'article : son attribut d'identifiant de schéma | cac:InvoiceLine/cac:Item/cac:StandardItemIdentification/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 référentiel produits stocke le numéro de code-barres sans indiquer à quel schéma il appartient, et le mapping écrit le numéro seul.
- La référence article du vendeur est associée à
cac:StandardItemIdentificationau lieu decac:SellersItemIdentification, si bien qu'il n'y a pas de schéma à indiquer. - Le sérialiseur supprime les attributs dont la colonne source est nulle, et la colonne du schéma est vide pour certains produits.
- Le schéma est écrit dans
schemeAgencyIDau lieu deschemeID.
Comment corriger le document
- Déterminez ce qu'est le numéro dans
cbc:ID. Un GTIN, qui englobe les numéros de code-barres EAN-13 et UPC, prend0160. Un identifiant issu d'un autre système enregistré de numérotation d'articles prend le code de ce schéma dans la liste ICD. - Écrivez le code dans l'attribut
schemeIDdecac:StandardItemIdentification/cbc:ID, orthographié exactement ainsi, sous la forme du code à quatre chiffres et non du nom du schéma. - Si l'identifiant est interne au vendeur ou à l'acheteur, déplacez-le vers
cac:SellersItemIdentificationoucac:BuyersItemIdentificationet supprimezcac:StandardItemIdentificationpour cette ligne. Envoyez ces identifiants sans schéma : lors d'un essai, unschemeIDsur l'identifiant article du vendeur a entraîné l'avertissementUBL-CR-668. - Conservez le schéma à côté de l'identifiant dans les données produit, afin que chaque identifiant standard soit exporté avec un schéma.
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 : le GTIN n'a pas d'attribut de schéma
<cac:Item>
<cbc:Name>Example service</cbc:Name>
<cac:StandardItemIdentification>
<cbc:ID>5012345678900</cbc:ID>
</cac:StandardItemIdentification>
<!-- classification, tax category and item attribute omitted from this fragment -->
</cac:Item>Fragment de la facture corrigée : schemeID 0160 désigne l'identifiant comme un GTIN
<cac:Item>
<cbc:Name>Example service</cbc:Name>
<cac:StandardItemIdentification>
<cbc:ID schemeID="0160">5012345678900</cbc:ID>
</cac:StandardItemIdentification>
<!-- classification, tax category and item attribute omitted from this fragment -->
</cac:Item>La seule différence est schemeID="0160" sur l'identifiant standard de l'article, absent de la facture en échec. Le document en échec ne signale que BR-64. BR-CL-21 n'est pas signalé en même temps, car cette règle contrôle la valeur de l'attribut et il n'y a pas d'attribut à contrôler.
Ce que le validateur a signalé
- La facture en erreur signale BR-64. 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
- S'applique à
cac:InvoiceLinedans uneInvoiceet àcac:CreditNoteLinedans unCreditNote, où la structure de l'article est identique. Lors d'un essai, un avoir dont le GTIN avait perdu l'attribut a signalé cette règle seule. - L'identifiant standard est facultatif. Une ligne sans
cac:StandardItemIdentificationpasse ; il n'y a donc aucune raison d'en ajouter un sans véritable identifiant. - Les identifiants article du vendeur et de l'acheteur sont hors du champ de cette règle, tout comme les identifiants des parties, qui ont leurs propres règles de schéma, comme
BR-62.
Règles liées
- BR-CL-21 vérifie que la valeur de schemeID est un code ICD ISO 6523
- BR-65 est le contrôle d'attribut équivalent pour le code de classification de l'article
- BR-62 exige de la même façon un schéma sur l'adresse électronique du vendeur
- BR-54 contrôle les attributs d'article qui peuvent accompagner l'identifiant standard sur le même article
- 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-64 (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.

