Valider une facture UBL 2.1 par API
UBL 2.1 est la syntaxe XML de l’OASIS, la plus répandue dans les échanges européens et la syntaxe de référence du réseau Peppol. Elle porte le même modèle de facture que CII, avec d’autres balises.
Ce que c’est exactement
La seconde syntaxe autorisée par EN 16931. Un émetteur choisit l’une ou l’autre selon son écosystème — les logiciels de gestion européens penchent vers UBL, les échanges franco-allemands vers CII — et la norme garantit que les deux portent les mêmes données.
Ce qui la distingue de CII
UBL exprime les remises d’une seule façon là où CII en distingue deux niveaux. Une règle unique y suffit donc, quand CII en demande deux. À l’inverse, une règle de cohérence des quantités de référence de prix n’existe qu’en CII.
Sans conteneur
UBL se dépose en XML nu. Le format hybride PDF/A-3 n’accueille que du CII : un UBL n’y a pas sa place, et un PDF qui en porterait un serait refusé au niveau du conteneur.
CII ou UBL : combien de règles diffèrent vraiment
55 règles s’appliquent aux deux syntaxes à l’identique. 1 leur sont propres — c’est là, et seulement là, que le choix de syntaxe change le verdict.
- PEPPOL-EN16931-R043
L'indicateur de remise ou de frais n'est ni « true » ni « false »
Contre quoi Factlint le juge
Les socles scellés qui reçoivent ce format aujourd’hui. Chaque verdict cite celui qui l’a rendu, et reste rejouable.
de-2026-08XRechnung 3.0.2 (KoSIT)
eu-en16931-2026-08EN 16931-1:2017
fr-2026-08EN 16931 CIUS France + BR-FR-CTC (FNFE)
Les codes qui s’y appliquent
56 codes documentés s’appliquent à ce format. En voici 12, par ordre alphabétique.
Voir les codes →Essayer
Le validateur gratuit accepte ce format sans compte. En API, l’appel tient en une ligne :
curl -X POST https://api.factlint.com/v1/validate \ -F 'file=@facture.xml' \ -F 'jurisdiction=FR' \ -F 'ruleset=latest' \ -F 'pinned=true' \ -H 'Accept-Language: fr'Ouvrir le validateur