Skip to main content

PEPPOL-EN16931-R001 Business process identifier (ProfileID) must be provided

Under Peppol rule PEPPOL-EN16931-R001, every invoice and credit note in Peppol BIS Billing 3.0 must contain the business process identifier in BT-23 (cbc:ProfileID). R001 checks only that the element is present; a value that is not an approved Peppol process identifier triggers PEPPOL-EN16931-R007 instead. For standard billing the value is "urn:fdc:peppol.eu:2017:poacc:billing:01:1.0". Peppol access points and Service Metadata Publishers (SMP) use this identifier to check that the recipient accepts the process.

Problem Description

ERROR

Peppol BIS Billing 3.0 rule (OpenPeppol)

Interactive pipeline

Click a stage to see what it checks, or type a rule ID to light up the stage that reports it.

Try:

PEPPOL-EN16931-R001 Peppol BIS Billing rule

Reported in stage 3: National rules (CIUS).

Level error: the report recommends rejecting the invoice.

Stage 3 · What it checks

  • The specification identifier in BT-24 selects the rule set, for example XRechnung 3.0 or Peppol BIS Billing 3.0.
  • XRechnung adds the German BR-DE rules: buyer reference (BT-10), seller contact, payment instructions.
  • Peppol adds PEPPOL-EN16931 and country rules. XRechnung applies some PEPPOL-EN16931 rules too.

Example codes

Typical fix

Fill the fields the rule set requires in your master data, such as the Leitweg-ID in BT-10 or the seller contact.

A validator checks an e-invoice in stages. First the file must be well-formed XML that matches the UBL or CII schema (XSD). Then the EN 16931 business rules run: BR core rules, BR-CO calculations, BR-CL code lists, BR-DEC decimals and VAT-category rules such as BR-S. Next come the national or network rules that BT-24 selects: BR-DE for XRechnung, PEPPOL-EN16931 for Peppol BIS Billing. The report lists every failed rule: one error means reject, warnings alone still mean accept. PEPPOL-EN16931-R001: Peppol BIS Billing rule, reported in the stage “National rules (CIUS)”. Rule sets: KoSIT validator 1.6.3 with the XRechnung configuration of 31 Aug 2026 (EN 16931 artefacts 1.3.16), Peppol BIS Billing 3.0.21.

Context and Significance

The sending Peppol access point validates the invoice before transmission and refuses an invoice without ProfileID, so it never reaches the recipient. The ProfileID must also match a process the recipient has registered in the SMP. The error usually appears when a generator writes only the CustomizationID (BT-24) and not BT-23, for example when an XRechnung export is reused for Peppol.

Solution

In your XML generator, set BT-23 to urn:fdc:peppol.eu:2017:poacc:billing:01:1.0. In UBL 2.1, add <cbc:ProfileID>urn:fdc:peppol.eu:2017:poacc:billing:01:1.0</cbc:ProfileID> directly under <Invoice> or <CreditNote>, right after cbc:CustomizationID. Peppol BIS Billing 3.0 is exchanged as UBL 2.1, and the Peppol validation artefacts check the UBL syntax.

Quick actions

Valid Examples

  • BT-23 = "urn:fdc:peppol.eu:2017:poacc:billing:01:1.0" (Official Peppol BIS Billing 3.0 ProfileID)

Invalid Examples

  • Invoice header completely omits the cbc:ProfileID element
  • Invoice header contains only cbc:CustomizationID (BT-24) and no cbc:ProfileID (BT-23)
  • BT-23 = "urn:cen.eu:en16931:2017" is present but not an approved Peppol process: reported by PEPPOL-EN16931-R007, not R001

Code Examples

Valid XML
<cbc:ProfileID>urn:fdc:peppol.eu:2017:poacc:billing:01:1.0</cbc:ProfileID>
Invalid XML
<cbc:CustomizationID>urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0</cbc:CustomizationID>

Affected Fields

Validation Tools