Aller au contenu
xmoo.app

Outil · Bureau

Ouvrir et valider une facture Factur-X

Rend une facture électronique lisible – lignes, TVA, coordonnées bancaires – et la valide sur demande comme le font les validateurs officiels : schéma XML et règles de gestion, pour chaque profil Factur-X jusqu’à EXTENDED. Votre facture ne quitte pas votre navigateur.

Quand cet outil vous sert

  • Vous recevez une Factur-X et voulez voir ce qu’elle contient vraiment. Une Factur-X porte la facture deux fois : une fois en PDF pour l’œil, une fois en XML pour le logiciel. Le lecteur PDF ne montre que la première. Ici, c’est le XML qui est affiché, ligne par ligne.
  • On vous envoie un fichier XML seul (CII ou UBL) et l’éditeur de texte ne montre que des balises. L’outil en refait une facture lisible.
  • Avant de payer : net à payer, échéance, IBAN et référence de paiement d’un coup d’œil, avec contrôle de la clé IBAN et des totaux.
  • Vous créez vos propres Factur-X avec un logiciel et voulez savoir si le fichier passe les règles officielles avant de l’envoyer.
  • Archiver ou transmettre : « Imprimer / en PDF » produit une page qui ressemble à une facture papier, pour votre comptable ou votre classeur. Les résultats de la validation ne sont pas imprimés.

Factur-X en bref

Factur-X est un format mixte : un PDF lisible (au format PDF/A-3) dans lequel est intégré un fichier XML, en général nommé factur-x.xml. Le XML suit la norme européenne EN 16931 dans la syntaxe UN/CEFACT CII. Factur-X est développé en commun par le FNFE-MPE en France et le FeRD en Allemagne ; techniquement, c’est le même format que l’allemand ZUGFeRD 2.x. L’outil lit donc les deux.

Un profil indique quelles données le XML peut contenir :

  • MINIMUM et BASIC WL : les données d’en-tête et les totaux, sans lignes de facture. Ce ne sont pas des factures complètes au sens de la norme EN 16931.
  • BASIC : avec les lignes, mais un sous-ensemble de la norme.
  • EN 16931 (appelé aussi COMFORT) : toutes les données de la norme européenne.
  • EXTENDED : la norme plus des données supplémentaires, par exemple des frais logistiques.

Dans la réforme française de la facturation électronique, Factur-X est l’un des trois formats du socle, avec UBL et CII. La DGFiP le décrit comme « un format mixte composé d’un fichier de données structurées au format XML et d’un fichier de données lisibles au format PDF » (fiche DGFiP 1-f, voir les sources).

Factur-X et la réforme de 2026

Selon impots.gouv.fr (page modifiée le 26/05/2026, consultée le 12/11/2026) :

  • depuis le 1er septembre 2026, toutes les entreprises doivent être en capacité de recevoir des factures électroniques ;
  • les grandes entreprises et les ETI doivent émettre leurs factures au format électronique depuis cette même date ;
  • les petites et micro-entreprises ont jusqu’au 1er septembre 2027 pour émettre électroniquement leurs factures. Le e-reporting suit le même calendrier.

Ce qui vaut pour votre entreprise, le test Facture électronique obligatoire : suis-je concerné ? le dit en cinq questions.

Point important : entre entreprises françaises, la facture doit passer par une plateforme agréée. Un PDF ordinaire ou un document envoyé par e-mail ne sera plus conforme, selon impots.gouv.fr. C’est vrai aussi pour un fichier Factur-X : envoyé seul par e-mail, il ne remplit pas l’obligation. La plateforme agréée transmet en outre des données à l’administration.

Cet outil n’est pas une plateforme agréée. Il n’envoie rien, ni à votre client ni à l’administration. Il vous aide à lire et à contrôler un fichier, par exemple celui que votre plateforme ou votre fournisseur vous remet.

Ce que l’outil vérifie

La vérification se fait en trois étapes. La première a lieu dès l’ouverture, les deux autres sur demande, avec le bouton « Valider officiellement ».

1. Contrôle des calculs – l’outil recalcule les totaux selon les règles de la norme EN 16931 et, en cas d’écart, affiche le montant de la facture à côté du montant recalculé :

  • total des lignes = somme des montants nets des lignes (BR-CO-10) ;
  • remises et frais au niveau du document = somme de leurs montants (BR-CO-11, BR-CO-12) ;
  • total HT = total des lignes − remises + frais (BR-CO-13) ;
  • total de la TVA = somme de la TVA par taux (BR-CO-14) ;
  • total TTC = total HT + TVA (BR-CO-15) ;
  • net à payer = total TTC − montant déjà payé + arrondi (BR-CO-16).

Il vérifie aussi la clé de contrôle de chaque IBAN.

