Validateur UBL 2.1
Validateur UBL générique. Accepte tout document UBL 2.1 (Invoice, CreditNote, Order, DespatchAdvice…). Contrôles d'enveloppe uniquement.
Collez un document UBL 2.1 (Invoice, Order, DespatchAdvice…) pour le valider.
Comment ça marche
UBL (Universal Business Language) est un standard OASIS qui définit une soixantaine de types de documents B2B sous une famille de schémas XML cohérente. Ce validateur fait uniquement des contrôles d'enveloppe — la structure commune à tous les types — sans entrer dans les règles métier de chaque document (factures EN 16931, commandes OpenPEPPOL, etc.). Le pipeline est :
- Parsing XML (DOMParser côté navigateur, fast-xml-parser en backup).
- Détection du type via le nom de l'élément racine + namespace par défaut.
- Application des règles d'enveloppe (cf. ci-dessous).
Documents UBL supportés
Le validateur reconnaît automatiquement :
- Facturation : Invoice, CreditNote, DebitNote.
- Commande : Order, OrderResponse, OrderResponseSimple, OrderChange, OrderCancellation.
- Logistique : DespatchAdvice, ReceiptAdvice.
- Catalogue : Catalogue, CatalogueRequest.
- Paiement : RemittanceAdvice, Statement, Reminder.
- Réponse : ApplicationResponse.
Règles vérifiées
- Root + namespace : l'élément racine doit
appartenir à la liste UBL 2.1 ci-dessus et son namespace par défaut
doit commencer par
urn:oasis:names:specification:ubl:schema:xsd:. - cbc:UBLVersionID (optionnel) : si présent, valeur dans { 2.0, 2.1, 2.2, 2.3, 2.4 }.
- cbc:ID : identifiant du document, obligatoire, non vide.
- cbc:IssueDate : date d'émission obligatoire au
format ISO 8601
YYYY-MM-DD. - cbc:DocumentCurrencyCode : obligatoire pour les documents monétaires (Invoice, CreditNote, DebitNote, Statement, Reminder, RemittanceAdvice), code ISO 4217 à trois lettres.
- Parties obligatoires : chaque type a ses propres
cac:requis. Invoice/CreditNote/DebitNote ⇒cac:AccountingSupplierParty+cac:AccountingCustomerParty. Order ⇒cac:BuyerCustomerParty+cac:SellerSupplierParty. DespatchAdvice ⇒cac:DespatchSupplierParty+cac:DeliveryCustomerParty, etc.
Relation avec PEPPOL / EN 16931
Ce validateur est générique : il vérifie uniquement la conformité à la couche UBL 2.1 OASIS. Pour valider une facture contre les règles européennes EN 16931 ou les règles PEPPOL BIS Billing 3.0 (BR-*, BR-CO-*, BR-S/Z/E/AE/G/IC/O-*, totaux LegalMonetaryTotal, EAS code list, etc.), utilisez plutôt :
- Validateur EN 16931 pour la norme européenne.
- Validateur PEPPOL pour BIS Billing 3.0.
Le validateur UBL est utile pour les documents non-facturation (Order, DespatchAdvice, Catalogue) ou pour un check rapide d'enveloppe avant de pousser un Invoice dans un pipeline plus strict.
Limites
- Pas de validation XSD complète — uniquement les règles d'enveloppe ci-dessus.
- Pas de règles de calcul (totaux, TVA).
- Pas de règles partenaires (OpenPEPPOL, XRechnung, Factur-X CIUS).
- Pas de vérification de signature XAdES (un Invoice signé est accepté tel quel).
Confidentialité
Documentation associée
- UBL / PEPPOL — la vue d'ensemble du standard et de son adoption.
- OASIS UBL 2.1 specification — la référence officielle.
- PEPPOL BIS specifications — les profils PEPPOL pour facturation, commande, catalogue.