Skip to content

BR-AF-10: VAT exemption reason not allowed with category L

Official message

[BR-AF-10] A VAT Breakdown (BG-23) with VAT Category code (BT-118) "IGIC" shall not have a VAT exemption reason code (BT-121) or VAT exemption reason text (BT-120).

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

[BR-AF-10] A VAT breakdown (BG-23) with VAT Category code (BT-118) "IGIC" shall not have a VAT exemption reason code (BT-121) or VAT exemption reason text (BT-120).

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

[BR-AF-10] A VAT Breakdown (BG-23) with VAT Category code (BT-118) "IGIC" shall not have a VAT exemption reason code (BT-121) or VAT exemption reason text (BT-120).

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 L (IGIC, Canary Islands general indirect tax) must contain neither a VAT exemption reason text (BT-120) nor a VAT exemption reason code (BT-121). At least one of them is present.

Typical causes

An exemption reason was taken over from another breakdown or a template.
The supply is exempt or not subject to VAT but was recorded with category L.

How to fix the error

Remove BT-120 and BT-121 from the breakdown of category L.
If the supply is exempt, use a category with exemption reason, e.g. E (BR-E-10).
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), clear the fields "Befreiungsgrund (BT-120)" (exemption reason) and "Befr.-Code (BT-121)" (exemption reason code) for the entry of category L.

Example

Wrong

<ram:ApplicableTradeTax>
  <ram:CalculatedAmount>70.00</ram:CalculatedAmount>
  <ram:TypeCode>VAT</ram:TypeCode>
  <ram:ExemptionReason>Exempt</ram:ExemptionReason>
  <ram:BasisAmount>1000.00</ram:BasisAmount>
  <ram:CategoryCode>L</ram:CategoryCode>
  <ram:RateApplicablePercent>7.00</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>

Correct

<ram:ApplicableTradeTax>
  <ram:CalculatedAmount>70.00</ram:CalculatedAmount>
  <ram:TypeCode>VAT</ram:TypeCode>
  <ram:BasisAmount>1000.00</ram:BasisAmount>
  <ram:CategoryCode>L</ram:CategoryCode>
  <ram:RateApplicablePercent>7.00</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>
For developers: test expression per syntax

EN 16931 (CII) (CII)

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

not(ram:ExemptionReason) and not (ram:ExemptionReasonCode)

EN 16931 (UBL) (UBL)

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

not(cbc:TaxExemptionReason) and not(cbc:TaxExemptionReasonCode)

Factur-X / ZUGFeRD EN 16931 (CII)

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

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

not(ram:ExemptionReason) and not (ram:ExemptionReasonCode)

Related validation rules

  • BR-AF-01: VAT breakdown for category L is missing
  • BR-AF-02: Seller VAT or tax registration identifier missing for invoice line with category L
  • BR-AF-03: Seller VAT or tax registration identifier missing for document level allowance with category L
  • BR-AF-04: Seller VAT or tax registration identifier missing for document level charge with category L
  • BR-AF-05: VAT rate of invoice line with category L (IGIC) is missing or too low
  • BR-AF-06: VAT rate of document level allowance with category L (IGIC) is missing or too low

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