Validateur SBDH PEPPOL
Sur cette page
Validateur d'enveloppe SBDH (Standard Business Document Header) côté client. Vérifie sender / receiver ICD, document type, process ID PEPPOL BIS 3.0, RFC 3339, présence du payload — sans envoyer la moindre donnée à un serveur.
Collez une enveloppe SBDH (StandardBusinessDocument) pour valider l'en-tête PEPPOL.
Comment ça marche
SBDH (Standard Business Document Header) est l'enveloppe XML normalisée
par ISO/IEC 9735 et profilée par UN/CEFACT puis par GS1 XML 3.0 pour
encapsuler un document métier (UBL Invoice, UBL CreditNote, EDIFACT
INVOIC…) pendant son transport. Sur le réseau OpenPEPPOL, chaque
document échangé entre Access Points via AS4 est emballé dans un
<StandardBusinessDocument> qui transporte :
- Les identifiants ISO 6523 du sender et du receiver (ex.
0192:991825827). - La nature exacte du payload (Standard URI, TypeVersion, Type local).
- Un GUID d'instance (
InstanceIdentifier) pour la traçabilité. - Le BusinessScope
DOCUMENTIDetPROCESSIDPEPPOL.
Le pipeline du validateur :
- Parsing XML (DOMParser côté navigateur, fast-xml-parser fallback).
- Recherche de la racine
StandardBusinessDocument. - Extraction de chaque bloc d'en-tête (Sender, Receiver, DocumentIdentification, BusinessScope).
- Application des contrôles ci-dessous.
Règles vérifiées
- Élément racine :
StandardBusinessDocument(préfixe libre). Le namespace canonique esthttp://www.unece.org/cefact/namespaces/StandardBusinessDocumentHeader— un namespace différent déclenche un avertissement, pas une erreur. - HeaderVersion : doit valoir exactement
1.0(SBDH 1.3 reste sur le tag1.0). Toute autre valeur ou absence déclenche une erreur bloquante. - Sender / Receiver : au moins un de chaque, avec
<Identifier>non vide. Le scheme ICD (préfixe avant le:) est confronté à la liste ISO 6523 ci-dessous ; un ICD non reconnu déclenche un avertissement. - DocumentIdentification : les cinq champs
Standard,TypeVersion,InstanceIdentifier,Type,CreationDateAndTimesont obligatoires.CreationDateAndTimedoit être au format RFC 3339 (YYYY-MM-DDThh:mm:ssZou avec offset). - BusinessScope : PEPPOL exige deux entrées
<Scope>— l'une de typeDOCUMENTID, l'autre de typePROCESSID. L'absence de l'une ou de l'autre déclenche un avertissement. LesInstanceIdentifierau formaturn:peppol:bis:…sont confrontés à la liste embarquée. - Loopback : si Sender et Receiver portent exactement la même valeur, un avertissement est émis (configuration souvent involontaire en intégration).
- Présence du payload : un élément métier doit
suivre le
<StandardBusinessDocumentHeader>; unStandardBusinessDocumentsans corps déclenche un avertissement.
Schémas ISO 6523 ICD supportés
La liste suivante couvre les ICD activement utilisés sur le réseau OpenPEPPOL. Le registre OASIS complet contient ~250 codes ; nous en embarquons les 105 principaux pour la reconnaissance et l'étiquetage.
| Code ICD | Registre / pays |
|---|---|
0002 | FR SIRENE — System Information et Repertoire des Entreprise et des Etablissements: SIRENE |
0007 | SE ORGNR — Organisationsnummer |
0009 | FR SIRET — SIRET-CODE |
0037 | FI OVT — LY-tunnus |
0060 | DUNS — Data Universal Numbering System (D-U-N-S Number) |
0088 | GS1 GLN |
0096 | DK P — The Danish Business Authority - P-number (DK:P) |
0097 | IT FTI — FTI - Ediforum Italia |
0106 | NL KVK — Vereniging van Kamers van Koophandel en Fabrieken in Nederland (Association of Chambers of Commerce and Industry in the Netherlands), Scheme |
0130 | EU NAL — Directorates of the European Commission |
0135 | IT SIA — SIA Object Identifiers |
0142 | IT SECETI — SECETI Object Identifiers |
0151 | AU ABN — Australian Business Number (ABN) Scheme |
0158 | SK ICO — Identification number of economic subject (ICO) |
0183 | CH UIDB — Swiss Unique Business Identification Number (UIDB) |
0184 | DK DIGST — The Danish Business Authority - CVR-number (DK:CVR) |
0188 | JP SST — Corporate Number of The Social Security and Tax Number System |
0190 | NL OINO — Organisatie-identificatienummer (OIN) |
0191 | EE CC — Company code |
0192 | NO ORG — Organisasjonsnummer (Enhetsregisteret) |
0193 | UBLBE — UBL.BE Party Identifier |
0195 | SG UEN — Singapore Nationwide E-Invoice Framework |
0196 | IS KTNR — Icelandic identifier |
0198 | DK ERST — The Danish Business Authority - SE-number (DK:SE) |
0199 | LEI — Legal Entity Identifier (LEI) |
0200 | LT LEC — Legal entity code |
0201 | IT CUUO — Codice Univoco Unità Organizzativa iPA |
0204 | DE LWID — Peppol-Leitweg-ID |
0205 | IT COD — CODDEST |
0208 | BE EN — Numero d'entreprise / ondernemingsnummer / Unternehmensnummer |
0209 | GS1 — GS1 identification keys |
0210 | IT CFI — CODICE FISCALE |
0211 | IT IVA — PARTITA IVA |
0212 | FI ORG — Finnish Organization Identifier |
0213 | FI VAT — Finnish Organization Value Add Tax Identifier |
0215 | FI NSI — Net service ID |
0216 | FI OVT2 — OVTcode |
0218 | LV URN — Unified registration number |
0221 | JP IIN — The registered number of the qualified invoice issuer |
0225 | FR CTC — FRCTC Electronic Address |
0230 | MY EIF — National e-Invoicing Framework |
0235 | AE TIN — UAE Tax Identification Number (TIN) |
0240 | LU MAT — Register of legal persons |
0242 | SPIS — OpenPeppol Service Provider Identification Scheme |
0244 | NG TID — Tax Identification (Tax ID) |
0245 | SK DIC — Tax identification number (DIČ) |
0246 | DE GEBA — German Electronic Business Address |
0248 | OM VAT — Oman Value Added Tax Identification Number (VATIN) |
9901 | DK CPR — Danish Ministry of the Interior and Health |
9902 | DK CVR — The Danish Commerce and Companies Agency |
9904 | DK SE — Danish Ministry of Taxation, Central Customs and Tax Administration |
9905 | DK VANS — Danish VANS providers |
9906 | IT VAT — Ufficio responsabile gestione partite IVA |
9907 | IT CF — TAX Authority |
9908 | NO ORGNR — Enhetsregisteret ved Bronnoysundregisterne |
9909 | NO VAT — Norwegian VAT number |
9910 | HU VAT — Hungary VAT number |
9912 | EU VAT — National ministries of Economy |
9913 | EU REID — Business Registers Network |
9914 | AT VAT — Österreichische Umsatzsteuer-Identifikationsnummer |
9915 | AT GOV — Österreichisches Verwaltungs bzw. Organisationskennzeichen |
9916 | AT CID — Firmenidentifikationsnummer der Statistik Austria |
9917 | IS KT — Icelandic National Registry |
9918 | IBAN — SOCIETY FOR WORLDWIDE INTERBANK FINANCIAL, TELECOMMUNICATION S.W.I.F.T |
9919 | AT KUR — Kennziffer des Unternehmensregisters |
9920 | ES VAT — Agencia Española de Administración Tributaria |
9921 | IT IPA — Indice delle Pubbliche Amministrazioni |
9922 | AD VAT — Andorra VAT number |
9923 | AL VAT — Albania VAT number |
9924 | BA VAT — Bosnia and Herzegovina VAT number |
9925 | BE VAT — Belgium VAT number |
9926 | BG VAT — Bulgaria VAT number |
9927 | CH VAT — Switzerland VAT number |
9928 | CY VAT — Cyprus VAT number |
9929 | CZ VAT — Czech Republic VAT number |
9930 | DE VAT — Germany VAT number |
9931 | EE VAT — Estonia VAT number |
9932 | GB VAT — United Kingdom VAT number |
9933 | GR VAT — Greece VAT number |
9934 | HR VAT — Croatia VAT number |
9935 | IE VAT — Ireland VAT number |
9936 | LI VAT — Liechtenstein VAT number |
9937 | LT VAT — Lithuania VAT number |
9938 | LU VAT — Luxemburg VAT number |
9939 | LV VAT — Latvia VAT number |
9940 | MC VAT — Monaco VAT number |
9941 | ME VAT — Montenegro VAT number |
9942 | MK VAT — Macedonia, the former Yugoslav Republic of VAT number |
9943 | MT VAT — Malta VAT number |
9944 | NL VAT — Netherlands VAT number |
9945 | PL VAT — Poland VAT number |
9946 | PT VAT — Portugal VAT number |
9947 | RO VAT — Romania VAT number |
9948 | RS VAT — Serbia VAT number |
9949 | SI VAT — Slovenia VAT number |
9950 | SK VAT — Slovakia VAT number |
9951 | SM VAT — San Marino VAT number |
9952 | TR VAT — Turkey VAT number |
9953 | VA VAT — Holy See (Vatican City State) VAT number |
9954 | NL OIN — Dutch Originator's Identification Number |
9955 | SE VAT — Swedish VAT number |
9956 | BE CBE — Belgian Crossroad Bank of Enterprise number |
9957 | FR VAT — French VAT number |
9958 | DE LID — Peppol-Leitweg-ID |
9959 | US EIN — US Employer ID Number |
Identifiants PEPPOL BIS 3.0 reconnus
Le validateur reconnaît les identifiants courants de la suite PEPPOL BIS 3.0 et leur attache un libellé :
urn:peppol:bis:billing:3.0:invoice— Invoice.urn:peppol:bis:billing:3.0:creditnote— CreditNote.urn:peppol:bis:ordering:3.0:order— Order.urn:peppol:bis:ordering:3.0:orderresponse— OrderResponse.urn:peppol:bis:despatch:3.0:despatchadvice— DespatchAdvice.urn:peppol:bis:catalogue:3.0:catalogue— Catalogue.urn:peppol:bis:mlr:3.0:mlr— Message Level Response.
Côté process :
urn:peppol:bis:billing:3.0— Process Billing 3.0.urn:peppol:bis:ordering:3.0— Process Ordering 3.0.urn:peppol:bis:despatch:3.0— Process Despatch 3.0.
Limites
-
Pas de validation XSD complète de l'enveloppe — uniquement les règles
listées ci-dessus. Le schéma officiel
StandardBusinessDocumentHeader.xsdest strict sur quelques cardinalités secondaires que nous ne couvrons pas. - Pas de validation du payload wrappé. Si le corps est un UBL Invoice, utilisez Validateur UBL 2.1 ou Validateur PEPPOL en aval.
- Pas de vérification de signature ni de chaîne TLS — l'enveloppe est examinée en clair, sans couche AS4.
Confidentialité
Documentation associée
- UBL / PEPPOL — la vue d'ensemble du réseau OpenPEPPOL.
- PEPPOL BIS Billing 3.0 — la spécification de référence pour les factures sur PEPPOL.
- PEPPOL Code Lists — la liste à jour des document type IDs et process IDs.
- UN/CEFACT SBDH 1.3 — le schéma XSD officiel et son guide d'implémentation.