Aller au contenu

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

UBL-CR-671 : Retirer MultiplierFactorNumeric des remises sur le prix

Avertissement : EN 16931 ne prévoit pas cbc:MultiplierFactorNumeric dans les remises sur le prix. Le document reste valide ; retirez l'élément.

EN 16931Avertissement : le document reste valideLignes et prix

Sur cette page

La réponse courte

UBL-CR-671 est un avertissement émis lorsque cbc:MultiplierFactorNumeric apparaît dans les remises sur le prix (//cac:Price/cac:AllowanceCharge). EN 16931 n'a pas de terme métier pour cet élément : retirez-le. Une remise sur le prix n'a que son montant et le prix brut, cbc:Amount et cbc:BaseAmount (BT-147, BT-148) ; une remise avec un motif se place sur la ligne, comme remise de ligne (BG-27).

L'avertissement seul ne rend pas le document invalide, mais d'autres règles vérifient toujours ce qui est présent. Retirer l'élément 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 : la présence de //cac:Price/cac:AllowanceCharge/cbc:MultiplierFactorNumeric. Sa valeur n'est pas lue.

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'élément. Ce constat pointe vers la racine du document, et non vers l'élément : cherchez //cac:Price/cac:AllowanceCharge/cbc:MultiplierFactorNumeric dans le XML.

UBL-CR-635 vérifie le même élément à un endroit précis du document : un document qui le contient signale donc les deux.

TermeSignificationÉlément UBL
-MultiplierFactorNumeric (UBL uniquement, sans terme métier)//cac:Price/cac:AllowanceCharge/cbc:MultiplierFactorNumeric
BT-147Remises sur le prix//cac:Price/cac:AllowanceCharge

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 système source détient la valeur, et le mapping l'écrit parce qu'UBL 2.1 a une place pour elle.
  • 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 //cac:Price/cac:AllowanceCharge/cbc:MultiplierFactorNumeric.
  2. Une remise sur le prix n'a que son montant et le prix brut, cbc:Amount et cbc:BaseAmount (BT-147, BT-148) ; une remise avec un motif se place sur la ligne, comme remise de ligne (BG-27).
  3. Validez à nouveau : l'avertissement disparaît. Si l'élément était le seul contenu de son parent, retirez aussi le parent : Peppol refuse les éléments vides (PEPPOL-EN16931-R008).

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 avec l'avertissement : MultiplierFactorNumeric dans les remises sur le prix

<cac:AllowanceCharge>
  <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
  <cbc:MultiplierFactorNumeric>1</cbc:MultiplierFactorNumeric>
  <cbc:Amount currencyID="GBP">1.00</cbc:Amount>
  <cbc:BaseAmount currencyID="GBP">6.00</cbc:BaseAmount>
</cac:AllowanceCharge>

Fragment de la facture corrigée : les mêmes lignes sans l'élément

<cac:AllowanceCharge>
  <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
  <cbc:Amount currencyID="GBP">1.00</cbc:Amount>
  <cbc:BaseAmount currencyID="GBP">6.00</cbc:BaseAmount>
</cac:AllowanceCharge>

La facture avec l'avertissement contient <cbc:MultiplierFactorNumeric>1</cbc:MultiplierFactorNumeric> dans l'une des remises sur le prix, et la facture corrigée est le même document sans l'élément. La facture avec l'avertissement signale cet avertissement et UBL-CR-635, et est valide à toutes les étapes.

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 de la même façon aux documents UBL Invoice et CreditNote ; l'exemple enregistré est une facture.
  • 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'élément 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-671 (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.