Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado (editado)

Bom dia,

 

Sobre o Cancelamento da NFSe

 

Estou utilizando a funcao CancelarNFSe(codCanc). Carrego o arquivo da NFSe (*-nfse.xml) no componente através da função LoadFromFile.

 

O arquivo de cancelamento (*-can-c.xml) está retornando com erro, e pela descrição do mesmo está faltando a tag "Cnpj", mas no arquivo do pedido de cancelamento (*-ped-can-c.xml) está tag está preenchida.

 

Segue os arquivos.

99-nfse.xml

99-ped-can-c.xml

99-can-c.xml

Editado por arce
Postado (editado)

Bom dia,

 

Sobre o Cancelamento da NFSe

 

Estou utilizando a funcao CancelarNFSe(codCanc). Carrego o arquivo da NFSe (*-nfse.xml) no componente através da função LoadFromFile.

 

O arquivo de cancelamento (*-can-c.xml) está retornando com erro, e pela descrição do mesmo está faltando a tag "Cnpj", mas no arquivo do pedido de cancelamento (*-ped-can-c.xml) está tag está preenchida.

 

Segue os arquivos.

Editado por arce
Postado

Bom dia, estou testando o cancelamento e também aconteceu com o arce descreveu. A rotina concluí com os arquivos, porém o código e data de cancelamento que o webservice retornaria, estão zerados. 

 

Estou em anexo os arquivos também.

 

Obs.: Não consegui anexar o 72-can.xml. Imagino que por estar zerado.

 

Abs,

72-can-c.xml

72-ped-can.xml

72-ped-can-c.xml

Postado

Com a atualização consegui cancelar, e a impressão já me traz uma marca d´água com a informação de NFS-e Cancelada. 

 

Porém, quando tentei cancelar com o código 1, o provedor reclamou dizendo que com esse código somente em caso de substituição da NFS-e.

 

Abs,

Postado

Italo, depois de atualizar consegui fazer o cancelamento corretamente. A impressão também está OK.

 

obs: delete o post que fiz anteriormente (duplicado) 

Postado

conforme o pessoal do provedor Fiorilli:

 

Boa tarde Carlos.

Página 26 do manual de integração.

tsCodigoCancelamentoNfse  C  Código de cancelamento com base na tabela de Erros e alertas.

1 –  Erro na emissão

2 –  Serviço não prestado

3 –  Erro de assinatura

4 –  Duplicidade da nota

5 –  Erro de processamento

Importante: Os códigos 3 (Erro de assinatura) e 5 (Erro de processamento) são de uso restrito da Administração Tributária Municipal.

Att,

 

 

 

Para esse provedor então usar 1, 2 e o 4. 

 

De qualquer forma, tentei o cancelamento com o código 1, e o provedor retorno que com esse código, somente na substituição da  NF.

 

Abs,

Postado

Completando a mensagem anterior:

 

Esqueci desse detalhe. Realmente, cancelamento sem motivo deve utilizar a substituição da nota, ou seja, só pode cancelar utilizando código 2 ou 4.

 

 

Conforme o suporte da Fiorilli.

 

Abs,

Postado

Bom dia, preciso salvar o número de protocolo e data de recepção em minha base de dados e não estou conseguindo acertar o código para isso. Alguém já conseguiu executar essa rotina? Apropriar o número de protocolo e data de recepção?

 

Abs,

Postado (editado)

carlosrosa

 

Utilizo dessa forma para o envioSincrono:

ACBrNFSe1.WebServices.EnviarSincrono.NFSeRetorno.ListaNfse.CompNfse.Items[0].Nfse.Protocolo;
ACBrNFSe1.WebServices.EnviarSincrono.NFSeRetorno.ListaNfse.CompNfse.Items[0].Nfse.dhRecebimento;
ACBrNFSe1.WebServices.EnviarSincrono.NFSeRetorno.ListaNfse.CompNfse.Items[0].Nfse.CodigoVerificacao;

E assim no cancelamento

ACBrNFSe1.WebServices.CancNfse.DataHora;
ACBrNFSe1.WebServices.CancNfse.CodigoCancelamento;

No retorno do ConsultarNFSeporRps()

ACBrNFSe1.WebServices.ConsNfseRps.NFSeRetorno.ListaNfse.CompNfse.Items[0].Nfse.CampoDesejado
Editado por arce
Postado

carlosrosa,

 

Estou com problema para identificar a situação da NFS-e (cancelada, processada). Após realizar a ConsultarNFSeporRps()

