From 55fe4ab796b8ff66bc42a53ee0f5fd8f1140ebba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rolv=20R=C3=A5en=20rora=40adego=2Eno?= <> Date: Tue, 19 Apr 2011 12:17:34 +0200 Subject: [PATCH 1/5] Added support for Norwegian VAT no bzr revid: rora@adego.no-20110419101734-c8q8sb2aku83y1sg --- addons/base_vat/base_vat.py | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/addons/base_vat/base_vat.py b/addons/base_vat/base_vat.py index 102619e876d..2ddcada9399 100644 --- a/addons/base_vat/base_vat.py +++ b/addons/base_vat/base_vat.py @@ -39,7 +39,7 @@ _ref_vat = { 'pt': 'PT123456789', 'ro': 'RO1234567897', 'se': 'SE123456789701', 'si': 'SI12345679', 'sk': 'SK0012345675', 'el': 'EL12345670', - 'mx': 'MXABC123456T1B' + 'mx': 'MXABC123456T1B', 'no': 'NO123456785' } @@ -1077,6 +1077,33 @@ class res_partner(osv.osv): elif len(vat)==13 and not vat[:4].isalpha() | vat[4:10].isdigit() | vat[-3:].isalnum(): return False return True + + def check_vat_no(self, vat): + ''' + Check Norway VAT number. + ''' + if len(vat) != 9: + return False + try: + int(vat) + except: + return False + + sum = (3 * int(vat[0])) + (2 * int(vat[1])) + \ + (7 * int(vat[2])) + (6 * int(vat[3])) + \ + (5 * int(vat[4])) + (4 * int(vat[5])) + \ + (3 * int(vat[6])) + (2 * int(vat[7])) + + check = 11 -(sum % 11) + if check == 11: + check = 0 + if check == 10: + check -1 + return False + if check != int(vat[8]): + return False + return True + res_partner() # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: From 93979d178c1381e6ffa2457e0ab724b5254b2eea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rolv=20R=C3=A5en=20rora=40adego=2Eno?= <> Date: Sun, 7 Aug 2011 13:25:56 +0200 Subject: [PATCH 2/5] Fixed review issues regarding Norwegian VAT Support bzr revid: rora@adego.no-20110807112556-bgtdg09bt6g0hazd --- addons/base_vat/base_vat.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/addons/base_vat/base_vat.py b/addons/base_vat/base_vat.py index 2ddcada9399..e4cd6ff57dc 100644 --- a/addons/base_vat/base_vat.py +++ b/addons/base_vat/base_vat.py @@ -1080,13 +1080,13 @@ class res_partner(osv.osv): def check_vat_no(self, vat): ''' - Check Norway VAT number. + Check Norway VAT number.See http://www.brreg.no/english/coordination/number.html ''' if len(vat) != 9: return False try: int(vat) - except: + except ValueError: return False sum = (3 * int(vat[0])) + (2 * int(vat[1])) + \ @@ -1099,10 +1099,8 @@ class res_partner(osv.osv): check = 0 if check == 10: check -1 - return False - if check != int(vat[8]): - return False - return True + return check == int(vat[8]) + res_partner() From 448bbca6bcbfb5d9d5e29c77e567e0637fd5ec7d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rolv=20R=C3=A5en=20rora=40adego=2Eno?= <> Date: Tue, 9 Aug 2011 15:49:48 +0200 Subject: [PATCH 3/5] Fixed new review issues regarding Norwegian VAT Support bzr revid: rora@adego.no-20110809134948-rnkwrgjq1d4q20su --- addons/base_vat/base_vat.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/addons/base_vat/base_vat.py b/addons/base_vat/base_vat.py index e4cd6ff57dc..6fb10163c76 100644 --- a/addons/base_vat/base_vat.py +++ b/addons/base_vat/base_vat.py @@ -1098,7 +1098,8 @@ class res_partner(osv.osv): if check == 11: check = 0 if check == 10: - check -1 + # 10 is not a valid check digit for an organization number + return False return check == int(vat[8]) From b5123ad96a60ee170af04f43bad3dc5f138c9e19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rolv=20R=C3=A5en=20rora=40adego=2Eno?= <> Date: Tue, 9 Aug 2011 16:17:01 +0200 Subject: [PATCH 4/5] Resolved conflicts bzr revid: rora@adego.no-20110809141701-hhro08ik1coffptn --- addons/base_vat/base_vat.py | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/addons/base_vat/base_vat.py b/addons/base_vat/base_vat.py index 96b8dae80f8..378c52f26a8 100644 --- a/addons/base_vat/base_vat.py +++ b/addons/base_vat/base_vat.py @@ -1104,8 +1104,7 @@ class res_partner(osv.osv): #Valid format and valid date return True -<<<<<<< TREE - + def check_vat_no(self, vat): ''' Check Norway VAT number.See http://www.brreg.no/english/coordination/number.html @@ -1121,10 +1120,7 @@ class res_partner(osv.osv): (7 * int(vat[2])) + (6 * int(vat[3])) + \ (5 * int(vat[4])) + (4 * int(vat[5])) + \ (3 * int(vat[6])) + (2 * int(vat[7])) -======= ->>>>>>> MERGE-SOURCE - -<<<<<<< TREE + check = 11 -(sum % 11) if check == 11: check = 0 @@ -1132,10 +1128,7 @@ class res_partner(osv.osv): # 10 is not a valid check digit for an organization number return False return check == int(vat[8]) - -======= ->>>>>>> MERGE-SOURCE res_partner() # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: From 2cdc909c52eef7b9e1afaa9a85ff4d0a5708b5f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rolv=20R=C3=A5en=20rora=40adego=2Eno?= <> Date: Tue, 9 Aug 2011 16:20:29 +0200 Subject: [PATCH 5/5] Still trying to resolve conflicts bzr revid: rora@adego.no-20110809142029-toaqz7grzvjoybnw --- addons/base_vat/base_vat.py | 1 + 1 file changed, 1 insertion(+) diff --git a/addons/base_vat/base_vat.py b/addons/base_vat/base_vat.py index 378c52f26a8..5d4f30f63df 100644 --- a/addons/base_vat/base_vat.py +++ b/addons/base_vat/base_vat.py @@ -1105,6 +1105,7 @@ class res_partner(osv.osv): #Valid format and valid date return True + def check_vat_no(self, vat): ''' Check Norway VAT number.See http://www.brreg.no/english/coordination/number.html