1. Startseite
  2. Wissensdatenbank
  3. Peppol
  4. How to fix PEPPOL-EN16931-R004

How to fix PEPPOL-EN16931-R004

How to fix PEPPOL-EN16931-R004

PEPPOL-EN16931-R004 is a fatal Peppol BIS Billing validation error. It means that the specification identifier in BT-24, represented by cbc:CustomizationID, does not follow the identifier format required for a Peppol BIS Billing 3.0 invoice or credit note. The document is not compliant and should not be sent through the Peppol network until the value has been corrected.

FeldWert
RulePEPPOL-EN16931-R004
SeverityFatal
Validation layerPeppol BIS
Field affectedcbc:CustomizationID (BT-24)
Applies toUBL Invoice and CreditNote
Release describedPeppol BIS Billing 3.0.21

What the error means

CustomizationID tells a validator and receiving system which specification and business rules the document claims to follow. For a standard Peppol BIS Billing 3.0 document, the value identifies both EN 16931 compliance and the Peppol Billing usage specification.

This is not a Peppol participant ID and it does not identify the sender or recipient. It is also different from ProfileID, which identifies the business process in which the document is exchanged.

What PEPPOL-EN16931-R004 checks

The current OpenPeppol rule checks that the normalized CustomizationID:

  • starts with the required Peppol BIS Billing 3.0 identifier; and
  • does not contain a double-colon version suffix, written as ::.

For a standard Peppol BIS Billing 3.0 invoice or credit note, use the canonical value below exactly as shown:

urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0
urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0

Keep it as one continuous string. Although the validation test normalizes whitespace before checking the value, using the canonical value without added spaces, line breaks or suffixes avoids ambiguity and mapping errors.

Why version suffixes fail

OpenPeppol updated the fatal R004 rule in Peppol BIS Billing 3.0.21 to make the requirement explicit: CustomizationID must not include version information. The release was published in May 2026 and became mandatory on 17 August 2026. A value copied from an older implementation may therefore fail current validation if it ends with a version suffix such as ::2.1 or ::3.0.

Common causes

  • Wrong specification: the ERP or converter inserts an identifier for another CIUS, format or network.
  • Incomplete identifier: the value declares EN 16931 but omits the Peppol BIS Billing part.
  • Version information appended: the value ends with a double-colon suffix that the current rule rejects.
  • Missing or empty element: cbc:CustomizationID is absent, empty or written in the wrong XML namespace. This can also trigger BR-01.
  • Incorrect source mapping: a template, middleware mapping or export setting generates the wrong value for every document.

How to fix PEPPOL-EN16931-R004

  1. Open the generated XML. Locate cbc:CustomizationID near the beginning of the root Invoice or CreditNote element.
  2. Check the complete value. Look for a shortened identifier, a value from another format, a typing error or an appended :: version suffix.
  3. Set the canonical identifier. For standard Peppol BIS Billing 3.0, replace the value with the identifier shown above.
  4. Correct the source configuration. Update the ERP export, document template or transformation mapping that generated the value. Editing only one XML file leaves the underlying error in place.
  5. Generate and validate a new document. Run the complete XML through current Peppol BIS Billing validation artifacts before attempting delivery again.

If the document is intentionally based on a different CIUS, national specification or PINT profile, do not replace the identifier blindly. Confirm the CustomizationID required by that specification and validate the document against the corresponding rule set.

XML examples

Correct for standard Peppol BIS Billing 3.0

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

Incorrect: incomplete identifier

<cbc:CustomizationID>urn:cen.eu:en16931:2017</cbc:CustomizationID>
<cbc:CustomizationID>urn:cen.eu:en16931:2017</cbc:CustomizationID>

Incorrect: version information appended

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

If BR-01 also appears

BR-01 requires every invoice and credit note to contain a specification identifier in BT-24. If CustomizationID is missing, empty or not recognised in the expected namespace, a validator may report BR-01 as well as R004. Correct the presence, namespace, and value of the element, then validate the regenerated document. Do not treat the two messages as unrelated faults.

CustomizationID and ProfileID are not interchangeable

ElementPurpose
cbc:CustomizationIDIdentifies the specification and rule set that the document follows.
cbc:ProfileIDIdentifies the business process in which the document is exchanged.

Changing ProfileID will not resolve PEPPOL-EN16931-R004. The error concerns CustomizationID.

Normative source

The validation requirement and rule test are published by OpenPeppol. This article provides Qvalia’s practical explanation and implementation guidance. Always use the validation artifacts applicable to the document and current Peppol release.

Describes Peppol BIS Billing 3.0.21 and validation artifacts 1.3.16. Last reviewed 28 September 2026.

War dieser Artikel hilfreich?

Verwandte Artikel