Motif d’une remise sur une ligne de facture

Erreur BR-CO-23 EN 16931

Chaque remise au niveau de la ligne de facture (BG-27) doit contenir 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), ou les deux.

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

Une remise ne contient ni ram:Reason ni ram:ReasonCode. La règle exige au moins l’un de ces deux éléments.

Ce que signifie la règle

Une remise sur une ligne de facture doit être identifiable par un motif, un code de motif ou les deux.

Champs concernés BG-27 BT-139 BT-140
Veuillez indiquer le motif de la remise sur la ligne de facture

Il manque un motif ou un code de motif pour une remise sur une ligne de facture. Vous pouvez corriger cela en ajoutant au moins l’une de ces informations.

Que faire ?
  1. Ajoutez un motif pour la remise avec AbstractTradeAllowanceCharge.Reason, ou un code de motif avec TradeAllowance.ReasonCode.
  2. Vérifiez que cette information concerne la remise de la ligne de facture.
  3. Générez de nouveau la facture et vérifiez-la.
À 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

Le contrôle concerne les remises indiquées par udt:Indicator avec la valeur false. Il réussit si ram:Reason ou ram:ReasonCode est présent dans l’élément parent.

Où la règle s'applique

La règle s’applique aux remises dans ram:SpecifiedTradeAllowanceCharge, au sein de ram:SpecifiedLineTradeSettlement d’une ligne de facture.

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