Ir para conteúdo
  • Cadastre-se

dev botao

Prefeitura ITU - Provedor Ginfes - Aliquota de Servicos


Ver Solução Respondido por pcvaladares,
  • Este tópico foi criado há 674 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Boa tarde pessoal, Otimo 2023 para todos,

Estou com problema para autorizar uma NFSe para a prefeitura de ITU, o provedor que eles utilizam é o GINFES, estou anexando o xml de envio e retorno. Pela mensagem está bem claro o problema que é referente a quantidade de casas decimais no campo Aliquota, atualmente o ACBR está mandando com 4 casas decimais. 

Desde já agradeço e fico no aguardo.

Alíquota no envio

                <ns4:BaseCalculo>1.00</ns4:BaseCalculo>
                <ns4:Aliquota>2.0000</ns4:Aliquota>
                <ns4:ValorLiquidoNfse>0.98</ns4:ValorLiquidoNfse>


Parte do xml de retorno

        <MensagemRetorno>
            <Codigo>E165</Codigo>
            <Mensagem>Campo AliquotaServicos informado incorretamente</Mensagem>
            <Correcao>O campo AliquotaServicos é númerico e deverá ter tamanho máximo de 5,2, ou seja, 5 números inteiros e dois decimais.</Correcao>
        </MensagemRetorno>496595080-lista-nfse-con-lot.xml3523010896624000015756000000000000486-rps.xml

  • Consultores
Postado

Então você esta com os fontes desatualizados, veja:

procedure TNFSeW_Ginfes.Configuracao;
begin
  inherited Configuracao;

  NrOcorrAliquota := 0;
  NrOcorrValorPis := 1;
  NrOcorrValorCofins := 1;
  NrOcorrValorInss := 1;
  NrOcorrValorIr := 1;
  NrOcorrValorCsll := 1;
  NrOcorrValorIss := 1;
  DivAliq100  := True;     <=== essa linha diz que a aliquota tem que ser divida por 100

  PrefixoPadrao := 'ns4';
end;

No seu XML o percentual da alíquota não consta dividida por 100.

  • 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

Postado

Italo boa tarde,

Atualizei para a ultima revisão 28143 e realizei o teste novamente debugando o programa, realmente o acbr esta gravando o campo Aliquota com 4 casas decimais em vez de 2 para o provedor GENFIS., o que ocasiona recusa na autorização da NFSe para a prefeitura de ITU.   

  • Consultores
Postado

Boa tarde,

Segundo o Schema do Ginfes temos a definição do tipo simples tsAliquota:

	<xsd:simpleType name="tsAliquota">
		<xsd:restriction base="xsd:decimal">
			<xsd:totalDigits value="5"/>
			<xsd:fractionDigits value="4"/>
			<xsd:minInclusive value="0"/>
			<xsd:whiteSpace value="collapse"/>
		</xsd:restriction>
	</xsd:simpleType>

Como você pode ver a quantidade de dígitos na parte fracionada é 4.

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

Italo boa tarde,

Obtive um retorno da empresa responsável pela emissão da NFSe da prefeitura de ITU, segue abaixo o retorno.

No caso a alíquota é de 2% porcento que estou enviando então:

Como é gerado:
<ns4:Aliquota>2.0000</ns4:Aliquota>

Como deve ser gerado:
<ns4:Aliquota>0.02</ns4:Aliquota>

Vou verificar com eles se deve gerar <ns4:Aliquota>0.02</ns4:Aliquota> ou <ns4:Aliquota>2.00</ns4:Aliquota>

image.thumb.png.fcfdf6eebc50a70bcf15708bfdfe090b.png

 

  • Consultores
Postado

Boa tarde,

No XML do RPS esta gerando desta forma: <ns4:Aliquota>2.0000</ns4:Aliquota> ?

Se sim, você tem unit alterada localmente ou cópia delas para dentro da pasta da sua aplicação ou cópia de DCU.

Procure por unit do ACBr que tenha uma bolinha vermelha em seu ícone e delete.

Delete também cópias dos fontes do ACBr que estejam no mesmo HD ou em outro HD que o Delphi tenha acesso.

Atualize todos os fontes de todas as pastas.

