stdnum.cz.dic

DIČ (Daňové identifikační číslo, Czech VAT number).

The number is an 8, 9 or 10 digit code that includes a check digit and is used to uniquely identify taxpayers for VAT (DPH in Czech). The number can refer to legal entities (8 digit numbers), individuals with a RČ (the 9 or 10 digit Czech birth number) or individuals without a RČ (9 digit numbers that begin with a 6).

>>> compact('CZ 25123891')
'25123891'
>>> validate('25123891')  # legal entity
'25123891'
>>> validate('25123890')  # incorrect check digit
Traceback (most recent call last):
    ...
InvalidChecksum: ...
>>> validate('7103192745')  # RČ
'7103192745'
>>> validate('640903926')  # special case
'640903926'

Calculate the check digit for 8 digit legal entities. The number passed should not have the check digit included.

stdnum.cz.dic.calc_check_digit_special(number: str) str

Calculate the check digit for special cases. The number passed should not have the first and last digits included.

stdnum.cz.dic.compact(number: str) str

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

stdnum.cz.dic.is_valid(number: str) bool

Check if the number is a valid VAT number.

stdnum.cz.dic.validate(number: str) str

Check if the number is a valid VAT number. This checks the length, formatting and check digit.