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.

BCE / KBO — le numéro d'entreprise belge

Le numéro BCE/KBO (Banque-Carrefour des Entreprises / Kruispuntbank van Ondernemingen) est l'identifiant unique de chaque entreprise belge, attribué par le SPF Économie à la création. Indispensable à la facturation, il sert également d'identifiant PEPPOL via l'ICD 0208 et de matrice du numéro TVA-BE.

Historique : de la TVA au registre unique

Avant 2003, la Belgique fonctionnait avec une demi-douzaine d'identifiants administratifs distincts : numéro TVA, numéro ONSS, numéro RPM (Registre du Commerce), numéro INASTI, etc. La loi du 16 janvier 2003 crée la BCE pour unifier ces identifiants en un seul, à l'instar du numéro SIREN/SIRET français mais avec une portée plus large.

  • 2003 — Lancement initial. Les nouvelles entreprises reçoivent un numéro BCE. Les anciennes (immatriculées avant 2003) conservent leurs identifiants jusqu'à mise à jour progressive.
  • 2005-2009 — Transition. Migration de toutes les anciennes immatriculations RPM, INASTI, ONSS vers la BCE. La BCE devient le seul identifiant.
  • 2014 — KBO Bulk Open Data. Le SPF Économie publie un export complet en format CSV téléchargeable mensuellement (~1,5 GB compressé).
  • 2018 — Refonte BCE 2.0. Nouveau portail KBO/BCE, API publique pour consultation par numéro.
  • 2020 — ICD 0208 PEPPOL. OpenPEPPOL ajoute le code ICD 0208 pour BCE/KBO dans son registre Authority Identifier Scheme. Mercurius bascule sur ce schemeID pour le routage B2G.
  • 2025 — Préparation B2B. En anticipation de l'arrêté royal du 20 mars 2025, la BCE met à disposition des éditeurs ERP un service de lookup PEPPOL Endpoint via le SMP Mercurius.

Format du numéro BCE/KBO

Le numéro BCE comprend 10 chiffres, formaté 0XXX.XXX.XXX avec points séparateurs. Le premier chiffre est toujours un 0 ou 1 (codification interne SPF, dépend de l'ancienneté).

  • Position 1 : chiffre indicateur de génération (0 = pré-2008, 1 = post-2008).
  • Positions 2-8 : identifiant séquentiel (7 chiffres).
  • Positions 9-10 : checksum modulo 97 (voir ci-dessous).

Trois représentations équivalentes acceptées en pratique :

  • 0473.495.177 — affichage humain (avec points)
  • 0473495177 — affichage technique (sans points)
  • BE0473495177 — préfixé pour la TVA belge

Algorithme de checksum modulo 97

Les deux derniers chiffres sont un check digit calculé par modulo 97 sur les 8 premiers chiffres. C'est le même algorithme que pour l'IBAN et que pour les communications structurées OGM/VCS belges.

python bce_checksum.py
def bce_checksum(bce_9digits: str) -> str:
    """
    Algorithme modulo 97 pour valider/calculer le checksum d'un
    numero BCE/KBO belge.

    bce_9digits : les 8 premiers chiffres (sans la cle, sans le 0
                  initial) ou les 10 chiffres complets.

    Retourne les 2 chiffres de cle ou compare a la cle existante.
    """
    if len(bce_9digits) == 10:
        # Mode verification : enlever les 2 derniers
        body = bce_9digits[:-2]
        expected = bce_9digits[-2:]
        check = 97 - (int(body) % 97)
        return str(check).zfill(2) == expected

    body = bce_9digits[:8].zfill(8)
    check = 97 - (int(body) % 97)
    return str(check).zfill(2)


# Exemples
print(bce_checksum("04734951"))   # 77 -> 0473.495.177
print(bce_checksum("0473495177")) # True (verification)
print(bce_checksum("03083571"))   # 59 -> 0308.357.159 (SPF Finances)

ICD 0208 PEPPOL et identifiant TVA BE

Dans le registre OpenPEPPOL Authority Identifier Scheme (PartyID Schemes), le code 0208 désigne précisément le numéro BCE/KBO belge. Toute facture PEPPOL-BIS 3.0 émise depuis ou vers la Belgique doit utiliser ce schemeID pour identifier l'émetteur et le destinataire.

text bce-mapping.txt
┌──────────────────────────────────────────────────────────────────────┐
│  Mapping BCE/KBO -> PEPPOL Endpoint -> TVA-BE                        │
├──────────────────────────────────────────────────────────────────────┤
│                                                                      │
│  Numero BCE           : 0473.495.177                                 │
│  PEPPOL Endpoint      : 0208:0473495177  (ICD 0208 + 10 digits)      │
│  TVA-BE (BTW-BE)      : BE0473495177      (BE + 10 digits)           │
│  RPM (tribunal entreprise) : Bruxelles francophone                   │
│  Publication Moniteur : MB du 12 juin 2003                           │
│                                                                      │
│  Source : BCE OpenData CSV / API REST publique                       │
│  URL    : https://kbopub.economie.fgov.be/kbopub/                    │
│                                                                      │
└──────────────────────────────────────────────────────────────────────┘

Subtilité importante : le numéro BCE n'est pas identique au numéro TVA mais ils dérivent l'un de l'autre depuis 2008. Une entreprise non-assujettie TVA possède un numéro BCE mais pas de TVA-BE. À l'inverse, l'identifiant TVA-BE est construit en préfixant le numéro BCE avec BE.

  • BCE seul (sans TVA) : ASBL, fondations, associations de fait, entreprises en franchise.
  • BCE + TVA-BE : assujettis ordinaires (~95 % des entreprises actives).
  • BCE étranger : représentation fiscale d'entreprise étrangère identifiée en Belgique pour TVA seulement.

OpenData KBO et API publique

Le SPF Économie publie en OpenData (licence CC-BY 2.0 BE) un dataset mensuel complet de la BCE :

  • Format : 9 fichiers CSV ZIP (~1,5 GB), encodage UTF-8 BOM, séparateur virgule, guillemets doubles
  • Fichiers principaux : enterprise.csv (entité juridique), establishment.csv (unités d'établissement), denomination.csv (raisons sociales), activity.csv (codes NACE), address.csv (siège social et adresses), contact.csv (téléphone, e-mail, site web)
  • API REST publique : portail KBOpub permet de consulter par numéro BCE/KBO, dénomination ou code postal (limitation à ~100 req/h sans authentification).
  • Téléchargement : portail KBO Open Data nécessite un compte gratuit (kbopub.economie.fgov.be/kbo-open-data).
  • SOAP/REST pro : SPF Économie offre un service de consultation rémunéré (~250 €/an) pour les grands éditeurs et les banques (volume illimité).

Liens avec le RPM et le Moniteur belge

Le numéro BCE est aussi la clé d'accès vers deux autres registres publics :

  • RPM — Registre des Personnes Morales. Compétence des tribunaux de l'entreprise (anciennement tribunaux de commerce). Le RPM contient les statuts, modifications statutaires, actes notariés et publications du Moniteur belge pour les sociétés commerciales. Recherche par BCE sur cri-online.be.
  • Moniteur belge / Belgisch Staatsblad. Publication officielle de l'État. Chaque acte juridique (constitution, assemblée générale extraordinaire, fusion, dissolution) y est publié. Recherche par BCE sur ejustice.just.fgov.be.
  • NBB Central Balance Sheet Office. Banque Nationale de Belgique, dépôt des comptes annuels obligatoire. Recherche par BCE sur consult.cbso.nbb.be.

Liens transverses