Texte officiel de la règle
[PEPPOL-EN16931-R044] Charge on price level is NOT allowed. Only value 'false' allowed.
Le texte normatif est en anglais ; il est cité tel quel.
Pourquoi cette erreur apparaît
Sur le prix d'une ligne de facture, seule une remise est autorisée (remise sur le prix de l'article, BT-147), qui transforme le prix brut en prix net ; une majoration au niveau du prix n'a aucune signification dans EN 16931. La règle vérifie que cac:Price/cac:AllowanceCharge/cbc:ChargeIndicator vaut false (UBL), ou ram:GrossPriceProductTradePrice/ram:AppliedTradeAllowanceCharge/ram:ChargeIndicator/udt:Indicator (CII). Elle échoue lorsque le logiciel place des suppléments (supplément métal, supplément énergie) dans le bloc prix ou copie la structure de remise de ligne avec l'indicateur à true.
Comment corriger
Laissez cbc:ChargeIndicator à false dans cac:Price/cac:AllowanceCharge et utilisez-le uniquement pour une remise sur le prix brut. Déplacez tout supplément soit dans le prix unitaire lui-même (cbc:PriceAmount l'incluant déjà), soit dans un cac:AllowanceCharge de ligne avec ChargeIndicator à true, placé sous cac:InvoiceLine, où les majorations sont autorisées. En CII, la même logique s'applique à ram:AppliedTradeAllowanceCharge sous GrossPriceProductTradePrice par opposition à ram:SpecifiedTradeAllowanceCharge sous ram:SpecifiedLineTradeSettlement.
Exemple (valide)
<cac:Price>
<cbc:PriceAmount currencyID="EUR">90.00</cbc:PriceAmount>
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<cbc:Amount currencyID="EUR">10.00</cbc:Amount>
<cbc:BaseAmount currencyID="EUR">100.00</cbc:BaseAmount>
</cac:AllowanceCharge>
</cac:Price>
Ce que le validateur vérifie
Élément vérifié (contexte):
UBL
cac:Price/cac:AllowanceChargeTest (XPath):
normalize-space(cbc:ChargeIndicator) = 'false'CII
rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeAgreement/ram:GrossPriceProductTradePriceTest (XPath):
not(ram:AppliedTradeAllowanceCharge/ram:ActualAmount) or ram:AppliedTradeAllowanceCharge/ram:ChargeIndicator/udt:Indicator = 'false'
Vérifier votre facture
Déposez votre XML ou PDF dans le validateur : chaque règle en échec renvoie vers sa page ici. Gratuit, sans compte, le fichier n'est pas conservé.
La même vérification par API:
curl -F file=@invoice.xml https://einvoicechecker.com/v1/validateRègles liées
PEPPOL-EN16931-R001Identifiant du processus métier (BT-23) absentPEPPOL-EN16931-R002Une seule note autorisée au niveau document, sauf si l'acheteur et le vendeur…PEPPOL-EN16931-R003Ni référence acheteur ni référence de bon de commandePEPPOL-EN16931-R004Identifiant de spécification autre que Peppol BIS Billing 3.0PEPPOL-EN16931-R005Devise de comptabilisation de la TVA identique à la devise de facturePEPPOL-EN16931-R006Un seul objet facturé autorisé au niveau documentPEPPOL-EN16931-R007Identifiant du processus métier au format incorrectPEPPOL-EN16931-R008Le document contient des éléments vides
Questions fréquentes
Que signifie PEPPOL-EN16931-R044 ?
PEPPOL-EN16931-R044 est une règle peppol bis billing 3.0 : Charge on price level is NOT allowed. Only value 'false' allowed.
Ma facture sera-t-elle rejetée à cause de PEPPOL-EN16931-R044 ?
Oui. PEPPOL-EN16931-R044 est classée « bloquante » ; les validateurs (plateformes agréées, points d'accès Peppol, KoSIT, KSeF) rejettent la facture tant qu'elle n'est pas corrigée.
À quels formats s'applique PEPPOL-EN16931-R044 ?
Factures et avoirs transmis via le réseau Peppol (UBL) et, XRechnung reprenant ces règles, toute XRechnung. Syntaxe : UBL et CII.
Source: Peppol BIS Billing 3.0.20 (November 2025). Catalogue généré à partir des jeux de règles officiels le 2026-10-15.