PEPPOL-EN16931-R008: The invoice contains empty elements
Official message
[PEPPOL-EN16931-R008] Document MUST not contain empty elements. (still status warning)
[PEPPOL-EN16931-R008] Document MUST not contain empty elements.
[PEPPOL-EN16931-R008] Document MUST not contain empty elements.
- Severity
- Error The invoice is invalid and may be rejected by the recipient.
- Applies to
- Factur-X / ZUGFeRD EN 16931, XRechnung (CII), XRechnung (UBL)
What does this mean?
Document MUST not contain empty elements. At least one element has neither text nor child elements (e.g. an empty ram:Name or an element containing only spaces).
The rule originates from Peppol BIS Billing 3.0. In the XRechnung validation it is an error; in CII only ram:ApplicableHeaderTradeDelivery is exempt there. In the Factur-X/ZUGFeRD validation (EN 16931) it is reported as a warning.
Typical causes
An optional field was output empty instead of being omitted.
A field contains only spaces.
A program outputs all elements of a template, even without a value.
How to fix the error
Locate the empty element in the XML and either fill it with the correct value or omit it completely.
Fill or remove elements that only contain spaces in the same way.
Generate and validate the invoice again.
Example
Wrong
<ram:BuyerTradeParty>
<ram:Name>Sample Corp</ram:Name>
<ram:DefinedTradeContact>
<ram:PersonName></ram:PersonName>
</ram:DefinedTradeContact>
...
</ram:BuyerTradeParty>
Correct
<ram:BuyerTradeParty>
<ram:Name>Sample Corp</ram:Name>
...
</ram:BuyerTradeParty>
For developers: test expression per syntax
Factur-X / ZUGFeRD EN 16931 (CII)
Technical ID in the source: FX-SCH-A-000372
Context: //*[not(*) and not(normalize-space())]
false
XRechnung (CII) (CII)
Context: //*[not(name() = 'ram:ApplicableHeaderTradeDelivery') and not(*) and not(normalize-space())]
false()
XRechnung (UBL) (UBL)
Context: //*[not(*) and not(normalize-space())]
self::cbc:ID[parent::cac:OrderReference]
Related validation rules
- PEPPOL-EN16931-R001: Business process type (BT-23) is missing
- PEPPOL-EN16931-R005: VAT accounting currency (BT-6) equals the invoice currency (BT-5)
- PEPPOL-EN16931-R010: Buyer electronic address (BT-49) is missing
- PEPPOL-EN16931-R020: Seller electronic address (BT-34) is missing
- PEPPOL-EN16931-R040: Allowance or charge amount does not match base amount and percentage
- PEPPOL-EN16931-R041: Base amount missing for allowance or charge with percentage
Last updated:
Explanation of the validation rule, not legal or tax advice.