Factur-X vs ZUGFeRD vs UBL, guide pratique pour la facturation européenne
La nomenclature autour de la facturation structurée européenne est confuse. Factur-X, ZUGFeRD et UBL ressemblent à trois formats concurrents, et beaucoup de communications éditeurs les présentent ainsi. Ils ne sont pas vraiment concurrents. Deux d’entre eux sont la même chose sous des marques nationales différentes, et le troisième vit à un autre étage de la stack. Si votre pipeline traverse des frontières, vous toucherez aux trois, et comprendre comment ils se relient économise étonnamment beaucoup de débogage.
Voici la version pratique.
La réponse courte
- ZUGFeRD est le standard hybride allemand de facture. PDF/A-3 avec XML embarqué.
- Factur-X est le nom français du même objet. Les schémas XML sont alignés sur ZUGFeRD 2.x au niveau du byte, pour les profils que les deux standards partagent.
- UBL se situe à un autre étage. C’est le format de facture XML pur qui circule sur Peppol. Aucun PDF impliqué.
La vraie question n’est donc pas “Factur-X vs ZUGFeRD vs UBL”. C’est “PDF hybride (Factur-X / ZUGFeRD) vs XML pur (UBL)”.
ZUGFeRD et Factur-X : même fichier, autocollant différent
ZUGFeRD est né en Allemagne en 2014 (FeRD = Forum elektronische Rechnung Deutschland). La France a adopté la même architecture en 2017 sous le nom Factur-X. Depuis ZUGFeRD 2.1, les profils MINIMUM, BASIC WL, BASIC, EN 16931 et EXTENDED sont byte-équivalents aux profils Factur-X correspondants. Une facture ZUGFeRD 2.1 EN 16931 correctement construite est une facture Factur-X EN 16931 valide. On ne convertit pas entre les deux. On étiquette le fichier avec la marque attendue par l’acheteur.
Les profils partagés, par ordre de détail croissant :
- MINIMUM : juste assez pour la référence comptable. Total, TVA, fournisseur, acheteur.
- BASIC WL (sans lignes) : facture au niveau agrégé, sans lignes.
- BASIC : lignes incluses, mais uniquement les champs obligatoires EN 16931 par ligne.
- EN 16931 : le modèle sémantique européen complet d’EN 16931. C’est le niveau visé par la plupart des mandats B2B.
- EXTENDED : extensions propres à un éditeur au-dessus d’EN 16931. À utiliser uniquement quand les deux côtés du pipeline comprennent les champs supplémentaires.
Si vous partez de zéro sans exigence acheteur particulière, visez EN 16931. C’est le plus petit dénominateur commun qui satisfait les grands mandats 2026 et produit le même fichier quel que soit le badge national appliqué.
Où s’insère UBL
UBL (Universal Business Language, OASIS) est une autre bête. Ce n’est pas un PDF. C’est un document XML autonome, conçu pour circuler entre machines. Le réseau Peppol fonctionne avec UBL. Le mandat belge du 1ᵉʳ janvier 2026, la facturation gouvernementale aux Pays-Bas et le canal transfrontalier vers Chorus Pro en France utilisent tous UBL sur Peppol BIS Billing 3.0.
La relation est donc :
- Factur-X / ZUGFeRD = PDF/A-3 avec XML à l’intérieur. Optimisé pour “il me faut une copie lisible par un humain ET une copie lisible par machine dans le même fichier”.
- UBL = XML uniquement. Optimisé pour “des machines aux deux extrémités, le réseau gère le transport”.
Dans les faits, la plupart des pipelines européens ont besoin des deux. Vous émettez la facture en UBL sur Peppol parce que c’est ce qu’exige le mandat pour le transport, et vous archivez une copie Factur-X / ZUGFeRD comme dossier lisible par un humain parce que c’est ce qu’exige la loi d’archivage fiscal.
Un détail à connaître : ZUGFeRD 2.x et Factur-X 1.x peuvent aussi embarquer de l’UBL, pas seulement du CII. Le même PDF hybride peut transporter en interne soit du CII (Cross Industry Invoice, le schéma original), soit de l’UBL. La plupart des pipelines allemands utilisent CII, la plupart des pipelines français utilisent UBL. Les deux sont valides. Si vous recevez un fichier Factur-X et que votre parser ne connaît que CII, vous manquerez silencieusement la moitié des factures entrantes du marché allemand.
Quand utiliser lequel
Utilisez UBL seul quand la facture ne sera traitée que par des machines et que le réseau gère déjà l’archivage des deux côtés. C’est le cas Peppol, le government-to-business et la plupart des flux du secteur public.
Utilisez Factur-X / ZUGFeRD quand :
- Votre acheteur est une entreprise privée qui veut consulter la facture avant de payer.
- Vous avez besoin du PDF lisible par un humain comme copie d’archivage légale.
- Vous traversez la frontière allemande ou française, où l’hybride est le format dominant du secteur privé.
- Vous voulez un seul fichier que vous pouvez envoyer par e-mail et un seul fichier que vous pouvez ingérer.
Utilisez les deux, en parallèle, quand le mandat exige une livraison Peppol (UBL) et que l’archivage fiscal exige une copie lisible par un humain (PDF/A-3). C’est la réalité concrète du B2B en Belgique depuis janvier 2026, et ce sera celle de la France à partir de septembre 2026.
Les cas limites transfrontaliers
Quelques schémas qui piègent les équipes :
- L’acheteur exige Factur-X, le fournisseur envoie ZUGFeRD. Aucune conversion nécessaire si les deux sont en 2.1 EN 16931. Confirmez juste la version. Nous voyons des pipelines faire ici des réécritures XML inutiles.
- L’acheteur exige UBL sur Peppol, le fournisseur n’a que Factur-X. Il faut extraire le XML embarqué, transformer le CII en UBL et expédier sur Peppol. C’est l’écart “hybride vers XML pur” le plus fréquent.
- Le fournisseur envoie un Factur-X avec UBL à l’intérieur, le parser de l’acheteur attend du CII. Parse silencieusement zéro ligne. Il faut un parser qui sonde les deux.
- PDF/A-3 valide, XML embarqué invalide. La validation PDF/A-3 ne regarde pas dans la pièce jointe. Il faut un validateur qui vérifie le XML séparément contre EN 16931.
C’est exactement ce que fait notre validateur public à /check : il inspecte la conformité PDF/A-3, extrait la pièce jointe que ce soit du CII ou de l’UBL, et valide le XML contre le modèle sémantique EN 16931. Vous obtenez un verdict par couche, pour qu’en cas d’échec vous sachiez immédiatement si le problème est le conteneur, le schéma ou les données.
À retenir
Cessez de penser Factur-X, ZUGFeRD et UBL comme des alternatives. Factur-X et ZUGFeRD sont la même enveloppe hybride sous deux marques nationales. UBL est le format XML pur sur Peppol. Les vrais pipelines transfrontaliers en 2026 produisent les deux, archivent l’hybride et expédient le XML pur. Quiconque vous dit d’en choisir un n’a pas traversé assez de frontières.