Texte officiel de la règle
[PEPPOL-EN16931-R041] Allowance/charge base amount MUST be provided when allowance/charge percentage is provided.
Le texte normatif est en anglais ; il est cité tel quel.
Pourquoi cette erreur apparaît
Un pourcentage de remise ou de majoration n'a de sens qu'accompagné de la base à laquelle il s'applique ; Peppol exige donc le montant de base dès qu'un pourcentage est présent. La règle signale tout cac:AllowanceCharge comportant cbc:MultiplierFactorNumeric sans cbc:BaseAmount, au niveau document et ligne (UBL), ou tout ram:SpecifiedTradeAllowanceCharge comportant ram:CalculationPercent sans ram:BasisAmount (CII). Cela provient généralement d'un logiciel qui exporte le pourcentage de remise de la condition tarifaire et uniquement le montant obtenu, sans la base.
Comment corriger
Ajoutez cbc:BaseAmount (UBL) / ram:BasisAmount (CII) avec le montant auquel le pourcentage a été appliqué, en veillant à ce que Amount = BaseAmount x pourcentage / 100 (PEPPOL-EN16931-R040), ou supprimez cbc:MultiplierFactorNumeric / ram:CalculationPercent et ne conservez que le montant. Le pourcentage peut rester visible dans le texte de cbc:AllowanceChargeReason si vous le souhaitez. Appliquez la même correction aux remises de ligne dans cac:InvoiceLine.
Exemple (valide)
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<cbc:AllowanceChargeReason>Discount</cbc:AllowanceChargeReason>
<cbc:MultiplierFactorNumeric>5</cbc:MultiplierFactorNumeric>
<cbc:Amount currencyID="EUR">12.50</cbc:Amount>
<cbc:BaseAmount currencyID="EUR">250.00</cbc:BaseAmount>
<cac:TaxCategory><cbc:ID>S</cbc:ID><cbc:Percent>19</cbc:Percent><cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme></cac:TaxCategory>
</cac:AllowanceCharge>
Ce que le validateur vérifie
Élément vérifié (contexte):
UBL
ubl-invoice:Invoice/cac:AllowanceCharge[cbc:MultiplierFactorNumeric and not(cbc:BaseAmount)] | ubl-invoice:Invoice/cac:InvoiceLine/cac:AllowanceCharge[cbc:MultiplierFactorNumeric and not(cbc:BaseAmount)] | ubl-creditnote:CreditNote/cac:AllowanceCharge[cbc:MultiplierFactorNumeric and not(cbc:BaseAmount)] | ubl-creditnote:CreditNote/cac:CreditNoteLine/cac:AllowanceCharge[cbc:MultiplierFactorNumeric and not(cbc:BaseAmount)]Test (XPath):
false()CII
ram:SpecifiedTradeAllowanceCharge[ram:CalculationPercent and not(ram:BasisAmount)]Test (XPath):
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-R041 ?
PEPPOL-EN16931-R041 est une règle peppol bis billing 3.0 : Allowance/charge base amount MUST be provided when allowance/charge percentage is provided.
Ma facture sera-t-elle rejetée à cause de PEPPOL-EN16931-R041 ?
Oui. PEPPOL-EN16931-R041 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-R041 ?
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.