Ir para conteúdo
  • Cadastre-se

dev botao

Total Do Produto / Serviço Difere Da Somatorio Dos Itens.


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

Recommended Posts

Boas - Por gentileza não remeta para outro Tópico.

 

Se alguém conseguiu resolver este problema, por favor

coloque a resposta descrevendo o que realmente fez.

 

Obs; A NFE esta sendo homologada para um cliente que é Simples Nacional

Então no Inicio da Geração da NFE:

No Emitente:

Emit.CRT               := crtSimplesNacional; // (1-crtSimplesNacional, 2-crtSimplesExcessoReceita, 3-crtRegimeNormal)

 

Apenas para saberem.

 

Itens:

Exemplo:

while not Form10.IBQuery2.Eof do
  begin
     with Det.Add do
       begin
          Item:=Item+1; // Variavel para Numero sequencial do item.
          Prod.nItem    := Item;//1; // Número sequencial, para cada item deve ser incrementado
          Prod.cProd    := Form10.IBQuery2CODIGO.AsString; //'123457'; // Passar o Código do Produto
          Prod.cEAN     := ''; // Passar o EAN
          Prod.xProd    := Form10.IBQuery2Descricao.AsString; //'Descrição do Serviço';
          Prod.NCM      := Form10.IBQuery2NCM.AsString; //'99'; // passar NCM
          Prod.EXTIPI   := '';
          Prod.CFOP     := Form10.IBQuery2CFOP.AsString;  //'5933'; // passar CFOP
          Prod.uCom     := Form10.IBQuery2UNIDADE.AsString;  //'UN'; // passar a unidade
          Prod.qCom     := Form10.IBQuery2QTD.AsInteger;  //1 ;   // passar a quantidade
          Prod.vUnCom   := Round(Form10.IBquery2.fieldbyname('unit').AsFloat);  //100;  // passar o valor
          Prod.vProd    := Round(Prod.qCom * Prod.vUnCom);  //Round(Form10.DBEdit1.Field.AsFloat);  //100 ; // passar o valor
 
          Prod.cEANTrib  := '';   // passar EAN
          Prod.uTrib     := Form10.IBQuery2UNIDADE.AsString;//'UN'; // passar a unidade
          Prod.qTrib     := Round(Form10.IBQuery2QTD.AsInteger);//1;    // passar a quantidade
          Prod.vUnTrib   := Round(Form10.IBquery2.fieldbyname('unit').AsFloat);//100;  // passar o valor
 
         Prod.vOutro    := 0;
         Prod.vFrete    := 0;
         Prod.vSeg      := 0;
         Prod.vDesc     := 0;
 
         infAdProd      := 'Informação Adicional do Serviço';
 
          // Isento
         with Imposto do
          begin
            // lei da transparencia nos impostos
            vTotTrib := 0;
 
            with ICMS do
             begin
               {CST          := cst00;
               ICMS.orig    := oeNacional;
               ICMS.modBC   := dbiValorOperacao;
               ICMS.vBC     := 0; //100;
               ICMS.pICMS   := 0; //18;
               ICMS.vICMS   := 0; //18;
               ICMS.modBCST := dbisMargemValorAgregado;
               ICMS.pMVAST  := 0;
               ICMS.pRedBCST:= 0;
               ICMS.vBCST   := 0;
               ICMS.pICMSST := 0;
               ICMS.vICMSST := 0;
               ICMS.pRedBC  := 0;}
             ICMS.orig := oeNacional;
             ICMS.CSOSN := csosn103;
             end;
          end;
       end;
     Form10.IBQuery2.Next;
  end; // Fim do laço.
 
Recebo do Sefaz: Total do Produto / Serviço Difere da Somatorio dos Itens.
Help.
Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Olá microdelta você percebeu que você está passando o valor unitário do produto utilizando a função round?

Se o valor unitário for igual a 10,30 por exemplo a função round vai retornar apenas 10.00

Acredito que ai esteja o problema.

Gilson do Carmo
WindSoft Sistemas

Link para o comentário
Compartilhar em outros sites

  • Moderadores

vc também está usando CST := cst00 que é para produto tributado. Se é simples nacional este cst deveria ser um cst de isenção ou não incidência, ficando vBC = 0 (dos itens e do total) e vICMS = 0 (dos itens e do total) e pICMS = 0 (para itens e total)

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Bom dia!

Se puder anexe o XML.

Pela mensagem de erro o que está ocorrendo é que a soma dos itens não é igual ao total que vc está informando na tag total da nfe.


logoacbr.pngConheça o Portal do Projeto ACBr

Ajude o Projeto ACBr crescer - Assine o SAC ACBr
Assine um dos planos de longa duração do SAC ACBr, obtenha Descontos Especiais, Parcele no Cartão e ainda ganhe Brindes Exclusivos. Saiba mais aqui

Conheça o ACBrLib, o ACBr de forma nativa para qualquer linguagem de programação. Saiba mais aqui

 

 

 

 

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Bom dia!

A IE para o CNPJ 10728377000115 é: 647553907113

Consulte em: www.sintegra.gov.br


logoacbr.pngConheça o Portal do Projeto ACBr

Ajude o Projeto ACBr crescer - Assine o SAC ACBr
Assine um dos planos de longa duração do SAC ACBr, obtenha Descontos Especiais, Parcele no Cartão e ainda ganhe Brindes Exclusivos. Saiba mais aqui

Conheça o ACBrLib, o ACBr de forma nativa para qualquer linguagem de programação. Saiba mais aqui

 

 

 

 

Link para o comentário
Compartilhar em outros sites

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