Au plus un code de catégorie de TVA par remise ou majoration

Erreur CII-SR-471 Syntaxe (UBL/CII)

Chaque remise ou frais commerciaux spécifiés (BG-20)(BG-21) doit contenir un code de catégorie de TVA (BT-95).

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

Un ram:SpecifiedTradeAllowanceCharge contient plusieurs éléments ram:CategoryTradeTax. Le test limite leur nombre à un au maximum ; il n’exige pas la présence de cet élément.

Ce que signifie la règle

La règle empêche d’attribuer plusieurs catégories de TVA à une remise ou à une majoration.

Champs concernés BG-20 BG-21 BT-95
Veuillez utiliser au plus une catégorie de TVA pour chaque remise ou majoration.

Une remise ou une majoration contient plusieurs catégories de TVA. Supprimez les entrées en trop ; ce test n’exige pas la présence d’une catégorie de TVA.

Que faire ?
  1. Vérifiez la remise ou la majoration concernée.
  2. Utilisez au plus une catégorie de TVA dans AddTradeAllowance(...) ou AddTradeCharge(...).
  3. Générez de nouveau la facture et vérifiez-la.
À quoi cela ressemble
✗ Déclenche le message
<ram:SpecifiedTradeAllowanceCharge>
  <ram:CategoryTradeTax/>
  <ram:CategoryTradeTax/>
</ram:SpecifiedTradeAllowanceCharge>
✓ Correct
<ram:SpecifiedTradeAllowanceCharge>
  <ram:CategoryTradeTax/>
</ram:SpecifiedTradeAllowanceCharge>
À vérifier dans FactoorSharp
  • TaxCategoryCodes (BT-95)
  • AbstractTradeAllowanceCharge (Document level allowance: BG-20; Document level charge: BG-21)
  • AbstractTradeAllowanceCharge.ChargeIndicator (Document level allowance: BG-20; Document level charge: BG-21)
  • FacturXInvoice.AddTradeAllowance(basisAmount, currency, actualAmount, chargePercentage, reason, taxTypeCode, taxCategoryCode, taxPercent, reasonCode) (BG-20)
  • FacturXInvoice.AddTradeCharge(basisAmount, currency, actualAmount, chargePercentage, reason, taxTypeCode, taxCategoryCode, taxPercent, reasonCode) (BG-21)
Détails techniques

Le test compte les éléments ram:CategoryTradeTax dans ram:SpecifiedTradeAllowanceCharge et en autorise un au maximum.

Où la règle s'applique

La règle s’applique à chaque ram:SpecifiedTradeAllowanceCharge au niveau du document, c’est-à-dire à une remise ou une majoration.

Message d'origine du Schematron
Each Specified Trade Allowance Charge (BG-20)(BG-21) shall contain a VAT category code (BT-95).
Contexte (rule/@context)
//ram:SpecifiedTradeAllowanceCharge
Expression de contrôle (assert/@test)
count(ram:CategoryTradeTax) <= 1