Le motif ou le code motif de la remise est absent

Erreur BR-42 EN 16931

Chaque remise au niveau de la ligne de facture (BG-27) doit avoir un motif de remise au niveau de la ligne de facture (BT-139) ou un code motif de remise au niveau de la ligne de facture (BT-140).

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 sur la ligne de facture ne contient ni ram:Reason ni ram:ReasonCode. Chaque remise de ce type doit comporter un motif ou un code motif.

Ce que signifie la règle

Un motif ou un code motif explique la remise appliquée à la ligne de facture.

Champs concernés BG-27 BT-139 BT-140
Veuillez ajouter un motif ou un code motif pour la remise

Le motif d’une remise sur la ligne de facture est absent. Vous pouvez indiquer un motif sous forme de texte ou de code.

Que faire ?
  1. Ajoutez ram:Reason ou ram:ReasonCode sous ram:SpecifiedTradeAllowanceCharge.
  2. Renseignez le texte avec AbstractTradeAllowanceCharge.Reason ou le code avec TradeAllowance.ReasonCode.
  3. Générez à nouveau la facture et vérifiez-la une nouvelle fois.
À 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>Motif</ram:Reason>
</ram:SpecifiedTradeAllowanceCharge>
À vérifier dans FactoorSharp
  • AllowanceReasonCodes (Line level allowance: BT-140)
  • TradeAllowance.ReasonCode (Line level allowance: BT-140)
  • AbstractTradeAllowanceCharge.Reason (Line level allowance: BT-139)
  • TradeLineItem.SpecifiedTradeAllowanceCharges (BG-27)
  • AbstractTradeAllowanceCharge (Line level allowance: BG-27)
Détails techniques

Pour la remise identifiée par udt:Indicator avec la valeur false, le test vérifie si l’élément parent ram:SpecifiedTradeAllowanceCharge contient ram:Reason ou ram:ReasonCode.

Où la règle s'applique

La règle s’applique à une remise au niveau d’une ligne de facture, identifiée par ram:ChargeIndicator ayant la valeur false.

Message d'origine du Schematron
Each Invoice line allowance (BG-27) shall have an Invoice line allowance reason (BT-139) or an Invoice line allowance reason code (BT-140).
Contexte (rule/@context)
//ram:SpecifiedLineTradeSettlement/ram:SpecifiedTradeAllowanceCharge/ram:ChargeIndicator[udt:Indicator = 'false']
Expression de contrôle (assert/@test)
(../ram:Reason) or (../ram:ReasonCode)