stdnum.lt.pvm

PVM (Pridėtinės vertės mokestis mokėtojo kodas, Lithuanian VAT number).

The PVM is used for VAT purposes in Lithuania. It is 9 digits (for legal entities) or 12 digits long (for temporarily registered taxpayers). This module does not check the format of Lithuanian personal codes (Asmens kodas).

>>> validate('119511515')  # organisation
'119511515'
>>> validate('LT 100001919017')  # temporarily registered
'100001919017'
>>> validate('100001919018')  # invalid check digit
Traceback (most recent call last):
    ...
InvalidChecksum: ...
>>> validate('100004801610')  # second step in check digit calculation
'100004801610'
stdnum.lt.pvm.calc_check_digit(number: str) str

Calculate the check digit. The number passed should not have the check digit included.

stdnum.lt.pvm.compact(number: str) str

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

stdnum.lt.pvm.is_valid(number: str) bool

Check if the number is a valid VAT number.

stdnum.lt.pvm.validate(number: str) str

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