[FIX] l10n_br: CPF is accepted as tax number
Steps to reproduce: 1. install l10n_br and set up a Brazilian company with Brazilian customers 2. go to validate a sale as a Brazilian customer 3. fill in the CPF field w/ 11 digit number 4. error: "invalid CNPJ. Make sure that the CNPJ number is 14 digits" Issue: the code only accepts and validates CNPJ codes Fix: add support for CPF codes with its validation function according to: http://www.receita.fazenda.gov.br/aplicacoes/atcta/cpf/funcoes.js opw-3421476 closes odoo/odoo#137438 X-original-commit: 23a0ca6386590b6dfdbe24602a1a717bfdd84965 Signed-off-by: Cedric Snauwaert <csn@odoo.com> Signed-off-by: Séna Serge Nshimiyimana (sesn) <sesn@odoo.com>
This commit is contained in:
@@ -16,5 +16,5 @@ class ResPartner(models.Model):
|
||||
@api.constrains('vat', 'l10n_latam_identification_type_id')
|
||||
def check_cpf(self):
|
||||
for partner in self.filtered(lambda partner: partner.l10n_latam_identification_type_id == self.env.ref('l10n_br.cpf')):
|
||||
if partner.vat and not stdnum.br.cpf.is_valid(partner.vat):
|
||||
raise ValidationError(_('CPF number %s for %s is not valid.') % (partner.vat, partner.display_name))
|
||||
if partner.vat and not stdnum.br.cpf.is_valid(partner.vat) and not stdnum.br.cnpj.is_valid(partner.vat):
|
||||
raise ValidationError(_('CPF/CNPJ number %s for %s is not valid.') % (partner.vat, partner.display_name))
|
||||
|
||||
Reference in New Issue
Block a user