fiskaly.

15 min temps de lecture

Formats de facture électronique : UBL, XRechnung, FatturaPA et Facturae comparés

UBL et CII sont des syntaxes, XRechnung et Factur-X des formats, FatturaPA et Facturae des schémas nationaux. Le guide pour un déploiement multi-marché.

woman on laptop

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 :

ProfilProfondeur des données structuréesCas d'usage typique
MINIMUMEnviron 15-20 champs essentiels (numéro de facture, date, vendeur, total)Factures B2C très simples ; ne suffit pas comme facture électronique B2B valide à partir de janvier 2026
BASIC WL (sans lignes)Champs de base, sans lignes de poste structuréesFactures simples sans besoin d'automatisation ; ne suffit pas comme facture électronique B2B valide à partir de janvier 2026
BASICLignes de poste, taxes et totaux structurésFactures standard avec lignes de poste structurées ; ne couvre pas entièrement la norme EN 16931 et ne suffit pas comme facture électronique B2B valide à partir de janvier 2026
EN 16931 (COMFORT)Modèle sémantique EN 16931 complet, 200+ éléments possiblesMarchés publics (B2G) ; profil le plus courant pour une automatisation complète
EXTENDEDEN 16931 plus des extensions sectoriellesChaînes d'approvisionnement de l'industrie, de la logistique et de la construction

MINIMUM et BASIC WL sont des profils à données réduites, initialement motivés par les exigences françaises (Chorus Pro) et conçus comme des aides à la comptabilisation ou des formats de transition. Ils ne satisfont pas aux exigences de facturation de l'Allemagne et ne devraient pas y être utilisés. Pour le B2B, EN 16931 (COMFORT) est le choix par défaut en pratique ; le B2G en Allemagne exige le profil XRECHNUNG ou un XRechnung natif.

Qu'est-ce que FatturaPA, et pourquoi n'utilise-t-il pas la syntaxe EN 16931 ?

FatturaPA est le schéma XML propre à l'Italie pour la facturation électronique, antérieur à la norme EN 16931, et c'est le format que le Sistema di Interscambio (SDI) exige pour la facturation domestique. Les fichiers UBL et CII ne sont pas des substituts valides pour les transactions domestiques. Les fournisseurs transfrontaliers qui facturent des organismes publics italiens peuvent en revanche utiliser CIUS-IT (« FatturaEU »), un profil conforme à la norme EN 16931 que le SDI fait correspondre au schéma national. Chaque fichier FatturaPA possède un unique élément racine, <FatturaElettronica>, divisé en un FatturaElettronicaHeader (données de routage et de parties) et une ou plusieurs sections FatturaElettronicaBody (lignes de poste, totaux, conditions de paiement). Le schéma est maintenu et mis à jour périodiquement par l'Agenzia delle Entrate sur fatturapa.gov.it.

Quelques détails structurels distinguent FatturaPA des formats fondés sur UBL ou CII :

  • Les factures destinées aux organismes publics doivent porter une signature numérique (CAdES (.p7m) ou XAdES) ; pour les transactions B2B et B2C, la signature est optionnelle, bien que toujours recommandée.
  • Le routage dépend d'un CodiceDestinatario (un code destinataire à sept chiffres enregistré auprès du SDI) ou d'une adresse e-mail PEC certifiée lorsqu'aucun code n'est enregistré.
  • Le champ TipoDocumento classe le type de transaction. TD01 désigne une facture standard, TD04 une note de crédit, et ainsi de suite : un concept de classification sans équivalent direct sous la même forme en UBL ou CII.
  • Le nommage des fichiers suit un modèle fixe : le code pays préfixant le numéro de TVA de l'émetteur, le numéro de TVA et un numéro progressif (par exemple, IT01234567890_00001.xml).

Parce que FatturaPA se situe en dehors de la famille EN 16931, toute entreprise générant des factures UBL ou CII pour d'autres marchés de l'UE a besoin d'un chemin de conversion distinct spécifiquement pour ses homologues italiens.

Qu'est-ce que Facturae, et en quoi diffère-t-il de FatturaPA ?

Facturae est le schéma XML national de l'Espagne, utilisé pour la facturation B2G depuis 2015 via la plateforme FACe et, comme FatturaPA, il n'est pas construit sur la syntaxe UBL ou CII. La version actuelle du schéma est la 3.2.2 (la plateforme FACe exige au moins la 3.2.1). Un fichier Facturae valide respecte quatre blocs principaux dans un ordre fixe : l'en-tête du fichier (avec les champs SchemaVersion, Modality et InvoiceIssuerType), le bloc des parties, les détails de la facture ou du lot, et les totaux de la facture. Réordonner ces blocs déclenche un échec de validation immédiat. Le schéma XSD de Facturae impose strictement à la fois l'ordre des champs et les types de données.

