UBL (Universal Business Language) : fichier .xml

stable

Syntaxe XML de documents commerciaux (facture, avoir, commande) normalisée par OASIS, l'une des deux syntaxes de la norme européenne de facturation électronique EN 16931 et du socle de la réforme française.

Le traiter ici, sans rien installer

Dans le navigateur : le fichier n'est envoyé sur aucun serveur.

Afficher la facture en clair et recalculer les totaux →

UBL (Universal Business Language) est une bibliothèque de schémas XML pour les documents commerciaux courants (commande, bon de livraison, facture, avoir), maintenue par le consortium OASIS. Sa version 2.1 est aussi la norme internationale ISO/IEC 19845:2015.

Une des deux syntaxes de la norme européenne

La norme européenne de facturation électronique EN 16931 définit un modèle de données (qui est le vendeur, quelles lignes, quelle TVA, quels totaux) indépendant de toute syntaxe. Deux syntaxes XML sont reconnues conformes pour l’exprimer : UBL 2.1 et le Cross Industry Invoice du CEFACT-ONU (CII). Le passage de l’une à l’autre est décrit par des spécifications techniques du CEN (CEN/TS 16931-3-2 pour UBL).

En France, UBL fait partie du socle de trois formats, avec CII et Factur-X, que toutes les plateformes agréées doivent accepter depuis la réforme de la facturation électronique. C’est aussi la syntaxe des factures échangées sur le réseau européen Peppol (spécification Peppol BIS Billing 3.0), que la réforme française intègre comme infrastructure d’échange complémentaire entre plateformes.

Structure d’une facture UBL

Le document commence par un élément Invoice (ou CreditNote pour un avoir) dans l’espace de noms OASIS correspondant. Les éléments simples sont préfixés cbc: (Common Basic Components) et les éléments composés cac: (Common Aggregate Components) :

  • cbc:CustomizationID indique le cadre d’utilisation : urn:cen.eu:en16931:2017 pour la norme seule, ou un identifiant plus long pour une spécialisation comme Peppol BIS Billing 3.0 ;
  • cbc:ID, cbc:IssueDate et cbc:InvoiceTypeCode donnent le numéro, la date (au format AAAA-MM-JJ) et le type de document ;
  • cac:AccountingSupplierParty et cac:AccountingCustomerParty décrivent le vendeur et l’acheteur ;
  • chaque ligne est un cac:InvoiceLine (ou cac:CreditNoteLine) ;
  • cac:TaxTotal ventile la TVA par taux, et cac:LegalMonetaryTotal porte les totaux hors taxes, toutes taxes comprises et le net à payer.

Ce que le fichier ne dit pas

Un fichier UBL n’a aucune représentation visuelle : deux logiciels peuvent présenter la même facture de façons très différentes. Il n’a pas non plus de signature binaire : c’est du texte XML, reconnaissable seulement à son élément racine et à son espace de noms.

Un XML bien formé n’est pas pour autant une facture conforme : la validation complète passe par le schéma XSD d’UBL, puis par les règles métier de la norme EN 16931 (cohérence des totaux, présence des données obligatoires), exprimées en Schematron.

Signature binaire

Ce format n'a pas de signature binaire fiable : il ne peut pas être identifié de façon certaine par ses seuls premiers octets.

Vérifier qu'un fichier porte bien cette signature →

Questions fréquentes

Comment ouvrir un fichier .xml ?

Quba (visualiseur Factur-X, CII, UBL), Odette Invoice Viewer & Converter permettent d'ouvrir gratuitement un fichier .xml. Voir la liste complète des logiciels compatibles ci-contre. Sans rien installer : l'outil « Lire une facture électronique » de fichiers.org (https://www.fichiers.org/lire-facture-electronique/), dans le navigateur et sans envoi du fichier.

Quel est le type MIME du format UBL (Universal Business Language) ?

Le type MIME du format UBL (Universal Business Language) est application/xml.

Le format UBL (Universal Business Language) (.xml) est-il encore utilisé aujourd'hui ?

Oui, le format UBL (Universal Business Language) est stable et toujours largement utilisé, sans signe de déclin.

Peut-on ouvrir un fichier .xml sur mobile, sans installer d'application ?

Oui : l'outil « Lire une facture électronique » de fichiers.org fonctionne dans le navigateur d'un smartphone ou d'une tablette, sans application à installer et sans envoi du fichier.

Pourquoi une facture UBL s'affiche-t-elle comme du code quand je l'ouvre ?

Parce qu'un fichier UBL ne contient que des données XML, sans aucune mise en page : la spécification ne décrit aucune présentation visuelle. Un navigateur affiche donc l'arbre XML brut. Pour le lire, il faut un visualiseur qui transforme ces données en facture présentable, ou le logiciel de votre plateforme agréée.

Comment distinguer une facture UBL d'un avoir UBL ?

Par l'élément racine et son espace de noms : une facture commence par <Invoice> dans l'espace de noms urn:oasis:names:specification:ubl:schema:xsd:Invoice-2, un avoir par <CreditNote> dans urn:oasis:names:specification:ubl:schema:xsd:CreditNote-2. Le code de type (InvoiceTypeCode, CreditNoteTypeCode) précise ensuite la nature exacte du document, par exemple 380 pour une facture et 381 pour un avoir.

Factur-X, UBL, CII : les trois formats de la facture électronique comparés →

Un fichier ne s'ouvre pas : les causes possibles →

Comment savoir si un fichier est corrompu →

Sources

Dernière mise à jour :