In a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "Exempt from VAT", the Document level allowance VAT rate (BT-96) shall be 0 (zero).
For this exempt allowance, RateApplicablePercent is not zero. The allowance’s VAT rate must be exactly zero.
Code E identifies a VAT category that is exempt from VAT. An allowance in this category therefore requires a zero VAT rate.
The exempt allowance is recorded with a VAT rate other than zero. You can adjust the value in the invoice data.
- Locate the relevant allowance in
SpecifiedTradeAllowanceCharge. - Check the
AddTradeAllowance(...)call and set the VAT rate to zero. - Generate the invoice again and validate it again.
<ram:SpecifiedTradeAllowanceCharge> <ram:ChargeIndicator> <udt:Indicator>false</udt:Indicator> </ram:ChargeIndicator> <ram:CategoryTradeTax> <ram:CategoryCode>E</ram:CategoryCode> <ram:RateApplicablePercent>5</ram:RateApplicablePercent> </ram:CategoryTradeTax> </ram:SpecifiedTradeAllowanceCharge>
<ram:SpecifiedTradeAllowanceCharge> <ram:ChargeIndicator> <udt:Indicator>false</udt:Indicator> </ram:ChargeIndicator> <ram:CategoryTradeTax> <ram:CategoryCode>E</ram:CategoryCode> <ram:RateApplicablePercent>0</ram:RateApplicablePercent> </ram:CategoryTradeTax> </ram:SpecifiedTradeAllowanceCharge>
TaxCategoryCodes(BT-95)FacturXInvoice.AddTradeAllowance(basisAmount, currency, actualAmount, chargePercentage, reason, taxTypeCode, taxCategoryCode, taxPercent, reasonCode)(BG-20)FacturXInvoice.GetTradeAllowances()(BG-20)FacturXInvoice.TradeAllowanceCharges(BG-20)AbstractTradeAllowanceCharge(Document level allowance: BG-20)
Technical details
The XPath selects allowances with ChargeIndicator equal to false and CategoryCode equal to E, then checks whether RateApplicablePercent equals zero.
The rule applies to a document-level allowance in SpecifiedTradeAllowanceCharge whose CategoryCode is E, meaning exempt from VAT.
rule/@context)assert/@test)