-
Notifications
You must be signed in to change notification settings - Fork 174
Manifestação Destinatário
Leonardo Gregianin edited this page Sep 8, 2022
·
6 revisions
Exemplo de evento manifestação de destinatário.
Este serviço permite que o destinatário da Nota Fiscal eletrônica confirme a sua participação na operação acobertada pela Nota Fiscal eletrônica emitida para o seu CNPJ, através do envio da mensagem de:
- Confirmação da Operação (código 1) – confirmando a ocorrência da operação e o recebimento da mercadoria (para as operações com circulação de mercadoria);
- Desconhecimento da Operação (código 3) – declarando o desconhecimento da operação;
- Operação Não Realizada (código 4) – declarando que a operação não foi realizada (com recusa do Recebimento da mercadoria e outros) e a justificativa do porquê a operação não se realizou;
- Ciência da Emissão (ou Ciência da Operação) (código 2) – declarando ter ciência da operação destinada ao CNPJ, mas ainda não possuir elementos suficientes para apresentar uma manifestação conclusiva, como as acima citadas. Este evento era chamado de Ciência da Operação.
O autor do evento é o destinatário da NF-e.
from pynfe.processamento.comunicacao import ComunicacaoSefaz
from pynfe.processamento.serializacao import SerializacaoXML
from pynfe.processamento.assinatura import AssinaturaA1
from pynfe.entidades.evento import EventoManifestacaoDest
from pynfe.entidades.fonte_dados import _fonte_dados
import datetime
certificado = "/home/user/certificado.pfx"
senha = 'senha'
uf = 'pr'
homologacao = True
manif_dest = EventoManifestacaoDest(
cnpj='99999999000199', # cnpj do destinatário
chave='99999999999999999999999999999999999999999999', # chave de acesso da nota
data_emissao=datetime.datetime.now(),
uf='AN',
operacao=1 # - numero da operacao
)
# serialização
serializador = SerializacaoXML(_fonte_dados, homologacao=homologacao)
nfe_manif = serializador.serializar_evento(manif_dest)
# assinatura
a1 = AssinaturaA1(certificado, senha)
xml = a1.assinar(nfe_manif)
con = ComunicacaoSefaz(uf, certificado, senha, homologacao)
envio = con.evento(modelo='nfe', evento=xml) # modelo='nfce' ou 'nfe'
print(envio.text)
Ps: Informar a justificativa porque a operação não foi realizada, este campo deve ser informado somente no evento de Operação não Realizada
Exemplo:
manif_dest = EventoManifestacaoDest(
cnpj='99999999000199', # cnpj do emissor
chave='99999999999999999999999999999999999999999999', # chave de acesso da nota
data_emissao=datetime.datetime.now(),
uf=uf,
operacao=4, # 4=Operação não Realizada
justificativa='Teste manifestacao de destinatario operacao nao realizada'
)