Sur cette page
La réponse courte
UBL-CR-665 est un avertissement émis lorsque l'identifiant d'une référence de document autre que l'objet facturé (cac:AdditionalDocumentReference/cbc:ID) porte un attribut schemeID. EN 16931 n'utilise pas l'attribut à cet endroit : retirez-le et gardez l'élément avec sa valeur. Sur un document justificatif, l'identifiant se suffit à lui-même (BT-122) ; un schéma n'a sa place que sur la référence de l'objet facturé (BT-18-1).
L'avertissement seul ne rend pas le document invalide, mais d'autres règles vérifient toujours ce qui est présent.
Ce que la règle vérifie
La règle examine chaque cac:AdditionalDocumentReference dont le cbc:DocumentTypeCode n'est pas 130, ou qui n'en a pas, et vérifie si son cbc:ID porte un attribut schemeID. La référence de l'objet facturé, avec le code de type 130, peut en porter un (BT-18-1).
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 cac:AdditionalDocumentReference/cbc:ID/@schemeID dans le XML.
| Terme | Signification | Élément UBL |
|---|---|---|
| - | Attribut schemeID (BT-18-1 sur la référence de l'objet facturé uniquement) | cac:AdditionalDocumentReference/cbc:ID/@schemeID |
| BT-122 | Identifiant d'une référence de document autre que l'objet facturé | cac:AdditionalDocumentReference/cbc:ID |
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,listIDet 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
- Cessez d'écrire
schemeIDsur lecbc:IDd'une référence de document dont lecbc:DocumentTypeCoden'est pas130; gardez-le sur la référence de l'objet facturé. - Sur un document justificatif, l'identifiant se suffit à lui-même (BT-122) ; un schéma n'a sa place que sur la référence de l'objet facturé (BT-18-1).
- 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 schemeID sur l'identifiant d'une référence de document autre que l'objet facturé
<cac:AdditionalDocumentReference>
<cbc:ID schemeID="ABT">PROJECT-001</cbc:ID>
<cbc:DocumentTypeCode>50</cbc:DocumentTypeCode>
</cac:AdditionalDocumentReference>Fragment de l'avoir corrigé : les mêmes lignes sans l'attribut
<cac:AdditionalDocumentReference>
<cbc:ID>PROJECT-001</cbc:ID>
<cbc:DocumentTypeCode>50</cbc:DocumentTypeCode>
</cac:AdditionalDocumentReference>L'avoir avec l'avertissement contient <cbc:ID schemeID="ABT">PROJECT-001</cbc:ID>, 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é
- L'avoir avec l'avertissement est valide et signale l'avertissement UBL-CR-665. Le document corrigé passe toutes les étapes de validation sans constat.Télécharger le XML avec l'avertissementTé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 de la même façon aux documents UBL
InvoiceetCreditNote; l'exemple enregistré est un avoir. - 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.
- Une référence de document avec un
schemeIDéchoue aussi àUBL-SR-43(fatale) pour les deux types de document : cette règle n'admet un schéma que pour l'objet facturé et, dans un avoir, pour la référence de projet (code de type50). Cet avertissement n'apparaît donc seul qu'à cet endroit, comme dans l'exemple enregistré, la référence de projet d'un avoir.
Règles liées
- 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-29.1 : source vérifiée le 2026-09-29, explication mise à jour le 2026-09-29.
La définition officielle de UBL-CR-665 (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.

