PEPPOL-EN16931-R001fatal
How to fix PEPPOL-EN16931-R001
Business process MUST be provided.
What this rule checks
Every Peppol BIS 3.0 invoice must include a business process identifier (BT-23, mapped to cbc:ProfileID). This element tells the Peppol network which business process the document belongs to (e.g. billing, ordering). Without it, the access point cannot route the document to the correct process handler on the receiver's side.
How to fix it
Add cbc:ProfileID with the appropriate Peppol process identifier, e.g. 'urn:fdc:peppol.eu:2017:poacc:billing:01:1.0'.
Common causes
- The cbc:ProfileID element is missing from the invoice header.
- The element is present but empty.
- The ProfileID was confused with CustomizationID and omitted.
- An older template was used that did not include the ProfileID field.
Example: before (broken)
<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">
<cbc:CustomizationID>urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0</cbc:CustomizationID>
<!-- cbc:ProfileID is missing -->
<cbc:ID>INV-2024-001</cbc:ID>
</Invoice>Example: after (fixed)
<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">
<cbc:CustomizationID>urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0</cbc:CustomizationID>
<cbc:ProfileID>urn:fdc:peppol.eu:2017:poacc:billing:01:1.0</cbc:ProfileID>
<cbc:ID>INV-2024-001</cbc:ID>
</Invoice>Related rules
Validate your invoice
Upload your corrected invoice to check it passes PEPPOL-EN16931-R001 and all other EN 16931 and Peppol BIS 3.0 rules. Free, instant, no signup.