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

Erreur BR-DEC-28 EN 16931

Le nombre maximal autorisé de décimales pour le montant de base de frais de la ligne de facture (BT-142) 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:BasisAmount comporte plus de deux décimales.

Ce que signifie la règle

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

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

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

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

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

Où la règle s'applique

La règle s’applique à ram:BasisAmount 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 base amount (BT-142) 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:BasisAmount,'.'))<=2