# PEPPOL-EN16931-R008 Het document mag geen lege elementen bevatten

PEPPOL-EN16931-R008 meldt elk XML-element zonder tekst en zonder onderliggende elementen, bijvoorbeeld <cbc:Note/> of <cbc:Telephone> </cbc:Telephone>. Attributen tellen niet als inhoud, dus ook <cbc:EndpointID schemeID="EM"/> is leeg. De KoSIT-configuratie voor XRechnung 3.0.2 past de regel als fatale fout toe op UBL en CII. Alleen een lege cbc:ID in cac:OrderReference (UBL) en ram:ApplicableHeaderTradeDelivery, dat het CII-schema verplicht stelt, zijn uitgezonderd.

## Probleembeschrijving

> **FOUT**: Regel van Peppol BIS Billing 3.0 (OpenPeppol)

> **Waar PEPPOL-EN16931-R008 wordt gecontroleerd**
>
> Een validator controleert een e-factuur in stappen. Eerst moet het bestand goed gevormde XML zijn die past bij het UBL- of CII-schema (XSD). Dan volgen de bedrijfsregels van EN 16931: BR-kernregels, BR-CO-berekeningen, BR-CL-codelijsten, BR-DEC-decimalen en regels per btw-categorie zoals BR-S. Daarna komen de nationale of netwerkregels die BT-24 kiest: BR-DE voor XRechnung, PEPPOL-EN16931 voor Peppol BIS Billing. Het rapport noemt elke geschonden regel: één fout betekent afwijzen, alleen waarschuwingen betekenen nog steeds accepteren. PEPPOL-EN16931-R008: regel van Peppol BIS Billing, gemeld in de stap “Nationale regels (CIUS)”.

## Context en betekenis

Lege elementen komen meestal uit exportsjablonen die elk veld schrijven, ook als de bron geen waarde heeft: een lege opmerking, een contactveld, een adresregel of een partijblok. Een placeholder verbergt de structuurfout, maar zet onjuiste gegevens in de factuur.

## Oplossing

Verwijder het lege element. Bevat de bovenliggende groep daarna geen gegevens meer, verwijder dan ook de groep. Is het veld verplicht, vul dan de echte waarde uit het brondocument in. Vul het element niet met een placeholder zoals "-" of "n/a". De locatie in het validatierapport (een XPath) noemt het element.

- [XML valideren](/nl/xrechnung-validator?source=resource&rule=PEPPOL-EN16931-R008)
- [Factuur converteren](/nl/pdf-to-xrechnung?source=resource&rule=PEPPOL-EN16931-R008)

## Geldige voorbeelden

- <cbc:Telephone>+49 30 1234567</cbc:Telephone>
- Geen cbc:Note-element als de factuur geen opmerking heeft

## Ongeldige voorbeelden

- <cbc:Note/>
- <cbc:Telephone></cbc:Telephone>
- <cbc:EndpointID schemeID="EM"/>

## Codevoorbeelden

### Geldig XML
```
<cac:Contact>
  <cbc:Name>Accounts receivable</cbc:Name>
  <cbc:Telephone>+49 30 1234567</cbc:Telephone>
  <cbc:ElectronicMail>billing@example.com</cbc:ElectronicMail>
</cac:Contact>
```

### Ongeldig XML
```
<cac:Contact>
  <cbc:Name>Accounts receivable</cbc:Name>
  <cbc:Telephone/>
  <cbc:ElectronicMail>billing@example.com</cbc:ElectronicMail>
</cac:Contact>
```

## Betrokken velden

- [BT-22 Factuuropmerking](/resources/xrechnung/bt-22-invoice-note)
- [BT-34 Elektronisch adres verkoper](/resources/xrechnung/bt-34-seller-electronic-address)
- [BT-42 Telefoonnummer verkoperscontact](/resources/xrechnung/bt-42-seller-contact-telephone-number)

## Validatietools

- [Officiële KoSIT-validator](https://github.com/itplr-kosit/validator): Draai de officiële KoSIT-validator met de XRechnung-configuratie om EN 16931- en XRechnung-regels te controleren.
- [PDF naar XRechnung converteren](/pdf-to-xrechnung): Vind validatiefouten tijdens de conversie en controleer elke correctie.

## Gerelateerde bronnen

- [Officiële specificatie](https://docs.peppol.eu/poacc/billing/3.0/rules/ubl-peppol/)
- [Testsuite](https://github.com/itplr-kosit/xrechnung-testsuite)
- [Alle validatiefouten](/resources/kosit-validator-errors): Overzicht van de hier uitgelegde validatieregels uit EN 16931, XRechnung en Peppol.
