BR-AF-10
This id stands for 2 different rules, one per rule set below: Factur-X numbers its rules in each profile separately.
What the rule checks
As the rule set's publisher wrote it. The rule runs on every element the context matches, and fails where the test is false; the validator reports the line of that element.
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).
/*/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)
Checked with Peppol BIS Billing 3.0 Invoice, Peppol BIS Billing 3.0 Credit Note, France e-invoice (UBL), France e-credit note (UBL), XRechnung 3.0 Invoice (UBL), XRechnung 3.0 Credit Note (UBL)
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).
//rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode = 'L'][upper-case(ram:TypeCode) = 'VAT']
not(ram:ExemptionReason) and not (ram:ExemptionReasonCode)
Checked with France e-invoice (CII), XRechnung 3.0 Invoice (CII)
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).
//rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode = 'L']
not(ram:ExemptionReason) and not (ram:ExemptionReasonCode)
Checked with France Factur-X BASIC WL, Factur-X / ZUGFeRD BASIC WL