/PyNFe

Projeto de biblioteca para fazer interface com o webservice de Nota Fiscal eletrônica para Python, disponível sob LGPL.

Primary LanguagePythonOtherNOASSERTION

Atualizado para a versão 4.00 NF-e/NFC-e

Visão Geral

Biblioteca de interface com o webservice de Nota Fiscal Eletronica, (NF-e/NFC-e/NFS-e) da SEFAZ, oficializada pelo Ministerio da Fazendo do Governo do Brasil.
Desenvolvido e testado com Python 3.6 no GNU/Linux.

A NF-e visa substituir as notas fiscais séries 1 e 1A.
A 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.

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-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 bindings a partir de XML Schema(xsd)

Referências

Instalação

pip3 install --user https://github.com/TadaSoftware/PyNFe/archive/master.zip

Opcional para NFS-e:

pip3 install --user -r https://github.com/TadaSoftware/PyNFe/raw/master/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)

Documentação

backlog:

  • renomeado metodo serializar_evento (_serializar_evento)
  • removido metoco con.cancelar (utilizar con.evento)
  • add evento carta de correção (con.evento)
  • adicionado parâmetros para VENDA INTERESTADUAL PARA CONSUMIDOR FINAL NÃO-CONTRIBUINTE