Skip to content
Snippets Groups Projects
Commit aa1a06a4 authored by Thomas Becquevort (thbe)'s avatar Thomas Becquevort (thbe)
Browse files

[IMP] base_vat: Allow T as country code for JP companies Tax ID


Description of the issue/feature this commit addresses:

As of the first October 2023, some Japanese companies will start using "T" as
country code in their Tax ID. The current vat check only allows the country
code to be used in the Tax ID which means that "T" is refused.

Desired behavior after the commit is merged :

This commit makes it possible for Japanese companies to use "T" as a
country code in their Tax ID.

task-3515786

closes odoo/odoo#136146

Signed-off-by: default avatarQuentin De Paoli <qdp@odoo.com>
parent c2725791
No related branches found
No related tags found
No related merge requests found
......@@ -77,6 +77,7 @@ _ref_vat = {
_region_specific_vat_codes = {
'xi',
't',
}
......@@ -84,7 +85,14 @@ class ResPartner(models.Model):
_inherit = 'res.partner'
def _split_vat(self, vat):
vat_country, vat_number = vat[:2].lower(), vat[2:].replace(' ', '')
'''
Splits the VAT Number to get the country code in a first place and the code itself in a second place.
This has to be done because some countries' code are one character long instead of two (i.e. "T" for Japan)
'''
if vat[1].isalpha():
vat_country, vat_number = vat[:2].lower(), vat[2:].replace(' ', '')
else:
vat_country, vat_number = vat[:1].lower(), vat[1:].replace(' ', '')
return vat_country, vat_number
@api.model
......@@ -602,6 +610,10 @@ class ResPartner(models.Model):
return len(vat) == 11 and vat.isdigit()
return check_func(vat)
def check_vat_t(self, vat):
if self.country_id.code == 'JP':
return self.simple_vat_check('jp', vat)
def format_vat_eu(self, vat):
# Foreign companies that trade with non-enterprises in the EU
# may have a VATIN starting with "EU" instead of a country code.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment