ram:TaxTotalAmount dans la devise de la facture peut apparaître au maximum une fois

Erreur FX-SCH-A-000042 Factur-X

La variante d'élément 'ram:TaxTotalAmount[@currencyID=../../ram:InvoiceCurrencyCode]' 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

Plusieurs éléments ram:TaxTotalAmount ont un @currencyID correspondant à ram:InvoiceCurrencyCode. Un seul élément de ce type au maximum est autorisé pour la devise de la facture.

Ce que signifie la règle

Le montant de TVA dans la devise de la facture ne doit pas être indiqué plusieurs fois dans les totaux du règlement. Le montant de taxe pour cette devise reste ainsi sans ambiguïté.

Veuillez indiquer le montant de TVA dans la devise de la facture au maximum une fois

Le montant de TVA dans la devise de la facture est saisi plusieurs fois. Ne conservez qu’un seul ram:TaxTotalAmount au maximum avec le @currencyID correspondant.

Que faire ?
  1. Repérez ram:SpecifiedTradeSettlementHeaderMonetarySummation et son ram:InvoiceCurrencyCode.
  2. Vérifiez les valeurs de @currencyID des éléments ram:TaxTotalAmount présents à cet endroit.
  3. Assurez-vous qu’un seul élément au maximum utilise la même devise que ram:InvoiceCurrencyCode.
  4. Générez de nouveau la facture et vérifiez-la à nouveau.
À quoi cela ressemble
✗ Déclenche le message
<ram:SpecifiedTradeSettlementHeaderMonetarySummation>
  <ram:InvoiceCurrencyCode>EUR</ram:InvoiceCurrencyCode>
  <ram:TaxTotalAmount currencyID="EUR">19.00</ram:TaxTotalAmount>
  <ram:TaxTotalAmount currencyID="EUR">19.00</ram:TaxTotalAmount>
</ram:SpecifiedTradeSettlementHeaderMonetarySummation>
✓ Correct
<ram:SpecifiedTradeSettlementHeaderMonetarySummation>
  <ram:InvoiceCurrencyCode>EUR</ram:InvoiceCurrencyCode>
  <ram:TaxTotalAmount currencyID="EUR">19.00</ram:TaxTotalAmount>
</ram:SpecifiedTradeSettlementHeaderMonetarySummation>
Détails techniques

Seuls les éléments ram:TaxTotalAmount dont @currencyID correspond à la valeur de ram:InvoiceCurrencyCode sont comptés. Le nombre autorisé est zéro ou un.

Où la règle s'applique

La règle s’applique aux totaux monétaires du règlement dans ram:SpecifiedTradeSettlementHeaderMonetarySummation et concerne ram:TaxTotalAmount dont @currencyID correspond à ram:InvoiceCurrencyCode.

Message d'origine du Schematron
Element variant 'ram:TaxTotalAmount[@currencyID=../../ram:InvoiceCurrencyCode]' 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:TaxTotalAmount[@currencyID=../../ram:InvoiceCurrencyCode])<=1