Account
Nederlands

PEPPOL-EN16931-R008: Document bevat lege elementen

Peppol BIS Billing 3.0-regel · Fout · UBL, CII

StandaardPeppol BIS Billing 3.0 (OpenPeppol)ErnstFout: de factuur wordt geweigerdSyntaxUBL, CIIGeldt voorFacturen en creditnota's via het Peppol-netwerk (UBL), inclusief NLCIUS, en elke XRechnung omdat die de Peppol-regels overneemt.

Officiële regeltekst

[PEPPOL-EN16931-R008] Document MUST not contain empty elements.

De normatieve tekst is Engels en wordt ongewijzigd geciteerd.

Waarom deze fout optreedt

Peppol verbiedt elementen zonder kindelementen en zonder tekstinhoud, omdat een leeg element dubbelzinnig is (ontbreekt de waarde of is ze bewust leeg?) en de verdere verwerking verstoort. De regel markeert elk element dat voldoet aan //*[not(*) and not(normalize-space())], in CII met een uitzondering voor ram:ApplicableHeaderTradeDelivery, dat leeg mag zijn. Lege elementen komen vrijwel altijd uit sjablonen die elke optionele tag aanmaken en die alleen vullen als er gegevens zijn, bijv. <cbc:Note/>, <cbc:Telephone></cbc:Telephone> of een lege <cac:Delivery/>.

Zo lost u het op

Genereer optionele elementen alleen als u een waarde heeft: zet elke optionele tag in uw sjabloon of serializer binnen een voorwaarde. Verwijder waarden die alleen uit witruimte bestaan, want die gelden als leeg. Controleer ook containers: een <cac:Contact/> zonder kindelementen of een <cac:PartyIdentification><cbc:ID/></cac:PartyIdentification> faalt allebei. Haal de uitvoer opnieuw door de validator, want het verwijderen van één leeg kindelement kan een leeg ouderelement achterlaten.

Voorbeeld (geldig)

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

Wat de validator controleert

Gecontroleerd element (context):

UBL

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

Test (XPath):

false()

CII

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

Test (XPath):

false()

Automatisch herstellen

Deze fout kan automatisch worden hersteld: sleep het bestand naar de checker en klik op "Automatisch herstellen".

Factuur herstellen →

Dezelfde controle via API:

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

Gerelateerde regels

Veelgestelde vragen

Wat betekent PEPPOL-EN16931-R008?

PEPPOL-EN16931-R008 is een peppol bis billing 3.0-regel: Document MUST not contain empty elements.

Wordt mijn factuur geweigerd vanwege PEPPOL-EN16931-R008?

Ja. PEPPOL-EN16931-R008 is "fataal"; validators (Peppol-accesspoints, KoSIT, KSeF) weigeren de factuur totdat de fout is opgelost.

Voor welke formaten geldt PEPPOL-EN16931-R008?

Facturen en creditnota's via het Peppol-netwerk (UBL), inclusief NLCIUS, en elke XRechnung omdat die de Peppol-regels overneemt. Syntax: UBL en CII.

Bron: Peppol BIS Billing 3.0.20 (November 2025). Catalogus gegenereerd uit de officiële regelsets op 2026-10-15.