stdnum.nl.bsn

BSN (Burgerservicenummer, the Dutch citizen identification number).

The BSN is a unique personal identifier and has been introduced as the successor to the sofinummer. It is issued to each Dutch national. The number consists of up to nine digits (the leading zeros are commonly omitted) and contains a simple checksum.

More information:

>>> validate('1112.22.333')
'111222333'
>>> validate('1112.52.333')
Traceback (most recent call last):
    ...
InvalidChecksum: ...
>>> validate('1112223334')
Traceback (most recent call last):
    ...
InvalidLength: ...
>>> format('111222333')
'1112.22.333'
stdnum.nl.bsn.checksum(number: str) int

Calculate the checksum over the number. A valid number should have a checksum of 0.

stdnum.nl.bsn.compact(number: str) str

Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.

stdnum.nl.bsn.format(number: str) str

Reformat the passed number to the standard presentation format.

stdnum.nl.bsn.is_valid(number: str) bool

Check if the number is a valid BSN.

stdnum.nl.bsn.validate(number: str) str

Check if the number is a valid BSN. This checks the length and whether the check digit is correct.