ediverse Explorer la plateforme

À la une PEPPOL BIS Billing 3.0 L’obligation européenne d’e-invoicing arrive : France sept 2026, Belgique janv 2026, Allemagne 2025.

PEPPOL BIS Billing 3.0 — la spec belge

Choix unique de la Belgique pour son mandat 1ᵉʳ janvier 2026, PEPPOL BIS Billing 3.0 est un sur-ensemble de l'EN 16931 maintenu par OpenPEPPOL AISBL. La CIUS Belgium ajoute une dizaine de règles nationales BE-* gérées par BOSA, sans rompre l'interopérabilité européenne.

Spécification PEPPOL BIS Billing 3.0

PEPPOL BIS Billing 3.0 est l'évolution de PEPPOL BIS Billing 5A (génération 2.0, 2010-2018), refondue en 2018 pour s'aligner sur la norme EN 16931 publiée par le CEN en octobre 2017. Pour la Belgique :

  • Hiérarchie des spécifications (de la plus large à la plus restreinte) :
    • UBL 2.1 (syntaxe XML, OASIS)
    • EN 16931 (sémantique européenne, CEN)
    • PEPPOL BIS Billing 3.0 (profil PEPPOL, OpenPEPPOL)
    • CIUS Belgium (règles nationales BOSA)
  • Versionning : OpenPEPPOL publie deux releases par an (mai et novembre). La Belgique adopte automatiquement la dernière version sans gel local (différence avec la France qui ajoute des étapes de validation FNFE-MPE).
  • Validation Schematron : trois couches empilées — EN 16931 (BR-*), PEPPOL (PEPPOL-EN16931-*) et CIUS Belgium (BE-*). Le validateur OpenPEPPOL applique les trois en cascade.

CIUS Belgium — règles BE-*

La CIUS (Core Invoice Usage Specification) Belgium est maintenue par BOSA en concertation avec OpenPEPPOL Belgian Authority. Elle ajoute une dizaine de règles métier nationales sans modifier le modèle sémantique. Principales règles :

RègleDescriptionSévérité
BE-001 BT-29 (BCE émetteur) au schemeID 0208 obligatoire si pays émetteur = BE fatal
BE-002 BT-49 (BCE destinataire) au schemeID 0208 obligatoire si pays destinataire = BE fatal
BE-003 BT-83 (PaymentID communication structurée) au format +++NNN/NNNN/NNNNN+++ si présent warning
BE-004 BT-84 (PayeeFinancialAccount/ID) au format IBAN belge BE.. (16 caractères) obligatoire pour SEPA SCT fatal
BE-005 BT-32 (CompanyID national legal) doit pointer vers la BCE pour les assujettis BE warning
BE-006 Code TVA AE (reverse charge) avec motif art. 51 §2 CTVA obligatoire si pays émetteur = BE et autoliquidation fatal
BE-007 BT-3 (InvoiceTypeCode) limité à 380 (facture commerciale), 381 (avoir), 389 (facture rectificative) fatal
BE-008 BT-22 (Note de facture) interdit pour B2G > 4 lignes (limite Mercurius) warning
BE-009 BT-7 (TaxPointDate) recommandé pour autoliquidation et SDD info
BE-010 Code BIC obligatoire si PaymentMeansCode = 30 (virement SEPA) warning

Champs obligatoires renforcés

Outre les ~30 champs déjà obligatoires en EN 16931, la CIUS Belgium en renforce une dizaine pour le contexte fiscal et commercial belge. Tableau de bord rapide pour les éditeurs ERP :

  • BT-1 (Invoice number) : séquentiel par numéro de TVA — pas de gap autorisé (rappel art. 5 AR n° 1).
  • BT-2 (Issue date) : doit être dans les 15 jours suivant l'opération (art. 4 AR n° 1).
  • BT-9 (Due date) : obligatoire pour B2G (Mercurius + Hermes), recommandé pour B2B.
  • BT-83 (Communication structurée) : très fortement recommandé pour faciliter le rapprochement bancaire via CODA.
  • BT-90 (BIC) : obligatoire pour les paiements SEPA SCT internationaux (hors zone BE).
  • BT-23 (Buyer reference) : obligatoire pour B2G (souvent le numéro de commande Mercurius/Hermes).
  • BT-44 (Buyer name) : dénomination commerciale complète, conforme à l'extrait BCE/KBO.

Transport AS4 et eDelivery

Le transport est imposé en AS4 via PEPPOL eDelivery, sans alternative légale. Caractéristiques :

  • AS4 OASIS ebMS 3.0 + AS4 profile (Async Push, Two-way Push), conformément à OASIS Standard ebms-v3-core-rels-os.zip
  • SBDH (Standard Business Document Header) UN/CEFACT 1.3 — wrap autour du UBL Invoice, contient Sender/Receiver PEPPOL ID, DocumentID, ProcessID
  • Cipher : AES-128-GCM (recommandé) ou AES-256-GCM, conforme à PEPPOL eDelivery v4.x
  • Signature : XMLDSig RSA-SHA256 (minimum) ou RSA-SHA512 (recommandé)
  • Authentication : certificat X.509 émis par une autorité PEPPOL Authority (PEPPOL CA)
  • Receipt : AS4 Receipt RFC 5024, obligatoire dans les 90 secondes après réception

Exemple d'invoice complet

