Aller au contenu

Visualiseur Factur-X

PDF + CII

Ouvrez un PDF Factur-X ou ZUGFeRD, extrayez le XML de facture qu’il contient et consultez le document et ses données structurées côte à côte. Votre PDF ne quitte jamais votre appareil.

Votre document ne quitte jamais votre poste — le fichier est lu et analysé dans cet onglet du navigateur.

Déposez un PDF Factur-X ou ZUGFeRD ici, ou choisissez un fichier

Lu dans votre navigateur. Jamais transmis. Jusqu’à 25.0 MB.

Ce qu’est Factur-X

Factur-X combine un document PDF lisible et des données XML structurées : un seul fichier que deux lecteurs différents peuvent exploiter. Pour une personne, c’est un PDF ordinaire — la facture telle qu’elle serait imprimée. Pour un logiciel, il transporte une Cross Industry Invoice UN/CEFACT complète, intégrée sous forme de pièce jointe XML, normalement nommée factur-x.xml. Aucune des deux moitiés n’est un résumé de l’autre : c’est la même facture exprimée deux fois, et la spécification exige qu’elles concordent.

Le conteneur est un fichier PDF/A-3, un profil d’archivage qui autorise des pièces jointes quelconques et consigne la relation entre le document et les fichiers qu’il contient. L’Allemagne publie la même spécification sous le nom ZUGFeRD ; les deux sont techniquement alignées, et les fichiers produits sous l’un ou l’autre nom s’ouvrent ici.

Ce que fait ce visualiseur

Il ouvre le conteneur et rend compte de ce qu’il y trouve :

  • Le PDF lui-même — nombre de pages, version, taille, présence de métadonnées XMP, et fonctions interactives déclarées par le document : JavaScript, formulaires, signatures. Déclarées, non exécutées.
  • Les fichiers intégrés — chaque pièce jointe, avec son nom, sa description, sa taille et son type détecté. Simple inventaire : rien n’est ouvert ni proposé au téléchargement.
  • La facture — le XML intégré, lu par la même chaîne de traitement que le visualiseur CII : même filtre de sécurité, même analyseur, même modèle structuré.
  • Le profil déclaré — MINIMUM, BASIC WL, BASIC, EN 16931 ou EXTENDED, lu dans les métadonnées du PDF et dans l’identifiant de spécification de la facture.

Ce qu’il ne fait pas

C’est un visualiseur, pas un validateur, et la distinction compte davantage ici qu’ailleurs : un fichier hybride a de nombreuses façons d’être subtilement incorrect. Trois points ne sont jamais contrôlés ici, et la page de résultat le rappelle à chaque fois plutôt que de vous laisser le déduire :

  • La conformité PDF/A-3 n’est pas vérifiée. Si les métadonnées revendiquent PDF/A-3B, cette revendication est présentée comme telle. L’établir suppose un validateur de conformité tel que veraPDF, face à plusieurs centaines d’exigences structurelles.
  • Les règles du profil Factur-X ne sont pas exécutées. Un document déclarant EN 16931 n’est pas confronté à ce qu’exige EN 16931.
  • Les règles de gestion françaises ne sont pas exécutées. Rien sur cette page ne constitue une affirmation de conformité à la réforme française de la facturation électronique.

Pour une validation par les règles, utilisez le validateur France, qui exécute les paquets de règles français officiels sur un PDF Factur-X, ou le validateur UBL pour les règles EN 16931 sur les documents UBL 2.1.

La détection repose sur des indices, pas sur un nom de fichier

La méthode évidente pour trouver la facture consiste à chercher une pièce jointe nommée factur-x.xml. Ce test est faux dans les deux sens : ce n’est donc pas celui utilisé ici. Une pièce jointe est retenue comme facture intégrée parce que son élément racine est une CrossIndustryInvoice dans l’espace de noms UN/CEFACT — rien d’autre ne la qualifie.

Le nom du fichier, le nom déclaré dans les métadonnées XMP et la présence du schéma Factur-X déterminent ensuite le niveau de certitude du résultat, et chaque indice retenu figure dans les détails techniques. Un fichier nommé factur-x.xml qui contient autre chose est signalé pour ce qu’il est.

Votre PDF ne quitte jamais votre appareil

Le fichier est traité localement dans votre navigateur : il est lu dans cet onglet et analysé par PDF.js dans un fil d’exécution servi par ce site. Cet outil ne comporte aucune étape d’envoi, aucune base où le conserver, et aucun événement de mesure d’audience transportant quoi que ce soit à son sujet — nom de fichier compris. Ouvrir un document ne déclenche aucune requête réseau issue de son contenu : ni pour une image distante, ni pour une police, ni pour un lien qu’il contiendrait.

Parce qu’un PDF est un format riche traité par un analyseur volumineux, ce visualiseur est construit pour que vous n’ayez pas à faire confiance au document. Le JavaScript du document ne peut pas s’exécuter : le moteur de script dont PDF.js aurait besoin ne fait pas partie de ce que ce site déploie. Les pages sont rendues sur un canevas, annotations, liens et formulaires désactivés, si bien qu’aucun balisage issu du PDF n’entre dans cette page. Les fichiers intégrés sont recensés mais jamais ouverts.

