Une remise de ligne n'indique pas son motif
Chaque remise de ligne (BG-27) doit porter un motif en clair (BT-139), un code de motif (BT-140), ou les deux.
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.
[BR-CO-23]-Each Invoice line allowance (BG-27) shall contain an Invoice line allowance reason (BT-139) or an Invoice line allowance reason code (BT-140), or both.
Cité de schematron-cen 1.3.16, sous licence EUPL-1.2.
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
Les remises de ligne sont souvent produites par un moteur tarifaire qui les identifie par un code interne, absent des listes normalisées. Le montant passe, l'identifiant reste dans le moteur.
Comment la corriger
Faites correspondre votre code interne à une entrée d'UNCL 5189, ou à défaut écrivez le motif en clair. La correspondance se fait une fois, dans le moteur tarifaire.
Exemple de correction XML
<ram:SpecifiedTradeAllowanceCharge> <ram:ActualAmount>5.00</ram:ActualAmount> </ram:SpecifiedTradeAllowanceCharge>
<ram:SpecifiedTradeAllowanceCharge> <ram:ActualAmount>5.00</ram:ActualAmount> <ram:Reason>Remise fidélité</ram:Reason> </ram:SpecifiedTradeAllowanceCharge>