Indiquez une seule forme de la valeur de l’attribut

Erreur BR-FXEXT-BR-54-2 Factur-X

Chaque attribut de l'article (BG-32) doit contenir une valeur d'attribut de l'article (BT-161) ou une valeur d'attribut de l'article avec unité de mesure (BT-X-12, avec BT-X-12-0), mais pas les deux.

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

L’attribut d’article doit contenir soit une valeur dans Value, soit une valeur mesurée dans ValueMeasure avec un unitCode non vide. Les deux formes ne doivent pas être indiquées simultanément.

Ce que signifie la règle

La valeur de l’attribut est fournie soit sans unité de mesure, soit comme valeur mesurée avec une unité, mais pas sous les deux formes à la fois.

Champs concernés BG-32 BT-161 BT-X-12 BT-X-12-0
Veuillez indiquer la valeur de l’attribut d’article sous une seule forme

Une seule forme de valeur est requise pour l’attribut d’article : une valeur simple ou une valeur mesurée avec une unité. L’indication de la forme appropriée permet de corriger la facture.

Que faire ?
  1. Choisissez si la valeur doit être indiquée sans unité ou comme valeur mesurée avec une unité.
  2. Utilisez ApplicableProductCharacteristic.Value pour une valeur sans unité.
  3. Utilisez TradeLineItem.ApplicableProductCharacteristics pour l’attribut d’article et renseignez un unitCode non vide pour ValueMeasure.
  4. Générez à nouveau la facture et vérifiez-la de nouveau.
À quoi cela ressemble
✗ Déclenche le message
<ram:ApplicableProductCharacteristic>
  <ram:Value>Large</ram:Value>
  <ram:ValueMeasure unitCode="CMT">10</ram:ValueMeasure>
</ram:ApplicableProductCharacteristic>
✓ Correct
<ram:ApplicableProductCharacteristic>
  <ram:ValueMeasure unitCode="CMT">10</ram:ValueMeasure>
</ram:ApplicableProductCharacteristic>
À vérifier dans FactoorSharp
  • ApplicableProductCharacteristic.Value (BT-161)
  • TradeLineItem.ApplicableProductCharacteristics (BG-32)
Détails techniques

Le XPath autorise soit Value sans ValueMeasure, soit l’absence de Value avec ValueMeasure dont l’attribut unitCode n’est pas vide.

Où la règle s'applique

La règle s’applique aux champs de valeur Value et ValueMeasure d’un ApplicableProductCharacteristic.

Message d'origine du Schematron
Each Item attribute (BG-32) shall contain an Item attribute value (BT-161) or an Item attribute value with unit of measure (BT-X-12, with BT-X-12-0), but noth both.
Contexte (rule/@context)
//ram:ApplicableProductCharacteristic
Expression de contrôle (assert/@test)
(exists(ram:Value) and not(exists(ram:ValueMeasure))) or ( not(exists(ram:Value)) and (exists(ram:ValueMeasure[@unitCode!=''])) )