Projeto de biblioteca para fazer interface com o webservice de Nota Fiscal eletrônica para Python, disponível sob LGPL.
Biblioteca de interface com os webservices de Nota Fiscal Eletrônica (NF-e) e Nota Fiscal de Consumidor Eletrônico (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).
- Visto de NF-e substituir as notas fiscais séries 1 e 1A.
- Visa NFC-e substituir as notas fiscais modelo 2 e cupom fiscal emitido por ECF.
- NFS-e padrão Abrasf para autorizadores Ginfes e Betha.
- O MDF-e no padrão nacional deverá ser emitido obrigatoriamente no transporte de mercadorias intermunicipais por empresas prestadoras de serviço de transporte ou por outras empresas cujas empresas o transporte seja realizado em veículos próprios, arrendados ou transportadores independentes.
-
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 normais e em contingência
- Consultar Status do Serviço
- Consultar Cadastro de Contribuintes
- Consultar nota fiscal pela chave de acesso
- Consultar protocolo
- Evento de cancelamento de notas
- Evento de carta de correção
- Evento de inutilização 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
- Consulte MDF-e pela chave de acesso
- Consultar MDF-es não encerrados
- Consultar Receita
- 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 ao CT-e (A fazer)
- lxml
- Biblioteca de leitura e gravação de arquivos XML, de alto desempenho e fácil de implementar.
- sinalxml
- Assinatura e validação do XML
- pyopenssl
- Biblioteca para referência do certificado digital
- pedidos
- Biblioteca para a comunicação com os webservices da SEFAZ
- suds-jurko (*apenas para NFS-e)
- Biblioteca para a comunicação com os webservices via wsdl
- pyxb (*apenas para NFS-e)
- Biblioteca para geração de ligações a partir do XML Schema(xsd)
pip install pynfe
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
- Status da consulta
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
python -m unittest
Instalação: pip install ruff
Checar lint: ruff check .
Formatar:ruff format .
Se você tiver qualquer problema ou sugestão, abra um problema aqui ou comece uma discussão sobre um assunto aqui .
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.