What does PEPPOL-EN16931-R004 mean?
The specification identifier (BT-24) tells the recipient which rule set the invoice follows. Peppol expects its own identifier value here. XRechnung uses a different value (see BR-DE-21) - the identifier must match the actual transmission route.
Common causes of PEPPOL-EN16931-R004
- The invoice carries the plain EN 16931 or XRechnung identifier but is checked against Peppol.
- Typing error or outdated identifier in BT-24.
How to fix PEPPOL-EN16931-R004
- Find the faulty spot in the XML. Open the XML of the invoice and go to field BT-24 along this XPath:
//rsm:CrossIndustryInvoice/rsm:ExchangedDocumentContext/ram:GuidelineSpecifiedDocumentContextParameter/ram:ID - Apply the fix. Set BT-24 in 'ram:GuidelineSpecifiedDocumentContextParameter/ram:ID' to 'urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0'.
- Validate again. Save the file and validate it again to check that PEPPOL-EN16931-R004 is no longer reported.
Set BT-24 in 'ram:GuidelineSpecifiedDocumentContextParameter/ram:ID' to 'urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0'.
//rsm:CrossIndustryInvoice/rsm:ExchangedDocumentContext/ram:GuidelineSpecifiedDocumentContextParameter/ram:IDFrequent questions about PEPPOL-EN16931-R004
Which identifier is right - Peppol or XRechnung?
Related error codes
Check PEPPOL-EN16931-R004 automatically
Instead of digging through the XML by hand you can validate your ZUGFeRD or XRechnung file online – upload the PDF or the XML and you get every error with rule ID, affected field, fix and XPath, as a readable report or as JSON through the API.