Skip to main content

Validador de CNPJ Alfanumérico conforme novas normas do Governo (2024).

Project description

🏢 alfac - Validador de CNPJ Alfanumérico

PyPI version License: MIT

A alfac é uma biblioteca Python leve e robusta desenvolvida para validar CNPJs seguindo a nova norma técnica do Governo Brasileiro). Ela é compatível tanto com o formato numérico tradicional quanto com o novo formato alfanumérico.

📖 Contexto

Devido ao esgotamento das combinações numéricas, o Governo Brasileiro passou a adotar letras nas 12 primeiras posições do CNPJ. Esta biblioteca implementa o cálculo oficial de Módulo 11 com conversão ASCII, conforme os manuais técnicos do Serpro.

✨ Funcionalidades

  • Validação Universal: Aceita CNPJs antigos (numéricos) e novos (alfanuméricos).
  • 🛠️ Limpeza Automática: Ignora pontos, barras e traços automaticamente.
  • 🚫 Regras de Negócio: Bloqueia caracteres proibidos (I, O, Q) e sequências inválidas.
  • 🏗️ Arquitetura Sólida: Baseada em classes para fácil manutenção e extensibilidade.

📦 Instalação

pip install alfac

🚀 Como Usar

Validação Rápida

A forma mais simples de usar a biblioteca é através da função validar_cnpj:

from alfac import validar_cnpj

# ✅ Suporta o novo formato alfanumérico (Nota Técnica 2024)
is_valid_alfa: bool = validar_cnpj("SASB0MA7000124")
print(IS_VALID)  # True

# ✅ Suporta o formato numérico tradicional com ou sem máscara
is_valid_num: bool = validar_cnpj("11.222.333/0001-81")
print(is_valid_num)  # True

# ❌ Caracteres proibidos (I, O, Q não são permitidos no CNPJ alfanumérico)
err_letra: bool = validar_cnpj("12I45678000199")
print(err_letra)  # False

# ❌ Formato inválido ou tamanho incorreto
err_formato: bool = validar_cnpj("ABC-123")
print(err_formato)  # False

# ❌ Dígitos Verificadores (DVs) que não batem com a base
err_calculo: bool = validar_cnpj("SASB0MA7000100")
print(err_calculo)  # False

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

alfac-0.1.2.tar.gz (3.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

alfac-0.1.2-py3-none-any.whl (3.5 kB view details)

Uploaded Python 3

File details

Details for the file alfac-0.1.2.tar.gz.

File metadata

  • Download URL: alfac-0.1.2.tar.gz
  • Upload date:
  • Size: 3.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.0 CPython/3.12.0 Windows/11

File hashes

Hashes for alfac-0.1.2.tar.gz
Algorithm Hash digest
SHA256 f9f5a146d4e3511a86220aebff50d8650b27b440a3ff7bad9b63e33aba108aeb
MD5 286d0044a1dc7f22fbcca48c6e1a776a
BLAKE2b-256 ba15a2a0f2020aa5092a98370c62d75c42f1a41baafd64aa52535c78c361ce97

See more details on using hashes here.

File details

Details for the file alfac-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: alfac-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 3.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.0 CPython/3.12.0 Windows/11

File hashes

Hashes for alfac-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 2fde497de785cf5380431af2dff84f5dcd6cbf8254c146cba371bd186319b01e
MD5 3092105f70b48d9791caa92dcfe92af5
BLAKE2b-256 c93b15917b72edf460e5da597bdca924cb3cb3baa2d4e96fba75eaa22dd5617b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page