Validateur PEPPOL BIS Billing 3.0 V2
Sur cette page
Validez une facture UBL (Invoice ou CreditNote) contre EN 16931 et les règles métier OpenPEPPOL, sans que la facture quitte votre navigateur.
Collez une facture UBL conforme à PEPPOL BIS Billing 3.0 pour la valider.
Jeu de règles embarqué : 73 règles métier
(BR-*, BR-CO-* calculation, PEPPOL-*, UBL-CR-*),
57 Business Terms EN 16931,
83 codes EAS PEPPOL,
1 profil. Sources :
docs.peppol.eu,
PEPPOL Schematron rules
et la norme EN 16931-1:2017.
Comment ça marche
Le validateur applique trois passes :
- Bonne formation XML : votre document est passé au
DOMParsernatif du navigateur. Toute balise mal fermée ou caractère XML invalide est signalé en premier (E_XML_NOT_WELL_FORMED). - Élément racine UBL : la racine doit être
<Invoice>ou<CreditNote>dans le namespace UBL 2.1. Sinon :E_NOT_UBL_ROOT. - Règles métier PEPPOL BIS Billing 3.0 : les codes
BR-NNetPEPPOL-EN16931-RNNNci-dessous sont vérifiés contre la structure du document. Chaque diagnostic indique le Business Term EN 16931 concerné (BT-1,BT-24, etc.) et le chemin XPath de l'élément fautif.
Règles implémentées (73)
Le validateur couvre 73 règles, parmi les plus bloquantes en intégration : règles EN 16931 telles que reprises par OpenPeppol, règles propres à Peppol et restrictions de syntaxe UBL. Identifiants et sévérités suivent la release officielle Peppol BIS Billing 3.0 ; les libellés des règles EN 16931 sont ceux du CEN, ceux des règles propres à Peppol sont rédigés par ediverse ; les montants sont comparés comme dans la Schematron (arrondi à deux décimales, puis égalité exacte). La liste est générée depuis le catalogue du validateur : elle correspond exactement à ce que l'outil contrôle.
Règles EN 16931 — présence et valeurs(25)
| Règle | Sévérité | Libellé |
|---|---|---|
BR-01 | erreur | An Invoice shall have a Specification identifier (BT-24). |
BR-02 | erreur | An Invoice shall have an Invoice number (BT-1). |
BR-03 | erreur | An Invoice shall have an Invoice issue date (BT-2). |
BR-04 | erreur | An Invoice shall have an Invoice type code (BT-3). |
BR-05 | erreur | An Invoice shall have an Invoice currency code (BT-5). |
BR-06 | erreur | An Invoice shall contain the Seller name (BT-27). |
BR-07 | erreur | An Invoice shall contain the Buyer name (BT-44). |
BR-08 | erreur | An Invoice shall contain the Seller postal address. |
BR-09 | erreur | The Seller postal address (BG-5) shall contain a Seller country code (BT-40). |
BR-10 | erreur | An Invoice shall contain the Buyer postal address (BG-8). |
BR-11 | erreur | The Buyer postal address shall contain a Buyer country code (BT-55). |
BR-12 | erreur | An Invoice shall have the Sum of Invoice line net amount (BT-106). |
BR-13 | erreur | An Invoice shall have the Invoice total amount without VAT (BT-109). |
BR-14 | erreur | An Invoice shall have the Invoice total amount with VAT (BT-112). |
BR-15 | erreur | An Invoice shall have the Amount due for payment (BT-115). |
BR-16 | erreur | An Invoice shall have at least one Invoice line (BG-25) |
BR-17 | erreur | The Payee name (BT-59) shall be provided in the Invoice, if the Payee (BG-10) is different from the Seller (BG-4) |
BR-18 | erreur | The Seller tax representative name (BT-62) shall be provided in the Invoice, if the Seller (BG-4) has a Seller tax representative party (BG-11) |
BR-19 | erreur | The Seller tax representative postal address (BG-12) shall be provided in the Invoice, if the Seller (BG-4) has a Seller tax representative party (BG-11). |
BR-20 | erreur | The Seller tax representative postal address (BG-12) shall contain a Tax representative country code (BT-69), if the Seller (BG-4) has a Seller tax representative party (BG-11). |
BR-62 | erreur | The Seller electronic address (BT-34) shall have a Scheme identifier. |
BR-63 | erreur | The Buyer electronic address (BT-49) shall have a Scheme identifier. |
BR-CL-01 | erreur | The document type code MUST be coded by the invoice and credit note related code lists of UNTDID 1001. |
BR-CL-04 | erreur | Invoice currency code MUST be coded using ISO code list 4217 alpha-3 |
BR-CL-14 | erreur | Country codes in an invoice MUST be coded using ISO code list 3166-1 |
Règles EN 16931 — calculs et décimales(34)
| Règle | Sévérité | Libellé |
|---|---|---|
BR-CO-03 | erreur | Value added tax point date (BT-7) and Value added tax point date code (BT-8) are mutually exclusive. |
BR-CO-10 | erreur | Sum of Invoice line net amount (BT-106) = Σ Invoice line net amount (BT-131). |
BR-CO-11 | erreur | Sum of allowances on document level (BT-107) = Σ Document level allowance amount (BT-92). |
BR-CO-12 | erreur | Sum of charges on document level (BT-108) = Σ Document level charge amount (BT-99). |
BR-CO-13 | erreur | Invoice total amount without VAT (BT-109) = Σ Invoice line net amount (BT-131) - Sum of allowances on document level (BT-107) + Sum of charges on document level (BT-108). |
BR-CO-14 | erreur | Invoice total VAT amount (BT-110) = Σ VAT category tax amount (BT-117). |
BR-CO-15 | erreur | Invoice total amount with VAT (BT-112) = Invoice total amount without VAT (BT-109) + Invoice total VAT amount (BT-110). |
BR-CO-16 | erreur | Amount due for payment (BT-115) = Invoice total amount with VAT (BT-112) -Paid amount (BT-113) +Rounding amount (BT-114). |
BR-CO-17 | erreur | VAT category tax amount (BT-117) = VAT category taxable amount (BT-116) x (VAT category rate (BT-119) / 100), rounded to two decimals. |
BR-CO-18 | erreur | An Invoice shall at least have one VAT breakdown group (BG-23). |
BR-CO-19 | erreur | If Invoicing period (BG-14) is used, the Invoicing period start date (BT-73) or the Invoicing period end date (BT-74) shall be filled, or both. |
BR-29 | erreur | If both Invoicing period start date (BT-73) and Invoicing period end date (BT-74) are given then the Invoicing period end date (BT-74) shall be later or equal to the Invoicing period start date (BT-73). |
BR-CO-25 | erreur | In case the Amount due for payment (BT-115) is positive, either the Payment due date (BT-9) or the Payment terms (BT-20) shall be present. |
BR-DEC-01 | erreur | The allowed maximum number of decimals for the Document level allowance amount (BT-92) is 2. |
BR-DEC-02 | erreur | The allowed maximum number of decimals for the Document level allowance base amount (BT-93) is 2. |
BR-DEC-05 | erreur | The allowed maximum number of decimals for the Document level charge amount (BT-99) is 2. |
BR-DEC-06 | erreur | The allowed maximum number of decimals for the Document level charge base amount (BT-100) is 2. |
BR-DEC-09 | erreur | The allowed maximum number of decimals for the Sum of Invoice line net amount (BT-106) is 2. |
BR-DEC-10 | erreur | The allowed maximum number of decimals for the Sum of allowanced on document level (BT-107) is 2. |
BR-DEC-11 | erreur | The allowed maximum number of decimals for the Sum of charges on document level (BT-108) is 2. |
BR-DEC-12 | erreur | The allowed maximum number of decimals for the Invoice total amount without VAT (BT-109) is 2. |
BR-DEC-13 | erreur | The allowed maximum number of decimals for the Invoice total VAT amount (BT-110) is 2. |
BR-DEC-14 | erreur | The allowed maximum number of decimals for the Invoice total amount with VAT (BT-112) is 2. |
BR-DEC-15 | erreur | The allowed maximum number of decimals for the Invoice total VAT amount in accounting currency (BT-111) is 2. |
BR-DEC-16 | erreur | The allowed maximum number of decimals for the Paid amount (BT-113) is 2. |
BR-DEC-17 | erreur | The allowed maximum number of decimals for the Rounding amount (BT-114) is 2. |
BR-DEC-18 | erreur | The allowed maximum number of decimals for the Amount due for payment (BT-115) is 2. |
BR-DEC-19 | erreur | The allowed maximum number of decimals for the VAT category taxable amount (BT-116) is 2. |
BR-DEC-20 | erreur | The allowed maximum number of decimals for the VAT category tax amount (BT-117) is 2. |
BR-DEC-23 | erreur | The allowed maximum number of decimals for the Invoice line net amount (BT-131) is 2. |
BR-DEC-24 | erreur | The allowed maximum number of decimals for the Invoice line allowance amount (BT-136) is 2. |
BR-DEC-25 | erreur | The allowed maximum number of decimals for the Invoice line allowance base amount (BT-137) is 2. |
BR-DEC-27 | erreur | The allowed maximum number of decimals for the Invoice line charge amount (BT-141) is 2. |
BR-DEC-28 | erreur | The allowed maximum number of decimals for the Invoice line charge base amount (BT-142) is 2. |
Règles OpenPeppol (PEPPOL-EN16931-R*)(8)
| Règle | Sévérité | Libellé |
|---|---|---|
PEPPOL-EN16931-R001 | erreur | The business process identifier (BT-23, ProfileID) is missing. |
PEPPOL-EN16931-R002 | erreur | Only one document-level note (BT-22) is accepted, except when seller and buyer are both German. |
PEPPOL-EN16931-R003 | erreur | Neither a buyer reference (BT-10) nor a purchase order reference (BT-13) is given; one of them is required. |
PEPPOL-EN16931-R004 | erreur | The specification identifier (BT-24) does not begin with the Peppol BIS Billing 3.0 value 'urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0', or does not follow the identifier format rules (it contains '::'). |
PEPPOL-EN16931-R008 | erreur | The document contains an empty element; Peppol rejects empty elements. |
PEPPOL-EN16931-R010 | erreur | The buyer electronic address (BT-49, EndpointID) is missing. |
PEPPOL-EN16931-R020 | erreur | The seller electronic address (BT-34, EndpointID) is missing. |
PEPPOL-EN16931-CL008 | erreur | The electronic address scheme (schemeID) is not in the Electronic Address Scheme (EAS) code list. |
Restrictions de syntaxe UBL (UBL-CR / UBL-DT)(6)
| Règle | Sévérité | Libellé |
|---|---|---|
UBL-CR-002 | avertissement | A UBL invoice should not include the UBLVersionID or it should be 2.1 |
UBL-CR-003 | avertissement | A UBL invoice should not include the ProfileExecutionID |
UBL-CR-004 | avertissement | A UBL invoice should not include the CopyIndicator |
UBL-CR-005 | avertissement | A UBL invoice should not include the UUID |
UBL-CR-006 | avertissement | A UBL invoice should not include the IssueTime |
UBL-DT-01 | erreur | Amounts shall be decimal up to two fraction digits |
Confidentialité
Limites
Le validateur n'est pas — encore — un remplaçant 1-pour-1 du Schematron officiel. Ce qui n'est pas couvert en MVP :
- Les règles VAT complètes (BR-AE-*, BR-E-*, BR-IC-*, BR-O-*, BR-S-*, BR-Z-*) qui valident la cohérence entre catégorie de TVA, exonération, taux et pays.
- La validation XSD UBL 2.1 stricte (cardinalités enfants, types XSD) — nous nous concentrons sur les Business Terms.
-
La résolution des références entre lignes,
AllowanceCharge, etTaxTotal. -
Les règles de codelist de second rang :
UnitOfMeasure,PaymentMeansCodeUNTDID 4461, catégories de TVA UNTDID 5305. -
Les références
DocumentReferenceet leurs MIME types (BG-24).
Pour un pipeline de production, exécuter le Schematron officiel
PEPPOL-EN16931-UBL.sch reste recommandé.
Documentation associée
- PEPPOL — la vue d'ensemble du réseau, du modèle à quatre coins et du calendrier des mandats 2026.
- EN 16931 — le modèle sémantique européen des éléments cœur d'une facture.
- Validateur cXML — même approche pour les documents Ariba / SAP Business Network.