Ir para conteúdo
  • Cadastre-se

  • Este tópico foi criado há 131 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Atualizei o ACBR hoje 05/02/2026 e obtive alguns erros na impressão da NFSe, verifiquei os fontes e percebi que existe uma condição que não existia antes.
Pelo que eu entendi existe a possibilidade de alguns valores não existirem no XML, não sei se é um tratamento para arquivos mais antigos, mas enfim, eu mantive a tratativa.

As alterações foram feitas em 2 blocos de codigo, proximo as linhas 923 e 1610 no arquivo ACBR\Fontes\ACBrDFe\ACBrNFSeX\Provedores\PadraoNacional.LerXml.pas.

 

 

Codigo do repositorio

with NFSe.Servico.Valores do
  begin
    if (BaseCalculo = 0) and (ValorLiquidoNfse = 0) and (ValorTotalNotaFiscal = 0) then
    begin
      BaseCalculo := ValorServicos - ValorDeducoes - DescontoIncondicionado;

      if tribFed.tpRetPisCofins = trpcNaoRetido then
         RetencoesFederais := ValorInss + ValorIr + ValorCsll
      else
         RetencoesFederais := ValorPis + ValorCofins + ValorInss + ValorIr + ValorCsll;

      ValorLiquidoNfse := ValorServicos - RetencoesFederais - OutrasRetencoes -
                 ValorIssRetido - DescontoIncondicionado - DescontoCondicionado;

      ValorTotalNotaFiscal := ValorServicos - DescontoCondicionado -
                              DescontoIncondicionado;
    end;
  end;

 

Alterações

with NFSe.Servico.Valores do
    begin
      if (BaseCalculo = 0) then
      begin
        BaseCalculo := ValorServicos - ValorDeducoes - DescontoIncondicionado;
      end;

      if tribFed.tpRetPisCofins = trpcNaoRetido then
         RetencoesFederais := ValorInss + ValorIr + ValorCsll
      else
         RetencoesFederais := ValorPis + ValorCofins + ValorInss + ValorIr + ValorCsll;

      if (ValorLiquidoNfse = 0) then
      begin
        ValorLiquidoNfse := ValorServicos - RetencoesFederais - OutrasRetencoes -
                            ValorIssRetido - DescontoIncondicionado - DescontoCondicionado;
      end;

      if (ValorTotalNotaFiscal = 0) then
      begin
        ValorTotalNotaFiscal := ValorServicos - DescontoCondicionado -
                                DescontoIncondicionado;
      end;
    end;

 

PadraoNacional.LerXml.pas

Postado
Em 05/02/2026 at 16:30, Fabricio Furtado disse:

Atualizei o ACBR hoje 05/02/2026 e obtive alguns erros na impressão da NFSe, verifiquei os fontes e percebi que existe uma condição que não existia antes.
Pelo que eu entendi existe a possibilidade de alguns valores não existirem no XML, não sei se é um tratamento para arquivos mais antigos, mas enfim, eu mantive a tratativa.

As alterações foram feitas em 2 blocos de codigo, proximo as linhas 923 e 1610 no arquivo ACBR\Fontes\ACBrDFe\ACBrNFSeX\Provedores\PadraoNacional.LerXml.pas.

 

 

Codigo do repositorio

with NFSe.Servico.Valores do
  begin
    if (BaseCalculo = 0) and (ValorLiquidoNfse = 0) and (ValorTotalNotaFiscal = 0) then
    begin
      BaseCalculo := ValorServicos - ValorDeducoes - DescontoIncondicionado;

      if tribFed.tpRetPisCofins = trpcNaoRetido then
         RetencoesFederais := ValorInss + ValorIr + ValorCsll
      else
         RetencoesFederais := ValorPis + ValorCofins + ValorInss + ValorIr + ValorCsll;

      ValorLiquidoNfse := ValorServicos - RetencoesFederais - OutrasRetencoes -
                 ValorIssRetido - DescontoIncondicionado - DescontoCondicionado;

      ValorTotalNotaFiscal := ValorServicos - DescontoCondicionado -
                              DescontoIncondicionado;
    end;
  end;

 