Reinstale o ACBr com a opção apagar arquivos antigos marcada.

Por fim compile a aplicação usando a opção Build e faça um novo teste.

Outra coisa, quem lhe respondeu o seu questionamento colocou que a alíquota tem que ter 2 casas decimais, correto?

Mas veja a imagem em seguida, ela contradiz o que foi dito, pois nessa imagem consta uma formatação 5,4, ou seja, 4 casas decimais, e nessa imagem consta também:

Formato: 0.0000

O Componente esta gerando o XML segundo o manual e os Schemas.

  • Curtir 2
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

Boa tarde Italo,

Fiz conforme foi instruído, apaguei o acbr e reinstalei o mesmo do zero, recompile o projeto, dei build mais ainda sim tenho a recusa do webservice devido a precisão estar com 4 casas decimais.  Encaminhei um email pra eles ontem e obtive um retorno agora as 13:40, segue em anexo. Vou tentar achar no ACBR o momento exato que ele cria o campo aliquota e tentar alterar só pra fazer um teste. 

Assim que tiver um retorno deles te encaminho, muito obrigado pelos retornos.

image.thumb.png.9e6e68ae57267d6710bacc458e73af20.png

  • Curtir 2
Postado

Bom dia Italo,

     Pessoal da empresa responsável pelo webservice de ITU me questionou se eu conseguiria fazer um teste mudando o campo alíquota que esta sendo gerado hoje assim <ns4:Aliquota>2.0000</ns4:Aliquota> para gerar assim <ns4:Aliquota>0.02</ns4:Aliquota>, tentei encontrar nos fontes do acbr aonde eu poderia alterar para realizar esse pequeno teste mais não obtive sucesso. Como já tenho tudo configurado no meu sistema (Dados de acesso e certificado etc ...) seria possível eu alterar os fontes por aqui para realizar o teste solicitado por ele ? Caso sim poderia me indicar aonde realizo a alteração para obter êxito no teste ?

Desde já agradeço a atenção e muito obrigado.

 

image.thumb.png.c645b01c940e609a988f1b457adc8431.png

  • Consultores
Postado

Bom dia Valadares,

Primeiro, o componente não gera a tag alíquota com o valor 2.0000 e sim com o valor 0.0200

Repito a procedure de configuração na unit Ginfes.GravarXml:

procedure TNFSeW_Ginfes.Configuracao;
begin
  inherited Configuracao;

  NrOcorrAliquota := 0;
  NrOcorrValorPis := 1;
  NrOcorrValorCofins := 1;
  NrOcorrValorInss := 1;
  NrOcorrValorIr := 1;
  NrOcorrValorCsll := 1;
  NrOcorrValorIss := 1;
  DivAliq100  := True;

  PrefixoPadrao := 'ns4';
end;

A linha:

  DivAliq100  := True;

Diz ao componente que a alíquota deve ser dividida por 100.

Ao alimentar o componente devemos sempre informar: Aliquota := 2;

Para gerar a alíquota com 2 casas decimais basta incluir a linha abaixo na procedure Configuração mostrada acima.

  FormatoAliq := tcDe2;

 

  • Curtir 2
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 tarde Italo,

              Obrigado pelo retorno, realizei a alteração na linha indicada e consegui a autorização da NFS om a precisão de 2 casas decimais no campo alíquota conforme indicação do atendimento da empresa responsável pelo webservice, o xml autorizado segue em anexo.

              Questionei a empresa quanto a atualização da documentação (schema) modificando de 4 para 2 casas , assim que obtiver um retorno deles eu comunico nesse post. Muito obrigado pelas resposta.

                

3523010896624000015756000000000000521-nfse.xml

  • Curtir 1
Postado

Bom dia Italo,

           Eles responderam o chamado, informando que o correto é como o componente ja mandava anterior 0.0200, recebi hoje um email. Vou retirar a alteração e fazer um novo teste, caso dê certo encerramos esse post e retiro a linha que coloquei colocando a precisão de para 2 em vez de 4.

           Assim que fizer um teste e autorizar eu te aviso. Obrigado.

  • Curtir 3
  • Este tópico foi criado há 674 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.