2. Schéma XML (XSD) – contrôle la forme du fichier : chaque élément est-il autorisé, à la bonne place, avec le bon type de données ? Pour une Factur-X, c’est le schéma du profil qui s’applique. Les profils se distinguent surtout par les éléments qu’ils admettent : une Factur-X MINIMUM qui contient des lignes échoue donc déjà au schéma.

3. Règles de gestion (Schematron) – plusieurs centaines de règles sur le contenu : données obligatoires, codes autorisés, catégories de TVA, et les règles de calcul ci-dessus. Le résultat distingue erreurs, avertissements et informations, et indique pour chaque message l’endroit du fichier concerné.

L’outil choisit les règles d’après l’identifiant de spécification du fichier (BT-24), comme les validateurs officiels :

  • Factur-X / ZUGFeRD : schéma et règles du profil MINIMUM, BASIC WL, BASIC, EN 16931 ou EXTENDED de Factur-X 1.09.2 (ZUGFeRD 2.5.2, publié le 4 août 2026). Les règles de profil reprennent celles de la norme EN 16931 là où elles s’appliquent.
  • XML UBL (par exemple Peppol) : schéma UBL 2.1 et règles EN 16931, artefacts de validation 1.3.17 de la Commission européenne.
  • XRechnung, le format allemand : en plus, les règles XRechnung 3.0.

Pour cela, votre navigateur télécharge une seule fois 0,6 à 1 Mo de règles depuis xmoo.app ; ensuite tout se passe dans votre navigateur. La validation prend en général une seconde.

Factur-X PDF/A-3 PDF lisible pour l’œil factur-x.xml CII, profil EN 16931 Vérifié ici 1. Calculs 298,00 + 59,60 = 357,60 2. Schéma XML (XSD) profil EN 16931 3. Règles Schematron Factur-X 1.09.2, EN 16931 Pas vérifié ici Règles françaises de la réforme Cadre de facturation G1.02 SIREN dans l’annuaire G1.63 Profil étendu EXTCTCFR-… Exemple : TVA 20 % sur 298,00 € = 59,60 € La plateforme agréée applique les règles françaises lors de la transmission.
Ce que la visionneuse lit et vérifie dans une Factur-X, et ce qui reste à la plateforme agréée. Montants de l’exemple de facture ci-dessous. Illustration personnelle.

Ce que l’outil ne vérifie pas : les règles françaises

La validation ici est celle de Factur-X et de la norme EN 16931. La réforme française ajoute ses propres contrôles, que les plateformes agréées appliquent et que cet outil ne fait pas :

  • Les règles de gestion de la DGFiP. L’annexe 7 des spécifications externes (version 3.2 du 30/04/2026) en compte 136, dont 48 pour la facture elle-même (flux 1). Par exemple : seuls certains types de facture sont autorisés (G1.01), le cadre de facturation doit être indiqué, comme B1 pour une facture de bien ou S1 pour une prestation de service (G1.02), et « le SIREN du vendeur (BT-30) et de l’acheteur (BT-47) sont obligatoires et doivent exister dans l’annuaire » (G1.63).
  • Le profil étendu de la réforme, décrit dans la norme AFNOR XP Z12-012. L’annexe 7 contient pour lui des variantes de règles (préfixe EXTCTCFR, par exemple EXTCTCFR-BR-CO-10). Une facture de ce profil est validée ici comme une Factur-X EXTENDED ordinaire.
  • La version du CII. Pour la syntaxe CII, la réforme retient la version D22B (dossier de spécifications externes v3.2). L’outil valide le XML avec les schémas de Factur-X et de la norme EN 16931 (CII D16B pour le XML seul).
  • L’annuaire et le cycle de vie (statuts comme « encaissée ») : ce sont des échanges entre plateformes et administration, pas des données du fichier.

« Aucune erreur » ici veut donc dire : le fichier est une Factur-X valide dans son profil. Cela ne garantit pas qu’une plateforme agréée l’accepte.

Exemple : la validation pas à pas

Avec « Voir un exemple de facture », vous ouvrez une Factur-X fictive d’un artisan électricien, profil EN 16931. Elle compte trois lignes : 100 m de câble R2V à 0,95 € (95,00 €), 3 heures de main-d’œuvre à 55,00 € (165,00 €) et un interrupteur différentiel à 38,00 €. Le contrôle des calculs donne :

  • total des lignes : 95,00 + 165,00 + 38,00 = 298,00 € (BR-CO-10). Sans remise ni frais, c’est aussi le total HT (BR-CO-13) ;
  • TVA au taux normal de 20 % sur 298,00 € = 59,60 € (BR-CO-14) ;
  • total TTC : 298,00 + 59,60 = 357,60 € (BR-CO-15). Rien n’est encore payé, le net à payer est donc aussi de 357,60 € (BR-CO-16).

La validation officielle ne signale aucune erreur pour cette facture. Si le total TTC indiquait 357,61 €, les règles BR-CO-15 et BR-CO-16 se déclencheraient, dans le contrôle des calculs comme dans les règles Factur-X. Les tests automatiques de l’outil vérifient ces deux cas à chaque modification.

