La norme EN 16931-1 (publiée par le CEN en 2017, mise à jour en 2024) définit le modèle sémantique commun à toutes les factures électroniques européennes. C'est le « dictionnaire » qui fixe la signification de chaque information — indépendamment du format technique. Factur-X en est une implémentation concrète : il mappe ce modèle sur la syntaxe CII (Cross Industry Invoice) de la norme UN/CEFACT.
Le modèle EN 16931 définit environ 160 Business Terms (BT), regroupés en Business Groups (BG). Dans la pratique, une cinquantaine de ces champs couvre l'immense majorité des factures B2B courantes. C'est ce sous-ensemble que nous allons parcourir ici.
Note de rigueur : les identifiants
BT-xxetBG-xxcités dans cet article correspondent à des champs dont l'existence et le numéro sont vérifiés dans la spécification publiée. Lorsqu'un numéro n'est pas indiqué, le champ est décrit par sa fonction — référez-vous à la liste normative complète disponible sur le site du CEN ou auprès de la FNFE-MPE.
Pourquoi EN 16931 plutôt que « le format Factur-X » ?
Factur-X est une syntaxe (XML embarqué dans un PDF). EN 16931 est la sémantique : elle dit ce que signifie « montant HT », « identifiant TVA vendeur », « date de facture ». Comprendre les BT vous permet de lire n'importe quelle facture conforme — Factur-X, Peppol BIS, XRechnung — avec le même référentiel.
🔎 Avant de lire la suite, testez vos propres fichiers Factur-X dans le testeur Factur-X SynapxLab — il identifie les BT manquants ou mal formés en quelques secondes.
Articles connexes :
Groupe 1 — En-tête / Contrôle du processus
Ces champs décrivent la facture elle-même : son identité, son type, ses dates et sa devise.
| BT | Libellé | Obligatoire EN 16931 | Exemple |
|---|---|---|---|
| BT-1 | Numéro de facture | Oui | FAC-2024-00042 |
| BT-2 | Date d'émission | Oui | 20240315 (format YYYYMMDD — code 102 UNCL2379) |
| BT-3 | Code type de document | Oui | 380 (facture commerciale), 381 (avoir) |
| BT-5 | Code devise de la facture | Oui | EUR (ISO 4217) |
| BT-6 | Code devise de comptabilité TVA | Non | EUR (si différente de BT-5) |
| BT-7 | Date de fait générateur TVA | Non | 20240301 |
| BT-9 | Date d'échéance | Non | 20240415 |
| BT-10 | Référence acheteur | Non* | SERV-COMPTA-42 |
| BT-11 | Référence projet | Non | PROJ-2024-07 |
| BT-12 | Référence contrat | Non | CONTRAT-ABC-2023 |
| BT-13 | Référence bon de commande acheteur | Non | BC-00098 |
Piège — format de date (code 102) : EN 16931 impose le format
YYYYMMDD(code de qualification102dans la nomenclature UNCL2379). Un formatDD/MM/YYYYou ISO 8601 avec tirets (2024-03-15) sera rejeté par les validateurs conformes. En CII Factur-X :<udt:DateTimeString format="102">20240315</udt:DateTimeString>.Piège — BT-3 : ne confondez pas
380(facture) et381(avoir/note de crédit). Un avoir avec380passe les validateurs XML mais sera mal interprété par les ERP.
*BT-10 est obligatoire dans plusieurs profils Peppol et devient de facto incontournable dans les échanges B2G.
Groupe 2 — Vendeur (BG-4)
Le vendeur est l'émetteur de la facture. En France, c'est l'entité immatriculée qui facture.
| BT | Libellé | Obligatoire | Exemple |
|---|---|---|---|
| BT-27 | Nom du vendeur | Oui | ACME SAS |
| BT-28 | Nom commercial du vendeur | Non | ACME Digital |
| BT-29 | Identifiant du vendeur | Non | 0002:123456789 (SIRET avec schème 0002) |
| BT-30 | Identifiant d'immatriculation légale | Non | 123 456 789 RCS Paris |
| BT-31 | Numéro de TVA intracommunautaire | Non* | FR12345678901 |
| BT-34 | Adresse électronique du vendeur (PEPPOL) | Non | acme@peppol.eu |
Adresse postale du vendeur (BG-5) :
| BT | Libellé | Obligatoire | Exemple |
|---|---|---|---|
| BT-35 | Ligne d'adresse 1 | Non | 12 rue de la Paix |
| BT-37 | Ville | Oui | Paris |
| BT-38 | Code postal | Non | 75001 |
| BT-40 | Code pays ISO 3166-1 alpha-2 | Oui | FR |
*BT-31 est obligatoire dès que la facture porte de la TVA (cas général en B2B). Son absence bloque la validation EN 16931 dans ce contexte.
Groupe 3 — Acheteur (BG-7)
L'acheteur est le destinataire de la facture.
| BT | Libellé | Obligatoire | Exemple |
|---|---|---|---|
| BT-44 | Nom de l'acheteur | Oui | CLIENT SARL |
| BT-46 | Identifiant de l'acheteur | Non | 0002:987654321 |
| BT-47 | Identifiant d'immatriculation légale | Non | 987 654 321 RCS Lyon |
| BT-48 | Numéro de TVA intracommunautaire | Non | FR98765432100 |
| BT-49 | Adresse électronique acheteur (PEPPOL) | Non | client@peppol.eu |
Adresse postale de l'acheteur (BG-8) — champs principaux :
Les BT correspondant à la ligne d'adresse 1, la ville, le code postal et le code pays de l'acheteur suivent la même structure que BG-5. Le code pays (équivalent BT-40 côté acheteur) est obligatoire.
Groupe 4 — Paiement
EN 16931 définit plusieurs sous-groupes pour le paiement. Les champs les plus utilisés en pratique :
| BT | Libellé | Obligatoire | Exemple |
|---|---|---|---|
| BT-81 | Code moyen de paiement (UNCL4461) | Non* | 30 (virement), 49 (prélèvement), 10 (chèque) |
| BT-83 | Référence remise (référence virement) | Non | FAC-2024-00042 |
| BT-84 | Identifiant du compte de paiement | Non | FR7612345678901234567890189 (IBAN) |
| BT-86 | Identifiant du prestataire de services de paiement | Non | BNPAFRPP (BIC) |
*BT-81 est obligatoire si vous renseignez le groupe de paiement. L'absence d'IBAN (BT-84) n'est pas bloquante techniquement, mais l'acheteur ne pourra pas payer par virement automatiquement.
Piège — conditions de paiement : EN 16931 gère les conditions de paiement via un champ texte libre et la date d'échéance BT-9. Les escomptes conditionnels ou les pénalités de retard s'expriment dans des champs dédiés que certains profils étendus supportent — vérifiez le profil cible.
Groupe 5 — Totaux et montants (BG-22)
C'est le groupe le plus critique. Toute incohérence arithmétique ici invalide la facture.
| BT | Libellé | Obligatoire | Exemple |
|---|---|---|---|
| BT-106 | Somme des montants nets des lignes | Oui | 1000.00 |
| BT-107 | Somme des remises sur document | Non | 50.00 |
| BT-108 | Somme des frais sur document | Non | 10.00 |
| BT-109 | Montant total HT de la facture | Oui | 960.00 |
| BT-110 | Montant total de TVA | Oui | 192.00 |
| BT-112 | Montant total TTC de la facture | Oui | 1152.00 |
| BT-113 | Montant déjà payé (acompte) | Non | 200.00 |
| BT-114 | Montant d'arrondi | Non | 0.01 |
| BT-115 | Montant dû au paiement | Oui | 952.00 |
Piège — cohérence arithmétique : les validateurs EN 16931 vérifient les équations suivantes :
BT-109 = BT-106 - BT-107 + BT-108 BT-112 = BT-109 + BT-110 BT-115 = BT-112 - BT-113 + BT-114Un arrondi non déclaré dans BT-114 (même de 0,01 €) provoque une erreur de validation. Tous les montants sont exprimés avec 2 décimales en EUR.
Groupe 6 — Ventilation TVA (BG-23)
Pour chaque taux de TVA applicable, un BG-23 distinct est créé.
| BT | Libellé | Obligatoire | Exemple |
|---|---|---|---|
| BT-116 | Assiette taxable de la catégorie TVA | Oui | 960.00 |
| BT-117 | Montant de TVA de la catégorie | Oui | 192.00 |
| BT-118 | Code catégorie de TVA | Oui | S |
| BT-119 | Taux de TVA de la catégorie | Non* | 20 |
| BT-120 | Motif d'exonération de TVA (texte) | Non** | Livraison intracommunautaire exonérée |
| BT-121 | Code motif d'exonération de TVA | Non** | vatex-eu-ic |
*BT-119 est obligatoire pour les catégories S (taux standard) et AA (taux réduit). Inutile pour Z (taux zéro), E (exonéré), O (hors champ).
**BT-120/BT-121 sont obligatoires pour les catégories autres que S et AA.
Codes catégorie TVA fréquents (UNCL5305) :
| Code | Signification | Taux FR typique |
|---|---|---|
S |
Taux standard | 20 %, 10 %, 5,5 % |
AA |
Taux réduit | 2,1 % |
Z |
Taux zéro | 0 % |
E |
Exonéré | — |
AE |
Auto-liquidation | — |
G |
Hors TVA (export) | — |
O |
Hors champ d'application | — |
Piège — cohérence catégorie/taux : une ligne
BT-118 = "E"avecBT-119 = "20"sera rejetée. Le code catégorie et le taux doivent être cohérents, et la somme des assiettes BT-116 de tous les BG-23 doit égaler BT-109.
Groupe 7 — Lignes de facture (BG-25)
Chaque ligne de facture est un BG-25. Une facture doit en contenir au moins une.
| BT | Libellé | Obligatoire | Exemple |
|---|---|---|---|
| BT-126 | Identifiant de ligne | Oui | 1, 2, 3... |
| BT-127 | Note de ligne | Non | Remise fidélité appliquée |
| BT-129 | Quantité facturée | Oui | 5.000 |
| BT-130 | Code unité de mesure (UN/ECE Rec 20) | Oui | HUR (heure), C62 (unité), KGM (kg) |
| BT-131 | Montant net de la ligne | Oui | 500.00 |
| BT-132 | Référence ligne bon de commande | Non | BC-00098-L01 |
| BT-133 | Référence comptable acheteur | Non | CENTRE-COUT-42 |
Détail prix (BG-29) :
| BT | Libellé | Obligatoire | Exemple |
|---|---|---|---|
| BT-146 | Prix net unitaire | Oui | 100.00 |
| BT-147 | Remise sur prix unitaire | Non | 5.00 |
| BT-148 | Prix brut unitaire | Non | 105.00 |
| BT-149 | Quantité de base du prix | Non | 1 |
| BT-150 | Code unité de la quantité de base | Non | C62 |
Information article (BG-31) :
| BT | Libellé | Obligatoire | Exemple |
|---|---|---|---|
| BT-153 | Désignation de l'article | Oui | Prestation de conseil informatique |
| BT-154 | Description de l'article | Non | Audit architecture cloud, 5h |
| BT-155 | Référence vendeur | Non | SKU-CONS-CLOUD |
| BT-156 | Référence acheteur | Non | ART-42 |
| BT-158 | Identifiant de classification | Non | 72.19.30 (CPV, CPC, etc.) |
| BT-159 | Pays d'origine | Non | FR |
TVA sur la ligne (BG-30) :
| BT | Libellé | Obligatoire | Exemple |
|---|---|---|---|
| BT-151 | Code catégorie TVA de l'article facturé | Oui | S |
| BT-152 | Taux de TVA de l'article facturé | Non* | 20 |
*BT-152 est obligatoire pour les catégories S et AA, facultatif pour les autres.
Piège — BT-131 vs BT-146 × BT-129 : le montant net de la ligne (BT-131) doit correspondre à
BT-146 × BT-129. Si vous appliquez une remise ligne (via un groupe dédié aux remises/frais de ligne), l'équation s'ajuste. Un écart de plus de 0,01 € est une erreur bloquante dans EN 16931.
Récapitulatif : obligatoire vs optionnel
OBLIGATOIRES (tout profil EN 16931 conforme)
├── BT-1 Numéro de facture
├── BT-2 Date d'émission
├── BT-3 Code type de document
├── BT-5 Devise
├── BT-27 Nom du vendeur
├── BT-37 Ville du vendeur
├── BT-40 Pays du vendeur
├── BT-44 Nom de l'acheteur
├── BT-106/109/110/112/115 Totaux
├── BT-116/117/118 Ventilation TVA (par taux)
└── Par ligne : BT-126, BT-129/130, BT-131, BT-146, BT-151, BT-153
TRÈS FRÉQUEMMENT REQUIS (obligatoires en pratique)
├── BT-31 TVA intracommunautaire vendeur
├── BT-9 Date d'échéance
├── BT-13 Référence bon de commande
└── BT-84 IBAN
OPTIONNELS UTILES
├── BT-10 Référence acheteur
├── BT-12 Référence contrat
├── BT-127/133 Notes et références comptables de ligne
└── BT-154/155 Description et référence SKU
Pièges récapitulatifs
- Format de date : toujours
YYYYMMDDavec qualificateur102. Jamais de tirets ni de slashes. - Devise ISO 4217 :
EUR, pas€nieuro. BT-5 et tous les montants doivent utiliser la même devise (sauf BT-6 si comptabilité TVA dans une autre devise). - Cohérence catégorie TVA / taux :
Simpose un taux non nul,Eimpose un motif d'exonération. Les mélanges provoquent des erreurs sémantiques non détectées par les validateurs XML basiques. - Équation HT + TVA = TTC :
BT-109 + BT-110 = BT-112, sans exception. Les arrondis passent par BT-114. - Au moins un BG-25 : une facture sans ligne est techniquement invalide selon EN 16931.
- Identifiants de schème : BT-29 (SIRET) doit être préfixé du schème ISO 6523 (
0002:pour SIRET en France). Un SIRET brut sans schème est conforme XML mais sémantiquement ambigu.
FAQ
Quelle est la différence entre le profil EN 16931 et le profil EXTENDED de Factur-X ? Le profil EN 16931 implémente strictement la norme CEN sans ajout. Le profil EXTENDED autorise des champs supplémentaires définis dans le guide d'implémentation Factur-X de la FNFE-MPE. Pour la majorité des factures B2B, le profil EN 16931 suffit.
Comment savoir quel BT correspond à quel élément XML dans un fichier Factur-X ? La table de correspondance BT ↔ XPath CII figure dans le guide d'implémentation Factur-X publié par la FNFE-MPE (fnfe-mpe.org).
Les ~160 BT totaux sont-ils tous utilisables dans Factur-X ? Oui, mais seulement les BT compris dans le profil choisi. Le profil MINIMUM n'expose qu'une vingtaine de BT ; le profil EXTENDED les couvre presque tous.
Doit-on renseigner BT-31 (TVA vendeur) pour une micro-entreprise en franchise de TVA ?
Non. Une micro-entreprise en franchise (art. 293 B du CGI) n'a pas de numéro de TVA intracommunautaire. Dans ce cas, BT-118 vaut E (exonéré), BT-119 est absent, et BT-120/121 indiquent le motif d'exonération. Renseigner un faux numéro de TVA est une non-conformité grave.
Pour aller plus loin
- Testeur Factur-X SynapxLab — validation EN 16931 + retour par BT
- Factur-X : comprendre et valider
- 20 erreurs Factur-X fréquentes
- Générer Factur-X en PHP
- FNFE-MPE — guides et ressources : fnfe-mpe.org et services.fnfe-mpe.org
- Norme EN 16931 (CEN) : standards.cen.eu — rechercher « EN 16931-1:2017 »