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.
| Veld | Value |
| Rule | PEPPOL-EN16931-R004 |
| Severity | Fatal |
| Validation layer | Peppol BIS |
| Field affected | cbc:CustomizationID (BT-24) |
| Applies to | UBL Invoice and CreditNote |
| Release described | Peppol 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
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:CustomizationIDis 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
- Open the generated XML. Locate
cbc:CustomizationIDnear the beginning of the rootInvoiceorCreditNoteelement. - Check the complete value. Look for a shortened identifier, a value from another format, a typing error or an appended
::version suffix. - Set the canonical identifier. For standard Peppol BIS Billing 3.0, replace the value with the identifier shown above.
- 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.
- 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>
Incorrect: incomplete identifier
<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>
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
| Element | Purpose |
cbc:CustomizationID | Identifies the specification and rule set that the document follows. |
cbc:ProfileID | Identifies the business process in which the document is exchanged. |
Changing ProfileID will not resolve PEPPOL-EN16931-R004. The error concerns CustomizationID.
Related guidance
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.