Utilisez un code d’unité autorisé pour la quantité gratuite

Erreur FX-SCH-A-001078 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

La valeur de @unitCode sur ram:ChargeFreeQuantity ne figure pas dans la liste de codes autorisés par cette règle. Toute valeur non vide doit correspondre à une entrée de cette liste.

Ce que signifie la règle

Le code d’unité identifie l’unité de mesure de la quantité gratuite. Un code non autorisé peut empêcher l’interprétation prévue de la quantité.

Veuillez utiliser un code d’unité autorisé pour la quantité gratuite

Le code d’unité de ram:ChargeFreeQuantity n’est pas reconnu comme une valeur autorisée. Remplacez-le par une valeur admise dans la liste de codes.

Que faire ?
  1. Vérifiez la valeur de @unitCode sur ram:ChargeFreeQuantity.
  2. Remplacez toute valeur non autorisée par une entrée de la liste de codes correspondante.
  3. Générez de nouveau la facture et vérifiez-la à nouveau.
À quoi cela ressemble
✗ Déclenche le message
<ram:ChargeFreeQuantity unitCode="INVALID">1</ram:ChargeFreeQuantity>
✓ Correct
<ram:ChargeFreeQuantity unitCode="C62">1</ram:ChargeFreeQuantity>
Détails techniques

Le test accepte une valeur vide ou une valeur présente comme @value dans la liste de codes dont l’id est 15. L’erreur se produit lorsqu’une valeur non vide ne correspond à aucune entrée.

Où la règle s'applique

La règle s’applique à l’attribut @unitCode de ram:ChargeFreeQuantity dans les détails de livraison 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:SpecifiedLineTradeDelivery/ram:ChargeFreeQuantity
Expression de contrôle (assert/@test)
string-length($codeValue15)=0 or document('FACTUR-X_EXTENDED_codedb.xml')/codedb/cl[@id=15]/enumeration[@value=$codeValue15]