Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CNPJ

Maven Central
License: MIT
Build Status

CNPJ é uma biblioteca Java de alto desempenho para Geração, formatação e validação de CNPJs no formato tradicional (numérico) e no novo formato alfanumérico definido pela Nota Técnica Conjunta 2025.001.

Ideal para sistemas fiscais, contábeis, ERPs e integrações com SEFAZ.


📚 Índice

  1. Funcionalidades
  2. Exemplo Rápido
  3. Compatibilidade com a NT 2025.001
  4. Instalação (Maven/Gradle)
  5. Licença
  6. Contribuindo

✅ Funcionalidades

  • Geração de CNPJ numérico e alfanumérico (base 36)
  • Validação com cálculo de dígitos verificadores via Módulo 11
  • Compatível com o novo formato da NT 2025.001
  • Formatação e desformatação (strip)
  • Sem dependências externas
  • Compatível com Java 8+

🚀 Exemplo Rápido

import io.github.robsonkades.Cnpj;
import io.github.robsonkades.CnpjAlphanumeric;
import io.github.robsonkades.CnpjNumeric;
import io.github.robsonkades.cnpj.CNPJ;

public class Main {
    public static void main(String[] args) {
        try {
            // Criar um CNPJ numérico válido
            CNPJ numericCnpj = CNPJ.of("12345678000195");
            System.out.println("CNPJ Numérico: " + numericCnpj.getValue());
            System.out.println("CNPJ Formatado: " + numericCnpj.getValueWithMask());
            System.out.println("Raiz do CNPJ: " + numericCnpj.getRoot());
            System.out.println("Representação: " + numericCnpj);

            // Criar um CNPJ alfanumérico (apenas para demonstração, não padrão no Brasil)
            CNPJ alphaCnpj = CNPJ.of("12ABC34501DE35");
            System.out.println("CNPJ Alfanumérico: " + alphaCnpj.getValue());
            System.out.println("CNPJ Alfanumérico Formatado: " + alphaCnpj.getValueWithMask());
            System.out.println("Raiz do CNPJ: " + alphaCnpj.getRoot());
            System.out.println("Representação: " + alphaCnpj);

            // Tentar criar um CNPJ inválido (deve lançar exceção)
            CNPJ invalidCnpj = CNPJ.of("12345678000100");
        } catch (IllegalArgumentException e) {
            System.out.println("Erro: CNPJ inválido - " + e.getMessage());
        }
    }
}

🏛️ Compatibilidade com a NT 2025.001

A partir de julho de 2026, a Receita Federal iniciará a emissão de CNPJs com letras e números. Esta biblioteca já suporta:

  • Cálculo de dígitos verificadores usando ASCII - 48
  • Identificação de tipo: numérico ou alfanumérico
  • Validação automática de qualquer versão
  • Formatação no padrão AA.AAA.AAA/AAAA-DV

📦 Instalação (Maven/Gradle)

Maven

<dependency>
  <groupId>io.github.robsonkades</groupId>
  <artifactId>cnpj</artifactId>
  <version>1.0.0</version>
</dependency>

Gradle (Kotlin DSL)

implementation("io.github.robsonkades:cnpj:1.0.0")

License

This project is licensed under the Apache 2.0 license.

Contributing

Contributions, bug reports, and feature requests are always welcome! Please see CONTRIBUTING.md for more details.

About

Biblioteca Java de alto desempenho para geração, formatação e validação de CNPJ (numérico e alfanumérico, compatível com NT 2025.001)

Topics

Resources

Contributing

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages