Ir para conteúdo
  • Cadastre-se

dev botao

Erro ao Cancelar: Não existe NFe com a chave carregada


amaurysette
  • Este tópico foi criado há 2429 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Boa tarde amigos!

Estou com problema ao cancelar Nota Fiscal Eletrônica utilizando o ACBr. Já pesquisei e até existem tópicos relacionados aqui no fórum, mas fiz tudo o que foi sugerido neles e não obtive sucesso.

O que está acontecendo é o erro "Não existe NFe com a chave [chave da NFe] carregada". A nota existe com a mesma chave que retorna na mensagem, o detalhe é que o problema só acontece em cancelamento extemporâneo. Fomos orientados pela Administração Fazendária da minha região (Guanhães/MG) para que em cancelamentos extemporâneos, nosso cliente solicitasse à Sefaz MG esse cancelamento via sistema dela própria (Siare), e, quando autorizado, procedessemos o cancelamento de forma normal.

Esse procedimento sempre funcionou corretamente, agora estou tendo essa rejeição, somente em cancelamentos extemporâneos, o cancelamento dentro do prazo funciona normal.

Em outros tópicos já li sugestões de limpar as NFe's do componente, carregar o XML para o componente... Já fiz tudo isso, e persiste.

Se alguém tiver uma luz será bastante útil.

Desde já muito obrigado e abraço a todos.

Amaury Sette

Analista de Sistemas - Guanhães/MG

Link para o comentário
Compartilhar em outros sites

Bom dia.
O suposto problema relatado não tem relação com o ACBr, conforme grifado mais de uma vez, “cancelamentos extemporâneo”, depois do prazo regulamentar.

Ressalte-se que, para notas que estão dentro do prazo de 24:00hs, o cancelamento ocorre normalmente.

O que na verdade ocorre é uma restrição imposta pelo fisco com base na legislação vigente. No entender do fisco, depois do prazo de vinte e quatro horas, ocorreu o fato gerador, ou seja, a mercadoria circulou.

Claro que em alguns casos isso não ocorre, mas, para o fisco já aconteceu. Assim, o que deve ser feito é a emissão de uma NF-e de entrada do próprio emitente, compensando-se assim as obrigações tributárias decorrentes da emissão da NF-e a ser cancelada.

Outro caminho que pode ser utilizado é através do processo administrativo. O contribuinte solicita ao fisco o cancelamento da referida nota apresentando suas justificativas, se aceitas, o fisco homologa o cancelamento.

Portanto, não há problema com o componente, e sim uma restrição por parte da administração fazendária.

_____________

Prates, Agnaldo

Link para o comentário
Compartilhar em outros sites

Bom dia Agnaldo,

Muito obrigado pela resposta! Eu entendo que não há relação entre o ocorrido e o componente ACBr, a razão de lançar o tópico é tentar encontrar algum erro de minha parte, visto que, mesmo sendo um cancelamento extemporâneo, seguindo as instruções passadas por nossa AF (que expliquei acima), o processo funcionava corretamente e a Sefaz homologava o cancelamento e anexava o evento à nota, mesmo fora do prazo.

Outro detalhe é que a rejeição retornada ao tentar cancelar a nota é que não existe NFe com a chave inserida, e não que o prazo para cancelamento expirou, que é o normal de recebermos.

Amaury Sette

Analista de Sistemas - Guanhães/MG

Link para o comentário
Compartilhar em outros sites

Bom dia a todos!

Eu depurei o código aqui e encontrei onde está o problema, mas ainda estou com um pouco de dificuldade em resolver.

A exceção é gerada nesse ponto (no ACBrNFe.pas):

      if NaoEstaVazio(chNfe) then
      begin
        For j := 0 to NotasFiscais.Count - 1 do
        begin
          if chNfe = NotasFiscais.Items[j].NumID then
            Break;
        end ;

        if j = NotasFiscais.Count then
          GerarException( ACBrStr('Não existe NFe com a chave ['+chNfe+'] carregada') );
      end

Dentro do loop ele verifica se a chave da nfe inserida no evento confere com a chave de acesso da nota carregada no componente (que é a que será cancelada). O problema é que a chave inserida no evento está correta e na nota carregada no componente ele calcula a chave denovo, e, como a nota é do mês anterior, o cálculo da chave fica diferente, ou seja, não entra na condição, incrementa o contador j e entra na condição logo abaixo, fora do loop, que gera a exceção.

Detalhe é que no meu caso é um cancelamento extemporâneo, seguindo as condições que expliquei no tópico, mas pode acontecer de um cancelamento dentro do prazo legal de 24 horas, já que posso emitir uma nota na tarde de 31/08 e cancela-la na manhã de 01/09.

Tenho certeza que o erro é meu, alguma coisa que não estou fazendo corretamente, pois é uma situação que deve ser comum, mas ainda não encontrei. 

Editado por amaurysette

Amaury Sette

Analista de Sistemas - Guanhães/MG

Link para o comentário
Compartilhar em outros sites

Bom dia, 

Consegui resolver o problema. O que faltava era um entendimento maior sobre o que gerava a exceção, pois em tópicos que pesquisei já tinha encontrado a solução que resolveu pra mim agora, mas por não conhecer bem o que estava gerando a exceção não tinha feito da forma correta.

No meu caso resolveu limpando as notas fiscais inseridas no componente, assim não há comparação com a chave inserida no evento, já que o componente estará vazio. O detalhe é que o fazia depois da tentativa de envio do evento, por achar que o problema ocorria depois da primeira tentativa e que precisava da nota carregada no componente para enviar o evento. Limpando antes, tudo funcionou corretamente, e faz realmente todo sentido.

Muito obrigado aos amigos Agnaldo e Sérgio por suas contribuições.

 

Abraço.

Amaury Sette

Analista de Sistemas - Guanhães/MG

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 2429 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • 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.

The popup will be closed in 10 segundos...