Décimales du montant des frais sur une ligne de facture

Erreur BR-DEC-27 EN 16931

Le nombre maximal autorisé de décimales pour le montant de charge ou de frais au niveau de la ligne de facture (BT-141) est de 2.

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 valeur de ram:ActualAmount comporte plus de deux décimales.

Ce que signifie la règle

Le montant des frais sur une ligne de facture ne peut pas comporter plus de deux décimales.

Champs concernés BT-141
Veuillez limiter les décimales du montant des frais sur la ligne de facture

Le montant des frais sur la ligne de facture comporte plus de deux décimales. Vous pouvez corriger cela en ajustant la valeur de ram:ActualAmount au nombre de décimales autorisé.

Que faire ?
  1. Vérifiez la valeur de AbstractTradeAllowanceCharge.ActualAmount.
  2. Assurez-vous que le montant comporte au maximum deux décimales.
  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>true</udt:Indicator>
  </ram:ChargeIndicator>
  <ram:ActualAmount>1.234</ram:ActualAmount>
</ram:SpecifiedTradeAllowanceCharge>
✓ Correct
<ram:SpecifiedTradeAllowanceCharge>
  <ram:ChargeIndicator>
    <udt:Indicator>true</udt:Indicator>
  </ram:ChargeIndicator>
  <ram:ActualAmount>1.23</ram:ActualAmount>
</ram:SpecifiedTradeAllowanceCharge>
À vérifier dans FactoorSharp
  • AbstractTradeAllowanceCharge.ActualAmount (Line level charge: BT-141)
Détails techniques

Le contrôle compte les caractères après le séparateur décimal dans le premier élément ram:ActualAmount des frais et en autorise deux au maximum.

Où la règle s'applique

La règle s’applique à ram:ActualAmount de frais dans ram:SpecifiedTradeAllowanceCharge sur une ligne de facture.

Message d'origine du Schematron
The allowed maximum number of decimals for the Invoice line charge amount (BT-141) is 2.
Contexte (rule/@context)
//ram:SpecifiedLineTradeSettlement/ram:SpecifiedTradeAllowanceCharge/ram:ChargeIndicator[udt:Indicator = 'true']
Expression de contrôle (assert/@test)
string-length(substring-after(../ram:ActualAmount[1],'.'))<=2