Sur cette page
La réponse courte
PEPPOL-EN16931-CL003 échoue lorsque cbc:AllowanceChargeReasonCode dans des frais dont le cbc:ChargeIndicator vaut exactement true ne figure pas dans la liste Peppol pour l'UNTDID 7161. Les frais de ligne enregistrés étaient codés DEL ; le code de frais de livraison est DL.
DEL paraît plausible parce que c'est un vrai code d'une autre liste : les sujets de note de l'UNTDID 4451 que contrôle BR-CL-08. Les motifs de frais viennent uniquement de l'UNTDID 7161, et BR-CL-20 applique cette même liste à l'étape EN 16931, si bien que les deux règles signalent la valeur.
Ce que la règle vérifie
Seuls les frais dont l'indicateur est exactement le texte true sont concernés. Lors d'un essai, true entouré d'espaces et 1, tous deux des booléens valides pour le schéma, ont tenu un code DEL à l'écart de cette règle : BR-CL-20 l'a signalé dans les deux cas, et PEPPOL-EN16931-R043 a ajouté un constat pour 1.
Le code est débarrassé de ses espaces puis comparé, en tenant compte de la casse, aux 178 codes de la liste, qui sont ceux de BR-CL-20.
Les frais au niveau du document et sur les lignes sont tous couverts. Dans l'exemple enregistré, le constat pointe vers cac:InvoiceLine[1]/cac:AllowanceCharge[2]/cbc:AllowanceChargeReasonCode[1].
Le code n'est pas comparé au texte des frais : dans la facture corrigée, DL à côté du texte Example charge a réussi.
| Terme | Signification | Élément UBL |
|---|---|---|
| BT-105 | Code du motif des charges ou frais au niveau du document | cac:AllowanceCharge/cbc:AllowanceChargeReasonCode |
| BT-145 | Code du motif des frais sur la ligne de facture | cac:InvoiceLine/cac:AllowanceCharge/cbc:AllowanceChargeReasonCode (cac:CreditNoteLine in a credit note) |
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 :
- Un code d'une autre liste UN/EDIFACT est utilisé parce qu'il évoque le service, comme
DELde la liste des sujets de note pour des frais de livraison. - Des abréviations du système source, comme
FRTpour le fret, sont écrites comme des codes. - Un code de remise est envoyé sur des frais parce qu'une même correspondance sert aux deux.
- Les codes sont conservés en minuscules et écrits tels quels.
Comment corriger le document
- Retrouvez les frais grâce à l'emplacement du constat : des frais au niveau du document sous la racine ou des frais dans une ligne.
- Cherchez le service dans la liste Peppol pour l'UNTDID 7161 :
DLDelivery,FCFreight service,PCPacking,ABLAdditional packaging. - Écrivez le code en majuscules dans
cbc:AllowanceChargeReasonCode, et écrivezcbc:ChargeIndicatorsous la formetrue, pour que les deux étapes voient les frais. - Tenez les codes de frais dans une table à part, séparée des codes de remise et des codes de sujet de note.
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 code de motif des frais de ligne est DEL
<cac:InvoiceLine>
<cbc:ID>1</cbc:ID>
<!-- note, quantity, amounts, order line reference and line allowance omitted from this fragment -->
<cac:AllowanceCharge>
<cbc:ChargeIndicator>true</cbc:ChargeIndicator>
<cbc:AllowanceChargeReasonCode>DEL</cbc:AllowanceChargeReasonCode>
<cbc:AllowanceChargeReason>Example charge</cbc:AllowanceChargeReason>
<cbc:Amount currencyID="GBP">0.01</cbc:Amount>
</cac:AllowanceCharge>
<!-- item and price omitted from this fragment -->
</cac:InvoiceLine>Fragment de la facture corrigée : le code de motif est DL, Delivery
<cac:InvoiceLine>
<cbc:ID>1</cbc:ID>
<!-- note, quantity, amounts, order line reference and line allowance omitted from this fragment -->
<cac:AllowanceCharge>
<cbc:ChargeIndicator>true</cbc:ChargeIndicator>
<cbc:AllowanceChargeReasonCode>DL</cbc:AllowanceChargeReasonCode>
<cbc:AllowanceChargeReason>Example charge</cbc:AllowanceChargeReason>
<cbc:Amount currencyID="GBP">0.01</cbc:Amount>
</cac:AllowanceCharge>
<!-- item and price omitted from this fragment -->
</cac:InvoiceLine>Seul le code de motif des frais de ligne diffère : DEL dans la facture en échec, DL dans la facture corrigée. Le document en échec signale aussi BR-CL-20, qui applique la même liste UNTDID 7161 à l'étape EN 16931, sur le même élément.
Ce que le validateur a signalé
- La facture en erreur signale BR-CL-20 et PEPPOL-EN16931-CL003. 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 à
InvoiceetCreditNote;DELsur les frais d'une ligne d'avoir a signalé cette règle etBR-CL-20lors d'un essai. - Une règle Peppol BIS Billing 3.0. Les remises sont contrôlées par rapport à l'UNTDID 5189 par
PEPPOL-EN16931-CL002à la place. - La question de savoir si des frais ont besoin d'un motif se règle ailleurs : par
BR-CO-22pour les frais au niveau du document et parBR-CO-24pour les frais de ligne.
Règles liées
- BR-CL-20 contrôle les codes de motif de frais par rapport à la même liste à l'étape EN 16931
- PEPPOL-EN16931-CL002 est le contrôle Peppol des codes de motif de remise
- BR-CL-08 est la place des codes de sujet UNTDID 4451 comme DEL : la note de facture
- PEPPOL-EN16931-R043 rejette un indicateur écrit 1 ou 0
- Parcourir toutes les règles de la référence
- Contexte (en anglais) : How Peppol invoice validation actually works
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-28.1 : source vérifiée le 2026-09-28, explication mise à jour le 2026-09-28.
La définition officielle de PEPPOL-EN16931-CL003 (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.