Alterações

with NFSe.Servico.Valores do
    begin
      if (BaseCalculo = 0) then
      begin
        BaseCalculo := ValorServicos - ValorDeducoes - DescontoIncondicionado;
      end;

      if tribFed.tpRetPisCofins = trpcNaoRetido then
         RetencoesFederais := ValorInss + ValorIr + ValorCsll
      else
         RetencoesFederais := ValorPis + ValorCofins + ValorInss + ValorIr + ValorCsll;

      if (ValorLiquidoNfse = 0) then
      begin
        ValorLiquidoNfse := ValorServicos - RetencoesFederais - OutrasRetencoes -
                            ValorIssRetido - DescontoIncondicionado - DescontoCondicionado;
      end;

      if (ValorTotalNotaFiscal = 0) then
      begin
        ValorTotalNotaFiscal := ValorServicos - DescontoCondicionado -
                                DescontoIncondicionado;
      end;
    end;

 

PadraoNacional.LerXml.pas 83.55 kB · 2 downloads

Pra mim deu problema tbm, não está mais fazendo o cálculo certo, complicado...

  • Membros Pro
Postado

Eu notei problemas, que depois que envio o DPS pro sefaz nacional, com tpRetPisCofins=1 (Retido), o valor que o sefaz retorna vem sem o pis cofins, fazendo com que o liquido da nfse fique errado.

Esse problema estava ocorrendo em ambiente de homologação até semana passada, agora hoje notei num cliente que teve em produção.

Exemplo:

no DPS mandei:

<valores>
                    <vServPrest>
                        <vServ>26092.24</vServ>
                    </vServPrest>
                    <trib>
                        <tribMun>
                            <tribISSQN>1</tribISSQN>
                            <tpRetISSQN>2</tpRetISSQN>
                        </tribMun>
                        <tribFed>
                            <piscofins>
                                <CST>01</CST>
                                <vBCPisCofins>26092.24</vBCPisCofins>
                                <pAliqPis>0.65</pAliqPis>
                                <pAliqCofins>3.00</pAliqCofins>
                                <vPis>169.60</vPis>
                                <vCofins>782.77</vCofins>
                                <tpRetPisCofins>1</tpRetPisCofins>
                            </piscofins>
                            <vRetCSLL>260.92</vRetCSLL>
                        </tribFed>
                        <totTrib>
                            <vTotTrib>
                                <vTotTribFed>1213.29</vTotTribFed>
                                <vTotTribEst>0.00</vTotTribEst>
                                <vTotTribMun>0.00</vTotTribMun>
                            </vTotTrib>
                        </totTrib>
                    </trib>
                </valores>

retorno do sefaz, no infNFSe

<valores>
            <vBC>26092.24</vBC>
            <pAliqAplic>5.00</pAliqAplic>
            <vISSQN>1304.61</vISSQN>
            <vTotalRet>1565.53</vTotalRet>
            <vLiq>24526.71</vLiq>
        </valores>

O issqn é retido também, no valor de 1304,61

Ou seja simplesmente somou apenas o ISSQN e a Contribuicao de 260,92, totalizando a retenção em 1565,53.

Deveria ser: 2.517,90.

Com o liquido de: R$ 23.574,34.

Acredito que o sefaz esteja com problema no calculo do retido do pis cofins.

  • Membros Pro
Postado
1 hora atrás, Lfm_ disse:

fiz um teste rapido, pra atender meu cliente, realmente mudou do dia 07 pra cá!!! olha ta complicado isso hein...

Obrigado por reportar, eu tive que mandar a informação 3, pis,cofins e Csll retidos no tpRetPisCofins.

Ou seja o campo já não é só pra piscofins kkkk o estagiário (nada contra) ta trabalhando em produção.

  • Membros Pro
