Compte
Français

PEPPOL-EN16931-R044: Majoration interdite au niveau du prix

Règle Peppol BIS Billing 3.0 · Erreur · UBL, CII

NormePeppol BIS Billing 3.0 (OpenPeppol)GravitéErreur: la facture est rejetéeSyntaxeUBL, CIIS'applique àFactures et avoirs transmis via le réseau Peppol (UBL) et, XRechnung reprenant ces règles, toute XRechnung.

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:AllowanceCharge

Test (XPath):

normalize-space(cbc:ChargeIndicator) = 'false'

CII

rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeAgreement/ram:GrossPriceProductTradePrice

Test (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é.

Vérifier votre facture →

La même vérification par API:

curl -F file=@invoice.xml https://einvoicechecker.com/v1/validate

Règles liées

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.