UBL (Universal Business Language) : fichier .xml
stableSyntaxe 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.
Dans le navigateur : le fichier n'est envoyé sur aucun serveur.
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:CustomizationIDindique le cadre d’utilisation :urn:cen.eu:en16931:2017pour la norme seule, ou un identifiant plus long pour une spécialisation comme Peppol BIS Billing 3.0 ;cbc:ID,cbc:IssueDateetcbc:InvoiceTypeCodedonnent le numéro, la date (au format AAAA-MM-JJ) et le type de document ;cac:AccountingSupplierPartyetcac:AccountingCustomerPartydécrivent le vendeur et l’acheteur ;- chaque ligne est un
cac:InvoiceLine(oucac:CreditNoteLine) ; cac:TaxTotalventile la TVA par taux, etcac:LegalMonetaryTotalporte 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
- ISO/IEC 19845:2015 : Universal Business Language version 2.1
- Commission européenne : syntaxes requises par la norme EN 16931
- OpenPEPPOL : Peppol BIS Billing 3.0, structure UBL de l'avoir
- CEN/TC 434 : exemples de factures UBL et CII (dépôt eInvoicing-EN16931)
- DGFiP / AIFE : dossier de spécifications externes de la facturation électronique
Dernière mise à jour :