Double-cliquez sur une facture Factur-X reçue par courriel : elle s’affiche comme n’importe quel PDF, dans Acrobat, dans un navigateur ou dans l’aperçu de Windows. Le fichier est donc ouvert. Pourtant, la moitié de son contenu reste invisible. Sous l’image de la facture dort un fichier XML structuré que votre écran n’affichera jamais.
Cette seconde couche porte les données exploitables : identité du vendeur, SIRET, taux de TVA, montants, lignes, références de paiement. Y accéder demande autre chose qu’un lecteur PDF. Le lecteur de cette page ouvre le fichier, en extrait le XML et le restitue en clair, comme les autres outils & simulateurs facture électronique du site.
Reste à savoir quand ce geste sert vraiment. Vérifier une facture contestée, comprendre un rejet de plateforme, archiver le XML séparément pour un contrôle : trois cas où l’extraction manuelle a du sens. Le reste du temps, un logiciel raccordé le fait sans vous prévenir.
Au 1ᵉʳ septembre 2026, toute entreprise assujettie à la TVA doit être en mesure de recevoir une facture électronique. Recevoir ne signifie pas lire : le fichier arrive, l’exploiter reste un problème d’outillage.
Le diagnostic vous sort trois plateformes classées, selon votre taille et votre volume.
Ce que contient réellement un fichier Factur-X
Le format ne cache rien de compliqué, mais sa double nature explique presque tous les malentendus. Un seul fichier, deux publics : un rendu visuel pour l’humain, un jeu de données pour la machine. Comprendre comment fonctionne le format Factur-X évite de chercher à l’écran un XML qui n’y sera jamais.
Le PDF/A-3, l’enveloppe que tout le monde voit
Un fichier Factur-X est d’abord un PDF, dans une variante précise : le PDF/A-3, normalisé par l’ISO sous la référence 19005-3. Cette norme d’archivage autorise l’intégration de pièces jointes à l’intérieur même du document. C’est elle qui rend le format hybride possible.
Concrètement, votre lecteur habituel affiche la facture sans installation ni réglage. Acrobat Reader, l’aperçu de macOS, le lecteur intégré à Chrome ou Edge : tous ouvrent le fichier. Vous y lisez le numéro, la date et les montants, comme sur une facture classique.
Cette compatibilité est le principal argument du format. Un destinataire qui n’a encore rien mis en place voit malgré tout sa facture. Un fichier UBL ou CII pur, en revanche, n’affiche rien sans outil dédié. Le PDF sert donc de filet pendant la transition.
Le XML embarqué, la partie que l’écran n’affiche pas
La pièce jointe s’appelle presque toujours factur-x.xml. Deux autres noms circulent : zugferd-invoice.xml, la variante allemande, et xrechnung.xml sur certains flux publics. Ce fichier suit la syntaxe CII de l’UN/CEFACT, la grammaire retenue par la norme européenne EN 16931.
Il n’apparaît nulle part dans la page affichée. Le PDF le stocke dans sa structure interne, déclaré comme fichier embarqué avec un type MIME et une relation. Un logiciel comptable le repère par ces métadonnées, le lit, puis alimente ses écritures sans ressaisie ni reconnaissance de caractères.
Renommer un PDF classique ne le transforme pas en Factur-X. Sans XML embarqué, le fichier reste un PDF ordinaire, refusé comme facture électronique dès que l’obligation se déclenche pour votre entreprise.
D’où le décalage ressenti par beaucoup : le document semble parfaitement lisible, alors que les données qui comptent pour la comptabilité et pour l’administration se trouvent ailleurs. Un test tranche la question en quelques secondes. Déposez le fichier dans le lecteur : soit une structure de données en ressort, soit il n’y a rien à extraire.
Ce que le lecteur extrait, et ce qu’il ne fait pas
L’outil fait une chose et la fait entièrement : il isole la pièce jointe XML et la traduit en champs lisibles. Ni plus, ni moins. Connaître cette frontière évite de lui reprocher un travail qui relève d’un validateur.
Les champs que l’extraction restitue
L’extraction rend d’abord les parties : dénomination du vendeur, celle de l’acheteur, SIRET, numéro de TVA intracommunautaire, adresses. Viennent ensuite le numéro de facture, la date d’émission, l’échéance, puis la ventilation de TVA par taux et les trois totaux, hors taxes, TVA et toutes taxes comprises.
Selon le profil, les lignes de détail apparaissent également : désignation, quantité, prix unitaire, remise éventuelle. Le lecteur affiche par ailleurs le profil détecté, information décisive quand une plateforme rejette le fichier sans motif explicite.
Le XML brut reste téléchargeable. Ce point compte pour trois usages : tester une chaîne de réception, transmettre le fichier à un éditeur qui débogue, ou conserver la donnée structurée à part du document affiché.
Extraire n’est pas valider
Un XML extrait sans erreur peut rester non conforme. L’extraction restitue le contenu tel quel, sans le confronter aux règles. La validation, elle, compare le fichier à un schéma XSD, puis à des règles métier exprimées en Schematron, celles qui portent les codes d’erreur BR de la norme EN 16931.
Un fichier peut donc s’ouvrir parfaitement et se faire refuser par une plateforme agréée. Le cas typique tient à une règle de cohérence : un total qui ne correspond pas à la somme des lignes, un identifiant absent, un code pays mal formé.
Autrement dit, le lecteur répond à la question du contenu, pas à celle de la conformité. Les deux contrôles se complètent, et confondre les deux fait perdre du temps sur un fichier parfaitement valide.
- Aucune installation, aucun compte à créer
- Profil Factur-X détecté et affiché
- XML brut téléchargeable pour un éditeur
- Fonctionne sur les fichiers ZUGFeRD allemands
- Un fichier à la fois, pas de traitement par lot
- Aucun contrôle de conformité EN 16931
- Rien n’est injecté dans votre comptabilité
- Sans objet si votre plateforme décode déjà vos flux
Quand le fichier refuse de livrer son XML
Trois symptômes reviennent sans cesse chez ceux qui découvrent le format. Aucun n’est mystérieux, et chacun se règle différemment. Encore faut-il distinguer un fichier mal fabriqué d’un fichier qui n’a jamais été une Factur-X.
Aucune pièce jointe : ce n’est pas une Factur-X
Le diagnostic le plus fréquent est aussi le plus simple. Si le lecteur ne trouve aucun fichier embarqué, le PDF reçu est un PDF ordinaire. Votre fournisseur a exporté sa facture depuis un outil qui ne produit pas de format structuré.
Autre cause, plus sournoise : le XML a sauté lors d’une manipulation. Ouvrir un Factur-X dans un éditeur PDF, y annoter ou y apposer une signature, puis réenregistrer suffit parfois à supprimer les pièces jointes. Le document ressemble au précédent, sans sa donnée.
Dans les deux cas, le fichier ne se répare pas depuis un lecteur. Il faut le reconstruire, ce que fait notre convertisseur, ou réclamer au fournisseur un export conforme.
Les noms de pièce jointe reconnus sont factur-x.xml, zugferd-invoice.xml, xrechnung.xml et order-x.xml. Un fichier nommé autrement peut rester valide : les outils sérieux prennent alors le premier XML embarqué.
XML présent, contenu vide ou profil trop pauvre
Deuxième symptôme : la pièce jointe apparaît, mais elle pèse zéro octet. L’entrée existe dans la structure du PDF, le flux de données n’a jamais été écrit. Ce défaut vient de certaines chaînes de génération, notamment côté PHP, et touche plusieurs ERP open source.
Troisième cas, moins spectaculaire : tout fonctionne, mais le XML ne contient presque rien. Les profils MINIMUM et BASIC WL ne portent aucune ligne de facture. Vous récupérez les totaux et les parties, jamais le détail.
Réclamer un profil plus riche relève alors du fournisseur. Le profil EN 16931 couvre l’intégralité du noyau sémantique européen et reste la référence pour un échange entre professionnels.
Ouvrir le fichier sans passer par le navigateur
Le lecteur en ligne couvre le besoin ponctuel. Deux autres chemins existent, l’un manuel, l’autre scriptable. Chacun a ses angles morts, et le premier surprend surtout par ce qu’il n’affiche pas.
Le panneau des pièces jointes d’un lecteur PDF
Adobe Acrobat Reader expose les fichiers embarqués dans une barre latérale, sous l’icône en forme de trombone. Le fichier factur-x.xml y apparaît, exportable en deux clics. La méthode ne coûte rien et fonctionne hors ligne.
Elle a une limite qui piège beaucoup d’utilisateurs. L’aperçu de macOS et les lecteurs intégrés aux navigateurs n’affichent pas ce panneau. Le XML est bien présent, l’interface ne le montre simplement pas. Certains en concluent, à tort, que la facture reçue n’est pas une Factur-X.
pdfdetach, pypdf et la bibliothèque factur-x
Côté technique, l’extraction tient en une ligne. L’utilitaire pdfdetach, livré avec poppler, sort les pièces jointes d’un PDF. En Python, pypdf donne accès aux fichiers embarqués, et la bibliothèque factur-x ajoute la détection automatique du profil.
Java dispose de Mustang, PHP d’une librairie maintenue par la communauté. Ces outils s’intègrent dans une chaîne de réception, ce qu’aucun lecteur en ligne ne remplace. Une précaution s’impose toutefois : vérifier la taille du contenu extrait avant de le parser, car un flux vide provoque une erreur peu explicite.
Au 1ᵉʳ septembre 2026, l’ouverture manuelle devient l’exception
L’échéance change la nature du problème. Tant que les Factur-X arrivaient par courriel, les ouvrir une par une restait tenable. À partir de la bascule, elles transitent par une plateforme et arrivent déjà décodées.
La réception passe par une plateforme agréée
Au 1ᵉʳ septembre 2026, toute entreprise assujettie à la TVA doit être en mesure de recevoir ses factures par voie électronique. L’obligation vise aussi les micro-entreprises et les indépendants, y compris en franchise en base. L’émission, elle, suit un calendrier en deux temps, 2026 puis 2027.
Recevoir suppose deux choses : avoir désigné une plateforme agréée, et figurer dans l’annuaire central qui permet à vos fournisseurs de vous adresser leurs factures. Notre vérificateur indique si un SIREN y est correctement référencé.
L’obligation de réception concerne toutes les entreprises assujetties à la TVA à la même date, quelle que soit leur taille. Seule l’émission suit un calendrier échelonné selon la catégorie d’entreprise.
Ce qui reste utile au lecteur ponctuel
L’outil ne devient pas inutile pour autant. Un fournisseur étranger, un fichier reçu hors circuit, un litige sur un montant : ces cas continueront d’exister après la bascule. Ouvrir le fichier soi-même reste alors le moyen le plus rapide de trancher.
Il sert aussi de banc d’essai. Avant de valider une chaîne d’émission, déposer une facture produite par votre propre outil montre immédiatement ce que verra le destinataire. Le même réflexe s’applique à un gabarit, en partant de notre page modèle de facture conforme 2026 à télécharger.
- Un Factur-X est un PDF/A-3 qui embarque un XML CII, invisible à l’écran
- Le lecteur isole ce XML, affiche les champs et le profil détecté
- Extraire n’est pas valider : la conformité EN 16931 relève d’un validateur
- Pas de pièce jointe, XML vide, profil MINIMUM : trois causes distinctes
- Après le 1ᵉʳ septembre 2026, la plateforme agréée décode les flux à votre place
Le diagnostic identifie la plateforme qui couvre votre réception, selon votre profil.
Questions fréquentes
Un fichier Factur-X et un fichier ZUGFeRD, est-ce la même chose ?
Techniquement, oui. Les deux spécifications sont identiques depuis la version 1.0, publiées conjointement par le FNFE-MPE côté français et par le FeRD côté allemand. Un fichier ZUGFeRD valide est donc un fichier Factur-X valide, et l’inverse se vérifie aussi. Seule la pièce jointe change parfois de nom, zugferd-invoice.xml au lieu de factur-x.xml. Un fournisseur allemand n’impose ainsi aucun traitement particulier.
Déposer une facture dans un lecteur en ligne, est-ce prudent ?
Une facture porte des données commerciales et des identifiants d’entreprise, rarement des données personnelles sensibles. Le point à vérifier reste le traitement du fichier : certains outils l’analysent dans le navigateur sans jamais l’envoyer, d’autres le traitent sur un serveur puis le suppriment. Pour un document confidentiel, l’extraction locale par le panneau des pièces jointes évite la question. Pour une facture fournisseur ordinaire, l’enjeu reste faible.
Faut-il archiver le PDF, le XML, ou les deux ?
Le fichier forme un tout : conserver le PDF/A-3 revient à conserver le XML, puisqu’il y est embarqué. Extraire le XML pour l’archiver séparément n’a d’intérêt que dans un cas, celui d’un système comptable qui indexe la donnée structurée. L’obligation porte sur le document original tel qu’il a été transmis. Le garder intact, sans réenregistrement intermédiaire, reste donc la précaution la plus utile.
Peut-on ouvrir un Factur-X depuis un téléphone ?
Le PDF s’affiche sans difficulté sur iOS comme sur Android. Le XML, en revanche, échappe presque toujours aux visionneuses mobiles, qui n’exposent pas les pièces jointes embarquées. Un lecteur accessible depuis le navigateur du téléphone contourne la limite. Le confort reste médiocre pour parcourir des lignes détaillées, l’écran étant vite saturé par la ventilation de TVA.
Que faire si le PDF et le XML affichent des montants différents ?
L’écart signale un défaut de fabrication du fichier, jamais une subtilité du format. Les deux couches doivent porter les mêmes valeurs, et cette cohérence figure parmi les contrôles opérés en amont. En cas de divergence, réclamez au fournisseur un fichier régénéré plutôt que de choisir une version. Reprendre les montants du PDF laisserait une trace incohérente avec la donnée transmise à l’administration.