Texte officiel de la règle
[PEPPOL-EN16931-R043] Allowance/charge ChargeIndicator value MUST equal 'true' or 'false'
Le texte normatif est en anglais ; il est cité tel quel.
Pourquoi cette erreur apparaît
L'indicateur de majoration précise si un cac:AllowanceCharge est une majoration (true) ou une remise (false), et Peppol impose les valeurs littérales en minuscules. La règle vérifie que cbc:ChargeIndicator au niveau document et ligne (UBL) ou ram:ChargeIndicator/udt:Indicator (CII) vaut exactement true ou false. Elle échoue sur 1/0, True/FALSE, yes/no ou des valeurs entourées d'espaces, qui proviennent généralement d'un booléen sérialisé avec le formatage par défaut du langage de programmation.
Comment corriger
Sérialisez l'indicateur sous forme des chaînes en minuscules true ou false, sans espace autour. En UBL, cbc:ChargeIndicator est le premier enfant de cac:AllowanceCharge ; en CII, la structure est ram:ChargeIndicator/udt:Indicator. Utilisez true pour les majorations (transport, emballage, frais) et false pour les remises (rabais, ristournes). Corrigez le mappage une fois pour toutes dans le sérialiseur plutôt que document par document.
Exemple (valide)
<cac:AllowanceCharge>
<cbc:ChargeIndicator>true</cbc:ChargeIndicator>
<cbc:AllowanceChargeReason>Freight</cbc:AllowanceChargeReason>
<cbc:Amount currencyID="EUR">5.90</cbc:Amount>
<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 | ubl-invoice:Invoice/cac:InvoiceLine/cac:AllowanceCharge | ubl-creditnote:CreditNote/cac:AllowanceCharge | ubl-creditnote:CreditNote/cac:CreditNoteLine/cac:AllowanceChargeTest (XPath):
normalize-space(cbc:ChargeIndicator/text()) = 'true' or normalize-space(cbc:ChargeIndicator/text()) = 'false'CII
ram:SpecifiedTradeAllowanceCharge
ram:AppliedTradeAllowanceChargeTest (XPath):
normalize-space(ram:ChargeIndicator/udt:Indicator/text()) = 'true' or normalize-space(ram:ChargeIndicator/udt:Indicator/text()) = '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-R043 ?
PEPPOL-EN16931-R043 est une règle peppol bis billing 3.0 : Allowance/charge ChargeIndicator value MUST equal 'true' or 'false'
Ma facture sera-t-elle rejetée à cause de PEPPOL-EN16931-R043 ?
Oui. PEPPOL-EN16931-R043 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-R043 ?
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.