Reference
Markdown exportPEPPOL-EN16931-R001 Profile ID must match Peppol BIS Billing 3.0
Under the Peppol BIS Billing 3.0 specification (based on European standard EN 16931-1), every electronic invoice transmitted across the OpenPeppol four-corner network must declare the standard Business Process Profile Identifier in BT-23 (ProfileID). For standard commercial invoices and credit notes, this value must exactly match the official Peppol URN: "urn:fdc:peppol.eu:2017:poacc:billing:01:1.0". Peppol Access Points (APs) and Service Metadata Publishers (SMPs) use this identifier to look up recipient participant capabilities, match routing profiles, and execute Schematron validation during network ingestion.
Problem Description
Under the Peppol BIS Billing 3.0 specification (based on European standard EN 16931-1), every electronic invoice transmitted across the OpenPeppol four-corner network must declare the standard Business Process Profile Identifier in BT-23 (ProfileID). For standard commercial invoices and credit notes, this value must exactly match the official Peppol URN: "urn:fdc:peppol.eu:2017:poacc:billing:01:1.0". Peppol Access Points (APs) and Service Metadata Publishers (SMPs) use this identifier to look up recipient participant capabilities, match routing profiles, and execute Schematron validation during network ingestion.
ERROR
XRechnung 3.0
Context and Significance
An absent or non-matching ProfileID causes transmitting Access Points to reject the message immediately during AS4 transmission packaging, halting delivery before reaching the recipient.
Solution
In your XML generator or e-invoicing export module, set BT-23 to the official Peppol billing profile URN: urn:fdc:peppol.eu:2017:poacc:billing:01:1.0. In UBL 2.1 syntax, populate <cbc:ProfileID>urn:fdc:peppol.eu:2017:poacc:billing:01:1.0</cbc:ProfileID> directly under the root <Invoice> or <CreditNote> element. In UN/CEFACT CII syntax, populate <ram:BusinessProcessSpecifiedDocumentContextParameter><ram:ID>urn:fdc:peppol.eu:2017:poacc:billing:01:1.0</ram:ID></ram:BusinessProcessSpecifiedDocumentContextParameter>.
Quick actions
Valid Examples
Use these points as the practical checks for this section.
- BT-23 = "urn:fdc:peppol.eu:2017:poacc:billing:01:1.0" (Official Peppol BIS Billing 3.0 ProfileID)
Invalid Examples
Use these points as the practical checks for this section.
- Invoice header completely omits the cbc:ProfileID element
- BT-23 = "urn:cen.eu:en16931:2017" (Base CEN standard identifier used instead of the Peppol process profile URN)
- BT-23 = "billing:01:1.0" (Incomplete URN prefix missing the official Peppol namespace)
Code Examples
<cbc:ProfileID>urn:fdc:peppol.eu:2017:poacc:billing:01:1.0</cbc:ProfileID><!-- Missing cbc:ProfileID (BT-23) in invoice header -->
<cbc:CustomizationID>urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0</cbc:CustomizationID>