# stdnum.bg.vat

VAT (Идентификационен номер по ДДС, Bulgarian VAT number).

The Bulgarian VAT (Данък върху добавената стойност) number is either 9 (for legal entities) or 10 digits (for physical persons, foreigners and others) long. Each type of number has its own check digit algorithm.

    >>> compact('BG 175 074 752')
    '175074752'
    >>> validate('175074752')
    '175074752'
    >>> validate('175074751')  # invalid check digit
    Traceback (most recent call last):
        ...
    InvalidChecksum: ...

`stdnum.bg.vat.``calc_check_digit_legal`(number)

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

`stdnum.bg.vat.``calc_check_digit_other`(number)

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

`stdnum.bg.vat.``compact`(number)

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

`stdnum.bg.vat.``is_valid`(number)

  Check if the number is a valid VAT number.

`stdnum.bg.vat.``validate`(number)

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