xml peppol-bis-3-belgique-invoice.xml
<?xml version="1.0" encoding="UTF-8"?>
<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
         xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
         xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">
  <cbc:CustomizationID>urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0</cbc:CustomizationID>
  <cbc:ProfileID>urn:fdc:peppol.eu:2017:poacc:billing:01:1.0</cbc:ProfileID>
  <cbc:ID>INV-2026-BE-000412</cbc:ID>
  <cbc:IssueDate>2026-05-19</cbc:IssueDate>
  <cbc:DueDate>2026-06-18</cbc:DueDate>
  <cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
  <cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode>
  <cbc:BuyerReference>2026-CMD-9821</cbc:BuyerReference>
  <cac:AccountingSupplierParty>
    <cac:Party>
      <cbc:EndpointID schemeID="0208">0473495177</cbc:EndpointID>
      <cac:PartyName><cbc:Name>Acme Belgium SA</cbc:Name></cac:PartyName>
      <cac:PostalAddress>
        <cbc:StreetName>Rue de la Loi 16</cbc:StreetName>
        <cbc:CityName>Bruxelles</cbc:CityName>
        <cbc:PostalZone>1000</cbc:PostalZone>
        <cac:Country><cbc:IdentificationCode>BE</cbc:IdentificationCode></cac:Country>
      </cac:PostalAddress>
      <cac:PartyTaxScheme>
        <cbc:CompanyID>BE0473495177</cbc:CompanyID>
        <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
      </cac:PartyTaxScheme>
      <cac:PartyLegalEntity>
        <cbc:RegistrationName>Acme Belgium SA</cbc:RegistrationName>
        <cbc:CompanyID schemeID="0208">0473495177</cbc:CompanyID>
      </cac:PartyLegalEntity>
    </cac:Party>
  </cac:AccountingSupplierParty>
  <cac:AccountingCustomerParty>
    <cac:Party>
      <cbc:EndpointID schemeID="0208">0316380841</cbc:EndpointID>
      <cac:PartyName><cbc:Name>Bruxelles Economie et Emploi</cbc:Name></cac:PartyName>
      <cac:PartyTaxScheme>
        <cbc:CompanyID>BE0316380841</cbc:CompanyID>
        <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
      </cac:PartyTaxScheme>
    </cac:Party>
  </cac:AccountingCustomerParty>
  <cac:PaymentMeans>
    <cbc:PaymentMeansCode>30</cbc:PaymentMeansCode>
    <cbc:PaymentID>+++097/3300/57894+++</cbc:PaymentID>
    <cac:PayeeFinancialAccount>
      <cbc:ID>BE68539007547034</cbc:ID>
      <cac:FinancialInstitutionBranch>
        <cbc:ID>BBRUBEBB</cbc:ID>
      </cac:FinancialInstitutionBranch>
    </cac:PayeeFinancialAccount>
  </cac:PaymentMeans>
  <cac:TaxTotal>
    <cbc:TaxAmount currencyID="EUR">210.00</cbc:TaxAmount>
    <cac:TaxSubtotal>
      <cbc:TaxableAmount currencyID="EUR">1000.00</cbc:TaxableAmount>
      <cbc:TaxAmount currencyID="EUR">210.00</cbc:TaxAmount>
      <cac:TaxCategory>
        <cbc:ID>S</cbc:ID>
        <cbc:Percent>21</cbc:Percent>
        <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
      </cac:TaxCategory>
    </cac:TaxSubtotal>
  </cac:TaxTotal>
  <cac:LegalMonetaryTotal>
    <cbc:LineExtensionAmount currencyID="EUR">1000.00</cbc:LineExtensionAmount>
    <cbc:TaxExclusiveAmount currencyID="EUR">1000.00</cbc:TaxExclusiveAmount>
    <cbc:TaxInclusiveAmount currencyID="EUR">1210.00</cbc:TaxInclusiveAmount>
    <cbc:PayableAmount currencyID="EUR">1210.00</cbc:PayableAmount>
  </cac:LegalMonetaryTotal>
  <cac:InvoiceLine>
    <cbc:ID>1</cbc:ID>
    <cbc:InvoicedQuantity unitCode="C62">2</cbc:InvoicedQuantity>
    <cbc:LineExtensionAmount currencyID="EUR">1000.00</cbc:LineExtensionAmount>
    <cac:Item>
      <cbc:Name>Prestation de conseil — mai 2026</cbc:Name>
      <cac:ClassifiedTaxCategory>
        <cbc:ID>S</cbc:ID>
        <cbc:Percent>21</cbc:Percent>
        <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
      </cac:ClassifiedTaxCategory>
    </cac:Item>
    <cac:Price>
      <cbc:PriceAmount currencyID="EUR">500.00</cbc:PriceAmount>
    </cac:Price>
  </cac:InvoiceLine>
</Invoice>

Validation Schematron

Trois sources de règles Schematron empilées dans le validateur OpenPEPPOL officiel :

  1. EN 16931-BR : 200+ règles communes UE (cardinalité, somme TVA, devise, format date).
  2. PEPPOL-EN16931-* : 40+ règles spécifiques au profil PEPPOL Billing (numérotation, codes types, format BIC).
  3. BE-* (CIUS Belgium) : 10 règles nationales (voir tableau ci-dessus). Maintenance BOSA, repository GitHub OpenPEPPOL/peppol-bis-invoice-3 branch BE.

Le validateur officiel est peppol-validation-cli (Apache 2.0) ou son équivalent web sur peppol.helger.com. Le rapport SVRL produit signale la couche d'origine de chaque erreur.

Liens transverses