Le futur mandat espagnol de facturation électronique B2B au titre de la loi Crea y Crece ne supprime pas Facturae. Il ajoute UBL, CII et EDIFACT comme formats acceptés entre plateformes privées, tout en exigeant qu'une « copie fidèle » de chaque facture, au format UBL, parvienne à la plateforme publique de l'AEAT. Cela fait de l'Espagne l'un des rares marchés de l'UE où un schéma national hérité et les syntaxes EN 16931 sont tous deux explicitement acceptés côte à côte, plutôt que l'un remplaçant l'autre.

Points clés à retenir

  • L'Allemagne et la France partagent la même famille de formats. Les formats fondés sur la norme EN 16931, XRechnung et Factur-X, couvrent les deux marchés sans schéma national distinct.
  • L'Italie et l'Espagne nécessitent une logique de schéma dédiée. Un pipeline UBL/CII générique ne produira pas de fichier FatturaPA ou Facturae valide ; les deux exigent une génération et une validation spécifiquement conçues.
  • EN 16931 (COMFORT) est le profil par défaut sûr pour Factur-X/ZUGFeRD. MINIMUM et BASIC WL ne véhiculent pas assez de données pour un usage domestique allemand et ne doivent pas être considérés comme interchangeables avec COMFORT.
  • L'adoption de Peppol progresse en tant que couche de transport, mais elle ne supprime pas la nécessité de générer FatturaPA ou Facturae pour les marchés qui n'acceptent pas directement UBL.
  • Un déploiement sur quatre ou cinq marchés nécessite généralement au moins trois pipelines XML distincts : fondé sur UBL/CII, FatturaPA et Facturae, générés à partir des mêmes données de facture sous-jacentes.

Quel est le lien entre ces formats et Peppol BIS Billing 3.0 ?

Peppol BIS Billing 3.0 n'est pas un format de facture distinct. C'est un CIUS qui restreint UBL 2.1 pour l'échange sur le réseau Peppol. Il prend le schéma UBL 2.1, large et en majorité optionnel, et rend certains champs obligatoires (le nom légal, l'adresse et l'identifiant de point d'accès Peppol des deux parties commerciales, par exemple), de sorte que deux entreprises quelconques du réseau Peppol puissent échanger des factures sans accord bilatéral préalable sur les champs optionnels à utiliser. La manière dont cet échange est réellement acheminé entre les deux parties, à travers les points d'accès et le modèle à quatre coins, est un sujet à part entière ; un guide fiskaly distinct consacré au réseau Peppol traite ce mécanisme en profondeur.

C'est pourquoi un XRechnung fondé sur UBL et une facture Peppol BIS Billing 3.0 peuvent sembler presque identiques au niveau XML. Les deux sont des profils CIUS conformes à la norme EN 16931 du même schéma UBL de base, avec des règles de champs obligatoires différentes superposées par-dessus. FatturaPA et Facturae se situent entièrement en dehors de cette relation, puisque ni l'un ni l'autre n'est un dérivé d'UBL ou de CII.

Tableau comparatif : vue d'ensemble des formats

