Add ad, gt, jp, md, nz, pe, py, uy, ve and za tax identifiers

issue9379
review317511002
This commit is contained in:
Sergi Almacellas Abellana committed 2020-07-09 21:17:21 +02:00
1 parent 1f246111bf
commit 49e29da8eb
3 files changed
+29 -10

No files matched your search

+2
View File
@@ -1,3 +1,5 @@
* Add ad, gt, jp, md, nz, pe, py, uy, ve and za tax identifiers
Version 5.6.0 - 2020-05-04
* Bug fixes (see mercurial logs for details)
* Display name on contact mechanism record name
+26 -9
View File
@@ -119,15 +119,17 @@ class Party(DeactivableMixin, ModelSQL, ModelView, MultiValueMixin):
@classmethod
def tax_identifier_types(cls):
return ['al_nipt', 'ar_cuit', 'be_vat', 'bg_vat', 'ch_vat', 'cl_rut',
'co_rut', 'cu_vat', 'cz_dic', 'de_vat', 'do_rnc', 'dk_cvr',
'ec_ruc', 'ee_kmkr', 'es_cif', 'es_nie', 'es_nif', 'eu_vat',
'fi_alv', 'fr_tva', 'gb_vat', 'gr_vat', 'hu_anum', 'ie_vat',
'is_vsk', 'it_iva', 'lt_pvm', 'lu_tva', 'lv_pvn', 'mc_tva',
'mt_vat', 'mx_rfc', 'nl_btw', 'no_mva', 'pl_nip', 'pt_nif',
'ro_cf', 'rs_pib', 'ru_inn', 'se_vat', 'si_ddv', 'sk_dph',
'sm_coe', 'us_atin', 'us_ein', 'us_itin', 'us_ptin', 'us_ssn',
'us_tin']
return [
'ad_nrt', 'al_nipt', 'ar_cuit', 'be_vat', 'bg_vat', 'ch_vat',
'cl_rut', 'co_rut', 'cu_vat', 'cz_dic', 'de_vat', 'do_rnc',
'dk_cvr', 'ec_ruc', 'ee_kmkr', 'es_cif', 'es_nie', 'es_nif',
'eu_vat', 'fi_alv', 'fr_tva', 'gb_vat', 'gr_vat', 'gt_nit',
'hu_anum', 'ie_vat', 'is_vsk', 'it_iva', 'jp_cn', 'lt_pvm',
'lu_tva', 'lv_pvn', 'mc_tva', 'md_idno', 'mt_vat', 'mx_rfc',
'nl_btw', 'no_mva', 'nz_ird', 'pe_ruc', 'pl_nip', 'pt_nif',
'py_ruc', 'ro_cf', 'rs_pib', 'ru_inn', 'se_vat', 'si_ddv',
'sk_dph', 'sm_coe', 'us_atin', 'us_ein', 'us_itin', 'us_ptin',
'us_ssn', 'us_tin', 'uy_ruc', 've_rif', 'za_tin']
def get_tax_identifier(self, name):
types = self.tax_identifier_types()
@@ -314,6 +316,7 @@ class Identifier(sequence_ordered(), ModelSQL, ModelView):
help="The party identified by this record.")
type = fields.Selection([
(None, ''),
('ad_nrt', "Andorra Tax Number"),
('al_nipt', "Albanian VAT Number"),
('ar_cuit', "Argentinian Tax Number"),
('at_businessid', "Austrian Company Register"),
@@ -336,6 +339,9 @@ class Identifier(sequence_ordered(), ModelSQL, ModelView):
('cn_rit', "Chinese Resident Identity Card Number"),
('co_nit', "Colombian Identity Code"),
('co_rut', "Colombian Business Tax Number"),
('cr_cpf', "Costa Rica Physical Person ID Number"),
('cr_cr', "Costa Rica Foreigners ID Number"),
('cu_ni', "Cuban Identity Card Number"),
('cy_vat', "Cypriot VAT Number"),
('cz_dic', "Czech VAT Number"),
('cz_rc', "Czech National Identifier"),
@@ -373,6 +379,7 @@ class Identifier(sequence_ordered(), ModelSQL, ModelView):
('gb_upn', "English Unique Pupil Number"),
('gb_vat', "United Kingdom (and Isle of Man) VAT Number"),
('gr_vat', "Greek VAT Number"),
('gt_nit', "Guatemala Tax Number"),
('hr_oib', "Croatian Identification Number"),
('hu_anum', "Hungarian VAT Number"),
('ie_pps', "Irish Personal Number"),
@@ -384,10 +391,12 @@ class Identifier(sequence_ordered(), ModelSQL, ModelView):
('is_vsk', "Icelandic VAT Number"),
('it_codicefiscale', "Italian Tax Code for Individuals"),
('it_iva', "Italian VAT Number"),
('jp_cn', "Japanese Corporate Number"),
('lt_pvm', "Lithuanian VAT Number"),
('lu_tva', "Luxembourgian VAT Number"),
('lv_pvn', "Latvian VAT Number"),
('mc_tva', "Monacan VAT Number"),
('md_idno', "Moldavian Company Identification Number"),
('mt_vat', "Maltese VAT Number"),
('mu_nid', "Mauritian National Identifier"),
('mx_rfc', "Mexican Tax Number"),
@@ -399,10 +408,14 @@ class Identifier(sequence_ordered(), ModelSQL, ModelView):
('nl_onderwijsnummer', "Dutch student identification number"),
('no_mva', "Norwegian VAT Number"),
('no_orgnr', "Norwegian Organisation Number"),
('nz_ird', "New Zealand Inland Revenue Department Number"),
('pe_cui', "Peruvian Identity Number"),
('pe_ruc', "Peruvian Company Tax Number"),
('pl_nip', "Polish VAT Number"),
('pl_pesel', "Polish National Identification Number"),
('pl_regon', "Polish Register of Economic Units"),
('pt_nif', "Portuguese VAT Number"),
('py_ruc', "Paraguay Tax Number"),
('ro_cf', "Romanian VAT Number"),
('ro_cnp', "Romanian Numerical Personal Code"),
('rs_pib', "Serbian Tax Identification"),
@@ -420,6 +433,10 @@ class Identifier(sequence_ordered(), ModelSQL, ModelView):
('us_ptin', "U.S. Preparer Tax Identification Number"),
('us_ssn', "U.S. Social Security Number"),
('us_tin', "U.S. Taxpayer Identification Number"),
('uy_ruc', "Uruguay Tax Number"),
('ve_rif', "Venezuelan VAT Number"),
('za_idnr', "South African Identity Document Number"),
('za_tin', "South African Tax Identification Number"),
], 'Type')
type_string = type.translated('type')
code = fields.Char('Code', required=True)
+1 -1
View File
@@ -51,7 +51,7 @@ for build in ['CI_BUILD_NUMBER', 'CI_JOB_NUMBER', 'CI_JOB_ID']:
if local_version:
version += '+' + '.'.join(local_version)
requires = ['python-sql >= 0.4', 'python-stdnum >= 1.8']
requires = ['python-sql >= 0.4', 'python-stdnum >= 1.13']
for dep in info.get('depends', []):
if not re.match(r'(ir|res)(\W|$)', dep):
requires.append(get_require_version('trytond_%s' % dep))