unitCode non autorisé pour la quantité de base

Erreur FX-SCH-A-001037 Factur-X

La valeur de '@unitCode' 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

Si ram:BasisQuantity contient une valeur pour unitCode, celle-ci doit figurer dans la liste de codes correspondante. Une valeur absente de la liste n’est pas autorisée ; ce test ne rejette pas une valeur vide.

Ce que signifie la règle

L’attribut unitCode indique l’unité de mesure de la quantité de base. La liste de codes limite les unités autorisées à des codes définis.

Veuillez utiliser un `unitCode` autorisé pour la quantité de base

Le unitCode de ram:BasisQuantity ne figure pas dans la liste de codes correspondante. Utilisez une valeur de cette liste ou laissez l’attribut vide.

Que faire ?
  1. Repérez ram:BasisQuantity sur le prix brut de la ligne de facture.
  2. Comparez la valeur de unitCode à la liste de codes référencée par cette règle et utilisez une valeur de cette liste ou une valeur vide.
  3. Générez de nouveau la facture et vérifiez-la à nouveau.
Détails techniques

Le test accepte une valeur vide ou une valeur répertoriée dans codedb.xml sous la liste de codes d’identifiant 15.

Où la règle s'applique

La règle s’applique à l’attribut unitCode de ram:BasisQuantity sur le prix brut d’une ligne de facture.

Message d'origine du Schematron
Value of '@unitCode' is not allowed.
Contexte (rule/@context)
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ ram:SpecifiedLineTradeAgreement/ram:GrossPriceProductTradePrice/ram:BasisQuantity
Expression de contrôle (assert/@test)
string-length($codeValue15)=0 or document('FACTUR-X_EXTENDED_codedb.xml')/codedb/cl[@id=15]/enumeration[@value=$codeValue15]