Un attribut d'article porte une valeur et une quantité, ou aucune des deux
Un attribut d'article (BG-32) porte soit une valeur textuelle (BT-161), soit une quantité avec son unité de mesure (EXT-FR-FE-160 et EXT-FR-FE-161) — l'une des deux, jamais les deux, jamais aucune.
Seul l’émetteur détient cette valeur : Factlint la signale et ne la fabrique jamais. Testez votre facture pour savoir si elle est concernée.
Le message que votre validateur affiche
Recopié tel quel de l’artefact scellé : c’est la phrase exacte que le contrôle imprime quand cette règle échoue.
cii[BR-FR-28] : La valeur d’attribut (ram:Value) ou la valeur (ram:ValueMeasure avec unité de mesure) doivent être présents, mais pas les deux Valeur actuelle Value : " ", Valeur actuelle Value Quantity : " ". unité de mesure : " " Veuillez fournir une valeur d’attribut valide ou utiliser une Valeur avec unité de mesure.
ubl[BR-FR-28] : La valeur d’attribut (cbc:Value) ou la valeur (cbc:ValueQuantity avec unité de mesure) doivent être présents, mais pas les deux Valeur actuelle Value : " ", Valeur actuelle Value Quantity : " ". unité de mesure : " " Veuillez fournir une valeur d’attribut valide ou utiliser une Valeur avec unité de mesure.
Cité de schematron-fnfe 1.4.0.03, sous licence Apache-2.0.
Requêtes fréquentes autour de ce code
Ces formulations reprennent les recherches réelles d’un intégrateur : code, syntaxe, règle, champ métier et correction.
Tester votre fichier avec cette erreur en tête
Déposez la facture concernée : le rapport dira si ce code apparaît, où il apparaît dans le document, et si Factlint peut seulement le signaler ou aussi le corriger.
Pour automatiser ce contrôle dans une chaîne ERP, appelez l’API de validation et reliez chaque code rendu à sa fiche publique.
Pourquoi cette erreur se produit
Deux valeurs pour un même attribut ne se départagent pas : « 1,5 » en texte et « 1500 g » en quantité disent-ils la même chose ? Un lecteur automatique ne peut pas trancher, et l'extension française impose donc une seule forme par attribut. La règle vient du pack Schematron FNFE, pas de la norme européenne : une facture parfaitement conforme à l'EN 16931 la déclenche dès qu'elle est jugée contre le socle français.
Comment la corriger
Gardez la forme qui décrit l'attribut — texte ou quantité mesurée — et retirez l'autre. Factlint ne choisit pas laquelle est la bonne.
Sévérité rendue par le référentiel
Bloquante depuis le 1er septembre 2026 : le socle courant, `fr-2026-09`, scelle l'artefact FNFE 1.4.0.03 en mode fatal, et c'est lui que le moteur épinglé applique par défaut. Une facture émise en août 2026 est jugée contre `fr-2026-08`, où la même règle sort en avertissement — ce qui écarte déjà le verdict « conforme ». L'API rend la sévérité du ruleset épinglé pour la facture jugée.
Exemple de correction XML
<ram:ApplicableProductCharacteristic><ram:Description>Poids</ram:Description><ram:Value>1,5 kg</ram:Value><ram:ValueMeasure unitCode="KGM">1.5</ram:ValueMeasure></ram:ApplicableProductCharacteristic>
<ram:ApplicableProductCharacteristic><ram:Description>Poids</ram:Description><ram:ValueMeasure unitCode="KGM">1.5</ram:ValueMeasure></ram:ApplicableProductCharacteristic>