Skip to content

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'
    )

Voltar