Champs obligatoires EN 16931 : liste et formats
Référence champ par champ des données de facture obligatoires EN 16931 : codes BT, formats et exemples pour vendeur, acheteur, lignes, TVA et totaux.
Validez votre fichier maintenant
Gratuit, instantané et 100 % dans votre navigateur - aucun fichier n'est jamais envoyé.
Comment lire cette référence
L’EN 16931 définit un modèle sémantique de données - une liste de « termes métier » (BT) regroupés en « groupes métier » (BG). Ce guide liste les champs nécessaires à une facture conforme au socle - chaque champ obligatoire, les principaux champs conditionnels et les champs optionnels essentiels - avec, pour chacun, son format et un exemple réaliste.
Chaque champ est marqué Obligatoire (toujours requis), Conditionnel (requis lorsqu’une règle s’applique - par exemple le taux de TVA lorsque la catégorie est « standard ») ou Optionnel (non requis par l’EN 16931 de base, mais indiqué car les règles nationales ou Peppol le rendent souvent obligatoire). Au-delà du socle, le CIUS de votre pays (un profil national comme XRechnung ou la spécification française) ou Peppol BIS peuvent ajouter d’autres champs obligatoires.
Le même modèle s'exprime dans deux syntaxes XML - UBL 2.1 et UN/CEFACT CII (la base de Factur-X / ZUGFeRD). Les codes BT/BG ci-dessous sont identiques dans les deux ; seuls les noms des éléments XML diffèrent. Les exemples utilisent une vente nationale avec un taux de TVA de 21%.
1. Niveau document
Identifiez la facture elle-même : son numéro, ses dates, son type et sa devise.
| Code | Champ | Exigence | Format | Exemple |
|---|---|---|---|---|
| BT-1 | Numéro de facture | Obligatoire | Text | INV-2026-0001 |
| BT-2 | Date d'émission de la facture | Obligatoire | YYYY-MM-DD | 2026-06-21 |
| BT-3 | Code de type de facture | Obligatoire | UNCL 1001 | 380 |
| BT-24 | Identifiant de spécification (CIUS) | Obligatoire | Identifier | urn:cen.eu:en16931:2017 |
| BT-5 | Code de devise de la facture | Obligatoire | ISO 4217 | EUR |
| BT-10 | Référence acheteur | Optionnel | Text | PO-4567 |
| BT-9 | Date d'échéance du paiement | Conditionnel | YYYY-MM-DD | 2026-07-21 |
2. Vendeur (BG-4 / BG-5)
Qui émet la facture. Le code pays est toujours obligatoire ; l'identifiant TVA est requis chaque fois que de la TVA est facturée.
| Code | Champ | Exigence | Format | Exemple |
|---|---|---|---|---|
| BT-27 | Nom du vendeur | Obligatoire | Text | ACME GmbH |
| BT-31 | Identifiant TVA du vendeur | Conditionnel | Text | DE123456789 |
| BT-30 | Identifiant d'immatriculation légale du vendeur | Conditionnel | Text | HRB 12345 |
| BT-34 | Adresse électronique du vendeur | Optionnel | Identifier + EAS | 9930:DE123456789 |
| BT-35 | Adresse du vendeur, ligne 1 | Optionnel | Text | Hauptstraße 1 |
| BT-37 | Ville du vendeur | Optionnel | Text | Berlin |
| BT-38 | Code postal du vendeur | Optionnel | Text | 10115 |
| BT-40 | Code pays du vendeur | Obligatoire | ISO 3166-1 | DE |
3. Acheteur (BG-7 / BG-8)
Qui reçoit la facture. En B2C, l'acheteur est un particulier, donc l'identifiant TVA est laissé vide - mais le nom et le code pays restent obligatoires.
| Code | Champ | Exigence | Format | Exemple |
|---|---|---|---|---|
| BT-44 | Nom de l'acheteur | Obligatoire | Text | Jane Doe |
| BT-48 | Identifiant TVA de l'acheteur | Conditionnel | Text | - (B2C) |
| BT-49 | Adresse électronique de l’acheteur | Optionnel | Identifier + EAS | 0002:73282932 |
| BT-50 | Adresse de l'acheteur, ligne 1 | Optionnel | Text | 12 Rue de Paris |
| BT-52 | Ville de l'acheteur | Optionnel | Text | Lyon |
| BT-53 | Code postal de l'acheteur | Optionnel | Text | 69001 |
| BT-55 | Code pays de l'acheteur | Obligatoire | ISO 3166-1 | FR |
4. Ligne de facture (BG-25)
Au moins une ligne est requise. Chaque ligne décrit un article avec sa quantité, son prix, son montant net et sa catégorie de TVA.
| Code | Champ | Exigence | Format | Exemple |
|---|---|---|---|---|
| BT-126 | Identifiant de ligne de facture | Obligatoire | Text | 1 |
| BT-129 | Quantité facturée | Obligatoire | Decimal | 2 |
| BT-130 | Code d'unité de mesure | Obligatoire | UN/ECE Rec 20 | C62 |
| BT-153 | Nom de l'article | Obligatoire | Text | Wireless keyboard |
| BT-146 | Prix net de l'article | Obligatoire | Decimal | 50.00 |
| BT-131 | Montant net de la ligne de facture | Obligatoire | Decimal (2) | 100.00 |
| BT-151 | Code de catégorie de TVA de l'article facturé | Obligatoire | UNCL 5305 | S |
5. Ventilation de TVA (BG-23)
Une ventilation par taux de TVA, résumant la base imposable et le montant de taxe. Requise même pour une facture à taux unique.
| Code | Champ | Exigence | Format | Exemple |
|---|---|---|---|---|
| BT-116 | Montant imposable de la catégorie de TVA | Obligatoire | Decimal (2) | 100.00 |
| BT-117 | Montant de taxe de la catégorie de TVA | Obligatoire | Decimal (2) | 21.00 |
| BT-118 | Code de catégorie de TVA | Obligatoire | UNCL 5305 | S |
| BT-119 | Taux de la catégorie de TVA | Conditionnel | Percentage | 21 |
| BT-120 | Motif d’exonération de TVA (texte) | Conditionnel | Text | Exempt - Art. 44 |
| BT-121 | Code du motif d’exonération de TVA | Conditionnel | Code | VATEX-EU-AE |
6. Totaux du document (BG-22)
Le récapitulatif monétaire. Ces montants doivent être cohérents entre eux, sinon les règles de calcul de l'EN 16931 rejetteront la facture.
| Code | Champ | Exigence | Format | Exemple |
|---|---|---|---|---|
| BT-106 | Somme des montants nets des lignes de facture | Obligatoire | Decimal (2) | 100.00 |
| BT-109 | Montant total de la facture hors TVA | Obligatoire | Decimal (2) | 100.00 |
| BT-110 | Montant total de TVA de la facture | Conditionnel | Decimal (2) | 21.00 |
| BT-112 | Montant total de la facture TVA comprise | Obligatoire | Decimal (2) | 121.00 |
| BT-115 | Montant dû au paiement | Obligatoire | Decimal (2) | 121.00 |
Formats et listes de codes
L'EN 16931 ne vous permet pas d'inventer des valeurs pour les champs typés - ils doivent respecter ces formats standard et ces listes de codes.
Dates
Date calendaire ISO 8601, format YYYY-MM-DD (ex. 2026-06-21). Pas d'heure ni de fuseau horaire sur les dates de facture.
Montants monétaires
Decimal avec au plus 2 décimales, un point comme séparateur décimal et aucun séparateur de milliers (ex. 1234.50).
Devise (BT-5)
Code à trois lettres ISO 4217 (ex. EUR, SEK, PLN). Une seule devise de document par facture.
Codes pays
Code à deux lettres ISO 3166-1 alpha-2 (ex. DE, FR, BE) pour chaque adresse.
Catégorie de TVA (BT-118 / BT-151)
Code UNCL 5305 : S (standard), Z (taux zéro), E (exonéré), AE (autoliquidation), K (intra-UE), G (export), O (hors champ).
Unité de mesure (BT-130)
Code UN/ECE Recommandation 20/21 (ex. C62 = unité/pièce, KGM = kilogramme, HUR = heure, MTR = mètre).
Type de facture (BT-3)
Code UNCL 1001 : 380 (facture commerciale), 381 (note de crédit / avoir), 384 (facture corrigée), 389 (facture en autofacturation).
Identifiants et schémas
De nombreux identifiants portent un identifiant de schéma - ex. un identifiant TVA vendeur comme DE123456789, ou une adresse électronique qualifiée par un schéma Peppol EAS (tel que 9930).
Ce qui change en B2C (facturation aux particuliers)
L'EN 16931 a été conçue principalement pour le B2B et le B2G, mais son modèle de base s'applique à toute facture - y compris les ventes aux particuliers. La structure ne change pas ; quelques champs se comportent simplement différemment.
L'identifiant TVA de l'acheteur (BT-48) n'est pas requis pour les particuliers - omettez-le. Le nom de l'acheteur (BT-44) et le code pays de l'acheteur (BT-55) restent obligatoires, et une adresse postale complète est fortement recommandée (et souvent requise par les règles nationales de TVA).
La TVA s'applique toujours pleinement : chaque ligne nécessite un code de catégorie de TVA (BT-151) et la ventilation de TVA (BG-23) doit être présente. Pour une vente nationale B2C normale, il s'agit de la catégorie S avec votre taux standard national.
Le routage est la véritable différence. Le réseau Peppol cible le B2B/B2G, donc pour du pur B2C vous produisez tout de même un XML conforme à l'EN 16931 (pour l'archivage, la déclaration TVA/OSS, ou à remettre au client) mais vous ne l'envoyez généralement pas via Peppol. Vérifiez toujours le mandat de votre pays - certains n'exigent des factures structurées que pour le B2B ou au-delà d'un seuil.
Un exemple complet (tous les champs obligatoires)
Voici une facture minimale mais entièrement conforme à l’EN 16931, en UBL 2.1, correspondant à l’exemple B2C ci-dessus (une vente de 100 € à 21 % de TVA). Chaque terme métier obligatoire est présent et annoté avec son code BT.
<?xml version="1.0" encoding="UTF-8"?>
<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">
<cbc:CustomizationID>urn:cen.eu:en16931:2017</cbc:CustomizationID> <!-- BT-24 -->
<cbc:ID>INV-2026-0001</cbc:ID> <!-- BT-1 -->
<cbc:IssueDate>2026-06-21</cbc:IssueDate> <!-- BT-2 -->
<cbc:DueDate>2026-07-21</cbc:DueDate> <!-- BT-9 -->
<cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode> <!-- BT-3 -->
<cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode> <!-- BT-5 -->
<cac:AccountingSupplierParty> <!-- BG-4 Seller -->
<cac:Party>
<cac:PostalAddress>
<cbc:StreetName>Hauptstraße 1</cbc:StreetName> <!-- BT-35 -->
<cbc:CityName>Berlin</cbc:CityName> <!-- BT-37 -->
<cbc:PostalZone>10115</cbc:PostalZone> <!-- BT-38 -->
<cac:Country><cbc:IdentificationCode>DE</cbc:IdentificationCode></cac:Country> <!-- BT-40 -->
</cac:PostalAddress>
<cac:PartyTaxScheme>
<cbc:CompanyID>DE123456789</cbc:CompanyID> <!-- BT-31 -->
<cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
</cac:PartyTaxScheme>
<cac:PartyLegalEntity>
<cbc:RegistrationName>ACME GmbH</cbc:RegistrationName> <!-- BT-27 -->
</cac:PartyLegalEntity>
</cac:Party>
</cac:AccountingSupplierParty>
<cac:AccountingCustomerParty> <!-- BG-7 Buyer (B2C) -->
<cac:Party>
<cac:PostalAddress>
<cac:Country><cbc:IdentificationCode>FR</cbc:IdentificationCode></cac:Country> <!-- BT-55 -->
</cac:PostalAddress>
<cac:PartyLegalEntity>
<cbc:RegistrationName>Jane Doe</cbc:RegistrationName> <!-- BT-44 -->
</cac:PartyLegalEntity>
</cac:Party>
</cac:AccountingCustomerParty>
<cac:TaxTotal>
<cbc:TaxAmount currencyID="EUR">21.00</cbc:TaxAmount> <!-- BT-110 -->
<cac:TaxSubtotal> <!-- BG-23 VAT breakdown -->
<cbc:TaxableAmount currencyID="EUR">100.00</cbc:TaxableAmount> <!-- BT-116 -->
<cbc:TaxAmount currencyID="EUR">21.00</cbc:TaxAmount> <!-- BT-117 -->
<cac:TaxCategory>
<cbc:ID>S</cbc:ID> <!-- BT-118 -->
<cbc:Percent>21</cbc:Percent> <!-- BT-119 -->
<cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:TaxTotal>
<cac:LegalMonetaryTotal> <!-- BG-22 Totals -->
<cbc:LineExtensionAmount currencyID="EUR">100.00</cbc:LineExtensionAmount> <!-- BT-106 -->
<cbc:TaxExclusiveAmount currencyID="EUR">100.00</cbc:TaxExclusiveAmount> <!-- BT-109 -->
<cbc:TaxInclusiveAmount currencyID="EUR">121.00</cbc:TaxInclusiveAmount> <!-- BT-112 -->
<cbc:PayableAmount currencyID="EUR">121.00</cbc:PayableAmount> <!-- BT-115 -->
</cac:LegalMonetaryTotal>
<cac:InvoiceLine> <!-- BG-25 Invoice line -->
<cbc:ID>1</cbc:ID> <!-- BT-126 -->
<cbc:InvoicedQuantity unitCode="C62">2</cbc:InvoicedQuantity> <!-- BT-129 / BT-130 -->
<cbc:LineExtensionAmount currencyID="EUR">100.00</cbc:LineExtensionAmount> <!-- BT-131 -->
<cac:Item>
<cbc:Name>Wireless keyboard</cbc:Name> <!-- BT-153 -->
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID> <!-- BT-151 -->
<cbc:Percent>21</cbc:Percent>
<cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">50.00</cbc:PriceAmount> <!-- BT-146 -->
</cac:Price>
</cac:InvoiceLine>
</Invoice>Il s’agit du socle EN 16931. Pour l’envoyer via Peppol, ajoutez aussi les adresses électroniques (BT-34 / BT-49), le ProfileID (BT-23) et une référence acheteur (BT-10). La même facture en CII (Factur-X) utilise les mêmes codes BT avec d’autres noms d’éléments.
Validez votre facture EN 16931 gratuitement
Générez votre fichier UBL ou CII, puis déposez-le dans notre validateur pour vérifier chaque champ obligatoire, liste de codes et règle métier de l'EN 16931 - entièrement dans votre navigateur, sans qu'aucune donnée ne soit transmise à un serveur.
Ouvrir le validateur UBL / PeppolQuestions fréquemment posées
Combien de champs l'EN 16931 exige-t-elle ?
Le modèle de base comporte environ 160 termes métier, mais seul un sous-ensemble est obligatoire. Une facture minimale conforme nécessite environ 25 à 30 champs obligatoires répartis entre l'en-tête du document, le vendeur, l'acheteur, au moins une ligne, la ventilation de TVA et les totaux.
Le numéro de TVA de l'acheteur est-il obligatoire ?
Non. Le BT-48 est conditionnel - requis pour l'autoliquidation B2B ou les livraisons intra-UE, mais pas pour les ventes B2C aux particuliers. Le nom et le code pays de l'acheteur sont toujours obligatoires.
Quel format de date l'EN 16931 utilise-t-elle ?
Dates calendaires ISO 8601, YYYY-MM-DD (ex. 2026-06-21). Les dates de facture ne comportent ni heure ni fuseau horaire.
Combien de décimales sont autorisées sur les montants ?
Les montants monétaires utilisent au maximum 2 décimales avec un point comme séparateur décimal. Les quantités et les prix unitaires peuvent comporter davantage de décimales.
Quelle est la différence entre champs obligatoires et conditionnels ?
Les champs obligatoires doivent toujours être présents. Les champs conditionnels deviennent obligatoires lorsqu'une règle s'applique - par exemple le taux de TVA (BT-119) est requis lorsque la catégorie de TVA est « Standard ».
Quel code de type de facture dois-je utiliser ?
Le BT-3 utilise la liste de codes UNCL 1001. Utilisez 380 pour une facture commerciale et 381 pour une note de crédit / avoir ; 384 correspond à une facture corrigée.
Ai-je besoin à la fois de l'UBL et du CII ?
Non - choisissez une seule syntaxe. UBL 2.1 est courant sur Peppol ; le CII est à la base de Factur-X/ZUGFeRD. Les termes métier obligatoires sont identiques dans les deux.
Existe-t-il des champs obligatoires supplémentaires au-delà du modèle de base ?
Oui. Les CIUS nationaux (ex. XRechnung en Allemagne, le profil français) et Peppol BIS ajoutent des règles - par exemple XRechnung exige une référence acheteur (BT-10) et les coordonnées de contact du vendeur.
Quel code de catégorie de TVA utiliser pour une vente nationale normale ?
La catégorie S (taux standard) avec le pourcentage applicable dans le BT-119. Utilisez Z pour le taux zéro, E pour l'exonéré, et AE pour l'autoliquidation.
Comment vérifier que ma facture est complète ?
Validez-la par rapport aux règles métier de l'EN 16931 (Schematron), et pas seulement par rapport au schéma XSD. Notre validateur UBL/Peppol gratuit vérifie les champs obligatoires, les listes de codes et les règles de calcul de l'EN 16931.