Closed JorisSpruyt closed 4 months ago
Suggested re-write:
` def vat_id(self) -> str:
vat_id_random_section = (
'#######'
)
vat_id_possible_initial_numbers = (
'0',
'1'
)
"""
http://ec.europa.eu/taxation_customs/vies/faq.html#item_11
https://en.wikipedia.org/wiki/VAT_identification_number
:return: A random Belgian VAT ID starting with 0 or 1 and has a correct checksum with a modulo 97 check
"""
generated_initial_number = self.random_element(vat_id_possible_initial_numbers)
vat_without_check = self.bothify(generated_initial_number + vat_id_random_section)
vat_as_int = int(vat_without_check)
vat_check = 97 - (vat_as_int % 97)
vat_check_str = f"{vat_check:0>2}"
return "BE" + vat_without_check + vat_check_str
`
You are of course invited to propose a corresponding PR to fix this issue.
Thanks @stefan6419846 , I was not sure about the workflow on github but I think i was able to do it. https://github.com/joke2k/faker/pull/2038 This issue should be closed as duplicate or something?
VAT Numbers generated in Belgium (currently set-up in the provider ssn for locale nl_BE should start with 1 or 0 and have a controle number with a module 97 check.
Refer to https://en.wikipedia.org/wiki/VAT_identification_number
Steps to reproduce
Expected behavior
Vat numbers should be starting with BE0 or BE1 and have a module 97 check as the last two numbers