FormatSyntaxe de baseType de fichierConforme à EN 16931 ?Marché/réseau principalLisible par l'humain sans logiciel ?
UBL 2.1UBL (OASIS)XML purPartiellement inclusDépend du CIUSRéseau Peppol, multi-paysNon inclus
UN/CEFACT CIICIIXML purPartiellement inclusDépend du CIUSIntégré dans les formats hybridesNon inclus
Peppol BIS Billing 3.0UBL 2.1 (CIUS)XML purInclusRéseau Peppol (obligatoire en Belgique, volontaire/en croissance dans l'UE)Non inclus
XRechnungUBL ou CII (CIUS)XML purInclusAllemagne (B2G obligatoire, B2B accepté)Non inclus
ZUGFeRD / Factur-XCIIHybride PDF/A-3 + XML intégréInclusprofil EN 16931/COMFORT et supérieursAllemagne, France (obligatoire en France à partir de septembre 2026)Incluscouche PDF
FatturaPAXML propriétaireXML purNon inclusItalie (SDI, obligatoire depuis 2019)Non inclus
FacturaeXML propriétaireXML purNon inclusEspagne (B2G depuis 2015 ; B2B aux côtés d'UBL/CII à partir de 2026)Non inclus

Comment choisir le ou les formats à prendre en charge

  1. Listez chaque pays depuis lequel vous facturez et chaque pays que vous facturez. L'acceptation d'un format est définie au niveau du pays, et un format valide sur un marché peut être sans valeur sur un autre.
  2. Vérifiez si le pays accepte les formats EN 16931 ou exige un schéma propriétaire. L'Allemagne et la France acceptent les fichiers fondés sur la norme EN 16931. L'Italie exige spécifiquement FatturaPA, et l'Espagne exige Facturae ou une « copie fidèle » UBL selon le flux.
  3. Choisissez entre un format XML pur et un format hybride lorsque vous avez le choix. XRechnung (XML pur) convient au traitement back-office entièrement automatisé ; Factur-X/ZUGFeRD convient aux environnements mixtes où un humain a encore parfois besoin d'ouvrir et de lire la facture.
  4. Choisissez le bon profil si vous générez du Factur-X/ZUGFeRD. EN 16931 (COMFORT) couvre la plupart des besoins B2G et B2B standard. Ne passez à EXTENDED que si votre secteur exige réellement les données commerciales supplémentaires.
  5. Confirmez le canal de transmission séparément du format. Un XRechnung correctement construit doit encore transiter par Peppol ou une plateforme comme OZG-RE ; un fichier FatturaPA correctement construit doit encore transiter par le SDI.
  6. Construisez une logique de conversion dès que vous prenez en charge plus de deux formats. Les entreprises opérant simultanément en Allemagne, en France, en Italie et en Espagne ont généralement besoin de générer au moins trois sorties XML structurellement différentes (fondée sur UBL/CII, FatturaPA et Facturae) à partir des mêmes données de facture sous-jacentes.

En résumé

Tout format majeur de facture électronique de l'UE relève de l'une des deux familles : les formats fondés sur la norme EN 16931 construits sur la syntaxe UBL ou CII (XRechnung, Factur-X/ZUGFeRD, Peppol BIS Billing 3.0), et les schémas nationaux plus anciens qui précèdent la norme européenne (FatturaPA, Facturae). Savoir à quelle famille appartient un marché, et quel profil ou quelle version de schéma spécifique il attend, importe davantage que de connaître l'orientation générale de l'UE en matière de facturation électronique. Le fichier que votre logiciel génère doit correspondre exactement à ce que la plateforme du pays destinataire validera.

Pour les échéances pays par pays et le statut des mandats derrière ces formats, consultez le guide de fiskaly sur les mandats de facturation électronique en Europe. Pour la génération de formats, la validation et la connectivité Peppol sur plusieurs marchés à partir d'une seule intégration, voir fiskaly E-INVOICE.

Questions fréquentes

Non. XRechnung est un fichier XML pur, sans composant PDF. ZUGFeRD est un format hybride qui intègre un XML structuré similaire, en syntaxe CII, à l'intérieur d'un PDF lisible par l'humain. Les deux peuvent respecter la norme EN 16931, mais ce sont des types de fichiers différents.

Oui, depuis ZUGFeRD 2.1 (2020). Ils utilisent le même schéma XML, le même conteneur PDF/A-3, la même structure à six profils, et même le même nom de fichier intégré, factur-x.xml. Seul le nom de marque diffère selon le marché.

Pas en tant que facture électronique valide au regard de la loi italienne. Le SDI italien n'accepte que le XML FatturaPA pour les transactions domestiques B2B, B2C et B2G, de sorte qu'un fichier UBL devrait d'abord être converti en FatturaPA.

Oui. Facturae reste obligatoire pour la facturation B2G espagnole via FACe, et il demeure sur la liste des formats acceptés pour l'échange B2B privé, même si UBL, CII et EDIFACT sont ajoutés dans le cadre de la loi Crea y Crece.

Le profil EN 16931 (également appelé COMFORT). Il couvre entièrement la norme sémantique européenne et c'est le profil qu'attendent la plupart des destinataires du secteur public. MINIMUM et BASIC WL existent surtout pour des scénarios simples et à faible automatisation et ne doivent pas être utilisés pour les factures domestiques allemandes.

Non. Peppol BIS Billing 3.0 est construit directement sur UBL 2.1. C'est un profil d'usage plus strict du même schéma, non une alternative à celui-ci.

Non. Les exigences de format sont définies par pays. Une entreprise qui ne facture qu'en Allemagne, par exemple, n'a besoin de gérer que les formats conformes à la norme EN 16931 acceptés là-bas (XRechnung ou ZUGFeRD/Factur-X), et non FatturaPA ou Facturae.