In a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "Intra-community supply" the Document level allowance VAT rate (BT-96) shall be 0 (zero).
For this category K allowance, RateApplicablePercent is not zero. The VAT rate must be exactly zero.
Category K identifies an intra-community supply. The rule requires a zero VAT rate for an allowance in this category.
The allowance for an intra-community supply is recorded with a non-zero VAT rate. You can adjust the value in the invoice data.
- Locate the category
Kallowance inSpecifiedTradeAllowanceCharge. - 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>K</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>K</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 K, then checks whether RateApplicablePercent equals zero.
The rule applies to a document-level allowance in SpecifiedTradeAllowanceCharge whose CategoryCode is K for an intra-community supply.
rule/@context)assert/@test)