Postado
2 minutos atrás, Helius_ERP disse:

fiz um teste rapido, pra atender meu cliente, realmente mudou do dia 07 pra cá!!! olha ta complicado isso hein...

Obrigado por reportar, eu tive que mandar a informação 3, pis,cofins e Csll retidos no tpRetPisCofins.

Ou seja o campo já não é só pra piscofins kkkk o estagiário (nada contra) ta trabalhando em produção.

Detalhe importante, eu fiz o que diz na nota tecnica:

"Se houver valores de retenções de PIS, de COFINS e/ou de CSLL, eles deverão ser SOMADOS e informados no campo “vRetCSLL” de acordo com o que foi informado no campo “tpRetPisCofins”. Importante mencionar que essa agregação no campo “vRetCSLL” dos valores retidos dessas três Contribuições Sociais não deve mudar a forma de prestação dessas informações na Escrituração Fiscal Digital de Retenções e Outras Informações Fiscais (EFD-Reinf). Frisa-se, novamente, que os campos “vPis” e “vCofins” não devem ser utilizados para a informação dos valores RETIDOS desses respectivos tributos"

Ou seja, somei os valores em vRetCSLL (de novo o campo não tem relação com pis/cofins, mas né...), ai depois de validar, retornou o valor de retenções com pis/cofins dobrados, ou seja, não deve ser somado.

Postado
10 minutos atrás, Helius_ERP disse:

Detalhe importante, eu fiz o que diz na nota tecnica:

"Se houver valores de retenções de PIS, de COFINS e/ou de CSLL, eles deverão ser SOMADOS e informados no campo “vRetCSLL” de acordo com o que foi informado no campo “tpRetPisCofins”. Importante mencionar que essa agregação no campo “vRetCSLL” dos valores retidos dessas três Contribuições Sociais não deve mudar a forma de prestação dessas informações na Escrituração Fiscal Digital de Retenções e Outras Informações Fiscais (EFD-Reinf). Frisa-se, novamente, que os campos “vPis” e “vCofins” não devem ser utilizados para a informação dos valores RETIDOS desses respectivos tributos"

Ou seja, somei os valores em vRetCSLL (de novo o campo não tem relação com pis/cofins, mas né...), ai depois de validar, retornou o valor de retenções com pis/cofins dobrados, ou seja, não deve ser somado.

Exatamente, tive que fazer isso tbm

Postado
12 minutes ago, Helius_ERP said:

Detalhe importante, eu fiz o que diz na nota tecnica:

"Se houver valores de retenções de PIS, de COFINS e/ou de CSLL, eles deverão ser SOMADOS e informados no campo “vRetCSLL” de acordo com o que foi informado no campo “tpRetPisCofins”. Importante mencionar que essa agregação no campo “vRetCSLL” dos valores retidos dessas três Contribuições Sociais não deve mudar a forma de prestação dessas informações na Escrituração Fiscal Digital de Retenções e Outras Informações Fiscais (EFD-Reinf). Frisa-se, novamente, que os campos “vPis” e “vCofins” não devem ser utilizados para a informação dos valores RETIDOS desses respectivos tributos"

Ou seja, somei os valores em vRetCSLL (de novo o campo não tem relação com pis/cofins, mas né...), ai depois de validar, retornou o valor de retenções com pis/cofins dobrados, ou seja, não deve ser somado.

eu testei em homologação e funcionou
como ficou o print da nota?

  • Membros Pro
Postado
11 minutos atrás, marcosling disse:

eu testei em homologação e funcionou
como ficou o print da nota?

Também teste em homologação e deu certo, pdf do sefaz ok. Mas o schema tive que editar na mão, não acho o atual oficial.

Postado

Pelo o que entendi, quando tiver retenção, o grupo de pis/cofins não preencheria, somente tem que somar tudo no CSLL e é isso?

Só assim eu consegui validar uma nota e chegar no valor liquido correto.

