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:
| Position | Field | Length | Meaning & Rule | Example |
|---|---|---|---|---|
| 1 | Series Prefix | 1 digit | 0 for legacy entities or 1 for newer entities registered from 2018 onwards | 0 |
| 2 to 8 | Sequential Base | 7 digits | Sequential company number assigned by FPS Economy | 1234567 |
| 9 to 10 | Check Digits | 2 digits | Check 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. Remove formatting characters (spaces, dots, and hyphens) and '0208:' prefix if present.
- 2. Validate that the string consists of exactly 10 digits starting strictly with '0' or '1'.
- 3. Interpret the first 8 digits as an integer (Base8).
- 4. Compute the remainder of Base8 divided by 97.
- 5. Subtract the remainder from 97 to obtain the 2 expected check digits.
- 6. Compare the resulting digits against the last two check digits.