Le @currencyID doit correspondre à un code de devise autorisé

Erreur FX-SCH-A-001006 Factur-X

La valeur de '@currencyID' n'est pas autorisée.

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 @currencyID de ram:TaxTotalAmount ne figure pas dans la liste de codes correspondante. Une valeur vide satisfait également ce contrôle.

Ce que signifie la règle

Un code de devise autorisé identifie sans ambiguïté la devise du montant de taxe. Cette règle ne peut pas confirmer qu’une valeur absente de la liste est un code de devise valide.

Veuillez utiliser un code de devise autorisé pour le montant de taxe

La valeur de @currencyID de ram:TaxTotalAmount ne figure pas dans la liste de codes correspondante. Vous pouvez corriger la valeur en utilisant un code de devise autorisé.

Que faire ?
  1. Repérez le ram:TaxTotalAmount concerné dans ram:SpecifiedTradeSettlementHeaderMonetarySummation.
  2. Vérifiez la valeur de @currencyID par rapport aux valeurs autorisées de la liste de codes 49.
  3. Générez de nouveau la facture et vérifiez-la à nouveau.
Détails techniques

La valeur textuelle du @currencyID évalué est contrôlée : la condition est satisfaite si la valeur est vide ou figure dans l’énumération de la liste de codes 49.

Où la règle s'applique

La règle s’applique à @currencyID de ram:TaxTotalAmount dans la devise de la facture, au sein de ram:SpecifiedTradeSettlementHeaderMonetarySummation.

Message d'origine du Schematron
Value of '@currencyID' is not allowed.
Contexte (rule/@context)
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:TaxTotalAmount[@currencyID=../ ../ram:InvoiceCurrencyCode]
Expression de contrôle (assert/@test)
string-length($codeValue49)=0 or document('FACTUR-X_EXTENDED_codedb.xml')/codedb/cl[@id=49]/enumeration[@value=$codeValue49]