Les quatre fichiers
Ces exemples servent à voir une facture électronique de l’intérieur, à tester un logiciel ou à montrer à un collègue à quoi ressemble un XML de facture. Trois sont complets, le quatrième a un défaut voulu.
| Fichier | Format | Pour quoi faire |
|---|---|---|
| factur-x-imprimerie-du-canal.pdf | Factur-X, profil EN 16931 | Voir un PDF qui contient ses données |
| cii-lumen-hebergement.xml | CII | Lire un XML CII seul |
| ubl-studio-bastide.xml | UBL | Comparer avec la syntaxe UBL |
| cii-champ-manquant.xml | CII, incomplet | Tester un contrôle de champs |
Un Factur-X en PDF
factur-x-imprimerie-du-canal.pdf
Un PDF/A-3 d’une page, avec le fichier factur-x.xml joint, au profil EN 16931. Imprimerie du Canal y facture à Camille Martin EI l’impression de brochures et de cartes de visite. Ouvert dans un lecteur PDF, il ressemble à n’importe quelle facture.
Extrait du fichier factur-x.xml joint au PDF. La ligne surlignée annonce le profil EN 16931. Le code 380 désigne une facture, et 381 un avoir.
<rsm:ExchangedDocumentContext>
<ram:GuidelineSpecifiedDocumentContextParameter> <ram:ID>urn:cen.eu:en16931:2017</ram:ID>
</ram:GuidelineSpecifiedDocumentContextParameter></rsm:ExchangedDocumentContext><rsm:ExchangedDocument>
<ram:ID>F-2026-0412</ram:ID>
<ram:TypeCode>380</ram:TypeCode>
<ram:IssueDateTime>
<udt:DateTimeString format="102">20261006</udt:DateTimeString>
</ram:IssueDateTime></rsm:ExchangedDocument>Dans notre lecteur, ce fichier s’affiche « CII », parce que l’identifiant du profil EN 16931 ne mentionne pas Factur-X. Les données lues sont les mêmes, comme l’explique notre guide du format.
Un XML au format CII
cii-lumen-hebergement.xml
Les mêmes types de données, sans PDF autour. Lumen Hébergement facture à Camille Martin EI un mois d’hébergement mutualisé et un nom de domaine, réglés par prélèvement. Ouvert tel quel, le fichier n’est qu’une suite de balises.
Extrait du vendeur et des totaux. Le schemeID 0002 signale un SIREN, et 0009 un SIRET. TaxBasisTotalAmount est le total HT, GrandTotalAmount le total TTC.
<ram:SellerTradeParty>
<ram:Name>Lumen Hébergement</ram:Name>
<ram:SpecifiedLegalOrganization>
<ram:ID schemeID="0002">[SIREN]</ram:ID>
</ram:SpecifiedLegalOrganization></ram:SellerTradeParty><ram:SpecifiedTradeSettlementHeaderMonetarySummation>
<ram:TaxBasisTotalAmount>24.00</ram:TaxBasisTotalAmount>
<ram:TaxTotalAmount currencyID="EUR">4.80</ram:TaxTotalAmount>
<ram:GrandTotalAmount>28.80</ram:GrandTotalAmount>
<ram:DuePayableAmount>28.80</ram:DuePayableAmount></ram:SpecifiedTradeSettlementHeaderMonetarySummation>Un XML au format UBL
ubl-studio-bastide.xml
La même logique dans l’autre syntaxe admise par la réforme. Studio Bastide facture à Menuiserie Arnaud une identité visuelle et ses déclinaisons pour les réseaux sociaux, payables par virement à 30 jours.
Extrait de l’en-tête et des totaux. En UBL, les dates s’écrivent AAAA-MM-JJ et chaque montant porte sa devise dans l’attribut currencyID.
<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2">
<cbc:ID>SB-2026-031</cbc:ID>
<cbc:IssueDate>2026-09-30</cbc:IssueDate>
<cbc:DueDate>2026-10-30</cbc:DueDate>
<cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
<cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode>
<cac:LegalMonetaryTotal>
<cbc:TaxExclusiveAmount currencyID="EUR">1750.00</cbc:TaxExclusiveAmount>
<cbc:TaxInclusiveAmount currencyID="EUR">2100.00</cbc:TaxInclusiveAmount>
<cbc:PayableAmount currencyID="EUR">2100.00</cbc:PayableAmount>
</cac:LegalMonetaryTotal>Une facture avec un champ manquant
cii-champ-manquant.xml
Un CII auquel il manque exprès le numéro de facture. Électro Morin y facture à SCI Les Tilleuls la rénovation d’un tableau électrique. Le fichier sert à vérifier qu’un outil de contrôle repère bien un champ absent.
L’élément ram:ID manque dans ExchangedDocument, à l’endroit surligné. La norme EN 16931 rend le numéro de facture obligatoire, donc ce fichier n’est pas conforme.
<rsm:ExchangedDocument> <!-- ram:ID absent, pas de numéro de facture -->
<ram:TypeCode>380</ram:TypeCode>
<ram:IssueDateTime>
<udt:DateTimeString format="102">20261012</udt:DateTimeString>
</ram:IssueDateTime></rsm:ExchangedDocument><ram:SellerTradeParty>
<ram:Name>Électro Morin</ram:Name></ram:SellerTradeParty>Dans notre lecteur, la checklist affiche « Numéro de facture, manquant » et les six autres champs présents. La facture reste lisible, avec un tiret à la place du numéro.
Ce que le lecteur affiche pour chaque fichier
Le tableau donne le résultat attendu une fois les fichiers produits. Le lecteur lit chaque fichier dans votre navigateur, sans l’envoyer, et ne garde rien quand vous fermez l’onglet.
| Fichier | Format détecté | Lignes affichées | Checklist |
|---|---|---|---|
| Factur-X d’Imprimerie du Canal | CII | 2 | 7 champs présents sur 7 |
| CII de Lumen Hébergement | CII | 2 | 7 champs présents sur 7 |
| UBL de Studio Bastide | UBL | 2 | 7 champs présents sur 7 |
| CII incomplet d’Électro Morin | CII | 1 | 6 sur 7, numéro manquant |
La checklist ne regarde que la présence de sept champs, le numéro, la date d’émission, le vendeur, les totaux HT, TVA et TTC et la devise. Elle n’a rien d’officiel et ne remplace ni une validation formelle ni les contrôles de votre plateforme agréée. Pour un contrôle seul, utilisez Contrôler une facture électronique.
Les balises à connaître dans un XML de facture
Pour lire un XML à l’œil, il suffit de savoir où chercher. Le tableau reprend les chemins que lit notre lecteur gratuit, dans chacune des deux syntaxes.
En CII, une date au format 102 s’écrit AAAAMMJJ, comme 20261006. Le lecteur l’affiche 2026-10-06, et il montre les montants tels qu’ils sont écrits, avec un point décimal, comme 1248.00 EUR.
Questions fréquentes
Ces fichiers sont-ils conformes à la norme ?
Les trois premiers sont conçus pour respecter la norme EN 16931, le quatrième ne la respecte pas exprès. Pour vos propres fichiers, seuls un validateur officiel ou les contrôles de votre plateforme font foi, et notre checklist ne regarde que sept champs.
Puis-je les utiliser pour tester mon logiciel ?
Oui, c’est leur raison d’être. Les entreprises, les montants et les identifiants sont inventés, et aucun fichier ne correspond à une vraie facture.
Pourquoi le Factur-X d’exemple s’affiche-t-il « CII » ?
Parce qu’il est au profil EN 16931, dont l’identifiant ne mentionne que la norme. Le lecteur affiche alors la syntaxe du XML, CII, et lit les mêmes données. Les autres profils s’affichent « Factur-X ».
Comment voir le XML caché dans le PDF d’exemple ?
Ouvrez le panneau « Pièces jointes » d’Adobe Acrobat Reader, où apparaît factur-x.xml, ou passez par notre outil Extraire le XML d’un Factur-X.
Où trouver des exemples officiels ?
Dans le dossier de la spécification Factur-X, publié par le FNFE-MPE, qui contient des exemples par profil. Les spécifications de l’OASIS pour UBL et du CEFACT-ONU pour CII en proposent aussi.
Le lecteur garde-t-il les fichiers que j’y ouvre ?
Non. Le fichier est lu dans votre navigateur, il ne passe par aucun serveur, et il n’en reste rien quand vous fermez l’onglet.
Sources, consultées le 13 octobre 2026 : FNFE-MPE, spécification Factur-X · FeRD, spécification ZUGFeRD · OASIS, spécifications UBL · CEFACT-ONU · impots.gouv.fr, je découvre la facturation électronique
Mis à jour le 13 octobre 2026 par l’équipe Clivio. Une erreur dans un fichier ? contact@clivio.app