summaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
authorJigar Vaghela <jva@odoo.com>2019-07-11 11:45:19 +0000
committerNicolas Martinelli <nim@odoo.com>2019-08-07 06:19:35 +0000
commit066722b2f6e8f0d0e11ea0fdfc41f7d6b575e37d (patch)
tree997c57edb728a19a918f69c02ee4b7a7eb09a569 /addons
parent48b3893b84cbd51f880548b38d036db5ebc1e256 (diff)
[FIX] base_vat: validation for Chile and Colombia
Add validation using stdnum library since vatnumber is deprecated. closes odoo/odoo#35433 Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
Diffstat (limited to 'addons')
-rw-r--r--addons/base_vat/models/res_partner.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/addons/base_vat/models/res_partner.py b/addons/base_vat/models/res_partner.py
index 432f7f04c42..6d6951d7ac4 100644
--- a/addons/base_vat/models/res_partner.py
+++ b/addons/base_vat/models/res_partner.py
@@ -14,6 +14,13 @@ except ImportError:
"Install it to support more countries, for example with `easy_install vatnumber`.")
vatnumber = None
+# Although stdnum is a dependency of vatnumber, the import of the latter is surrounded by a try/except
+# if it is not installed. Therefore, we cannot be sure stdnum is installed in all cases.
+try:
+ import stdnum
+except ImportError:
+ stdnum = None
+
from odoo import api, models, _
from odoo.tools.misc import ustr
from odoo.exceptions import ValidationError
@@ -29,6 +36,8 @@ _ref_vat = {
'be': 'BE0477472701',
'bg': 'BG1234567892',
'ch': 'CHE-123.456.788 TVA or CH TVA 123456', # Swiss by Yannick Vaucher @ Camptocamp
+ 'cl': 'CL76086428-5',
+ 'co': 'CO213123432-1 or CO213.123.432-1',
'cy': 'CY12345678F',
'cz': 'CZ12345679',
'de': 'DE123456788',
@@ -363,3 +372,9 @@ class ResPartner(models.Model):
return stdnum.al.vat.is_valid(vat)
except ImportError:
return True
+
+ def check_vat_cl(self, vat):
+ return stdnum.util.get_cc_module('cl', 'vat').is_valid(vat) if stdnum else True
+
+ def check_vat_co(self, vat):
+ return stdnum.util.get_cc_module('co', 'vat').is_valid(vat) if stdnum else True