Ir para conteúdo
  • Cadastre-se

dev botao

Nota Fiscal de Entrada cancelada após download do XML


Ver Solução Respondido por Diego Foliene,

Recommended Posts

  • Membros Pro

Já tenho implementado aqui no nosso sistema a rotina de baixa de arquivos XML das notas fiscais de entrada.

Qual seria o mais correto de fazer caso após o download do XML a nota fosse cancelada? Devo então pesquisar os últimos XML baixados pela chave de acesso consultando a situação da NF-e utilizando a função abaixo?

ACBrNFe1.DistribuicaoDFePorChaveNFe(StrToInt(cUFAutor), CNPJ, Chave);

Como sei que a nota foi cancelada?

No aguardo,

Obrigado Pessoal!

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia @Datacaixa,

Quando cancelamos uma NF-e o seu XML não é alterado, portanto se você executar o método mencionado vai obter o mesmo XML com o protocolo de autorização.

Você deve continuar usando o DistribuicaoDFePorUltNSU, pois caso a nota venha a ser ou ter sido cancelada será baixado o XML do evento de cancelamento da mesma.

A sua aplicação ao detectar que na lista de documentos consta um XML de evento, checar o tipo de evento, sendo de cancelamento pegar a chave da nota que consta no evento buscar no seu banco de dados e "setar" a nota como cancelada.

  • Curtir 1
Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Certo, no caso vou utilizar essa rotina aqui que está no exemplo do ACBr, isso? Mas como sei que é o evento de Cancelamento?

 

   for i := 0 to docZip.Count -1 do
    begin
      case docZip[i].schema of
        schresNFe:
          MemoDados.Lines.Add(IntToStr(i+1) + ' NSU: ' + docZip[i].NSU +
            ' (Resumo Nota) Chave: ' + docZip[i].resDFe.chDFe);

        schprocNFe:
          MemoDados.Lines.Add(IntToStr(i+1) + ' NSU: ' + docZip[i].NSU +
            ' (Nota Completa) Chave: ' + docZip[i].resDFe.chDFe);

        schresEvento:
          MemoDados.Lines.Add(IntToStr(i+1) + ' NSU: ' + docZip[i].NSU +
            ' (Resumo Evento) Chave: ' + docZip[i].resEvento.chDFe);

        schprocEventoNFe:
          MemoDados.Lines.Add(IntToStr(i+1) + ' NSU: ' + docZip[i].NSU +
            ' (Evento Completo) ID: ' + docZip[i].procEvento.Id);
      end;
    end;
  end;
 

Link para o comentário
Compartilhar em outros sites

  • Consultores
  • Solution

Bom dia.

Você pode ler as informações de resEvento ou procEvento e validar.

ResumoDeEventoEhCancelamento := docZip[i].resEvento.tpEvento = teCancelamento;
EventoEhCancelamento := docZip[i].procEvento.tpEvento = teCancelamento;

 

  • Curtir 2
Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Diego, faria sentido eu implementar somente o schprocEventoNFe?

        schprocEventoNFe:
          MemoDados.Lines.Add(IntToStr(i+1) + ' NSU: ' + docZip[i].NSU +
            ' (Evento Completo) ID: ' + docZip[i].procEvento.Id);

 

Ou seja, todo evento vai ter que vir nesse também? Ou existem eventos que viriam somente no resumido?
 

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia.

1 hour ago, Datacaixa said:

Ou existem eventos que viriam somente no resumido?

Vão existir eventos que vem somente o resumo, são eles:

  • Resumo de Eventos CT-e Autorizado/Cancelado
  • Resumo de Eventos MDF-e Autorizado/Cancelado
  • Resumo de Eventos de Registro de Passagem
Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link para o comentário
Compartilhar em outros sites

  • Consultores
36 minutes ago, Datacaixa said:

Entendi, mas o evento de Cancelamento da NF-e vem também no resumido?

Trecho retirado da NT2014/002:

Quote

Os documentos fiscais e resumos de eventos estarão disponíveis somente se o destinatário se manifestar dando "Ciência da Operação", “Operação não Realizada” ou "Confirmação de Operação" para a NF-e, exceto para o Evento de Cancelamento, que será disponibilizado mesmo sem a manifestação do destinatário

Nela também consta um quadro na página 5 com os documentos devolvidos por participante, onde tem uma entrada para "Evento de Cancelamento", mas não tem uma entrada para "Resumo do evento de cancelamento", o que em meu entendimento significa que não, o cancelamento vem completo apenas.

Lembrando que como usuário PRO, você tem acesso liberado aos cursos disponibilizados pelo ACBr e um deles é o Implementando o Serviço Distribuição DFe

  • Curtir 1
Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.