Chaque remise au niveau du document (BG-20) doit contenir un motif de remise au niveau du document (BT-97) ou un code du motif de remise au niveau du document (BT-98), ou les deux.
La remise ne comporte ni le motif textuel ram:Reason ni le code du motif ram:ReasonCode. Au moins l’une de ces informations doit être présente ; les deux peuvent également être fournies.
Le motif ou son code explique la remise. Cette information permet de comprendre la remise sur le plan commercial.
Le motif de la remise manque. Un motif textuel, un code du motif ou les deux peuvent préciser pourquoi elle a été accordée.
- Pour la remise, ajoutez
ram:Reasonouram:ReasonCode; vous pouvez aussi ajouter les deux. - Pour le code du motif, vérifiez
AllowanceReasonCodesouTradeAllowance.ReasonCode; pour le texte, vérifiezAbstractTradeAllowanceCharge.Reason. - Vérifiez l’appel à
AddTradeAllowance(...). - Générez de nouveau la facture et vérifiez-la à nouveau.
<ram:SpecifiedTradeAllowanceCharge> <ram:ChargeIndicator> <udt:Indicator>false</udt:Indicator> </ram:ChargeIndicator> </ram:SpecifiedTradeAllowanceCharge>
<ram:SpecifiedTradeAllowanceCharge> <ram:ChargeIndicator> <udt:Indicator>false</udt:Indicator> </ram:ChargeIndicator> <ram:Reason>Promotional allowance</ram:Reason> </ram:SpecifiedTradeAllowanceCharge>
AllowanceReasonCodes(Document level allowance: BT-98)TradeAllowance.ReasonCode(Document level allowance: BT-98)AbstractTradeAllowanceCharge.Reason(Document level allowance: BT-97)FacturXInvoice.AddTradeAllowance(basisAmount, currency, actualAmount, chargePercentage, reason, taxTypeCode, taxCategoryCode, taxPercent, reasonCode)(BG-20)FacturXInvoice.GetTradeAllowances()(BG-20)
Détails techniques
Le test est satisfait si ram:Reason ou ram:ReasonCode est présent comme élément frère ; les deux éléments sont également autorisés.
La règle s’applique à une remise au niveau du document dans ram:SpecifiedTradeAllowanceCharge.
rule/@context)assert/@test)