Ir para conteúdo
  • Cadastre-se

Bloco de Tributos Federais Padrao Nacional


Ver Solução Respondido por Diogo Loff,

Recommended Posts

Postado

Pessoal, a ultima atualização realizada em PadraoNacional.GravaXML o bloco de GerarXMLTotalTributos parou de funcionar, ao menos no meu sistema estava funcionando de acordo, mexeram para atender uma questão específica do simples mas não observaram outras questões.

 

Meu caso eu não informo no sistema o IBPT em percentuais, sempre é valor mesmo que seja regime simples ou normal, só não trabalho com MEI.

Até semana passada estava funcionando, onde minha versão usava um ACBr da semana do dia 09/02. Por outros motivos tive que atualizar e agora passou a não funcionar mais dar problema com o bloco de "totTrib".

Ao meu ver esta lógica esta totalmente equivocada, para que trabalha sempre com valores informados e não percentuais.

 

function TNFSeW_PadraoNacional.GerarXMLTotalTributos: TACBrXmlNode;
begin
  Result := CreateElement('totTrib');

  if (NFSe.Servico.Valores.totTrib.pTotTribFed > 0) or
     (NFSe.Servico.Valores.totTrib.pTotTribEst > 0) or
     (NFSe.Servico.Valores.totTrib.pTotTribMun > 0) then
    Result.AppendChild(GerarXMLPercentualTotalTributos)
  else
    if (NFSe.OptanteSN = osnOptanteMEEPP) then
      Result.AppendChild(AddNode(tcDe2, '#1', 'pTotTribSN', 1, 5, 1,
                                   NFSe.Servico.Valores.totTrib.pTotTribSN, ''))
    else
      if (NFSe.Servico.Valores.totTrib.indTotTrib <> indSim) then
        Result.AppendChild(AddNode(tcStr, '#1', 'indTotTrib', 1, 1, 1,
                  indTotTribToStr(NFSe.Servico.Valores.totTrib.indTotTrib), ''))
      else
        Result.AppendChild(GerarXMLValorTotalTributos);
end;

 

Foi fixado a questão do simples ser sempre por percentuais. Inclusive não se consegue mais nem usar a opção de não querer informar, caso deseje não informar.

if (NFSe.OptanteSN = osnOptanteMEEPP) then
      Result.AppendChild(AddNode(tcDe2, '#1', 'pTotTribSN', 1, 5, 1,
                                   NFSe.Servico.Valores.totTrib.pTotTribSN, ''))

 

Infelizmente não fiz uma cópia da versão do dia 09 então não sei como estava este arquivo originalmente.

 

Mas ao meu ver a lógica sempre deveria priorizar os valores primeiro e depois o modelo por percentuais. Eu ajustei desta forma para resolver meu problema. Favor avaliarem a questão.

 

function TNFSeW_PadraoNacional.GerarXMLTotalTributos: TACBrXmlNode;
begin
  Result := CreateElement('totTrib');

  if (NFSe.Servico.Valores.totTrib.vTotTribFed > 0) or
     (NFSe.Servico.Valores.totTrib.vTotTribEst > 0) or
     (NFSe.Servico.Valores.totTrib.vTotTribMun > 0) then
    Result.AppendChild(GerarXMLValorTotalTributos)
  else
  begin
    if (NFSe.Servico.Valores.totTrib.pTotTribFed > 0) or
       (NFSe.Servico.Valores.totTrib.pTotTribEst > 0) or
       (NFSe.Servico.Valores.totTrib.pTotTribMun > 0) then
      Result.AppendChild(GerarXMLPercentualTotalTributos)
    else
    begin
      if (NFSe.Servico.Valores.totTrib.indTotTrib <> indSim) then
      begin
        Result.AppendChild(AddNode(tcStr, '#1', 'indTotTrib', 1, 1, 1,
                  indTotTribToStr(NFSe.Servico.Valores.totTrib.indTotTrib), ''))
      end
      else
      begin
        if (NFSe.OptanteSN = osnOptanteMEEPP) then
          Result.AppendChild(AddNode(tcDe2, '#1', 'pTotTribSN', 1, 5, 1,
                  NFSe.Servico.Valores.totTrib.pTotTribSN, ''))
      end;
    end;
  end;
end;

A lógica é bem clara e facil de entender

Tem valor "usa os valores"

Não tem e tem percentuais "usa os percentuais"

Não tem e tem indicação de não querer informar "indica"

Não tem a indicação, confere se é simples e "usa o percentual especifico de simples".

 

Vi no log que foi mexido para atender justamente a questão do simples, mas digo com clareza que não esta atendendo, pois se deseja trabalhar com valores no simples esta dando erro, pois na lógica que foi atualizada nunca será possivel usar valores neste caso.

 

Segue anexo fonte.

PadraoNacional.GravarXml.pas

  • 2 semanas depois ...
  • 1 mês depois ...
Postado

Acabei de atualizar os fontes, e este item continua com o problema para quem deseja trabalhar com valores direto e é simples.

Implementei novamente a minha solução proposta.

  • 2 meses depois ...
  • Solution
Postado

Ola, fiz atualização hoje 15/06/2026 e vi que implementaram a solução dos valores do IBPT para simples nacional conforme havia sugerido.

Obrigado.

Pode encerrar o tópíco, pelos testes que fiz esta correto.

 

  • Consultores
Postado

Obrigado por reportar.

Fechando. Para novas dúvidas, criar um novo tópico.

 

Consultora ACBr Pro

Juliomar Marchetti

Ajude o Projeto ACBr crescer - Seja Pro

discord: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br

 

MVP_NewLogo_100x100_Transparent-02.png
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

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.

The popup will be closed in 10 segundos...