PDF/A-3 et Factur-X : pourquoi un simple PDF ne suffit plus
Un PDF n'est pas un PDF/A-3
Quand on parle de facture PDF, la plupart des gens imaginent le fichier qu'ils ouvrent avec Adobe Reader. Mais tous les PDFs ne se valent pas. Le format PDF/A-3 est une version spécifique, normalisée par l'ISO (norme 19005-3), conçue pour l'archivage à long terme.
La différence fondamentale : un PDF/A-3 peut contenir des fichiers embarqués. C'est cette propriété qui rend Factur-X possible : le XML structuré est embarqué à l'intérieur du PDF, dans un seul fichier.
Un PDF classique ne peut pas faire ça. Si vous générez un PDF avec Word, LibreOffice ou la plupart des outils en ligne, ce n'est pas un PDF/A-3, même si le contenu visuel est identique.
Ce que PDF/A-3 impose techniquement
Le format PDF/A-3 a des exigences strictes que les PDFs classiques n'ont pas :
Polices embarquées
Toutes les polices utilisées dans le document doivent être physiquement incluses dans le fichier. Un PDF classique peut référencer une police système (Helvetica, Arial) sans l'embarquer, le lecteur PDF utilise sa propre version. En PDF/A-3, c'est interdit. Si la police n'est pas dans le fichier, le document n'est pas conforme.
C'est pour cette raison que les factures PDF/A-3 sont souvent plus lourdes qu'un PDF classique : elles embarquent les polices (typiquement 20 à 50 Ko supplémentaires).
Profil colorimétrique ICC
Le document doit contenir un profil ICC (International Color Consortium) qui définit comment les couleurs sont rendues. En pratique, c'est le profil sRGB standard. Sans lui, le validateur rejette le fichier.
Métadonnées XMP
Les métadonnées du document doivent être au format XMP (Extensible Metadata Platform), pas le format classique PDF Info. Les métadonnées XMP de Factur-X incluent le profil utilisé (Basic, EN 16931, etc.) et l'identifiant du standard.
Fichiers embarqués avec relation AF
C'est la spécificité de PDF/A-3 par rapport à PDF/A-1 et PDF/A-2 : il autorise les pièces jointes. Le fichier XML Factur-X est embarqué avec une relation spécifique (`/AFRelationship /Alternative`) qui indique qu'il contient une représentation alternative du document.
Le fichier embarqué doit s'appeler exactement `factur-x.xml`. Pas `invoice.xml`, pas `Factur-X.xml`. Le nom est normalisé.
Pourquoi la réforme exige ce format
La réforme de la facturation électronique impose des factures structurées, c'est-à-dire lisibles par une machine. Un PDF classique n'est pas structuré : c'est une image de texte. Pour en extraire des données, il faudrait de l'OCR, avec tous les risques d'erreur que cela comporte.
Le PDF/A-3 avec XML embarqué résout ce problème : le PDF reste lisible par un humain, et le XML fournit les données structurées pour les machines. Les deux coexistent dans un seul fichier.
Les plateformes PDP et le PPF acceptent ce format nativement.
Comment vérifier qu'un PDF est conforme
verapdf : le validateur de référence
verapdf est l'outil open source de référence pour valider la conformité PDF/A. Il vérifie toutes les règles ISO 19005 : polices embarquées, profil ICC, métadonnées XMP, structure des fichiers embarqués.
Un PDF conforme passe les 146 règles de validation sans erreur. Un PDF généré avec un outil inadapté échouera généralement sur les polices (non embarquées) ou les métadonnées (format incorrect).
FNFE-MPE : le validateur Factur-X
Le validateur de la FNFE-MPE (fnfe-mpe.org) vérifie à la fois la conformité PDF/A-3 et la validité du XML Factur-X embarqué. Il contrôle le schéma XSD et les règles Schematron.
Erreurs courantes
- Polices non embarquées : l'erreur numéro un. Les polices core PDF (Helvetica, Times, Courier) ne sont pas embarquées par défaut dans la plupart des bibliothèques. Il faut utiliser des polices comme DejaVu Sans qui sont toujours embarquées.
- Profil ICC manquant : certaines bibliothèques ne l'ajoutent pas automatiquement.
- Nom de fichier XML incorrect : le fichier doit s'appeler `factur-x.xml`, pas autre chose.
- AFRelationship manquante : le fichier embarqué doit avoir la bonne relation dans le catalogue PDF.
Ce que font les plugins WooCommerce
Tous les plugins de facturation ne génèrent pas du vrai PDF/A-3. Beaucoup utilisent des bibliothèques PDF qui produisent un PDF classique avec un flag PDF/A dans les métadonnées, mais sans respecter toutes les règles. Le fichier s'ouvre normalement, mais il échoue à la validation.
GoFactoX utilise la bibliothèque horstoeko/zugferd pour la fusion PDF/A-3, avec la police DejaVu Sans embarquée. Chaque PDF généré passe les 146 règles de verapdf.
Questions fréquentes
Puis-je convertir un PDF classique en PDF/A-3 ?
Techniquement oui, mais c'est complexe. Il faut embarquer les polices, ajouter le profil ICC, convertir les métadonnées en XMP, puis attacher le XML avec la bonne relation AF. En pratique, il est plus simple de générer directement en PDF/A-3.
Le PDF/A-3 est-il plus lourd qu'un PDF classique ?
Oui, légèrement. Les polices embarquées ajoutent 20 à 50 Ko. Le XML ajoute 5 à 10 Ko. Une facture PDF/A-3 Factur-X pèse typiquement 30 à 50 Ko, contre 10 à 15 Ko pour un PDF classique. C'est négligeable.
Mon client peut-il ouvrir un PDF/A-3 normalement ?
Oui. Tous les lecteurs PDF modernes (Adobe Reader, Preview, navigateurs web) ouvrent les PDF/A-3 comme n'importe quel PDF. Le fichier XML embarqué est invisible pour l'utilisateur, il est exploité uniquement par les logiciels comptables.
PDF/A-3 et PDF/A-1, quelle différence ?
PDF/A-1 et PDF/A-2 ne permettent pas les fichiers embarqués. Seul PDF/A-3 le permet. C'est pour cette raison que Factur-X utilise spécifiquement PDF/A-3 : il a besoin d'embarquer le XML.
Comment savoir si mon plugin génère du vrai PDF/A-3 ?
Téléchargez une facture générée par votre plugin et testez-la avec verapdf. Si les 146 règles passent, c'est conforme. Si des erreurs apparaissent (polices, ICC, métadonnées), le PDF n'est pas réellement PDF/A-3 malgré ce que le plugin prétend.
Prêt pour la réforme 2026 ?
GoFactoX génère vos factures Factur-X conformes directement depuis WooCommerce.
Voir les offres