Limitez les décimales du montant de la majoration

Erreur BR-DEC-05 EN 16931

Le nombre maximal autorisé de décimales pour le montant du frais au niveau du document (BT-99) 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 ActualAmount contient plus de deux chiffres après la virgule. Le montant de la majoration ne peut comporter que deux décimales au maximum.

Ce que signifie la règle

Cette limite garantit que le montant de la majoration est indiqué avec la précision autorisée pour ce montant de facture.

Champs concernés BT-99
Veuillez indiquer le montant de la majoration avec deux décimales au maximum

Le montant de la majoration comporte plus de deux décimales. Vous pouvez indiquer le montant de la facture avec deux décimales au maximum.

Que faire ?
  1. Repérez le montant de la majoration dans l’élément ActualAmount.
  2. Indiquez le montant avec deux décimales au maximum.
  3. Vérifiez la valeur de AbstractTradeAllowanceCharge.ActualAmount.
  4. Générez à nouveau la facture et vérifiez-la de nouveau.
À quoi cela ressemble
✗ Déclenche le message
<ram:SpecifiedTradeAllowanceCharge>
  <ram:ActualAmount>12.345</ram:ActualAmount>
</ram:SpecifiedTradeAllowanceCharge>
✓ Correct
<ram:SpecifiedTradeAllowanceCharge>
  <ram:ActualAmount>12.34</ram:ActualAmount>
</ram:SpecifiedTradeAllowanceCharge>
À vérifier dans FactoorSharp
  • AbstractTradeAllowanceCharge.ActualAmount (Document level charge: BT-99)
Détails techniques

Le test compte les caractères après un point dans le premier ActualAmount et en autorise deux au maximum.

Où la règle s'applique

La règle s’applique au montant ActualAmount d’une majoration au niveau du document dans ApplicableHeaderTradeSettlement.

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