Olá, tudo bem?
Gostaria de reportar uma alteração para enviar NFS-e do munícipio de Gaúcha do Norte - MT.
No ACBrNFSeXServicos.ini alterei
[5103858]
Nome=Gaucha do Norte
UF=MT
Provedor=
para
[5103858]
Nome=Gaucha do Norte
UF=MT
Provedor=Coplan
Versao=2.01
ProRecepcionar=https://www.gp.srv.br/tributario/gauchadonorte/anfse_web_service
ProLinkURL=http://www.gp.srv.br/tributario/gauchadonorte/tnfse_validacao?%CodVerif%
Desde já, agradeço... muito obrigado.
Olá tudo bem!
Continuando os testes na NFPS-e de Florianópolis (SoftPlan), ao tentar enviar para um tomador que não é contribuinte ou pessoa física no caso, ocorre a falha:
O campo "inscricaoMunicipalTomador" tamanho deve estar entre 1 e 7
<?xml version="1.0" encoding="UTF-8"?>
<xmlNfpse>
<message>O campo "inscricaoMunicipalTomador" tamanho deve estar entre 1 e 7</message>
</xmlNfpse>
para solucionar o problema, em SoftPlan.GravarXml.pas foi alterado para verificar se a informação está em branco, caso esteja não é inserido a tag no XML.
if (NFSe.Tomador.IdentificacaoTomador.InscricaoMunicipal <> '') then
NFSeNode.AppendChild(AddNode(tcStr, '#1', 'inscricaoMunicipalTomador', 0, 30, 1,
NFSe.Tomador.IdentificacaoTomador.InscricaoMunicipal, ''));
Então estou encaminhando a unit com as alterações para analise.
Muito Obrigado.
SoftPlan.GravarXml.pas
Olá tudo bem!
O cancelamento de NFS-e do profedor SoftPlan funcionou mas foi preciso fazer alguns ajustes porque alguns atributos conflitaram com o serviço de gerar token.
Coloquei os três pontos no mesmo tópico, não sei se era obrigatório criar um tópico para cada um.
Estava com problemas com a identificação do tomador na unit SoftPlan.GravarXML, era necessário remover os caracteres especiais e deixar apenas números.
NFSeNode.AppendChild(AddNode(tcStr, '#1', 'identificacaoTomador', 0, 20, 1, OnlyNumber(NFSe.Tomador.IdentificacaoTomador.Cnpj), ''));
O atributo ChaveAutoriz esta sendo utilizado para definir o numeroAEDF no xml de envio e de cancelamento também e conflitava com o serviço de gerar token.
Esse mesmo atributo foi utilizado para salvar o client_secret que é utilizado para gerar o token. Então para evitar conflitos eu fiz alterações no serviço de gerar token para utilizar o atributo Emitente.WSFraseSecr ao invés do Emitente.WSChaveAutoriz.
Então em procedure TACBrNFSeProviderSoftPlan.PrepararGerarToken(Response: TNFSeGerarTokenResponse) aonde define a URL foi alterado
de:
FpPath := FpPath + '&client_secret=' + Emitente.WSChaveAutoriz;
para:
FpPath := FpPath + '&client_secret=' + Emitente.WSFraseSecr;
E em procedure TACBrNFSeXWebserviceSoftPlan.SetHeaders(aHeaderReq: THTTPHeader) aonde define o cabeçalho do request foi alterado
de:
with TConfiguracoesNFSe(FPConfiguracoes).Geral do
Auth := Emitente.WSChaveAcesso + ':' + Emitente.WSChaveAutoriz;
para:
with TConfiguracoesNFSe(FPConfiguracoes).Geral do
Auth := Emitente.WSChaveAcesso + ':' + Emitente.WSFraseSecr;
O número da nota estava ficando errado quando gerava a nfse.
Estava copiando o numero do rps ao invés do numero da nota no xml de retorno. Então alterei para copiar da tag 'numeroSerie' ao invés da tag 'identificacao';
Então em procedure TACBrNFSeProviderSoftPlan.TratarRetornoEmitir(Response: TNFSeEmiteResponse) foi alterado
de:
with Response do
begin
...
NumeroNota := ObterConteudoTag(ANode.Childrens.FindAnyNs('identificacao'), tcStr);
end;
para:
with Response do
begin
...
NumeroNota := ObterConteudoTag(ANode.Childrens.FindAnyNs('numeroSerie'), tcStr);
end;
Muito Obrigado
SoftPlan.GravarXml.pas
SoftPlan.Provider.pas
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.