ram:DuePayableAmount doit être présent exactement une fois

Erreur FX-SCH-A-000044 Factur-X

L'élément 'ram:DuePayableAmount' doit apparaître exactement une fois.

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

ram:DuePayableAmount est absent de ram:SpecifiedTradeSettlementHeaderMonetarySummation ou apparaît plusieurs fois. La règle exige exactement un élément de ce type.

Ce que signifie la règle

ram:DuePayableAmount indique le montant restant à payer après prise en compte des montants de la facture et des paiements déjà effectués. Une seule valeur rend le montant dû sans ambiguïté.

Veuillez indiquer le montant restant à payer sur la facture exactement une fois

Le montant restant à payer est absent des totaux monétaires du règlement ou saisi plusieurs fois. Vous pouvez corriger cela en ne conservant qu’un seul ram:DuePayableAmount.

Que faire ?
  1. Repérez ram:SpecifiedTradeSettlementHeaderMonetarySummation dans la facture.
  2. Vérifiez qu’il contient exactement un ram:DuePayableAmount.
  3. Générez de nouveau la facture et vérifiez-la à nouveau.
À quoi cela ressemble
✗ Déclenche le message
<ram:SpecifiedTradeSettlementHeaderMonetarySummation/>
✓ Correct
<ram:SpecifiedTradeSettlementHeaderMonetarySummation>
  <ram:DuePayableAmount>99.00</ram:DuePayableAmount>
</ram:SpecifiedTradeSettlementHeaderMonetarySummation>
Détails techniques

La règle compte les éléments ram:DuePayableAmount directement présents dans ram:SpecifiedTradeSettlementHeaderMonetarySummation et exige que leur nombre soit égal à un.

Où la règle s'applique

La règle s’applique au montant restant dû dans les totaux monétaires du règlement de ram:SpecifiedTradeSettlementHeaderMonetarySummation.

Message d'origine du Schematron
Element 'ram:DuePayableAmount' must occur exactly 1 times.
Contexte (rule/@context)
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ ram:SpecifiedTradeSettlementHeaderMonetarySummation
Expression de contrôle (assert/@test)
count(ram:DuePayableAmount)=1