Peppol error codes

PEPPOL-EN16931-R004: wrong specification (CustomizationID)

Error code PEPPOL-EN16931-R004 means: the CustomizationID does not start with the Peppol BIS Billing 3.0 value.

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-R004 mean?

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

[PEPPOL-EN16931-R004]-Specification identifier MUST begin with the value 'urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0' and follow the format rules for the identifier.

The CustomizationID (BT-24, cbc:CustomizationID) states which specification the invoice follows. On the Peppol network it must start with urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0. Plain urn:cen.eu:en16931:2017 is the European standard without Peppol, and Peppol does not accept it.

Common causes

  • The export uses the value for the European standard without Peppol.
  • A template for a national variant, such as XRechnung, was reused for Peppol.
  • The value contains a typo or a space.

How to fix it as the sender

  1. Use exactly urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0 for a normal Peppol invoice.
  2. Copy the value from the official specification instead of retyping it.
  3. Validate again. Also check the ProfileID: see PEPPOL-EN16931-R001.

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:CustomizationID>urn:cen.eu:en16931:2017</cbc:CustomizationID>

✅ Correct

<cbc:CustomizationID>urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0</cbc:CustomizationID>

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

A country with its own Peppol variant may use a longer value that starts with this text. That is why the rule says “must begin with”.

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

  • PEPPOL-EN16931-R001: The invoice does not state the Peppol process it is sent in.
  • PEPPOL-EN16931-R003: The invoice contains neither a buyer reference nor a purchase order number. Peppol requires at least one of them.

Frequently asked questions about PEPPOL-EN16931-R004

Where is the CustomizationID in the XML?

At the very top of the invoice, as the first element after any UBL extensions.

Why is urn:cen.eu:en16931:2017 not right?

That is the European standard without the extra Peppol arrangements. Peppol asks for the value stating that the invoice also complies with Peppol BIS Billing 3.0.

← All Peppol error codes