ACBrNFSe1.WebServices.ConsNfseRps.NFSeRetorno.ListaNfse.CompNfse.Items[0].NfseCancelamento.DataHora;
ACBrNFSe1.WebServices.ConsNfseRps.NFSeRetorno.ListaNfse.CompNfse.Items[0].NfseCancelamento.Pedido.CodigoCancelamento

Uso as tags acima. Consulto uma NFS-e que sei que está cancelada e não está trazendo os dados do cancelamento.

Então, qual a forma correta de identificar a situação da NFS-e?

Postado

Bom dia, para um teste de substituição de NFSe, acrescentei as linhas abaixo:

 

        RpsSubstituido.Numero    := CdsNF_REFERENCIADA.asString;
        RpsSubstituido.Serie     := 'UNICA';

 

 

 
Mas usei o método EnvioSincrono. Não sei se em caso de substituição tem um método específico. Outra coisa foi que não consegui encontrar esses dois campos no RPS. Talvez por não usar o método correto.
 
Poderiam me ajudar?
 
Abs,
Postado (editado)

carlosrosa,

 

Para verificar se a NFSe está cancelada, no retorno da ConsultarNFSeporRps() utilizo esta condição

if ACBrNFSe1.WebServices.ConsNfseRps.NFSeRetorno.ListaNfse.CompNfse.Items[0].NFSe.NfseCancelamento.DataHora <> 0 then
begin
 (...)
end;

 

Bom dia, para um teste de substituição de NFSe, acrescentei as linhas abaixo:

 

 

 
Mas usei o método EnvioSincrono. Não sei se em caso de substituição tem um método específico. Outra coisa foi que não consegui encontrar esses dois campos no RPS. Talvez por não usar o método correto.
 
Poderiam me ajudar?
 
Abs,

 

 

Pelo que entendi, o webservice cancela a NFSe que foi referenciada (pelas tags citadas por vc) e cria uma nova com as informações enviadas pela função EnviaSincrono().

Vou começar a implantar agora, e usarei a seguinte lógica.

 

EnvioSincrono(nonoRPS com a NFSe referencia);

ConsultarNFSeporRps(NFSe referenciada);

Editado por arce
Postado

O que me criou dúvida foi a impressão que não consta o RPS Substituído e o próprio XML, que não consta as tags com o RPS que quero substituir. Não cheguei a consultar pra ver se realizou o cancelamento.

 

Abs,

Postado (editado)

carlosrosa,

Entrei em contato com a Fiorilli e a situação da NFS-e fica como substituída mesmo. Porém quando consulto o Lote não está retornando a situação correta.

 

Italo, a função ConsultarSituacao() está retornando com erro, em anexo os XMLs. Pelo retorno o webservice não possui essa funcionalidade, vou checar com o responsável

-sit-c.xml

-con-sit-c.xml

Editado por arce
Postado

Italo,

Sobre o provedor não possuir a função consulta da situação do lote, eu apenas queria uma confirmação do webservice. E realmente eles não tem este recurso.

 

Sobre a substituição da NFSe, é preciso implementar o método SubstituirNfseEnvio. Em anexo, o arquivo enviado pela Fiorilli.

substituirNfse.xml

  • Consultores
Postado

Boa tarde arce,

 

Não são todos os provedores que possuem todas as funcionalidades, veja este exemplo:

 

Provedor Ginfes possui o Consultar Situação do Lote e não tem o Substituir NFSe.

Por outro lado o provedor Fiorilli não tem o Consultar Situação do Lote e tem o Substituir NFSe.

 

Agora o que vem a ser o Substituir NFSe?

 

Nada mais é do que você cancelar uma nota e emitir outra.

 

Para alguns provedores quando você cancela uma nota, não significa que vai ser emitida outra para o mesmo tomador.

Agora quando você cancela e vai emitir outra, para que você não realize dois procedimentos, foi criado o Substituir NFSe.

 

Essa funcionalidade faz o que?

 

Você simplismente envia um novo RPS e nele devemos informar que ele vai substituir uma determinada nota.

Pronto uma nova nota é gerado pelo webservice a que foi informada é cancelada.

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

Postado

Bom dia, nesse caso Italo, então no lugar de usar o método Enviarsincrono eu utilizo o SubstituirNFSe? Estou perguntando porque ainda não testei. Para os clientes que atendi é muito importante a informação que relaciona a NFS cancelada com a nova NFSe. O que não consigo se aplicar diretamente um cancelamento e um novo RPS.

 

Abs.

  • Este tópico foi criado há 3244 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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...