Une plateforme agréée refuserait pourtant cet exemple : il n’indique pas de cadre de facturation (G1.02), l’acheteur n’a pas de SIREN, et le SIREN du vendeur, 000 000 000, n’existe pas dans l’annuaire (G1.63). C’est exactement la limite décrite plus haut.

Comment votre fichier est protégé

La facture est lue uniquement dans votre navigateur. Il n’y a pas de téléversement, pas de serveur qui lit avec vous, et rien n’est enregistré. Dans un PDF Factur-X, l’outil cherche le fichier XML intégré et le décompresse avec la fonction de décompression de votre navigateur.

L’affichage tourne en plus dans un cadre isolé. Cette page affiche de la publicité, mais le cadre a sa propre origine, cloisonnée : les scripts de publicité et de statistiques de cette page ne peuvent pas y accéder, et ni publicité ni statistiques ne sont chargées dans le cadre. Une règle de sécurité lui interdit en outre d’envoyer quoi que ce soit sur le réseau. Pour la validation officielle, il charge seulement les fichiers de règles fixes de xmoo.app ; votre facture n’est pas transmise.

Limites

  • Les règles françaises de la réforme ne sont pas vérifiées (voir plus haut).
  • L’outil ne compare pas le PDF visible avec le XML, et ne vérifie pas la conformité PDF/A-3. Il vous montre le XML pour que vous puissiez comparer vous-même.
  • ZUGFeRD 1.0, antérieur à Factur-X, n’est pas pris en charge. Les PDF chiffrés ne peuvent pas être lus.
  • Les profils MINIMUM et BASIC WL ne contiennent pas de lignes : la liste des lignes reste alors vide.
  • Les données supplémentaires du profil EXTENDED ne sont affichées qu’en partie. Elles sont tout de même entièrement validées.
  • Les règles valent pour Factur-X 1.09.2. Une facture d’une version plus ancienne peut afficher des messages qui n’en seraient pas selon sa propre version.
  • Les messages des règles officielles sont en anglais, comme dans les validateurs officiels.

Questions fréquentes

Comment ouvrir un fichier factur-x.xml ?

Glissez le fichier dans le cadre ci-dessus ou choisissez-le avec « Choisir un fichier ». L’outil l’affiche comme une facture, que vous pouvez imprimer en PDF. Pour un PDF Factur-X, ouvrez le PDF lui-même : l’outil trouve le XML intégré.

Comment savoir si une Factur-X est valide ?

Ouvrez-la et cliquez sur « Valider officiellement ». L’outil lit le profil et applique le schéma et les règles de ce profil. « Aucune erreur » signifie que le fichier respecte Factur-X 1.09.2 dans ce profil – pas qu’il remplit les règles françaises de la réforme.

Quelle différence entre Factur-X et ZUGFeRD ?

Aucune sur le plan technique : Factur-X 1.09.2 et ZUGFeRD 2.5.2 sont la même spécification, publiée sous deux noms. La réforme française y ajoute ses propres règles, que l’outil ne vérifie pas.

Dois-je téléverser ma facture ?

Non. La lecture et la validation se font entièrement dans votre navigateur. Seules les règles fixes sont chargées depuis xmoo.app ; votre fichier ne va nulle part.

Sources

Logiciels utilisés et licences

  • SaxonJS 2.7 exécute les règles dans le navigateur. Copyright Saxonica Ltd, distribué sans modification selon la licence SaxonJS (qui contient aussi l’exclusion de responsabilité). Contient big.js, copyright Michael Mclaughlin, licence MIT.
  • EN 16931 Validation Artefacts 1.3.17, © Union européenne, sous EUPL 1.2. Ici en version compilée (SEF) ; le code source se trouve dans la publication sur GitHub.
  • XRechnung-Schematron 2.6.0 de la KoSIT, sous Apache License 2.0. Ici en version compilée (SEF) ; le code source se trouve dans la publication sur GitHub.
  • Factur-X 1.09.2 / ZUGFeRD 2.5.2, schémas et règles du FeRD et du FNFE-MPE, sous Apache License 2.0. Les règles ici en version compilée (SEF) ; la liste de codes qu’elles chargent comme fichier séparé y est intégrée. Tirés de factur-x d’Alexis de Lattre (Akretion), licence BSD.
  • Schémas XML UBL 2.1, copyright OASIS Open (avec le schéma de signature XML intégré, copyright The Internet Society et W3C), et UN/CEFACT CII D16B, copyright UN/CEFACT, distribués sans modification avec leur mention de copyright.
  • xmllint-wasm 5.3.0 valide le schéma XML : libxml2 en WebAssembly, copyright les auteurs de libxml et libxml.js, licence MIT. Intégré ici sans worker, en un seul script contenant le WebAssembly.