Compte
Français

PEPPOL-EN16931-R043: ChargeIndicator différent de 'true' ou 'false'

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

Test (XPath):

normalize-space(cbc:ChargeIndicator/text()) = 'true' or normalize-space(cbc:ChargeIndicator/text()) = 'false'

CII

ram:SpecifiedTradeAllowanceCharge
ram:AppliedTradeAllowanceCharge

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

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-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.