Peppol error codes

PEPPOL-EN16931-R008: empty elements in the invoice

Error code PEPPOL-EN16931-R008 means: the invoice contains an element without content.

Rule set: Peppol BIS Billing 3.0 · Severity: error (fatal): an Access Point rejects the invoice · Checked against the official rules of May 2026

What does PEPPOL-EN16931-R008 mean?

The validator shows this message (as worded in the official rules):

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

Peppol does not accept empty elements, such as <cbc:Note></cbc:Note> or <cbc:StreetName/>. Simply leave out a field without a value. This error is very common in exports that fill in a fixed template, even when there is nothing to fill in.

Common causes

  • The export template writes every field, even when it is empty in the software.
  • An optional field, such as a second address line or a reference, was sent without a value.
  • A field contains only spaces.

How to fix it as the sender

  1. Have the export leave out empty fields instead of writing them empty.
  2. Search the XML for ></ and /> to find empty elements.
  3. Validate again. Several messages often disappear at once.

Received an invoice with this error?

An invoice with this error is not compliant. Ask the supplier for a corrected invoice and do not change the XML yourself.

Example in the XML

❌ Wrong

<cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
<cbc:Note></cbc:Note>

✅ Correct

<cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
<!-- no empty Note: simply leave the element out -->

Both snippets come from a complete test invoice that we checked with our validator: the wrong version gives exactly this message, the correct version no errors at all.

Good to know

For this error, the validator shows the location in the file. That way you quickly find which field is empty.

Check your invoice

Drop your XML into the free validator. You see right away whether this error still occurs, with a link to the explanation for every message.

Official rule

The full rule with its technical test (Schematron) is in the official Peppol documentation:

Related error codes

Frequently asked questions about PEPPOL-EN16931-R008

Does an element with only spaces count as empty?

Yes. An element with only spaces or a line break counts as empty.

May a mandatory field stay empty then?

No. A mandatory field needs a real value. If it is missing, you get another error for that field.

← All Peppol error codes