Livraison intracommunautaire : taux de TVA nul pour la remise

Erreur BR-IC-06 EN 16931

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 « Livraison intracommunautaire », le taux de TVA de la remise au niveau du document (BT-96) doit être égal à 0 (zéro).

Règle obligatoire : tant qu'elle n'est pas respectée, la facture est invalide et sera rejetée par les validateurs.
Ce qui ne va pas

Pour cette remise de catégorie K, RateApplicablePercent n’est pas nul. Le taux de TVA doit être exactement égal à zéro.

Ce que signifie la règle

La catégorie K désigne une livraison intracommunautaire. La règle exige un taux de TVA nul pour une remise de cette catégorie.

Champs concernés BG-20 BT-95 BT-96
Veuillez mettre à zéro le taux de TVA de la remise pour une livraison intracommunautaire

La remise liée à une livraison intracommunautaire est indiquée avec un taux de TVA non nul. Vous pouvez modifier cette valeur dans les données de la facture.

Que faire ?
  1. Repérez la remise de catégorie K dans SpecifiedTradeAllowanceCharge.
  2. Vérifiez l’appel à AddTradeAllowance(...) et mettez le taux de TVA à zéro.
  3. Générez de nouveau la facture et vérifiez-la à nouveau.
À quoi cela ressemble
✗ Déclenche le message
<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>
✓ Correct
<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>
À vérifier dans FactoorSharp
  • 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 dont ChargeIndicator vaut false et dont CategoryCode vaut K, puis vérifie que RateApplicablePercent est égal à zéro.

Où la règle s'applique

La règle s’applique à une remise au niveau du document dans SpecifiedTradeAllowanceCharge, dont le CategoryCode vaut K pour une livraison intracommunautaire.

Message d'origine du Schematron
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).
Contexte (rule/@context)
//ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator='false']/ ram:CategoryTradeTax[ram:CategoryCode = 'K']
Expression de contrôle (assert/@test)
ram:RateApplicablePercent = 0