EN 16931 rules › BR-E-10
BR-E-10 — A VAT Breakdown (BG-23) with VAT Category code (BT-118) "Exempt from VAT" shall have a VAT exemption reason code…
| Rule id | BR-E-10 |
|---|---|
| Rule set | EN 16931 itself, not a national or network addition |
| Severity | fatal in CII and UBL — a validator enforcing this rule set rejects the invoice |
| Applies to | the CII and UBL syntaxes |
| Checked by | the validator on this site and invoicekit.go v0.2.11, the library behind it |
The rule as published
A VAT Breakdown (BG-23) with VAT Category code (BT-118) "Exempt from VAT" shall have a VAT exemption reason code (BT-121) or a VAT exemption reason text (BT-120).
fatal in CII — a validator enforcing this rule set rejects the invoice.
A VAT breakdown (BG-23) with VAT Category code (BT-118) "Exempt from VAT" shall have a VAT exemption reason code (BT-121) or a VAT exemption reason text (BT-120).
fatal in UBL — a validator enforcing this rule set rejects the invoice.
What runs for it
Straight from the artefacts the engine embeds: the node the assertion selects and the test it applies there. A failing invoice is reported with the message above.
| Syntax | Severity | Artefact phase | Applied to | Fails when |
|---|---|---|---|---|
| CII | fatal | EN16931-model-phase | //rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:CategoryCode[. = 'E'][upper-case(../ram:TypeCode) = 'VAT'] | (../ram:ExemptionReason) or (../ram:ExemptionReasonCode) |
| UBL | fatal | EN16931model_phase | /*/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[normalize-space(cbc:ID) = 'E'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] | exists(cbc:TaxExemptionReason) or exists(cbc:TaxExemptionReasonCode) |
Data elements it names
- BG-23 VAT breakdown (cited by 47 rules)
- BT-118 VAT category code (cited by 44 rules)
- BT-121 VAT exemption reason code (cited by 9 rules)
- BT-120 VAT exemption reason text (cited by 9 rules)
See also
- Every EN 16931 rule id — the same list as a filterable table, with the assertions as CSV and JSON.
- What XRechnung and Peppol BIS add — rule sets that run these ids plus their own.
- The data elements — every BT and BG with the rules that name it.