Skip to content

BR-IC-10: VAT exemption reason for category K is missing

Official message

[BR-IC-10] A VAT Breakdown (BG-23) with the VAT Category code (BT-118) "Intra-community supply" shall have a VAT exemption reason code (BT-121), meaning "Intra-community supply" or the VAT exemption reason text (BT-120) "Intra-community supply" (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-IC-10] A VAT breakdown (BG-23) with the VAT Category code (BT-118) "Intra-community supply" shall have a VAT exemption reason code (BT-121), meaning "Intra-community supply" or the VAT exemption reason text (BT-120) "Intra-community supply" (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-IC-10] A VAT Breakdown (BG-23) with the VAT Category code (BT-118) "Intra-community supply" shall have a VAT exemption reason code (BT-121), meaning "Intra-community supply" or the VAT exemption reason text (BT-120) "Intra-community supply" (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 K (Intra-community supply, VAT exempt) must contain a VAT exemption reason code (BT-121) meaning "Intra-community supply" or the VAT exemption reason text (BT-120) "Intra-community supply" (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-IC (BT-121) in the breakdown of category K; according to the VATEX code list it is only to be used with category K.
Alternatively or additionally state the text "Intra-community supply" 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)" K and the same "Satz % (BT-119)" (rate) as the lines (0) and select VATEX-EU-IC 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. With profile XRechnung the form additionally requires for this entry the VAT identifier of the seller or of the tax representative and the VAT identifier of the buyer (BR-IC-02).
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>K</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>K</ram:CategoryCode>
  <ram:ExemptionReasonCode>VATEX-EU-IC</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[.= 'K'][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) = 'K'][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-000143

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

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

Related validation rules

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

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