Skip to content

BR-AG-10: VAT exemption reason not allowed with category M

Official message

[BR-AG-10] A VAT Breakdown (BG-23) with VAT Category code (BT-118) "IPSI" 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-AG-10] A VAT breakdown (BG-23) with VAT Category code (BT-118) "IPSI" 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-AG-10] A VAT Breakdown (BG-23) with VAT Category code (BT-118) "IPSI" 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 M (IPSI, tax for production, services and importation in Ceuta and Melilla) 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 M.

How to fix the error

Remove BT-120 and BT-121 from the breakdown of category M.
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 M. The form does not require an exemption reason for category M.

Example

Wrong

<ram:ApplicableTradeTax>
  <ram:CalculatedAmount>100.00</ram:CalculatedAmount>
  <ram:TypeCode>VAT</ram:TypeCode>
  <ram:ExemptionReason>Exempt</ram:ExemptionReason>
  <ram:BasisAmount>1000.00</ram:BasisAmount>
  <ram:CategoryCode>M</ram:CategoryCode>
  <ram:RateApplicablePercent>10.00</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>

Correct

<ram:ApplicableTradeTax>
  <ram:CalculatedAmount>100.00</ram:CalculatedAmount>
  <ram:TypeCode>VAT</ram:TypeCode>
  <ram:BasisAmount>1000.00</ram:BasisAmount>
  <ram:CategoryCode>M</ram:CategoryCode>
  <ram:RateApplicablePercent>10.00</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>
For developers: test expression per syntax

EN 16931 (CII) (CII)

Context: //rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode = 'M'][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) = 'M'][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-000149

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

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

Related validation rules

  • BR-AG-01: VAT breakdown for category M is missing
  • BR-AG-02: Seller VAT or tax registration identifier missing for invoice line with category M
  • BR-AG-03: Seller VAT or tax registration identifier missing for document level allowance with category M
  • BR-AG-04: Seller VAT or tax registration identifier missing for document level charge with category M
  • BR-AG-05: VAT rate of invoice line with category M (IPSI) is missing or negative
  • BR-AG-06: VAT rate of document level allowance with category M (IPSI) is missing or negative

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