ram:ChargeTotalAmount peut apparaître au maximum une fois

Erreur FX-SCH-A-000190 Factur-X

L'élément 'ram:ChargeTotalAmount' ne peut apparaître qu'une fois au maximum.

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:SpecifiedTradeSettlementHeaderMonetarySummation contient plusieurs éléments ram:ChargeTotalAmount. Cet élément peut être absent, mais ne doit pas apparaître plusieurs fois.

Ce que signifie la règle

ram:ChargeTotalAmount indique le total des charges au niveau du document. Une seule donnée évite toute ambiguïté sur le total des charges.

Veuillez indiquer le total des charges au maximum une fois

Le total des charges est indiqué plusieurs fois dans ram:SpecifiedTradeSettlementHeaderMonetarySummation. Supprimez les occurrences en double ; cette donnée peut également être omise.

Que faire ?
  1. Repérez ram:SpecifiedTradeSettlementHeaderMonetarySummation.
  2. Vérifiez combien de fois ram:ChargeTotalAmount y apparaît.
  3. Conservez au maximum un élément ram:ChargeTotalAmount, ou supprimez entièrement cet élément.
  4. Générez de nouveau la facture et vérifiez-la à nouveau.
À quoi cela ressemble
✗ Déclenche le message
<ram:SpecifiedTradeSettlementHeaderMonetarySummation>
  <ram:ChargeTotalAmount>...</ram:ChargeTotalAmount>
  <ram:ChargeTotalAmount>...</ram:ChargeTotalAmount>
</ram:SpecifiedTradeSettlementHeaderMonetarySummation>
✓ Correct
<ram:SpecifiedTradeSettlementHeaderMonetarySummation/>
Détails techniques

Le test XPath compte les éléments ram:ChargeTotalAmount directs dans ram:SpecifiedTradeSettlementHeaderMonetarySummation et en autorise au maximum un.

Où la règle s'applique

La règle s’applique aux totaux de règlement dans ram:SpecifiedTradeSettlementHeaderMonetarySummation.

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