Ir para conteúdo
  • Cadastre-se

dev botao
  • Este tópico foi criado há 3296 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á 3296 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...
The popup will be closed in 10 segundos...