Skip to main content

Belgian KBO / BCE Number Validator

Validate structural compliance and Modulo 97 check digits of Belgian KBO / BCE numbers.

About Belgian KBO / BCE Validation

Validation sanitizes input, supports dotted `0XXX.XXX.XXX` formats and PEPPOL `0208:0XXXXXXXXX` schemes, and verifies the Modulo 97 check digits on the first 8 digits.

Ensures full compatibility with FPS Economy systems and the Peppol network.

Anatomy & Structure of Belgian KBO / BCE

The Belgian enterprise number consists of 10 decimal digits regulated by FPS Economy:

PositionFieldLengthMeaning & RuleExample
1Series Prefix1 digit0 for legacy entities or 1 for newer entities registered from 2018 onwards0
2 to 8Sequential Base7 digitsSequential company number assigned by FPS Economy1234567
9 to 10Check Digits2 digitsCheck digits computed via Modulo 97: 97 - (Base8 mod 97)49

KBO / BCE Validation Algorithm (Modulo 97)

Corporate integrity validation follows the official Belgian Modulo 97 formula:

DV = 97 - (Base8 mod 97)
  1. 1. Remove formatting characters (spaces, dots, and hyphens) and '0208:' prefix if present.
  2. 2. Validate that the string consists of exactly 10 digits starting strictly with '0' or '1'.
  3. 3. Interpret the first 8 digits as an integer (Base8).
  4. 4. Compute the remainder of Base8 divided by 97.
  5. 5. Subtract the remainder from 97 to obtain the 2 expected check digits.
  6. 6. Compare the resulting digits against the last two check digits.

Frequently Asked Questions (FAQ)