/PyNFe

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

Primary LanguagePythonOtherNOASSERTION

Visão Geral

Biblioteca de interface com o webservice de Nota Fiscal Eletronica, (NF-e/NFC-e) da SEFAZ, oficializada pelo Ministerio da Fazendo do Governo do Brasil.
Desenvolvido e testado com Python 3 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.

Dependências

  • Java 8u51
    • para a geração da DANFE
  • lxml
    • biblioteca de leitura e gravação de arquivos XML, de alta performance e fácil de implementar.
  • xmlsec1 e openssl
    • assinatura e validação do XML
  • requests
    • biblioteca para a comunicação com os webservices da SEFAZ

Referências

 sudo pip3 install https://github.com/leotada/PyNFe/archive/master.zip
  • 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)
  • Consulta Notas Emitidas para um CNPJ (apenas NF-e e no RS)
from pynfe.processamento.comunicacao import ComunicacaoSefaz

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

con = ComunicacaoSefaz(uf, certificado, senha, homologacao)
# informar cnpj que deseja consultar (String) e nsu (inteiro) (por default se não informar nsu ele assumirá o valor 0, retornando as dos últimos 15 dias)
xml = con.consulta_notas_cnpj(cnpj='cnpj_somente_numeros', nsu=0)

print (xml.text)