Ir para conteúdo
  • Cadastre-se

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

Recommended Posts

  • Membros
Postado

Pessoal boa tarde preciso de uma ajuda por gentileza, ja refiz a funçao diversas vezes , ja deixei os parametros fixos e mesmo assim sempre da a mesma rejeiçao. Socorroooo 

 Rejeicao: Valor do IBS da UF difere do calculado [nItem:1]

1- ACbr atualizado dia 01/12/2025
2- Pasta Schema Atualizado
3 - Xml em anexo

ibs = 0.10
cbs = 0,90

UF SP

 

                //=========================== REFORMA ========================

                // Valores vindos do banco
                cst_ibs   := dmNFE.qryConfTributacaocst_ibs_cbs.AsString;
                class_ibs := dmNFE.qryConfTributacaoclass_ibscbs.AsString;

                pIBSUF_f  := dmNFE.qryConfTributacaopercentual_ibs_uf.AsFloat;    // Ex.: 0.10
                pIBSMun_f := dmNFE.qryConfTributacaopercentual_ibsmun.AsFloat;    // Ex.: 0.00
                pCBS_f    := dmNFE.qryConfTributacaopercentual_cbs.AsFloat;       // Ex.: 0.90  (0,90%)

                // Se estiver gravado como 0.90 (90%), ajusta automaticamente:
                if pCBS_f > 1 then
                  pCBS_f := pCBS_f / 100;   // transforma 90 → 0.90

                if dmNFE.qryConfTributacaoutiliza_reforma.AsBoolean then
                begin
                  with Imposto.IBSCBS do
                  begin
                    // CST
                    case StrToIntDef(cst_ibs, 0) of
                      000: CST := cst000;
                      200: CST := cst200;
                    else
                      CST := cst000;
                    end;

                    cClassTrib := class_ibs;

                    // Base
                    vBaseItem       := cdsProdutosvalor_total_item.AsCurrency;
                    gIBSCBS.vBC     := vBaseItem;

                    // ============================
                    // CÁLCULO (sem FormatFloat!)
                    // ============================
                    vIBSUF_item  := RoundTo(vBaseItem * pIBSUF_f,  -2);   // 2 casas
                    vIBSMUN_item := RoundTo(vBaseItem * pIBSMun_f, -2);
                    vCBS_item    := RoundTo(vBaseItem * pCBS_f,    -2);

                    vIBS_item := vIBSUF_item + vIBSMUN_item;

                    // Valores
                    gIBSCBS.gIBSUF.vIBSUF    := vIBSUF_item;
                    gIBSCBS.gIBSMun.vIBSMun  := vIBSMUN_item;
                    gIBSCBS.vIBS             := vIBS_item;
                    gIBSCBS.gCBS.vCBS        := vCBS_item;

                    // ============================
                    // Percentuais (4 casas)
                    // ============================
                    gIBSCBS.gIBSUF.pIBSUF  := RoundTo(pIBSUF_f,  -4);
                    gIBSCBS.gIBSMun.pIBSMun:= RoundTo(pIBSMun_f, -4);
                    gIBSCBS.gCBS.pCBS      := RoundTo(pCBS_f,    -4);

                    // Totais
                    total_base_ibs := total_base_ibs + vBaseItem;
                    total_ibs      := total_ibs      + vIBS_item;
                    total_ibs_uf   := total_ibs_uf   + vIBSUF_item;
                    total_ibs_mun  := total_ibs_mun  + vIBSMUN_item;
                    total_cbs      := total_cbs      + vCBS_item;
                  end;
                end;

 



 

xml_erro_ibs.xml

  • Consultores
Postado

pega o xml e joga no validador do sefaz. e ele vai mostrar exato onde

 

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 !!

Postado

Também estou com esse erro :

NFCe em Homologação
2 produtos com o mesmo valor 39,90  CST 200 CCASSTRIB 200035  
valor gerado 0,015959999999999998
arredonda para 0.02

passei fixo :
IBSCBS.gIBSCBS.vIBS := 0.015 ;
arredonta para 0.02

no item 1
<vIBSUF>0.02</vIBSUF>
<vIBS>0.02</vIBS>

no item 2
<vIBSUF>0.02</vIBSUF>
<vIBS>0.02</vIBS>

total 
<vIBSUF>0.03</vIBSUF>
<vIBS>0.03</vIBS

OBS.Se eu gerar de um produto gero o NFCe em homologação

 

  • Membros
Postado

manoel santos
                    vIBSUF_item  := RoundTo(vBaseItem * pIBSUF_f,  -2);   // 2 casas
                    vIBSMUN_item := RoundTo(vBaseItem * pIBSMun_f, -2);
                    vCBS_item    := RoundTo(vBaseItem * pCBS_f,    -2);

utiilize RoundTo ou RoundAbnt do proprio acbr para limitar as casas decimais

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