Une équipe paiements ou facturation qui construit pour un seul marché de l'UE peut choisir un format et ne plus y penser. Une équipe qui construit pour quatre ou cinq marchés ne le peut pas, car les quatre noms qui reviennent le plus souvent, UBL, XRechnung, FatturaPA, Facturae, ne se situent pas au même niveau. Deux d'entre eux sont des syntaxes XML. Deux sont des schémas nationaux qui précèdent entièrement la norme européenne de facturation électronique et n'utilisent ni l'une ni l'autre syntaxe. Ce guide vient compléter les analyses approfondies de fiskaly consacrées à XRechnung, ZUGFeRD/Factur-X, UBL vs. CII, ainsi qu'aux systèmes nationaux italien et espagnol ; plutôt que de traiter un format isolément, il les met en regard les uns des autres afin que les différences qui comptent réellement pour un déploiement multi-marché soient visibles en un seul endroit.
En bref
- UBL et CII sont des syntaxes XML, pas des formats de facture aboutis. Les spécifications nationales déterminent quels champs sont obligatoires.
- XRechnung et Factur-X/ZUGFeRD s'appuient sur ces syntaxes et respectent la norme EN 16931.
- FatturaPA (Italie) et Facturae (Espagne) précèdent la norme EN 16931 et n'utilisent ni UBL ni CII.
- Factur-X/ZUGFeRD se décline en six profils, de MINIMUM à EXTENDED, chacun véhiculant une profondeur de données différente.
- Peppol BIS Billing 3.0 est un profil UBL pour l'échange en réseau, pas un format concurrent.
Qu'est-ce que l'UBL et où est-il utilisé ?
UBL (Universal Business Language) est une norme XML ouverte, maintenue par OASIS, qui définit une structure générique pour les documents commerciaux, notamment les factures, les notes de crédit et les commandes. Une facture UBL utilise deux préfixes d'espace de noms : cbc (Common Basic Components) pour les champs simples comme les dates et les montants, et cac (Common Aggregate Components) pour les blocs structurés comme les parties et les adresses. L'élément racine d'une facture UBL est <Invoice> ; les notes de crédit utilisent <CreditNote> à la place.
UBL 2.1 est la version actuellement utilisée pour la facturation électronique. Elle est plus large que n'importe quel mandat national : elle prend en charge des dizaines de champs optionnels que les différents pays ou réseaux restreignent ensuite en un CIUS (Core Invoice Usage Specification). Peppol BIS Billing 3.0, le XRechnung allemand (variante UBL) et le NLCIUS néerlandais sont tous des profils CIUS construits sur le même schéma UBL 2.1. La grammaire XML sous-jacente ne change pas d'une frontière à l'autre ; seules changent les règles métier superposées par-dessus.
Qu'est-ce que l'UN/CEFACT CII et en quoi diffère-t-il de l'UBL ?
CII (Cross Industry Invoice) est la deuxième syntaxe reconnue par la norme EN 16931, maintenue par UN/CEFACT, et c'est la syntaxe utilisée à l'intérieur des formats hybrides comme Factur-X et ZUGFeRD. Sur le plan structurel, CII organise une facture autour de concepts de transaction commerciale, en utilisant des éléments comme ExchangedDocument, SellerTradeParty, BuyerTradeParty et SpecifiedTradeSettlement, plutôt que le modèle de composants documentaires d'UBL. Les deux syntaxes peuvent exprimer le même contenu sémantique EN 16931.
En pratique, le choix entre UBL et CII ne se fait généralement pas facture par facture. Il est déterminé par le format qu'attend le pays ou la plateforme destinataire. Le XRechnung allemand, par exemple, laisse l'émetteur choisir la syntaxe XML UBL ou CII pour les mêmes données sous-jacentes, et les fichiers obtenus sont fonctionnellement équivalents une fois validés. Ce libre choix s'applique à XRechnung lui-même ; le canal de transmission peut toutefois le contraindre en pratique, puisque Peppol BIS Billing 3.0 exige UBL et que les hybrides ZUGFeRD/Factur-X utilisent uniquement CII. La soumission directe via un portail comme OZG-RE autorise encore l'une ou l'autre syntaxe.
Qu'est-ce que XRechnung, et s'agit-il d'UBL ou de CII ?
XRechnung est le CIUS (Core Invoice Usage Specification) national de l'Allemagne pour la norme EN 16931 : un fichier XML pur et structuré, sans PDF ni couche visuelle, disponible en syntaxe UBL ou CII. Ce n'est pas un format hybride. Un fichier XRechnung est destiné à être traité par un logiciel, non à être ouvert et lu directement.
La version actuelle est XRechnung 3.0.2, identifiée dans le XML par son champ CustomizationID, qui confirme à la fois la conformité à la norme EN 16931 et les règles d'extension spécifiques à l'Allemagne. XRechnung 4.0, mettant en œuvre la norme EN 16931-1:2026, est attendu fin 2026 et remplacera la version 3.0.2. Parce que XRechnung est un CIUS et non un schéma distinct, sa variante UBL est compatible avec le profil plus large Peppol BIS Billing 3.0. Un fichier XRechnung fondé sur UN/CEFACT CII utilise le même schéma sous-jacent que le profil EN 16931 intégré dans un PDF ZUGFeRD 2.x. Les factures destinées aux organismes fédéraux allemands transitent par la plateforme OZG-RE, qui a remplacé le ZRE en 2025 ; les Länder et les communes exploitent leurs propres canaux. Ces plateformes valident les fichiers entrants selon les mêmes règles du validateur open source KoSIT que la plupart des logiciels allemands utilisent pour vérifier la conformité avant l'envoi. fiskaly propose également SIGN DE pour la fiscalisation allemande ; il fonctionne aujourd'hui sur une API distincte, spécifique au pays, avec une intégration partagée sur la plateforme unifiée de fiskaly prévue pour 2027.
Qu'est-ce que Factur-X/ZUGFeRD, et quels sont ses profils ?
Factur-X et ZUGFeRD désignent le même format de facture hybride sous deux noms : un document PDF/A-3 lisible par l'humain contenant un fichier XML CII structuré intégré, développé conjointement par la FNFE-MPE française et le FeRD allemand. Depuis ZUGFeRD 2.1 (2020), les deux spécifications sont techniquement identiques : même schéma XML, même conteneur PDF/A-3, mêmes niveaux de profil, et même nom de fichier intégré, factur-x.xml. Seul le nom de marque diffère selon le marché.
Le format définit six profils, chacun véhiculant des données de plus en plus structurées :

