Offizieller Regeltext
[PEPPOL-EN16931-R008] Document MUST not contain empty elements.
Der normative Text ist Englisch und wird unverändert zitiert.
Warum dieser Fehler auftritt
Peppol verbietet Elemente, die weder Kindelemente noch Textinhalt haben, weil ein leeres Element mehrdeutig ist (fehlt der Wert oder ist er absichtlich leer?) und die Weiterverarbeitung stört. Die Regel markiert jedes Element, das //*[not(*) and not(normalize-space())] entspricht, in CII mit Ausnahme von ram:ApplicableHeaderTradeDelivery, das leer sein darf. Leere Elemente stammen fast immer aus Templates, die jedes optionale Tag ausgeben und nur bei vorhandenen Daten füllen, z. B. <cbc:Note/>, <cbc:Telephone></cbc:Telephone> oder ein leeres <cac:Delivery/>.
So beheben Sie den Fehler
Optionale Elemente nur erzeugen, wenn ein Wert vorliegt: jedes optionale Tag im Template oder Serializer in eine Bedingung einschließen. Werte, die nur aus Leerzeichen bestehen, entfernen, sie gelten als leer. Auch Container prüfen: Ein <cac:Contact/> ohne Kinder oder ein <cac:PartyIdentification><cbc:ID/></cac:PartyIdentification> schlagen beide fehl. Die Ausgabe erneut validieren, da das Entfernen eines leeren Kindes ein leeres Elternelement hinterlassen kann.
Beispiel (gültig)
<cac:Contact>
<cbc:Name>Debitorenbuchhaltung</cbc:Name>
<cbc:ElectronicMail>rechnung@muster-gmbh.de</cbc:ElectronicMail>
</cac:Contact>
Was der Validator prüft
Geprüftes Element (Kontext):
UBL
//*[not(*) and not(normalize-space())]Test (XPath):
false()CII
//*[not(name() = 'ram:ApplicableHeaderTradeDelivery') and not(*) and not(normalize-space())]Test (XPath):
false()
Rechnung prüfen
Legen Sie Ihre XML- oder PDF-Datei im Validator ab; jede verletzte Regel ist mit ihrer Seite hier verlinkt. Kostenlos, ohne Konto, die Datei wird nicht gespeichert.
Dieselbe Prüfung per API:
curl -F file=@invoice.xml https://einvoicechecker.com/v1/validateVerwandte Regeln
PEPPOL-EN16931-R001Geschäftsprozess-Kennung (BT-23) fehltPEPPOL-EN16931-R002No more than one note is allowed on document level, unless both the buyer and seller…PEPPOL-EN16931-R003Weder Käuferreferenz noch Bestellreferenz angegebenPEPPOL-EN16931-R004Spezifikationskennung ist nicht die Peppol-BIS-Billing-3.0-KennungPEPPOL-EN16931-R005Steuerwährung ist gleich der RechnungswährungPEPPOL-EN16931-R006Only one invoiced object is allowed on document levelPEPPOL-EN16931-R007Geschäftsprozess-Kennung hat das falsche FormatPEPPOL-EN16931-R010Elektronische Adresse des Käufers (BT-49) fehlt
Häufige Fragen
Was bedeutet PEPPOL-EN16931-R008?
PEPPOL-EN16931-R008 ist eine Peppol-BIS-Billing-3.0-Regel: Document MUST not contain empty elements.
Wird meine Rechnung wegen PEPPOL-EN16931-R008 abgelehnt?
Ja. PEPPOL-EN16931-R008 ist als „fatal“ eingestuft; Validatoren (KoSIT, Peppol Access Points, ZRE/OZG-RE) weisen die Rechnung zurück, bis der Fehler behoben ist.
Für welche Formate gilt PEPPOL-EN16931-R008?
Rechnungen und Gutschriften im Peppol-Netzwerk (UBL) und, weil XRechnung die Peppol-Regeln übernimmt, jede XRechnung. Syntax: UBL und CII.
Quelle: Peppol BIS Billing 3.0.20 (November 2025). Katalog erzeugt aus dem offiziellen Schematron am 2026-10-14.