Aller au contenu

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

UBL-CR-672 : Retirer l'attribut listID du code de type d'avoir

Avertissement : EN 16931 ne prévoit pas l'attribut listID sur le code de type d'avoir. Le document reste valide ; retirez l'attribut.

EN 16931Avertissement : le document reste valideChamps de baseListes de codes

Sur cette page

La réponse courte

UBL-CR-672 est un avertissement émis lorsque le code de type d'avoir (cbc:CreditNoteTypeCode) porte un attribut listID. EN 16931 n'utilise pas l'attribut à cet endroit : retirez-le et gardez l'élément avec sa valeur.

L'avertissement seul ne rend pas le document invalide, mais d'autres règles vérifient toujours ce qui est présent. Retirer l'attribut maintient le XML dans le modèle EN 16931, à partir duquel un destinataire intègre la facture.

Ce que la règle vérifie

La règle vérifie une seule chose : si cbc:CreditNoteTypeCode porte un attribut listID. La valeur de l'attribut n'est pas lue, et l'élément lui-même est correct.

Elle s'exécute une seule fois sur l'ensemble du document et ne produit donc qu'un constat, quel que soit le nombre de fois où le document contient l'attribut. Ce constat pointe vers la racine du document, et non vers l'élément : cherchez cbc:CreditNoteTypeCode/@listID dans le XML.

Seul un CreditNote peut le contenir : la facture UBL 2.1 n'a pas de cbc:CreditNoteTypeCode.

TermeSignificationÉlément UBL
-Attribut listID (UBL uniquement, sans terme métier)cbc:CreditNoteTypeCode/@listID
BT-3Code de type d'avoircbc:CreditNoteTypeCode

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 :

  • Les attributs de schéma et de liste (schemeID, listID et similaires) sont écrits par défaut sur chaque identifiant ou code, y compris là où EN 16931 ne les prévoit pas.
  • Une bibliothèque UBL 2.1 générique écrit chaque élément et attribut pour lequel elle a une valeur, qu'EN 16931 l'utilise ou non.
  • Un mapping conçu pour un autre document basé sur UBL, comme une commande, un avis d'expédition ou un profil national, est réutilisé pour Peppol BIS Billing.

Comment corriger le document

  1. Cessez d'écrire l'attribut listID sur cbc:CreditNoteTypeCode ; gardez l'élément et sa valeur.
  2. Si vous avez besoin de l'information, conservez-la dans vos propres registres : EN 16931 n'a pas de terme métier pour elle, un destinataire n'a donc aucun endroit convenu où la lire.
  3. Validez à nouveau : l'avertissement disparaît.

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 l'avoir avec l'avertissement : l'attribut listID sur le code de type d'avoir

<cbc:ID>EXAMPLE-CN-002</cbc:ID>
<cbc:IssueDate>2026-09-08</cbc:IssueDate>
<cbc:TaxPointDate>2026-09-07</cbc:TaxPointDate>
<cbc:CreditNoteTypeCode listID="EXAMPLE">381</cbc:CreditNoteTypeCode>
<cbc:Note>Example only. Terms &amp; references &lt;must&gt; be preserved. Café 🐺</cbc:Note>
<cbc:DocumentCurrencyCode>GBP</cbc:DocumentCurrencyCode>
<cbc:AccountingCost>COST-123</cbc:AccountingCost>

Fragment de l'avoir corrigé : les mêmes lignes sans l'attribut

<cbc:ID>EXAMPLE-CN-002</cbc:ID>
<cbc:IssueDate>2026-09-08</cbc:IssueDate>
<cbc:TaxPointDate>2026-09-07</cbc:TaxPointDate>
<cbc:CreditNoteTypeCode>381</cbc:CreditNoteTypeCode>
<cbc:Note>Example only. Terms &amp; references &lt;must&gt; be preserved. Café 🐺</cbc:Note>
<cbc:DocumentCurrencyCode>GBP</cbc:DocumentCurrencyCode>
<cbc:AccountingCost>COST-123</cbc:AccountingCost>

L'avoir avec l'avertissement contient <cbc:CreditNoteTypeCode listID="EXAMPLE">381</cbc:CreditNoteTypeCode>, et l'avoir corrigé est le même document sans l'attribut. L'avoir avec l'avertissement ne signale que celui-ci et est valide à toutes les étapes : il serait donc accepté en l'état.

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

  • Ne s'applique qu'à un document UBL CreditNote : l'autre type de document ne peut pas contenir l'attribut ici.
  • L'avertissement vient des règles de l'étape EN 16931 pour la syntaxe UBL. Dans l'exemple enregistré, l'étape XSD réussit : l'attribut est valide en UBL 2.1 et sort seulement du modèle EN 16931.

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-29.1 : source vérifiée le 2026-09-29, explication mise à jour le 2026-09-29.

La définition officielle de UBL-CR-672 (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.