Skip to main content

PyNFe

Active Development status https://github.com/TadaSoftware/PyNFe/actions pyversions PyPI version

Biblioteca de interface com os webservices de Nota Fiscal Eletrônica (NF-e) e Nota Fiscal de Consumidor Eletrônica (NFC-e) da SEFAZ e Receita Federal do Brasil, Nota Fiscal de Serviço Eletrônica (NFS-e) para Prefeituras e Manifesto de Documentos Fiscais Eletrônicos (MDF-e).

  • NF-e visa substituir as notas fiscais séries 1 e 1A.
  • NFC-e visa substituir as notas fiscais modelo 2 e cupom fiscal emitido por ECF.
  • NFS-e padrão Abrasf para autorizadores Ginfes e Betha.
  • MDF-e no padrão nacional deverá ser emitido obrigatoriamente no transporte de mercadoria intermunicipais por empresas prestadoras de serviço de transporte ou pelas demais empresas cujo transporte seja realizado em veículos próprios, arrendados ou transportador autônomo.

Características

  • NF-e e NFCe:

    • Atualizado para a versão 4.00
    • Modelo de Documento fiscal 55 e 65
    • Configuração para utilização em ambiente de produção e homologação (testes)
    • Emissão de notas fiscais normal e em contingência
    • Consulta Status do Serviço
    • Consultar Cadastro de contribuiente
    • Consultar nota fiscal pela chave de acesso
    • Consultar protocolo
    • Evento de cancelamento de notas
    • Evento de carta de correção
    • Evento de inutilizar de notas
    • Evento de manifestação do destinatário
    • Consultar Distribuição DF-e
  • NFS-e:

    • Emissão de nota fiscal de serviço eletrônico
    • Consultar pelo número da NFS-e
    • Consultar por RPS (recibo provisório de serviço)
    • Consultar Lote
    • Cancelar NFS-e
  • MDF-e:

    • Atualizado para a versão 3.00
    • Modelo de Documento 58
    • Emissão de Manifesto
    • Consultar Status do Serviço
    • Consultar MDF-e pela chave de acesso
    • Consultar MDF-es não encerrados
    • Consultar Recibo
    • Evento de Cancelamento
    • Evento de Encerramento de viagem
    • Evento de Inclusão de Condutor
    • Evento de Inclusão de DF-e
    • Evento de Pagamento DF-e
  • CT-e:

    • Atualizado para a versão 3.00
    • Consultar Distribuição DF-e para CT-e
    • Emissão (A fazer)
    • Inutilização (A fazer)
    • Consultar CT-e pela chave de acesso (A fazer)
    • Consultar Status do Serviço (A fazer)
    • Eventos relacionados a CT-e (A fazer)

Dependências

  • lxml
    • Biblioteca de leitura e gravação de arquivos XML, de alta performance e fácil de implementar.
  • signxml
    • Assinatura e validação do XML
  • pyopenssl
    • Biblioteca para manuseio do certificado digital
  • requests
    • Biblioteca para a comunicação com os webservices da SEFAZ
  • suds-community (*apenas para NFS-e)
    • Biblioteca para a comunicação com os webservices via wsdl
  • PyXB-X (*apenas para NFS-e)
    • Biblioteca para geração de bindings a partir de XML Schema(xsd)
  • brazilfiscalreport (*apenas para Impressão)
    • Biblioteca para impressão de DANFE e DAMDFE

Referências

Instalação

  • Instalar a versão estável: pip install pynfe

  • Instalar as dependências da NFSe: pip install 'pynfe[nfse]'

  • Instalar as dependências para Impressão: pip install 'pynfe[impressao]'

  • Instalar versão de desenvolvimento:

pip install https://github.com/TadaSoftware/PyNFe/archive/refs/heads/main.zip
  • Opcional para NFS-e:
pip install --user -r https://github.com/TadaSoftware/PyNFe/blob/main/requirements-nfse.txt

Exemplos de uso

  • Consulta Status
from pynfe.processamento.comunicacao import ComunicacaoSefaz

certificado = "/home/user/certificado.pfx"
senha = 'senha'
uf = 'pr'
homologacao = True

con = ComunicacaoSefaz(uf, certificado, senha, homologacao)
xml = con.status_servico('nfe')
print(xml.text)

Mais exemplos no Wiki

Testes

python -m unittest

Lint

  • Instalação: pip install ruff
  • Checar lint: ruff check .
  • Formatar: ruff format .

Bindings XSD

Para atualizar os bindings XSD da NFSe, execute o script gerarnfsebindings.sh.

Documentação

Suporte

Se tiver qualquer problema or sugestão abra uma issue aqui ou inicie uma discussão sobre um assunto aqui.

Quem utiliza PyNFe

Lista de empresas/projetos que utilizam a lib PyNFe

  • Link da lista aqui.
  • Sinta-se livre para incluir o nome da empresa/projeto na lista.

Licença

PyNFe é licenciada sob a LGPL-3.0.

Metadata

Release files for PyNFe 0.6.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for PyNFe 0.6.5
File Size Uploaded
pynfe-0.6.5.tar.gz 216.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for PyNFe 0.6.5
File Interpreter ABI Platform
pynfe-0.6.5-py3-none-any.whl Python 3 none any Details

Total release size: 482.7 kB

Release files / pynfe-0.6.5.tar.gz

Download URL pynfe-0.6.5.tar.gz
Size 216.3 kB
Tags Source
SHA-256 checksum
How to use checksums
41405b929a35b82c09978b9e98462fc9112eb865c5dd555286eb9a6fc887cb6e
BLAKE2b-256 checksum
How to use checksums
29aeb7cb9cd84f3468a908e5efdc071601a9db76d23388eebde29be80cd4eaa2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 5, 2026.

Transparency log

Release files / pynfe-0.6.5-py3-none-any.whl

Download URL pynfe-0.6.5-py3-none-any.whl
Size 266.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
67d89ec1142bd0bf25d29d66e60e0c5e27f66709b1d105725c5405aa444ede8d
BLAKE2b-256 checksum
How to use checksums
5b246d7c30ea1e462ade3096dc890237237f7975e9f8f405b0c01720b2b619c6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 5, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.6.5 This release

2 release files

0.6.0

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.4

3 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page