Skip to content

Commit

Permalink
Update VAT generation in nl_BE to align with correct Belgian format (
Browse files Browse the repository at this point in the history
  • Loading branch information
JorisSpruyt committed May 13, 2024
1 parent 66b0388 commit 64ce2c6
Showing 1 changed file with 18 additions and 2 deletions.
20 changes: 18 additions & 2 deletions faker/providers/ssn/nl_BE/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,24 @@ def _checksum(digits):
vat_id_formats = ("BE##########",)

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
:return: A random Belgian VAT ID
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
"""
return self.bothify(self.random_element(self.vat_id_formats))
generated_initial_number = self.random_element(vat_id_possible_initial_numbers)

Check failure on line 74 in faker/providers/ssn/nl_BE/__init__.py

View workflow job for this annotation

GitHub Actions / typing (3.8)

Need type annotation for

Check failure on line 74 in faker/providers/ssn/nl_BE/__init__.py

View workflow job for this annotation

GitHub Actions / typing (3.9)

Need type annotation for

Check failure on line 74 in faker/providers/ssn/nl_BE/__init__.py

View workflow job for this annotation

GitHub Actions / typing (3.10)

Need type annotation for

Check failure on line 74 in faker/providers/ssn/nl_BE/__init__.py

View workflow job for this annotation

GitHub Actions / typing (3.11)

Need type annotation for
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

0 comments on commit 64ce2c6

Please sign in to comment.