Reference
Markdown exportPEPPOL-EN16931-R008 Document must not contain empty elements
PEPPOL-EN16931-R008 reports every XML element that has neither text nor child elements, for example <cbc:Note/> or <cbc:Telephone> </cbc:Telephone>. Attributes do not count as content, so <cbc:EndpointID schemeID="EM"/> is empty too. The KoSIT configuration for XRechnung 3.0.2 runs the rule as a fatal error for UBL and CII. It skips only an empty cbc:ID in cac:OrderReference (UBL) and ram:ApplicableHeaderTradeDelivery, which the CII schema requires.
Problem Description
ERROR
Peppol BIS Billing 3.0 rule (OpenPeppol)
Interactive pipeline
Where PEPPOL-EN16931-R008 is checked
Click a stage to see what it checks, or type a rule ID to light up the stage that reports it.
PEPPOL-EN16931-R008 Peppol BIS Billing rule
Reported in stage 3: National rules (CIUS).
Level error: the report recommends rejecting the invoice.
Stage 3 · What it checks
National rules (CIUS)
- 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.
Context and Significance
Empty elements usually come from export templates that write every field, even when the source has no value: an empty note, contact field, address line or party block. A placeholder hides the structural error but puts wrong data into the invoice.
Solution
Remove the empty element. If its parent group then holds no data, remove the group as well. If the field is required, enter the real value from the source document. Do not fill the element with a placeholder such as "-" or "n/a". The location in the validator report (an XPath) names the element.
Quick actions
Valid Examples
- <cbc:Telephone>+49 30 1234567</cbc:Telephone>
- No cbc:Note element when the invoice has no note
Invalid Examples
- <cbc:Note/>
- <cbc:Telephone></cbc:Telephone>
- <cbc:EndpointID schemeID="EM"/>
Code Examples
<cac:Contact>
<cbc:Name>Accounts receivable</cbc:Name>
<cbc:Telephone>+49 30 1234567</cbc:Telephone>
<cbc:ElectronicMail>billing@example.com</cbc:ElectronicMail>
</cac:Contact><cac:Contact>
<cbc:Name>Accounts receivable</cbc:Name>
<cbc:Telephone/>
<cbc:ElectronicMail>billing@example.com</cbc:ElectronicMail>
</cac:Contact>