Skip to content
Junior Tada edited this page May 21, 2018 · 8 revisions

Exemplo de como consultar nota, NF-e ou NFC-e.

from pynfe.processamento.comunicacao import ComunicacaoSefaz

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

con = ComunicacaoSefaz(uf, certificado, senha, homologacao)
envio = con.consulta_nota('nfe', '99999999999999999999999999999999999999999999') # nfe ou nfce
print (envio.text) # SEFAZ SP utilizar envio.content

Caso necessitar retirar apenas o conteúdo da tag (para montar o )

from lxml import etree

ns = {'ns': 'http://www.portalfiscal.inf.br/nfe'}
prot = etree.fromstring(envio.text) # SEFAZ SP utilizar envio.content
status = prot[0][0].xpath('ns:retConsSitNFe/ns:cStat', namespaces=ns)[0].text
if status == '100':
  prot_nfe = prot[0][0].xpath('ns:retConsSitNFe/ns:protNFe', namespaces=ns)[0]
  xml = etree.tostring(prot_nfe, encoding='unicode')
  print(xml)

Voltar