Ir para conteúdo
  • Cadastre-se

dev botao

Rejeição 685: total do valor dos tributos difere do somatório dos itens


Ver Solução Respondido por Josafar Nascimento da Silv,
  • Este tópico foi criado há 2061 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Ao enviar a NFe, surge esse erro, caso a nota contenha mais de um item. Para o cálculo do valor aproximado estou usando o ACBrIBPTax. O interessante é que exibo os valores e estão corretos, porém, ao enviar a nota para a SEFAZ ela é rejeitada. Com apenas um item, a nota não é rejeitada.

Link para o comentário
Compartilhar em outros sites

  • Administradores

Boa tarde.

18 minutos atrás, Josafar Nascimento da Silv disse:

Já encontrei o erro e a nota está sendo enviada sem problema

É de bom tom informar também a resolução, de forma a auxiliar outros usuários com o mesmo problema no futuro.

Att.

  • Curtir 1
Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

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

Link para o comentário
Compartilhar em outros sites

  • Solution

O problema estava nas totalizações. Para resolver, criei algumas variáveis para os totalizadores. Abaixo, listo o código do detalhamento da nota, incluindo mais de um item.

    // inclusão dos itens
    DM.ACBrNFe.NotasFiscais[0].NFe.det.clear;
    vnumitem:= 0;
    if DM.cdsAux.Active = True then
      DM.cdsAux.Close;
    DM.cdsAux.CommandText := 'Select I.*, P.Id, P.Desc, P.CodBarra, P.Unid, P.NCM From TABITENSFAT I '+
    'Left Join TABPRO P on I.CodPro = P.Id '+
    'Where I.Id = '+#39+edtAlt.Text+#39+'Order by I.Id';
    DM.cdsAux.Open;
    while not DM.cdsAux.eof do
    begin
      inc(vnumitem);
      with Det.Add do
      begin
        Prod.nItem := vnumitem;
        Prod.cProd := DM.cdsAux.FieldByName('CodBarra').AsString; // ou... DM.cdsAux.FieldByName('CodPro').AsString;
        Prod.cEAN  := DM.cdsAux.FieldByName('CodBarra').AsString;
        Prod.xProd := DM.cdsAux.FieldByName('Desc').AsString;
        Prod.NCM := DM.cdsAux.FieldByName('NCM').AsString;
        Prod.EXTIPI := '';
        Prod.CFOP := DM.cdsAux.FieldByName('CFOP').AsString;
        Prod.uCom := DM.cdsAux.FieldByName('Unid').AsString;
        Prod.qCom := DM.cdsAux.FieldByName('Quant').AsFloat;
        Prod.vUnCom:= DM.cdsAux.FieldByName('Preun').AsFloat;
        Prod.vProd:= Prod.qCom * Prod.vUnCom;
        vtotprod:= vtotprod + Prod.vProd;
        Prod.vDesc:= DM.cdsAux.FieldByName('ValorDesc').AsFloat;
        Prod.uTrib:= DM.cdsAux.FieldByName('Unid').AsString;
        Prod.qTrib:= DM.cdsAux.FieldByName('Quant').AsFloat;
        Prod.vUnTrib:= DM.cdsAux.FieldByName('Preun').AsFloat;
        Prod.cEANTrib:= DM.cdsAux.FieldByName('CodBarra').AsString;
        with Imposto do
        begin
          // ICMS
          ICMS.orig := oenacional;
          ICMS.CST := cst00;
          ICMS.modBC := dbiValorOperacao;
          ICMS.vBC:= DM.cdsAux.FieldByName('VlrLiq').AsFloat;
          vtotbcicms:= vtotbcicms + ICMS.vBC;
          ICMS.pICMS:= DM.cdsAux.FieldByName('PercIcms').AsFloat;
          ICMS.vICMS:= (DM.cdsAux.FieldByName('VlrLiq').AsFloat * DM.cdsAux.FieldByName('PercIcms').AsFloat) / 100;
          vtoticms:= vtoticms + ICMS.vICMS;
          //Valor Aproximado dos Impostos IBPT
          ACBrIBPTax1.AbrirTabela(ExtractFilePath(Application.ExeName)+
          'tabela_ibpt\TabelaIBPTaxPE18.1.B.csv');
          //Buscar NCM da mercadoria
          ACBrIBPTax1.Procurar(DM.cdsAux.FieldByName('NCM').AsString,ex, descricao, tabela, aliqFedNac,
          aliqFedImp, aliqEst, aliqMun, False);
          //Campo NF-e valor aproximado dos impostos;
          vTotTrib:= ((Prod.vProd - Prod.vDesc) * (aliqFedNac + aliqEst + aliqMun)) / 100;
          vtotaltrib:= vtotaltrib + vtottrib;
        end;
      end;
      DM.cdsAux.Next;
    end;
    DM.cdsAux.Close;
    // totalização da nota fiscal
    Total.ICMSTot.vNF   := vvlrnf;
    Total.ICMSTot.vBC   := vtotbcicms;
    Total.ICMSTot.vICMS := vtoticms;
    Total.ICMSTot.vProd := vtotprod;
    Total.ICMSTot.vTotTrib := vtotaltrib;

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Administradores

Obrigado por reportar.

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

  • Curtir 1
Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

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

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 2061 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
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.