Motif ou code du motif de la remise

Erreur BR-33 EN 16931

[BR-33] - Chaque remise au niveau du document (BG-20) doit comporter un motif de remise au niveau du document (BT-97) ou un code du motif de remise au niveau du document (BT-98).

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

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.

Ce que signifie la règle

Le motif ou son code explique pourquoi la remise est accordée. Il permet de comprendre la remise sur le plan commercial.

Champs concernés BG-20 BT-97 BT-98
Veuillez indiquer le motif de la remise

Le motif de la remise manque. Vous pouvez indiquer un motif textuel, un code du motif ou les deux.

Que faire ?
  1. Pour la remise, ajoutez ram:Reason ou ram:ReasonCode ; vous pouvez aussi ajouter les deux.
  2. Pour le code du motif, vérifiez AllowanceReasonCodes ou TradeAllowance.ReasonCode ; pour le texte, vérifiez AbstractTradeAllowanceCharge.Reason.
  3. Vérifiez l’appel à AddTradeAllowance(...).
  4. 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:SpecifiedTradeAllowanceCharge>
✓ Correct
<ram:SpecifiedTradeAllowanceCharge>
  <ram:ChargeIndicator>
    <udt:Indicator>false</udt:Indicator>
  </ram:ChargeIndicator>
  <ram:Reason>Promotional allowance</ram:Reason>
</ram:SpecifiedTradeAllowanceCharge>
À vérifier dans FactoorSharp
  • 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 lorsqu’au moins l’un des éléments frères ram:Reason ou ram:ReasonCode est présent.

Où la règle s'applique

La règle s’applique à une remise au niveau du document dans ram:SpecifiedTradeAllowanceCharge.

Message d'origine du Schematron
Each Document level allowance (BG-20) shall have a Document level allowance reason (BT-97) or a Document level allowance reason code (BT-98).
Contexte (rule/@context)
//ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge/ram:ChargeIndicator[udt:Indicator='false']
Expression de contrôle (assert/@test)
(../ram:Reason) or (../ram:ReasonCode)