Skip to content

Conversation

@victorers1
Copy link
Contributor

@victorers1 victorers1 commented Dec 20, 2024

Contexto

Conforme dito na issue #103, a Receita Federal publicou a Instrução Normativa RFB nº 2.229, de 15 de outubro de 2024, que altera o formato do Cadastro Nacional da Pessoa Jurídica (CNPJ).

A transição para o formato alfanumérico está prevista para julho de 2026.

O novo CNPJ terá 14 posições:

  • As oito primeiras identificarão a raiz do novo número, compostas por letras e números.
  • As quatro seguintes representarão a ordem do estabelecimento, também alfanuméricas.
  • As duas últimas posições, que correspondem aos dígitos verificadores, continuarão a ser numéricas.

Mais detalhes em gov.br.

Sugestões

  • Cria CnpjAlfanumericoValidator para gerar e validar CNPJs no novo padrão
  • Cria CnpjAlfanumericoInputFormatter para formatar CNPJs no novo padrão
  • Cria CpfOuCnpjAlfanumericoFormatter para formatar campos mistos de CPF/Novo CNPJ
  • Adiciona campos no App exemplo:
    • Novo CNPJ
    • CPF/Novo CNPJ
  • Cria casos de testes com CNPJs alfanuméricos
  • Adiciona testes em métodos existentes
  • Adapta UtilBrasilFields.isCNPJValido e UtilBrasilFields.gerarCNPJ para trabalhar com os dois padrões
  • Devido ao novo Formatter composto CpfOuCnpjAlfanumericoFormatter, adiciona toUpperCase na saída do CpfInputFormatter.

Testes uniários do validators mantiveram-se em 100%:

Screenshot 2025-01-25 at 17 14 15

@victorers1
Copy link
Contributor Author

@rubensdemelo pode revisar, por favor?

@rubensdemelo
Copy link
Collaborator

Estou de férias e quando voltar eu avalio

@rubensdemelo
Copy link
Collaborator

@victorers1 irei avaliar esta semana. obrigado

@rubensdemelo
Copy link
Collaborator

@victorers1 Por compatibilidade, o ideal é termos 2 formatters para CNPJ: o atual e o novo (alfanumérico). Criar um novo formatter CnpjNovo/CnpjAlfanumerico + InputFormatter. Assim, é possivel implementar e testar, sem perder a compatibilidade ou "quebrar" nenhuma outra funcionalidade ja existente. Manter toda a estrutura do atual formatter como está e adicionar uma nova estrutura para o novo.

@victorers1
Copy link
Contributor Author

@rubensdemelo beleza, farei dessa forma. Te aviso quando estiver pronto para avaliação.

@victorers1
Copy link
Contributor Author

@rubensdemelo
Pode avaliar agora. Atualizei o texto do PR com explicações.

@rubensdemelo
Copy link
Collaborator

@victorers1 obrigado, revisando.

@rubensdemelo
Copy link
Collaborator

@victorers1 irei liberar a nova versao nos proximos dias.

@victorers1
Copy link
Contributor Author

@rubensdemelo quando isso poderá ser incluso no package?

@rubensdemelo
Copy link
Collaborator

@victorers1 Nas próximas 2 semanas, com certeza.

@rubensdemelo rubensdemelo merged commit 4609ad0 into flutterbootcamp:master Apr 28, 2025
1 of 2 checks passed
@victorers1 victorers1 deleted the feat/new-cnpj-standard branch April 29, 2025 12:26
@rubensdemelo
Copy link
Collaborator

Publicado na versao 1.18.0. Muito obrigado pela contribuição @victorers1

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.

3 participants