image.png.26bda7fd6289dc911043988a5d810878.png

Postado
26 minutes ago, augelias said:

Pelo o que entendi, quando tiver retenção, o grupo de pis/cofins não preencheria, somente tem que somar tudo no CSLL e é isso?

Só assim eu consegui validar uma nota e chegar no valor liquido correto.

image.png.26bda7fd6289dc911043988a5d810878.png

é isso em partes.

O grupo de Pis e Cofins diz respeito aos valores devidos na operação, q será preenchido de acordo com o CST do Pis e Cofins.

  • Membros Pro
Postado
13 horas atrás, augelias disse:

Pelo o que entendi, quando tiver retenção, o grupo de pis/cofins não preencheria, somente tem que somar tudo no CSLL e é isso?

Só assim eu consegui validar uma nota e chegar no valor liquido correto.

image.png.26bda7fd6289dc911043988a5d810878.png

Olha eu validei da seguinte forma com retenção:

image.png.2f3fca9fd96ebc8918101003fdf31030.png

Ou seja, pela nova regra, o 3 indica retenção de PIS, Cofins e CSLL.

No valor do RetCSLL deixei só o CSLL.

E o resultado foi:

 

image.png.0a1210c9098a6f4168e5bc29e88cc66a.png

Não precisei colocar no vRetCSLL o valor do pis cofins, e mantive eles no vpis e vcofins.

Sinceramente não entendi o porque desta gambiarra deles de dizer pra somar tudo no vRetCSLL

 

Postado
27 minutes ago, Helius_ERP said:

Olha eu validei da seguinte forma com retenção:

image.png.2f3fca9fd96ebc8918101003fdf31030.png

Ou seja, pela nova regra, o 3 indica retenção de PIS, Cofins e CSLL.

No valor do RetCSLL deixei só o CSLL.

E o resultado foi:

 

image.png.0a1210c9098a6f4168e5bc29e88cc66a.png

Não precisei colocar no vRetCSLL o valor do pis cofins, e mantive eles no vpis e vcofins.

Sinceramente não entendi o porque desta gambiarra deles de dizer pra somar tudo no vRetCSLL

 

o pAliqPis, pAliqCofins, vPis e vCofins é para informar os impostos da operação, e não tem nada a ver com as retenções.

Postado
34 minutos atrás, Helius_ERP disse:

Olha eu validei da seguinte forma com retenção:

image.png.2f3fca9fd96ebc8918101003fdf31030.png

Ou seja, pela nova regra, o 3 indica retenção de PIS, Cofins e CSLL.

No valor do RetCSLL deixei só o CSLL.

E o resultado foi:

 

image.png.0a1210c9098a6f4168e5bc29e88cc66a.png

Não precisei colocar no vRetCSLL o valor do pis cofins, e mantive eles no vpis e vcofins.

Sinceramente não entendi o porque desta gambiarra deles de dizer pra somar tudo no vRetCSLL

 

Então, mas ai fica aquele dilema sobre a nota técnica que diz para não informar vPis e vCofins e somar os valores em vRetCSLL nos casos de retenção. Da forma que você colocou eu conseguia emitir as notas, mas o valor líquido delas estava vindo errado, estava ficando sem retenção.

No seu caso, ao mudar para 3, o valor da retenção ficou certa, descontando também pis e cofins?

  • Membros Pro
Postado (editado)
8 minutos atrás, augelias disse:

Então, mas ai fica aquele dilema sobre a nota técnica que diz para não informar vPis e vCofins e somar os valores em vRetCSLL nos casos de retenção. Da forma que você colocou eu conseguia emitir as notas, mas o valor líquido delas estava vindo errado, estava ficando sem retenção.

No seu caso, ao mudar para 3, o valor da retenção ficou certa, descontando também pis e cofins?

Então, orientei meu cliente fazer a nota pelo site, com outros valores, mas veja como ficou o xml deles:

image.png.387889b08f0c2717152fcb49a7a4638c.png

