Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FIX] Inscrição Estadual de Minas Gerais pode ser menor que 13. #45

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

mbcosta
Copy link
Contributor

@mbcosta mbcosta commented Jan 22, 2024

Inscrição Estadual de Minas Gerais pode ser menor que 13, mas diferente do PR #44 aqui não tenho certeza se a forma que alterei o código está correta ou é a melhor solução por isso um debate e avaliação é necessário, porque a recomendação nesses casos é preencher com Zeros a Esquerda, mas para o usuário isso não fica claro já que mensagem retornada é apenas "Inscrição Estadual Inválida" e se ele consultar em algum site da SEFAZ retorna que o IE é válido o que acaba gerando a impressão e a reclamação "Existe um erro no programa", exemplo:

https://dfe-portal.svrs.rs.gov.br/NFE/CCC
image

Possíveis soluções:

  • o que foi feito aqui nesse PR apenas permitir esse caso
  • Retornar uma mensagem mais clara para o usuário sobre preencher com Zeros a Esquerda até o tamanho 13
  • Preencher com Zeros no momento da validação
  • Alguma outra possibilidade?

Uma questão que surgiu vendo isso hoje na Localização o método que Formata o IE https://github.com/erpbrasil/erpbrasil.base/blob/master/src/erpbrasil/base/fiscal/ie.py#L534 não está sendo usado, deveria?

l10n-brazil-oca$ grep -rn 'formata(' --include=*.py . --color=always
./l10n_br_crm/models/crm_lead.py:94: self.cnpj = cnpj_cpf.formata(self.cnpj)
./l10n_br_crm/models/crm_lead.py:98: self.cpf = cnpj_cpf.formata(self.cpf)
./l10n_br_nfe/models/res_partner.py:251: rec.cnpj_cpf = cnpj_cpf.formata(str(rec.nfe40_CNPJ))
./l10n_br_nfe/models/res_partner.py:265: rec.cnpj_cpf = cnpj_cpf.formata(str(rec.nfe40_CPF))
./l10n_br_nfe/models/res_partner.py:298: ("cnpj_cpf", "=", cnpj_cpf.formata(rec_dict["cnpj_cpf"])),
./l10n_br_nfe/models/document.py:1138: if edoc_type == "in" and document.company_id.cnpj_cpf != cnpj_cpf.formata(
./l10n_br_pos/models/res_partner.py:16: partner["cnpj_cpf"] = cnpj_cpf.formata(partner["vat"])
./l10n_br_pos/models/res_partner.py:19: partner["cnpj_cpf"] = cnpj_cpf.formata(partner["vat"])
./l10n_br_hr/models/hr_employee.py:246: cpf = cnpj_cpf.formata(str(self.cpf))
./l10n_br_hr/models/hr_employee_dependent.py:79: cpf = cnpj_cpf.formata(str(self.cnpj_cpf))
./l10n_br_base/models/party_mixin.py:66: self.cnpj_cpf = cnpj_cpf.formata(str(self.cnpj_cpf))
./l10n_br_fiscal/models/document_related.py:133: self.cnpj_cpf = cnpj_cpf.formata(str(self.cnpj_cpf))

cc @renatonlima @rvalyi @marcelsavegnago @mileo

Comment on lines 303 to 309
tamanho_permitido = False
if len(inscr_est) == 13:
tamanho_permitido = True
elif len(inscr_est) == 11:
tamanho_permitido = True

if not tamanho_permitido:

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

seguestão para deixar mais enchuto:

tamanhos_permitidos = [13, 11]
if len(inscr_est) not in tamanhos_permitidos:
    return False

@antoniospneto
Copy link

Uma duvida que não entendi bem, quando o usuário digita o número de inscrição com apenas 11 digitos, isso que dizer que ele está informando o número sem os digitos verificadores não? se for isso não é correto adicionar zeros a esquerda.
Se for isso, minha sugestão é calcular os digitos verificadores e normalizar o número no sistema com os digitos.

@mbcosta
Copy link
Contributor Author

mbcosta commented Jan 22, 2024

Valeu @antoniospneto , obrigado pela revisão, sobre a sua pergunta "isso que dizer que ele está informando o número sem os digitos verificadores não?" Não, a IE está completa com o digito verificador com o tamanho 11, os zeros a esquerda seriam para deixar o tamanho 13, se reparar na imagem eu procurei deixar a IE parcialmente visível e é possível ver que tem somente 11 caracteres, atualizei a imagem para deixar mais claro

@mbcosta mbcosta force-pushed the UPD-validar_inscricao_estadual_mg branch from 1a5a5f0 to 05cde3b Compare January 26, 2024 22:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants