hugoleo2000 Postado 22 Maio Postado 22 Maio Olá, Estou atribuindo valores à diversas propriedades da NFS-e mas quando gero o xml as tags com as informações não são geradas e ao emitir a nota valores ficam divergentes. Os problemas foram identificados ao gerar e emitir para o ambiente nacional. Abaixo está alguns trechos do código usado para preencher as propriedades da DPS: procedure TFormNFSe.GerarRPS(); var oNFSe: TNFSe; begin ... DM.ACBrNFSe1.NotasFiscais.Clear; oNFSe := DM.ACBrNFSe1.NotasFiscais.New.NFSe; ... oNFSe.Servico.Valores.ValorServicos := DM.NFSe.FieldByName('ValorServicos').AsCurrency; oNFSe.Servico.Valores.ValorDeducoes := DM.NFSe.FieldByName('Deducoes').AsCurrency; oNFSe.Servico.Valores.DescontoIncondicionado := DM.NFSe.FieldByName('DescontoIncondicional').AsCurrency; oNFSe.Servico.Valores.BaseCalculo := oNFSe.Servico.Valores.ValorServicos - oNFSe.Servico.Valores.ValorDeducoes - oNFSe.Servico.Valores.DescontoIncondicionado; ... oNFSe.Servico.Valores.Aliquota := 0.05; oNFSe.Servico.Valores.ValorIss := oNFSe.Servico.Valores.BaseCalculo * oNFSe.Servico.Valores.Aliquota; oNFSe.Servico.Valores.IssRetido := stRetencao; oNFSe.Servico.ResponsavelRetencao := rtTomador; oNFSe.Servico.Valores.ValorIssRetido := oNFSe.Servico.Valores.ValorIss; ... oNFSe.Servico.Valores.ValorLiquidoNfse := oNFSe.Servico.Valores.ValorServicos - oNFSe.Servico.Valores.ValorPis - oNFSe.Servico.Valores.ValorCofins - oNFSe.Servico.Valores.ValorInss - oNFSe.Servico.Valores.ValorIr - oNFSe.Servico.Valores.ValorCsll - oNFSe.Servico.Valores.OutrasRetencoes - oNFSe.Servico.Valores.ValorIssRetido - oNFSe.Servico.Valores.DescontoIncondicionado - oNFSe.Servico.Valores.DescontoCondicionado; ... DM.ACBrNFSe1.NotasFiscais.Items[Nota].GravarXML('','', txmlRPS); end; Abaixo coloco um XML gerado, preservando dados dos envolvidos: <?xml version="1.0" encoding="UTF-8"?> <DPS xmlns="http://www.sped.fazenda.gov.br/nfse" versao="1.01"> <infDPS Id="DPS240810229999999999999900001000002026001104"> <tpAmb>2</tpAmb> <dhEmi>2026-05-22T10:28:57-03:00</dhEmi> <verAplic>4.0.40.1</verAplic> <serie>1</serie> <nDPS>2026001104</nDPS> <dCompet>2026-05-22</dCompet> <tpEmit>1</tpEmit> <cLocEmi>2408102</cLocEmi> <prest> <CNPJ>99999999999999</CNPJ> <fone>9999999999</fone> <email>[email protected]</email> <regTrib> <opSimpNac>1</opSimpNac> <regEspTrib>9</regEspTrib> </regTrib> </prest> <toma> <CNPJ>99999999999999</CNPJ> <xNome>AAAAAAAAAAAAAAAAAAAAAAAA</xNome> <end> <endNac> <cMun>9999999</cMun> <CEP>99999999</CEP> </endNac> <xLgr>AAAAAAAAAAAAAAAAAAAAAAAAA</xLgr> <nro>999</nro> <xBairro>AAAAAAAAA</xBairro> </end> <fone>9999999999</fone> <email>[email protected]</email> </toma> <serv> <locPrest> <cLocPrestacao>2408102</cLocPrestacao> </locPrest> <cServ> <cTribNac>140101</cTribNac> <xDescServ>ALINHAMENTO 3D EIXO DIANTEIRO\nCAMBAGEM PASSEIO (DIANTEIRO)\nTROCA OLEO (CAR)\n</xDescServ> <cNBS>120013110</cNBS> </cServ> <infoCompl> <xInfComp>PROCON ... Lei Municipal No 6216/2011</xInfComp> </infoCompl> </serv> <valores> <vServPrest> <vServ>177.00</vServ> </vServPrest> <trib> <tribMun> <tribISSQN>1</tribISSQN> <tpRetISSQN>1</tpRetISSQN> </tribMun> <tribFed> <piscofins> <CST>01</CST> <vBCPisCofins>177.00</vBCPisCofins> <pAliqPis>0.65</pAliqPis> <pAliqCofins>3.00</pAliqCofins> <vPis>1.15</vPis> <vCofins>5.31</vCofins> <tpRetPisCofins>2</tpRetPisCofins> </piscofins> </tribFed> <totTrib> <vTotTrib> <vTotTribFed>6.46</vTotTribFed> <vTotTribEst>0.00</vTotTribEst> <vTotTribMun>8.85</vTotTribMun> </vTotTrib> </totTrib> </trib> </valores> </infDPS> </DPS> Observe que no XML não estão incluídas várias informações como a questão do ISS Retido, Valor Líquido, etc. Vi que é na function TNFSeW_PadraoNacional.GerarXMLValoresNFSe() onde as tags referentes ao ISS Retido, Valor Líquido da NFSe são preenchidos, mas essa função não é chamada quando estou depurando. Na depuração o fluxo chama: function TNotaFiscal.GravarXML() function TNotaFiscal.GerarXML() function TACBrNFSeXProvider.GerarXml() function TNFSeW_PadraoNacional.GerarXml() function TNFSeW_PadraoNacional.GerarXMLInfDps() function TNFSeW_PadraoNacional.GerarXMLValores() function TNFSeW_PadraoNacional.GerarXMLServicoPrestado() Já estou há um bom tempo tentando entender porque a GerarXMLValoresNFSe não é executada, mas até momento não consegui. O fluxo e execução passar sempre sobre essas outras functions que relacionei. E ao emitir a NFSe os dados ficam errados ou faltando, descontos zerados, valor líquido da nfse igual ao valor dos serviços, sem considerar descontos e retenções. Abaixo está um trecho do DANFS-e com as inconsistências. Se alguém tiver alguma orientação a dar agradeço desde já. Hugo Leonardo Programador
Recommended Posts
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 contaEntrar
Já tem uma conta? Faça o login.
Entrar Agora