Aller au contenu

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

PEPPOL-EN16931-CL003 : Utiliser un code de la liste Peppol UNTDID 7161 comme code de motif de frais

Sur des frais marqués true, cbc:AllowanceChargeReasonCode doit être un code UNTDID 7161, comme DL pour la livraison. DEL n'en fait pas partie.

Peppol BIS BillingErreur : le document n'est pas valideListes de codesRemises et frais

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.

TermeSignificationÉlément UBL
BT-105Code du motif des charges ou frais au niveau du documentcac:AllowanceCharge/cbc:AllowanceChargeReasonCode
BT-145Code du motif des frais sur la ligne de facturecac: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 DEL de la liste des sujets de note pour des frais de livraison.
  • Des abréviations du système source, comme FRT pour 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

  1. Retrouvez les frais grâce à l'emplacement du constat : des frais au niveau du document sous la racine ou des frais dans une ligne.
  2. Cherchez le service dans la liste Peppol pour l'UNTDID 7161 : DL Delivery, FC Freight service, PC Packing, ABL Additional packaging.
  3. Écrivez le code en majuscules dans cbc:AllowanceChargeReasonCode, et écrivez cbc:ChargeIndicator sous la forme true, pour que les deux étapes voient les frais.
  4. 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é

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 à Invoice et CreditNote ; DEL sur les frais d'une ligne d'avoir a signalé cette règle et BR-CL-20 lors 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-22 pour les frais au niveau du document et par BR-CO-24 pour les frais de ligne.

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.