Olá, boa tarde.
Ao homologar a PM de São Martinho - RS, Provedor ABase nos deparamos com a seguinte situação:
Ao emitir uma NFS-e com ISS Retido o componente retorna as tags ValorIss = 0 (Zero) e ValorLiquidoNfse = Valor Total do Serviço.
Verificando o código, conseguimos identificar que na Unit pnfsNFSeR, procedure LerNFSe_ABRASF_V2, linha 2488, a property ValorIssRetido recebe a tag ValorIssRetido (Leitor.rCampo(tcDe2, 'ValorIssRetido')) que não é retornada pelo Provedor ABase.
Para obter o valor líquido correto e o valor do ISS, tivemos que alterar o condição abaixo:
if (FProvedor in [proActconv202, proISSe, proVersaTecnologia, proNEAInformatica,
proFiorilli, proPronimv2, proVitoria, proSmarAPDABRASF,
proGovDigital, proDataSmart, proTecnos, proRLZ, proSigCorp,
proSaatri, proSH3, profinteliss, proABase]) then
begin
if NFSe.Servico.Valores.IssRetido = stRetencao then
NFSe.Servico.Valores.ValorIssRetido := Leitor.rCampo(tcDe2, 'ValorIss')
else
NFSe.Servico.Valores.ValorIssRetido := 0;
end
else
NFSe.Servico.Valores.ValorIssRetido := Leitor.rCampo(tcDe2, 'ValorIssRetido');
Estamos enviando a Unit para avaliação.
Att,
Márcio Rodrigues Ferreira.
pnfsNFSeR.rar