-
Notifications
You must be signed in to change notification settings - Fork 174
Cancelar Nota (Nfe Nfce)
Leonardo Gregianin edited this page Feb 20, 2020
·
5 revisions
Exemplo de cancelamento de nota
from pynfe.processamento.comunicacao import ComunicacaoSefaz
from pynfe.processamento.serializacao import SerializacaoXML
from pynfe.processamento.assinatura import AssinaturaA1
from pynfe.entidades.evento import EventoCancelarNota
from pynfe.entidades.fonte_dados import _fonte_dados
import datetime
certificado = "/home/user/certificado.pfx"
senha = 'senha'
uf = 'pr'
homologacao = True
cancelar = EventoCancelarNota(
cnpj='99999999000199', # cpf ou cnpj do emissor
chave='99999999999999999999999999999999999999999999', # chave de acesso da nota
data_emissao=datetime.datetime.now(),
uf=uf,
protocolo='123', # número do protocolo da nota
justificativa='Venda cancelada a pedido do cliente'
)
# serialização
serializador = SerializacaoXML(_fonte_dados, homologacao=homologacao)
nfe_cancel = serializador.serializar_evento(cancelar)
# assinatura
a1 = AssinaturaA1(certificado, senha)
xml = a1.assinar(nfe_cancel)
con = ComunicacaoSefaz(uf, certificado, senha, homologacao)
envio = con.evento(modelo='nfce', evento=xml) # modelo='nfce' ou 'nfe'
print(envio.text)