diff -r a2ce49dfb9fd party.py --- a/trytond/trytond/modules/party/party.py Mon May 06 15:04:56 2019 +0200 +++ b/trytond/trytond/modules/party/party.py Sun Jun 23 15:53:05 2019 +0200 @@ -129,15 +129,7 @@ @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 ['eu_vat'] def get_tax_identifier(self, name): types = self.tax_identifier_types() @@ -325,112 +317,7 @@ help="The party identified by this record.") type = fields.Selection([ (None, ''), - ('al_nipt', "Albanian VAT Number"), - ('ar_cuit', "Argentinian Tax Number"), - ('at_businessid', "Austrian Company Register"), - ('at_tin', "Austrian Tax Identification"), - ('au_abn', "Australian Business Number"), - ('au_acn', "Australian Company Number"), - ('au_tfn', "Australian Tax File Number"), - ('be_vat', "Belgian Enterprise Number"), - ('bg_egn', "Bulgarian Personal Identity Codes"), - ('bg_pnf', "Bulgarian Number of a Foreigner"), - ('bg_vat', "Bulgarian VAT Number"), - ('br_cnpj', "Brazillian Company Identifier"), - ('br_cpf', "Brazillian National Identifier"), - ('ca_bn', "Canadian Business Number"), - ('ca_sin', "Canadian Social Insurance Number"), - ('ch_ssn', "Swiss Social Security Number"), - ('ch_uid', "Swiss Business Identifier"), - ('ch_vat', "Swiss VAT Number"), - ('cl_rut', "Chilean National Tax Number"), - ('cn_rit', "Chinese Resident Identity Card Number"), - ('co_nit', "Colombian Identity Code"), - ('co_rut', "Colombian Business Tax Number"), - ('cy_vat', "Cypriot VAT Number"), - ('cz_dic', "Czech VAT Number"), - ('cz_rc', "Czech National Identifier"), - ('de_handelsregisternummer', "German Company Register Number"), - ('de_idnr', "German Personal Tax Number"), - ('de_stnr', "German Tax Number"), - ('de_vat', "German VAT Number"), - ('dk_cpr', "Danish Citizen Number"), - ('dk_cvr', "Danish VAT Number"), - ('do_cedula', "Dominican Republic National Identification Number"), - ('do_rnc', "Dominican Republic Tax"), - ('ec_ci', "Ecuadorian Personal Identity Code"), - ('ec_ruc', "Ecuadorian Tax Identification"), - ('ee_ik', "Estonian Personcal ID number"), - ('ee_kmkr', "Estonian VAT Number"), - ('ee_registrikood', "Estonian Organisation Registration Code"), - ('es_cif', "Spanish Company Tax"), - ('es_dni', "Spanish Personal Identity Codes"), - ('es_nie', "Spanish Foreigner Number"), - ('es_nif', "Spanish VAT Number"), - ('eu_at_02', "SEPA Identifier of the Creditor (AT-02)"), ('eu_vat', "European VAT Number"), - ('fi_alv', "Finnish VAT Number"), - ('fi_associationid', "Finnish Association Identifier"), - ('fi_hetu', "Finnish Personal Identity Code"), - ('fi_veronumero', "Finnish individual tax number"), - ('fi_ytunnus', "Finnish Business Identifier"), - ('fr_nif', "French Tax Identification Number"), - ('fr_nir', "French Personal Identification Number"), - # TODO: remove from party_siren - # ('fr_siren', "French Company Identification Number"), - ('fr_tva', "French VAT Number"), - ('gb_nhs', - "United Kingdom National Health Service Patient Identifier"), - ('gb_upn', "English Unique Pupil Number"), - ('gb_vat', "United Kingdom (and Isle of Man) VAT Number"), - ('gr_vat', "Greek VAT Number"), - ('hr_oib', "Croatian Identification Number"), - ('hu_anum', "Hungarian VAT Number"), - ('ie_pps', "Irish Personal Number"), - ('ie_vat', "Irish VAT Number"), - ('in_aadhaar', "Indian Digital Resident Personal Identity Number"), - ('in_pan', "Indian Income Tax Identifier"), - ('is_kennitala', - "Icelandic Personal and Organisation Identity Code"), - ('is_vsk', "Icelandic VAT Number"), - ('it_codicefiscale', "Italian Tax Code for Individuals"), - ('it_iva', "Italian VAT Number"), - ('lt_pvm', "Lithuanian VAT Number"), - ('lu_tva', "Luxembourgian VAT Number"), - ('lv_pvn', "Latvian VAT Number"), - ('mc_tva', "Monacan VAT Number"), - ('mt_vat', "Maltese VAT Number"), - ('mu_nid', "Mauritian National Identifier"), - ('mx_rfc', "Mexican Tax Number"), - ('my_nric', - "Malaysian National Registration Identity Card Number"), - ('nl_brin', "Dutch School Identification Number"), - ('nl_bsn', "Dutch Citizen Identification Number"), - ('nl_btw', "Dutch VAT Number"), - ('nl_onderwijsnummer', "Dutch student identification number"), - ('no_mva', "Norwegian VAT Number"), - ('no_orgnr', "Norwegian Organisation Number"), - ('pl_nip', "Polish VAT Number"), - ('pl_pesel', "Polish National Identification Number"), - ('pl_regon', "Polish Register of Economic Units"), - ('pt_nif', "Portuguese VAT Number"), - ('ro_cf', "Romanian VAT Number"), - ('ro_cnp', "Romanian Numerical Personal Code"), - ('rs_pib', "Serbian Tax Identification"), - ('ru_inn', "Russian Tax identifier"), - ('se_orgnr', "Swedish Company Number"), - ('se_vat', "Swedish VAT Number"), - ('si_ddv', "Slovenian VAT Number"), - ('sk_dph', "Slovak VAT Number"), - ('sk_rc', "Slovak Birth Number"), - ('sm_coe', "San Marino National Tax Number"), - ('tr_tckimlik', "Turkish Personal Identification Number"), - ('us_atin', "U.S. Adoption Taxpayer Identification Number"), - ('us_ein', "U.S. Employer Identification Number"), - ('us_itin', "U.S. Individual Taxpayer Identification Number"), - ('us_ptin', "U.S. Preparer Tax Identification Number"), - ('us_ssn', "U.S. Social Security Number"), - ('us_tin', "U.S. Taxpayer Identification Number"), ], 'Type') type_string = type.translated('type') code = fields.Char('Code', required=True) @@ -458,8 +345,11 @@ continue for type in Party.tax_identifier_types(): module = get_cc_module(*type.split('_', 1)) - if module.is_valid(code): - break + try: + if module and module.is_valid(code): + break + except: + pass else: type = None identifiers.append(