Skip to main content

Biblioteca para baixar NFSe do Ambiente Nacional (ADN)

Reason this release was yanked:

Upload indevido

Project description

Logo DFE-NFSe

NFSe Nacional

Biblioteca Python desenvolvida para facilitar o download e automação de Notas Fiscais de Serviço Eletrônicas (NFSe) diretamente do Ambiente de Dados Nacional (ADN).

Esta ferramenta foi projetada para interagir com a API oficial da Receita Federal, gerenciar certificados digitais A1 e organizar os arquivos XML baixados de forma estruturada.

Documentação Oficial ADN: https://adn.nfse.gov.br/contribuintes/docs/index.html

Funcionalidades

  • Integração direta com o Ambiente de Dados Nacional (ADN).
  • Conversão automática de certificados (.pfx) para formatos compatíveis com a API (.pem/.key).
  • Download em lote de documentos fiscais a partir de um NSU (Número Sequencial Único).
  • Organização automática dos arquivos XML baixados em diretórios por Ano e Mês (ex: 2024.01).
  • Download de DANFSe através da chave de acesso.

Instalação

A biblioteca está disponível no PyPI e pode ser instalada utilizando o pip:

pip install dfe-nfse

Como Usar

Para utilizar a biblioteca, é necessário possuir um certificado digital modelo A1 válido e sua respectiva senha.

Exemplo Básico de Download XML

from nfse import download_nfse

# Configurações iniciais
cnpj_empresa = "00000000000000"
nsu_inicial = 100  # Último NSU processado ou 0 para o início
caminho_saida = "./documentos_fiscais"
caminho_certificado = "/caminho/para/seu/certificado.pfx"
senha_certificado = "sua_senha_segura"

# Executa o download
resultado = download_nfse(
    cnpj=cnpj_empresa,
    nsu=nsu_inicial,
    output_path=caminho_saida,
    cert_path=caminho_certificado,
    cert_password=senha_certificado
)

print(f"Status da operação: {resultado}")

Exemplo Básico de Download danfse

from nfse import download_danfse

# Configurações iniciais
chave = "00000000000000000000000000000000000000000000000000"
caminho_saida = "./PDF"
caminho_certificado = "/caminho/para/seu/certificado.pfx"
senha_certificado = "sua_senha_segura"

# Executa o download
resultado = download_danfse(
    chave=chave,
    output_path=caminho_saida,
    cert_path=caminho_certificado,
    cert_password=senha_certificado
)

print(f"Status da operação: {resultado}")

Detalhes dos Parâmetros

A função download_nfse aceita os seguintes argumentos:

  • cnpj (str): O CNPJ da empresa contribuinte (apenas números ou com formatação padrão). A biblioteca normaliza automaticamente removendo pontuações.
  • nsu (int): Número Sequencial Único a partir do qual a busca será realizada. Utilize este controle para baixar apenas notas novas.
  • output_path (str): Diretório raiz onde os XMLs serão salvos. A estrutura interna será criada automaticamente no formato Ano.Mes/ChaveAcesso.xml.
  • cert_path (str): Caminho absoluto ou relativo para o arquivo do certificado digital (.pfx).
  • cert_password (str): Senha para descriptografar o certificado digital.

Retorno

A função retorna uma string com o resultado da operação, que pode ser:

  • Confirmação de quantidade de documentos baixados.
  • Mensagens de erro da API (404, 500, etc.).
  • Exceções locais (arquivo não encontrado, senha incorreta).

Requisitos do Sistema

  • Python 3.6 ou superior
  • Biblioteca requests
  • Biblioteca cryptography

Estrutura de Arquivos

Após a execução, os arquivos serão organizados da seguinte forma no diretório de saída:

documentos_fiscais/
├── 2023.12/
│   ├── 35231200000000000000000000000000000000000001.xml
│   └── 35231200000000000000000000000000000000000002.xml
└── 2024.01/
    ├── 35240100000000000000000000000000000000000001.xml
    └── ...

Licença

Distribuído sob a licença MIT. Consulte o arquivo LICENSE para mais informações.

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

dfe_nfse-0.2.0.tar.gz (5.6 kB view details)

Uploaded Source

Built Distribution

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

dfe_nfse-0.2.0-py3-none-any.whl (5.8 kB view details)

Uploaded Python 3

File details

Details for the file dfe_nfse-0.2.0.tar.gz.

File metadata

  • Download URL: dfe_nfse-0.2.0.tar.gz
  • Upload date:
  • Size: 5.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for dfe_nfse-0.2.0.tar.gz
Algorithm Hash digest
SHA256 bd5a183c6cf3826d8f3e09ae8e128e6bd8ab84ba62a41c55ccff6a18c93a0429
MD5 4b7901749e91ef8b1dde4307468eaf22
BLAKE2b-256 0c9d4331f8ad8f8867963f8bca9845a31da03fb214aa9f7b060abd75df6eacc2

See more details on using hashes here.

File details

Details for the file dfe_nfse-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: dfe_nfse-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 5.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for dfe_nfse-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 aaf35443c0aa66838d3d1160b7a6350c9701ed1ac72e03a6c920cb0ecdc3f0b1
MD5 b738e64b677987ccb40b6de7dbdfcab6
BLAKE2b-256 5eaaed951b680b9f3fb1204007f228a9ebf4da488a5de9574510b273b30ddfae

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