FR / EN

BASE

Accueil Studio Approche

SERVICES

Facturation batch Factur-X Backend & interventions

INSTALLATION

Système de facturation autonome Intégration Factur-X

OUTILS GRATUITS

Générateur de devis Démo Factur-X

RESSOURCES

Chatbot Flask Pack VS Code Framework documentation Static site

CONTENU

Sans abonnement Sécurité des données Problèmes backend Perte de temps Notes techniques Conformité Factur-X

SUPPORT

FAQ Contact Liens

SUPPORT

FAQ Contact Liens

Factur-X EN16931 : pourquoi votre facture PDF n'est probablement pas conforme

Note technique sur la conformité Factur-X EN16931, PDF/A-3, XSD et Schematron, et les erreurs les plus courantes dans les solutions de facturation électronique.

La réforme de la facturation électronique impose des échéances précises. Beaucoup de solutions se disent conformes Factur-X. Peu le sont réellement.

La conformité Factur-X ne se résume pas à embarquer un fichier XML dans un PDF.
Elle repose sur trois niveaux distincts, indépendants, et tous obligatoires.

Les trois niveaux de conformité

Une facture Factur-X est considérée conforme uniquement si elle satisfait simultanément ces trois exigences :

  • XML valide XSD : la structure du fichier XML est syntaxiquement correcte
  • XML valide Schematron : les règles métier EN16931 sont respectées (montants, TVA, identifiants)
  • PDF/A-3 conforme : le document PDF est archivable à long terme avec le XML correctement embarqué

La plupart des solutions ne valident qu'un ou deux de ces niveaux. Le troisième — PDF/A-3 — est systématiquement le plus problématique.

Pourquoi PDF/A-3 est le vrai problème

Générer un PDF et y embarquer un XML ne produit pas un PDF/A-3 conforme.

PDF/A-3 impose des contraintes strictes sur le document lui-même : polices intégralement embarquées, espaces colorimétriques déclarés, OutputIntent ICC présent, métadonnées XMP conformes.

Les bibliothèques de génération PDF les plus répandues — Dompdf, TCPDF — produisent du DeviceRGB sans OutputIntent ICC. Le résultat est un PDF invalide au regard de la norme PDF/A, même si le XML embarqué est parfaitement structuré.

Le validateur Factur-X le détecte immédiatement. La facture est rejetée.

Ce que valide réellement le validateur

Le validateur Factur-X de référence effectue trois passes distinctes :

  • validation XSD de la structure XML
  • validation Schematron des règles métier EN16931
  • validation PDF/A-3 du document complet

Une solution qui passe XSD et Schematron mais échoue sur PDF/A-3 n'est pas conforme Factur-X. Elle génère un XML correct dans un PDF non archivable.

La combinaison qui fonctionne

La conformité PDF/A-3 nécessite une bibliothèque de génération PDF capable de produire nativement un document archivable.

mPDF génère du PDF/A-1b propre, avec OutputIntent ICC intégré, polices embarquées et métadonnées XMP conformes. La bibliothèque Python factur-x injecte ensuite le XML EN16931 et convertit le document en PDF/A-3.

Le résultat passe les trois niveaux de validation : XSD, Schematron, PDF/A-3.

Ce que ça implique concrètement

Une solution de facturation existante peut être rendue conforme Factur-X sans réécriture complète.

Le moteur XML s'adapte à la structure de données existante. L'injection PDF/A-3 s'ajoute en sortie du générateur PDF actuel. Le système existant n'est pas modifié en profondeur.

Ce qui change : le document produit est désormais valide, archivable, et interopérable avec les plateformes de dématérialisation.

L'échéance de septembre 2026 pour la réception des factures électroniques en B2B ne laisse pas de marge pour des solutions partielles.

← Retour aux notes techniques