Le code de catégorie de TVA n'est pas admis en France
Les catégories de TVA admises sont S, E, AE, K, G, O et Z — au niveau du document (BT-118), des lignes (BT-151) et des remises ou frais (BT-95, BT-102). Les codes L et M, propres aux Canaries, à Ceuta et Melilla, ne sont pas pertinents en France.
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.
ciiBR-FR-15/BT-95 ou BT-102 : Code de catégorie de TVA invalide. Valeur actuelle : " ". Veuillez utiliser un code valide : S, E, AE, K, G, O, Z.
ciiBR-FR-15/BT-95 ou BT-102 : Les codes 'L' et 'M' ne sont pas pertinents en France. Valeur actuelle : " ".
ciiBR-FR-15/BT-118 : Code de catégorie de TVA invalide. Valeur actuelle : " ". Veuillez utiliser un code valide : S, E, AE, K, G, O, Z.
ciiBR-FR-15/BT-118 : Les codes 'L' et 'M' ne sont pas pertinents en France. Valeur actuelle : " ".
ciiBR-FR-15/BT-151 : Code de catégorie de TVA invalide. Valeur actuelle : " ". Veuillez utiliser un code valide : S, E, AE, K, G, O, Z.
ciiBR-FR-15/BT-151 : Les codes 'L' et 'M' ne sont pas pertinents en France. Valeur actuelle : " ".
ubl[BR-FR-15/BT-95/BT-102] : Code de catégorie de TVA invalide. Valeur actuelle : " ". Veuillez utiliser un code valide : S, E, AE, K, G, O, Z.
ubl[BR-FR-15/BT-95/BT-102] : Les codes 'L' et 'M' ne sont pas pertinents en France. Valeur actuelle : " ".
ubl[BR-FR-15/BT-118] : Code de catégorie de TVA invalide. Valeur actuelle : " ". Veuillez utiliser un code valide : S, E, AE, K, G, O, Z.
ubl[BR-FR-15/BT-118] : Les codes 'L' et 'M' ne sont pas pertinents en France. Valeur actuelle : " ".
ubl[BR-FR-15/BT-151] : Code de catégorie de TVA invalide. Valeur actuelle : " ". Veuillez utiliser un code valide : S, E, AE, K, G, O, Z.
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
La catégorie décide du traitement fiscal de la ligne : taxée, exonérée, autoliquidée, intracommunautaire, export, hors champ, taux zéro. Un code d'une autre juridiction n'a pas de sens pour l'administration française, et un code hors liste ne se déclare dans aucune case. 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
Choisissez la catégorie qui décrit réellement l'opération. Factlint ne la remplace pas : la qualification fiscale d'une vente est une décision de l'émetteur, jamais d'un outil.
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:CategoryCode>L</ram:CategoryCode>
<ram:CategoryCode>S</ram:CategoryCode>