Les profils

Factur-X définit cinq profils, chacun couvrant une part croissante du modèle sémantique. Le profil déclaré indique ce que le document est censé contenir, et il apparaît à deux endroits : le champ XMP ConformanceLevel et l’identifiant de spécification de la facture.

  • MINIMUM — données d’en-tête uniquement ; ce n’est pas une facture complète au sens d’EN 16931.
  • BASIC WL — comme MINIMUM, avec la ventilation de TVA, mais sans lignes.
  • BASIC — avec les lignes, suffisant pour les factures simples.
  • EN 16931 — le modèle sémantique européen complet. Souvent appelé COMFORT.
  • EXTENDED — EN 16931 enrichi de données de gestion supplémentaires.

Lorsque les deux déclarations divergent, les deux sont affichées et aucune n’est retenue. Voir Factur-X pour le format en détail, et EN 16931 pour le modèle sémantique sous-jacent.

Questions fréquentes

Mon PDF est-il envoyé quelque part ?

Non. Le fichier est lu par votre navigateur avec File.arrayBuffer(), puis analysé par PDF.js dans un fil d’exécution servi par ce site. Cet outil ne comporte aucune étape d’envoi, aucun stockage et aucun événement de mesure d’audience transportant quoi que ce soit de votre document — pas même son nom de fichier. Ouvrez le panneau réseau de votre navigateur pendant le chargement : vous ne verrez que les ressources du site lui-même.

Cet outil me dit-il si mon fichier Factur-X est conforme ?

Non, et il le précise sur chaque résultat. Cet outil rapporte ce qu’il a constaté : qu’un PDF s’est ouvert, qu’un fichier intégré a été trouvé, que ce fichier s’analyse comme une Cross Industry Invoice, et quel profil le document déclare. Il ne vérifie pas la conformité PDF/A-3, n’exécute pas les règles du profil Factur-X et n’exécute pas les règles françaises. Ces lignes sont toujours affichées, toujours marquées comme non faites.

Pourquoi la conformité PDF/A-3 n’est-elle pas vérifiée ?

Parce que le faire correctement suppose plusieurs centaines d’exigences structurelles — structure du fichier, espaces colorimétriques, incorporation des polices, cohérence des métadonnées, relations des fichiers associés — et un validateur de conformité tel que veraPDF. Présenter « métadonnées PDF/A trouvées » comme une conformité PDF/A serait une affirmation susceptible d’être fausse dans les deux sens. Ce que vous obtenez ici, c’est la revendication du fichier, désignée comme telle.

La facture ne s’appelle pas factur-x.xml. Sera-t-elle quand même lue ?

Oui, et elle sera signalée comme facture intégrée possible plutôt que comme Factur-X. La détection repose sur des indices : une pièce jointe est retenue parce qu’elle s’analyse comme une CrossIndustryInvoice UN/CEFACT, non à cause de son nom. L’inverse vaut aussi — un fichier nommé factur-x.xml qui n’est pas une Cross Industry Invoice est écarté, et la raison vous est indiquée.

Le profil déclaré est indiqué comme contradictoire. Qu’est-ce que cela signifie ?

Deux endroits d’un fichier hybride peuvent déclarer le profil : les métadonnées XMP du PDF (ConformanceLevel) et l’identifiant de spécification de la facture intégrée. Lorsqu’ils désignent des profils différents, les deux sont affichés et aucun n’est retenu. En privilégier un en silence reviendrait à annoncer un profil que votre document ne déclare pas sans ambiguïté.

Quelle version UN/CEFACT la facture intégrée utilise-t-elle — D16B ou D22B ?

Cet outil ne le dira pas, pour la même raison que le visualiseur CII : toutes les versions partagent l’espace de noms CrossIndustryInvoice:100, et un profil Factur-X désigne un profil, pas une version. Les versions successives de la spécification Factur-X ont été construites sur des versions UN/CEFACT différentes tout en conservant les mêmes noms de profils : déduire une version de « EN 16931 » serait une supposition déguisée en fait.

Puis-je ouvrir un PDF protégé par mot de passe ?

Pas actuellement. Un fichier protégé est signalé comme tel et rien d’autre n’est tenté. Enregistrez une copie non protégée depuis votre lecteur PDF, puis ouvrez celle-ci.

Est-il prudent d’ouvrir un PDF dont je me méfie ?

Ce visualiseur part du principe que vous ne devriez pas avoir à lui faire confiance. Le JavaScript du document ne peut pas s’exécuter : le moteur qui l’exécuterait ne fait pas partie de ce que ce site déploie. Les pages sont rendues sur un canevas, annotations, liens et formulaires désactivés : aucun élément du PDF n’entre dans cette page. Les fichiers intégrés sont listés mais jamais ouverts. La politique de sécurité du contenu n’autorise ni évaluation de chaînes ni origine tierce.