Está literalmente uma bagunça, pois nos valores retidos, ficou somado só o pis/confins...

Editado por Helius_ERP
Postado
13 horas atrás, marcosling disse:

é isso em partes.

O grupo de Pis e Cofins diz respeito aos valores devidos na operação, q será preenchido de acordo com o CST do Pis e Cofins.

Sempre informei o grupo de pis/cofins e marcava como retido e dava certo, a partir de segunda-feira as notas retornavam com o valor liquido sem descontar o pis/cofins. fui verificar e vi essa nota técnica que modificava a forma de emissão. se deixar como era antes, consigo validar as notas, mas as retenções ficam erradas. faço conforme a nota técnica, dá erro. a única forma que consegui foi somando tudo no CSLL e deixando sem pis/cofins.

Nem os contadores que falei entenderam ainda isso.

2 minutos atrás, Helius_ERP disse:

Então, orientei meu cliente fazer a nota pelo site, com outros valores, mas veja como ficou o xml deles:

image.png.387889b08f0c2717152fcb49a7a4638c.png

que bagunça eles fazem, é de dar um nó na cabeça...

Obrigado pela ajuda @Helius_ERP! vou fazer esse teste com o cliente e tentar implementar o mesmo no sistema!

  • Membros Pro
Postado

Pessoal, conversei com a contabilidade do meu cliente, e analisamos um caso aqui que ela fez no portal.

<valores>
    <vServPrest>
        <vServ>26092.24</vServ>
    </vServPrest>
    <trib>
        <tribMun>
            <tribISSQN>1</tribISSQN>
            <tpRetISSQN>2</tpRetISSQN>
        </tribMun>
        <tribFed>
            <piscofins>
                <CST>01</CST>
                <vBCPisCofins>26092.24</vBCPisCofins>
                <pAliqPis>1.65</pAliqPis>
                <pAliqCofins>7.60</pAliqCofins>
                <vPis>430.52</vPis>
                <vCofins>1983.01</vCofins>
                <tpRetPisCofins>3</tpRetPisCofins>
            </piscofins>
            <vRetCSLL>1213.29</vRetCSLL>
        </tribFed>
        <totTrib>
            <vTotTrib>
                <vTotTribFed>2674.45</vTotTribFed>
                <vTotTribEst>0.00</vTotTribEst>
                <vTotTribMun>1304.61</vTotTribMun>
            </vTotTrib>
        </totTrib>
    </trib>
</valores>
 
Nesta NFSe o ISSQN é de 5% retido pelo tomador.
Então: nos valores acima de pis/cofins, no caso do meu cliente é 1,65% e 7%
Mas há uma retenção destes valores, parciais, de 0,65 e 3%.
Então seguindo a Nota técnica, informei o tpRetPisCofins = 3, onde é retido Pis/Cofins e CSLL.
Já a soma desta retenção FEDERAL, deve ser somada em vRetCSLL no meu caso (260,92 + 169,60 + 782,77) = totalizando: 1213,92.
No vTotTribFed, somei, vPis 430,52 + vCofins 1983,01 +  CSSLL 260,92 + inss 0, + IR 0.
Nos vTotTribMun issqn, que é retido, onde a indentificaçao disto fica em 
tpRetISSQN =2.
Fiz o envio da NFSe.
e obtive o retorno:
image.thumb.png.0369c700b0288d7147d081daa9975369.png
 
Notem que no vtotret, tem somandos IssqnRetido + o vRetCSLL.
Ou seja, pra funcionar pra mim o padraonacional.lerxml, tive que alterar ele, ultima versão do acbr com minha alteração.
 
Ou seja  a explicação da contabilidade é de que, com isso o governo saberá exatamente quando falta o emitente recolher.
Na minha percepção deviam ter criado campos diferentes, mas ok...vida que segue.
 
 

PadraoNacional.LerXml.pas

  • Este tópico foi criado há 131 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

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 conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • 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...