From 066722b2f6e8f0d0e11ea0fdfc41f7d6b575e37d Mon Sep 17 00:00:00 2001 From: Jigar Vaghela Date: Thu, 11 Jul 2019 11:45:19 +0000 Subject: [PATCH] [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) --- addons/base_vat/models/res_partner.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) 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