Limiter les décimales du total des remises

Erreur BR-DEC-10 EN 16931

Le nombre maximal de décimales autorisé pour la somme des remises au niveau du document (BT-107) 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

AllowanceTotalAmount contient plus de deux chiffres après le séparateur décimal.

Ce que signifie la règle

Le total des remises au niveau du document ne peut comporter plus de deux décimales.

Champs concernés BT-107
Veuillez limiter les décimales du total des remises

AllowanceTotalAmount comporte davantage de décimales que le total des remises au niveau du document n’en autorise. Vous pouvez ajuster le montant pour ne pas dépasser deux décimales.

Que faire ?
  1. Vérifiez la valeur de AllowanceTotalAmount.
  2. Limitez-la à deux décimales au maximum.
  3. Vérifiez la propriété AllowanceTotalAmount.
  4. Générez de nouveau la facture et vérifiez-la à nouveau.
À quoi cela ressemble
✗ Déclenche le message
<ram:SpecifiedTradeSettlementHeaderMonetarySummation>
  <ram:AllowanceTotalAmount>12.345</ram:AllowanceTotalAmount>
</ram:SpecifiedTradeSettlementHeaderMonetarySummation>
✓ Correct
<ram:SpecifiedTradeSettlementHeaderMonetarySummation>
  <ram:AllowanceTotalAmount>12.34</ram:AllowanceTotalAmount>
</ram:SpecifiedTradeSettlementHeaderMonetarySummation>
À vérifier dans FactoorSharp
  • FacturXInvoice.AllowanceTotalAmount (BT-107)
Détails techniques

Le XPath compte les caractères après le point décimal de AllowanceTotalAmount et en autorise deux au maximum.

Où la règle s'applique

La règle s’applique à AllowanceTotalAmount, le total des remises au niveau du document dans SpecifiedTradeSettlementHeaderMonetarySummation.

Message d'origine du Schematron
The allowed maximum number of decimals for the Sum of allowances on document level (BT-107) is 2.
Contexte (rule/@context)
//ram:SpecifiedTradeSettlementHeaderMonetarySummation
Expression de contrôle (assert/@test)
string-length(substring-after(ram:AllowanceTotalAmount,'.'))<=2