-
Notifications
You must be signed in to change notification settings - Fork 174
Consulta Nota
Leonardo Gregianin edited this page Feb 19, 2020
·
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
chave_acesso = '99999999999999999999999999999999999999999999'
con = ComunicacaoSefaz(uf, certificado, senha, homologacao)
envio = con.consulta_nota('nfe', chave_acesso) # nfe ou nfce
print (envio.text.encode('utf-8')) # SEFAZ SP utilizar envio.content
Retirar apenas o conteúdo da tag (para montar o ) após a consulta.
from lxml import etree
from pynfe.utils.flags import NAMESPACE_NFE
ns = {'ns':NAMESPACE_NFE}
prot = etree.fromstring(envio.text.encode('utf-8')) # 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)