Skip to content

BR-G-10: VAT exemption reason for category G is missing

Official message

[BR-G-10] A VAT Breakdown (BG-23) with the VAT Category code (BT-118) "Export outside the EU" shall have a VAT exemption reason code (BT-121), meaning "Export outside the EU" or the VAT exemption reason text (BT-120) "Export outside the EU" (or the equivalent standard text in another language).

EN 16931 (CII) · Error · Message language: English · Version: xrechnung-3.0.2-validator-configuration-2026-08-31

[BR-G-10] A VAT breakdown (BG-23) with the VAT Category code (BT-118) "Export outside the EU" shall have a VAT exemption reason code (BT-121), meaning "Export outside the EU" or the VAT exemption reason text (BT-120) "Export outside the EU" (or the equivalent standard text in another language).

EN 16931 (UBL) · Error · Message language: English · Version: xrechnung-3.0.2-validator-configuration-2026-08-31

[BR-G-10] A VAT Breakdown (BG-23) with the VAT Category code (BT-118) "Export outside the EU" shall have a VAT exemption reason code (BT-121), meaning "Export outside the EU" or the VAT exemption reason text (BT-120) "Export outside the EU" (or the equivalent standard text in another language).

Factur-X / ZUGFeRD EN 16931 · Error · Message language: English · Version: Factur-X 1.08 / ZUGFeRD 2.4
Severity
Error The invoice is invalid and may be rejected by the recipient.
Applies to
EN 16931 (CII), EN 16931 (UBL), Factur-X / ZUGFeRD EN 16931
Affected fields
BG-23, BT-118, BT-121, BT-120

What does this mean?

A VAT breakdown (BG-23) with category G (Export outside the EU, tax not charged) must contain a VAT exemption reason code (BT-121) meaning "Export outside the EU" or the VAT exemption reason text (BT-120) "Export outside the EU" (or the equivalent standard text in another language). Both are missing.
In CII and UBL the official check only verifies that BT-120 or BT-121 is present, not its content.

Typical causes

The breakdown was generated from the lines without taking over an exemption reason.
The note only appears in an invoice note.

How to fix the error

State the code VATEX-EU-G (BT-121) in the breakdown of category G; according to the VATEX code list it is only to be used with category G.
Alternatively or additionally state the text "Export outside the EU" or the equivalent standard text in the invoice language as BT-120.
CII: ram:ExemptionReason and ram:ExemptionReasonCode in ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax, UBL: cbc:TaxExemptionReason and cbc:TaxExemptionReasonCode in cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory.

In E-Rechnungsfreund

In the invoice form, "Experte" view, section "Steueraufstellung (BG-23)" (VAT breakdown), create an entry with "Kategorie (BT-118)" G and the same "Satz % (BT-119)" (rate) as the lines (0) and select VATEX-EU-G in the field "Befr.-Code (BT-121)" (exemption reason code) or fill in "Befreiungsgrund (BT-120)" (exemption reason). The exemption reason is only used if category and rate match.
In the simple view ("Einfach") the VAT breakdown is recalculated when saving and an exemption reason is cleared unless "Manuelle Steueraufstellung verwenden" (use manual VAT breakdown) was selected in the "Experte" view.

Example

Wrong

<ram:ApplicableTradeTax>
  <ram:CalculatedAmount>0.00</ram:CalculatedAmount>
  <ram:TypeCode>VAT</ram:TypeCode>
  <ram:BasisAmount>1000.00</ram:BasisAmount>
  <ram:CategoryCode>G</ram:CategoryCode>
  <ram:RateApplicablePercent>0</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>

Correct

<ram:ApplicableTradeTax>
  <ram:CalculatedAmount>0.00</ram:CalculatedAmount>
  <ram:TypeCode>VAT</ram:TypeCode>
  <ram:BasisAmount>1000.00</ram:BasisAmount>
  <ram:CategoryCode>G</ram:CategoryCode>
  <ram:ExemptionReasonCode>VATEX-EU-G</ram:ExemptionReasonCode>
  <ram:RateApplicablePercent>0</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>
For developers: test expression per syntax

EN 16931 (CII) (CII)

Context: //rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:CategoryCode[. = 'G'][upper-case(../ram:TypeCode) = 'VAT']

(../ram:ExemptionReason) or (../ram:ExemptionReasonCode)

EN 16931 (UBL) (UBL)

Context: /*/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[normalize-space(cbc:ID) = 'G'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']

exists(cbc:TaxExemptionReason) or (exists(cbc:TaxExemptionReasonCode) )

Factur-X / ZUGFeRD EN 16931 (CII)

Technical ID in the source: FX-SCH-A-000141

Context: //rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:CategoryCode[. = 'G']

(../ram:ExemptionReason) or (../ram:ExemptionReasonCode)

Related validation rules

  • BR-G-01: Not exactly one VAT breakdown for category G
  • BR-G-02: Seller VAT identifier missing for invoice line with category G
  • BR-G-03: Seller VAT identifier missing for document level allowance with category G
  • BR-G-04: Seller VAT identifier missing for document level charge with category G
  • BR-G-05: VAT rate of invoice line with category G is not 0
  • BR-G-06: VAT rate of document level allowance with category G is not 0

Last updated:
Explanation of the validation rule, not legal or tax advice.