Compte
Français

PEPPOL-EN16931-R008: Le document contient des éléments vides

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-R008] Document MUST not contain empty elements.

Le texte normatif est en anglais ; il est cité tel quel.

Pourquoi cette erreur apparaît

Peppol interdit les éléments sans élément enfant ni contenu textuel, car un élément vide est ambigu (valeur manquante ou volontairement vide ?) et perturbe les traitements en aval. La règle signale chaque élément correspondant à //*[not(*) and not(normalize-space())], avec en CII une exception pour ram:ApplicableHeaderTradeDelivery, qui peut être vide. Les éléments vides proviennent presque toujours de modèles qui émettent toutes les balises facultatives et ne les remplissent que si des données existent, par ex. <cbc:Note/>, <cbc:Telephone></cbc:Telephone> ou un <cac:Delivery/> vide.

Comment corriger

Ne générez les éléments facultatifs que lorsque vous disposez d'une valeur : soumettez chaque balise facultative à une condition dans votre modèle ou votre sérialiseur. Supprimez les valeurs composées uniquement d'espaces, qui comptent comme vides. Vérifiez aussi les conteneurs : un <cac:Contact/> sans enfant ou un <cac:PartyIdentification><cbc:ID/></cac:PartyIdentification> échouent tous deux. Repassez le résultat au validateur, car la suppression d'un enfant vide peut laisser un parent vide.

Exemple (valide)

<cac:Contact>
  <cbc:Name>Accounts receivable</cbc:Name>
  <cbc:ElectronicMail>invoice@muster-gmbh.de</cbc:ElectronicMail>
</cac:Contact>

Ce que le validateur vérifie

Élément vérifié (contexte):

UBL

//*[not(*) and not(normalize-space())]

Test (XPath):

false()

CII

//*[not(name() = 'ram:ApplicableHeaderTradeDelivery') and not(*) and not(normalize-space())]

Test (XPath):

false()

Corriger automatiquement

Cette erreur peut être corrigée automatiquement : déposez le fichier dans le vérificateur et cliquez sur « Corriger automatiquement ».

Corriger ma 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-R008 ?

PEPPOL-EN16931-R008 est une règle peppol bis billing 3.0 : Document MUST not contain empty elements.

Ma facture sera-t-elle rejetée à cause de PEPPOL-EN16931-R008 ?

Oui. PEPPOL-EN16931-R008 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-R008 ?

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.