stdnum.lv.pvn¶
PVN (Pievienotās vērtības nodokļa, Latvian VAT number).
The PVN is a 11-digit number that can either be a reference to a legal entity (in which case the first digit > 3) or a natural person (in which case it should be the same as the personal code (personas kods)). Personal codes start with 6 digits to denote the birth date in the form ddmmyy.
>>> validate('LV 4000 3521 600')
'40003521600'
>>> validate('40003521601') # invalid check digit
Traceback (most recent call last):
...
InvalidChecksum: ...
>>> validate('161175-19997') # personal code
'16117519997'
>>> validate('161375-19997') # invalid date
Traceback (most recent call last):
...
InvalidComponent: ...
- stdnum.lv.pvn.calc_check_digit_pers(number)¶
Calculate the check digit for personal codes. The number passed should not have the check digit included.
- stdnum.lv.pvn.checksum(number)¶
Calculate the checksum for legal entities.
- stdnum.lv.pvn.compact(number)¶
Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.
- stdnum.lv.pvn.get_birth_date(number)¶
Split the date parts from the number and return the birth date.
- stdnum.lv.pvn.is_valid(number)¶
Check if the number is a valid VAT number.
- stdnum.lv.pvn.validate(number)¶
Check if the number is a valid VAT number. This checks the length, formatting and check digit.