Pour une remise au niveau du document (BG-20) dont le code de catégorie de TVA de la remise au niveau du document (BT-95) est « IPSI », le taux de TVA de la remise au niveau du document (BT-96) doit être égal à 0 (zéro) ou supérieur à zéro.
Cette remise ne contient pas ram:RateApplicablePercent, ou sa valeur est inférieure à 0. Le test vérifie que ram:CategoryCode vaut M, tandis que le texte du message décrit la catégorie comme « IPSI ».
Pour la catégorie de TVA M sélectionnée par le test, un taux de TVA égal à zéro ou supérieur est autorisé. Un taux négatif ne satisfait pas cette règle.
La remise au niveau du document est associée à la catégorie M, mais son taux de TVA est absent ou négatif. Vous pouvez modifier cette valeur dans la remise.
- Vérifiez le taux de TVA de la remise dans
AddTradeAllowance(...). - Assurez-vous que
taxPercentest supérieur ou égal à 0. - Générez à nouveau la facture et vérifiez-la une nouvelle fois.
<ram:SpecifiedTradeAllowanceCharge> <ram:ChargeIndicator> <udt:Indicator>false</udt:Indicator> </ram:ChargeIndicator> <ram:CategoryTradeTax> <ram:CategoryCode>M</ram:CategoryCode> <ram:RateApplicablePercent>-1</ram:RateApplicablePercent> </ram:CategoryTradeTax> </ram:SpecifiedTradeAllowanceCharge>
<ram:SpecifiedTradeAllowanceCharge> <ram:ChargeIndicator> <udt:Indicator>false</udt:Indicator> </ram:ChargeIndicator> <ram:CategoryTradeTax> <ram:CategoryCode>M</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)
Détails techniques
Le XPath sélectionne les remises selon ram:ChargeIndicator et ram:CategoryCode = 'M', puis exige ram:RateApplicablePercent >= 0.
La règle s’applique à une remise au niveau du document dans ram:SpecifiedTradeAllowanceCharge, dont ram:ChargeIndicator vaut false et ram:CategoryCode vaut M.
rule/@context)assert/@test)