Sur cette page
La réponse courte
BR-CL-13 échoue lorsque le listID de cac:CommodityClassification/cbc:ItemClassificationCode n'est pas un code de la liste UNTDID 7143. L'exemple enregistré écrit le nom du schéma, UNSPSC. Remplacez-le par le code de liste du schéma : TST pour UNSPSC, STI pour CPV, HS pour le Système harmonisé.
L'exemple corrigé conserve le code 80111600 et ne change que la façon dont son schéma est indiqué. Le validateur ne contrôle jamais le code par rapport à la classification : le schéma que vous déclarez doit donc être celui dont le code provient réellement.
Ce que la règle vérifie
La règle lit le listID de chaque cbc:ItemClassificationCode qui en a un et le recherche parmi les codes UNTDID 7143 fournis avec les artefacts de validation. Un code de classification sans listID est hors de son champ et est signalé par BR-65.
Les espaces aux deux extrémités sont ignorés, mais pour le reste la correspondance est exacte et sensible à la casse. Lors d'un essai, listID=" TST " a été accepté, tandis que tst et les noms de schéma UNSPSC et CPV ont échoué. Un listID="" vide a également échoué.
Seul le schéma est validé, jamais le code de classification contenu dans l'élément. Lors d'un essai, listID="TST" autour du texte NOT-A-CODE a passé toutes les étapes.
ZZZ, que la liste définit comme défini d'un commun accord, est accepté et a passé l'essai. Il indique seulement que les deux parties ont convenu du schéma entre elles.
| Terme | Signification | Élément UBL |
|---|---|---|
| BT-158 | Identifiant de classification de l'article : son attribut d'identifiant de schéma | cac:InvoiceLine/cac:Item/cac:CommodityClassification/cbc:ItemClassificationCode/@listID (under cac:CreditNoteLine in a credit note) |
| BT-158 | Identifiant de classification de l'article | cac:InvoiceLine/cac:Item/cac:CommodityClassification/cbc:ItemClassificationCode |
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 copie tel quel dans
listIDle nom de schéma conservé dans les données produit, commeUNSPSCouCPV. - Les codes 7143 ne reprennent pas les noms des schémas :
STIpour CPV etTSTpour UNSPSC sont donc faciles à intervertir ou à deviner. - Les codes passent par une étape de normalisation qui les met en minuscules.
- Un
listIDpar défaut, repris du guide d'un autre partenaire commercial ou d'un autre format, est écrit pour chaque classification.
Comment corriger le document
- Déterminez de quel schéma de classification provient le code contenu dans l'élément.
- Recherchez le schéma dans la liste UNTDID 7143 telle que publiée avec les listes de codes Peppol BIS et copiez son code exactement, en majuscules. UNSPSC correspond à
TST; CPV àSTI; le Système harmonisé àHS. - Tenez la correspondance sous forme de table allant de vos noms de schéma aux codes 7143, et faites échouer l'export pour un schéma sans entrée au lieu d'écrire le nom.
- N'utilisez
ZZZque lorsqu'aucun code de la liste ne convient et que le schéma a réellement été convenu avec l'acheteur.
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 : listID contient le nom de schéma UNSPSC
<cac:CommodityClassification>
<cbc:ItemClassificationCode listID="UNSPSC">80111600</cbc:ItemClassificationCode>
</cac:CommodityClassification>Fragment de la facture corrigée : listID contient TST, le code UNTDID 7143 pour UNSPSC
<cac:CommodityClassification>
<cbc:ItemClassificationCode listID="TST">80111600</cbc:ItemClassificationCode>
</cac:CommodityClassification>Seule la valeur de listID diffère : le nom de schéma UNSPSC dans la facture en échec, son code UNTDID 7143 TST dans la facture corrigée. La classification et le code 80111600 restent les mêmes ; seule la manière d'identifier le schéma change. Le document en échec ne signale que BR-CL-13.
Ce que le validateur a signalé
- La facture en erreur signale BR-CL-13. 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. Lors d'un essai, un avoir aveclistID="UNSPSC"a signalé cette règle seule. - L'identifiant standard de l'article est contrôlé par rapport à une autre liste. Son
schemeIDdoit être un code ICD de l'ISO 6523, ce que testeBR-CL-21; un code 7143 n'y est pas valide. - L'attribut
listVersionIDn'est pas lu par cette règle.
Règles liées
- BR-65 exige l'attribut listID dont cette règle contrôle la valeur
- BR-CL-21 est le contrôle de liste de codes pour le schéma de l'identifiant standard de l'article
- BR-CL-23 contrôle le code d'unité de la même ligne par rapport à sa propre liste de codes
- 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-13 (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.

