Account
English

PEPPOL-EN16931-P0104: Tax Category G MUST be used when exemption reason code is VATEX-EU-G

Peppol BIS Billing 3.0 rule · Error · UBL

StandardPeppol BIS Billing 3.0 (OpenPeppol)SeverityError: the invoice is rejectedSyntaxUBLApplies toInvoices and credit notes sent over the Peppol network (UBL) and, because XRechnung embeds the Peppol rule set, every XRechnung as well.

Official rule text

[PEPPOL-EN16931-P0104] Tax Category G MUST be used when exemption reason code is VATEX-EU-G

Why this error occurs

This rule only applies when another field has a certain value (for example a payment means code or an invoice type). Your file triggers the condition but does not provide the data that then becomes mandatory, or provides data that is then forbidden.

How to fix it

Either change the triggering value so the condition no longer applies, or add/remove the dependent elements as the rule text describes. Check the condition in the XPath test above to see exactly which value triggers it.

What the validator checks

Checked element (context):

UBL

cac:TaxCategory[upper-case(cbc:TaxExemptionReasonCode)='VATEX-EU-G']

Test (XPath):

normalize-space(cbc:ID)='G'

Check your invoice

Drop your XML or PDF on the validator and every failed rule is linked to its page here. Free, no account, the file is not stored.

Check your invoice →

Same check via API:

curl -F file=@invoice.xml https://einvoicechecker.com/v1/validate

Related rules

Frequently asked questions

What does PEPPOL-EN16931-P0104 mean?

PEPPOL-EN16931-P0104 is a peppol bis billing 3.0 rule: Tax Category G MUST be used when exemption reason code is VATEX-EU-G

Will my invoice be rejected because of PEPPOL-EN16931-P0104?

Yes. PEPPOL-EN16931-P0104 is flagged "fatal"; validators (KoSIT, Peppol access points, the German ZRE/OZG-RE portals) reject the invoice until it is fixed.

Which formats does PEPPOL-EN16931-P0104 apply to?

Invoices and credit notes sent over the Peppol network (UBL) and, because XRechnung embeds the Peppol rule set, every XRechnung as well. Syntax: UBL.

Source: Peppol BIS Billing 3.0.20 (November 2025). Catalogue generated from the official schematron on 2026-10-14.