Ir para conteúdo
  • Cadastre-se

dev botao

Recommended Posts

Postado (editado)

bom dia meus amigos estou com o seguinte problema em uma nota de devolução o fornecedor pede que algumas mercadorias seja informado o  FCPST  e outras seja informado FCP e todos com csosn 900, estou fazendo da seguinte forma :

quando amercadoria é FCPST informo o seguinte :

                         ICMS.modBC := dbiMargemValorAgregado;
                        ICMS.vBC := qrnota_item.FieldByName
                          ('base_calculo').Value;
                        ICMS.pRedBC := qrnota_item.FieldByName
                          ('icms_reduzido').Value;
                        ICMS.pICMS := qrnota_item.FieldByName('ICMS').asfloat;
                        ICMS.vICMS := qrnota_item.FieldByName
                          ('valor_icms').Value;
                        ICMS.modBCST := dbisMargemValorAgregado;
                        ICMS.pMVAST := qrnota_item.FieldByName
                          ('margem_agregada').Value;
                        ICMS.pRedBCST := 00.00;
                        ICMS.vBCST := qrnota_item.FieldByName('base_sub').Value;
                        ICMS.pICMSST := 00.00;
                        ICMS.vICMSST := qrnota_item.FieldByName
                          ('icms_sub').Value;
                        ICMS.pCredSN := 0.0; // Colocar o percentual do Crédito
                        ICMS.vCredICMSSN := 0.0; // Colocar o valor do Crédito
       
                            ICMS.vBCFCPST := qrnota_item.FieldByName('base_sub')
                            .Value; // 0.00;
                          ICMS.pFCPST := qrnota_item.FieldByName
                            ('fcpalicota').Value;
                          ICMS.vFCPST := qrnota_item.FieldByName
                            ('fcpvalor').Value;
                          // ICMS.pFCP:=qrnota_item.fieldbyname('fcpalicota').value;
                          // ICMS.vFCP:=qrnota_item.fieldbyname('fcpvalor').value;
                          vtotalfcpst := vtotalfcpst + qrnota_item.FieldByName
                            ('fcpvalor').Value;
           

se for FCP somente informo o seguinte :


                              ICMS.vBCFCP := qrnota_item.FieldByName('base_sub')
                            .Value; // 0.00;
                                        ICMS.pCredSN := 0.0; // Colocar o percentual do Crédito
                        ICMS.vCredICMSSN := 0.0; // Colocar o valor do Crédito
                        ICMS.pFCP := qrnota_item.FieldByName
                          ('fcpalicota').Value;
                        ICMS.vFCP := qrnota_item.FieldByName('fcpvalor').Value;
                           vtotalfcpst := vtotalfcpst + qrnota_item.FieldByName
                            ('fcpvalor').Value;
            

o CST de todas as mercadorias esta 041

porem ao gerar o xml somente o valor das mercadorias que é FCPST e gerado no xml e o valor FCP sai sempre 0, alguem poderia me orientar sobre oque estou fazendo errado ?, desde ja agradeço

Editado por marcio pereira batista
Postado
2 horas atrás, marcio pereira batista disse:

o CST de todas as mercadorias esta 041

Pelo teu relato, CST41 não vai calcular nenhum imposto, tendo em vista que cst41 é não tributada. Assim sendo, não havendo ICMS não há FCP.

Quanto a gerar os dois FCP e FCPST não tem mistério, basta verificar qual cst ou csosn está o item.

Eu faria da seguinte forma: Somente a título de exemplo.

   ICMS.modBC       := dbiMargemValorAgregado;
   ICMS.vBC         := qrnota_item.FieldByName('base_calculo').Value;
   ICMS.pRedBC      := qrnota_item.FieldByName('icms_reduzido').Value;
   ICMS.pICMS       := qrnota_item.FieldByName('ICMS').asfloat;
   ICMS.vICMS       := qrnota_item.FieldByName('valor_icms').Value;
   ICMS.modBCST     := dbisMargemValorAgregado;
   ICMS.pMVAST      := qrnota_item.FieldByName('margem_agregada').Value;
   ICMS.pRedBCST    := 00.00;
   ICMS.vBCST       := qrnota_item.FieldByName('base_sub').Value;
   ICMS.pICMSST     := 00.00;
   ICMS.vICMSST     := qrnota_item.FieldByName('icms_sub').Value;
   ICMS.pCredSN     := 0.0; // Colocar o percentual do Crédito
   ICMS.vCredICMSSN := 0.0; // Colocar o valor do Crédito

   if (ICMS.CST = cst60) or ( ICMS.CSOSN = csosn500 ) then
   begin
      if ICMS.vICMSST>0 then
      begin
         ICMS.vBCFCPST    := ICMS.vBCST; // qrnota_item.FieldByName('base_sub').Value; // 0.00;
         ICMS.pFCPST      := qrnota_item.FieldByName('fcpalicota').Value;
         ICMS.vFCPST      := RoundABNT((ICMS.vBCST * ICMS.pFCPST) / 100,2); //qrnota_item.FieldByName('fcpvalor').Value;
         // Variável que deve guardar o Valor Total do FCP ST
         ValorTotalFCPST  := ValorTotalFCPST + ICMS.vFCPST; //qrnota_item.FieldByName('fcpvalor').Value;
      end;
   end
   else
   if (ICMS.CST in [cst10, cst30, cst70, cst90]) or (ICMS.CSOSN in [ csosn201, csosn202, csosn900]) then
   begin
      ICMS.vBCFCP      := ICMS.vBC/ //qrnota_item.FieldByName('base_sub').Value; // 0.00;
      ICMS.pCredSN     := 0.0; // Colocar o percentual do Crédito
      ICMS.vCredICMSSN := 0.0; // Colocar o valor do Crédito
      ICMS.pFCP        := qrnota_item.FieldByName('fcpalicota').Value;
      ICMS.vFCP        := RoundABNT((ICMS.vBC * ICMS.pFCP ) / 100,2 ) //qrnota_item.FieldByName('fcpvalor').Value;
      ValorTotalFCP    := ValorTotalFCP + ICMS.vFCP;
    end;
    With ACBrNFe1.NotasFiscais.Items[0].NFe.Total.ICMSTot do
    begin
         vBC     := SomaBaseICMS;
         vICMS   := SomaValorICMS;
         {...}
         vFCP    := ValorTotalFCP;
         vBCST   := ValorTotalBaseST;
         vST     := ValorICMSST;
         vFCPST  := ValorTotalFCPST;
         {...}
    end;

 

  • Curtir 1

_____________

Prates, Agnaldo

Postado
13 horas atrás, marcio pereira batista disse:

bom dia meus amigos estou com o seguinte problema em uma nota de devolução o fornecedor pede que algumas mercadorias seja informado o  FCPST  e outras seja informado FCP e todos com csosn 900, estou fazendo da seguinte forma :

quando amercadoria é FCPST informo o seguinte :

                         ICMS.modBC := dbiMargemValorAgregado;
                        ICMS.vBC := qrnota_item.FieldByName
                          ('base_calculo').Value;
                        ICMS.pRedBC := qrnota_item.FieldByName
                          ('icms_reduzido').Value;
                        ICMS.pICMS := qrnota_item.FieldByName('ICMS').asfloat;
                        ICMS.vICMS := qrnota_item.FieldByName
                          ('valor_icms').Value;
                        ICMS.modBCST := dbisMargemValorAgregado;
                        ICMS.pMVAST := qrnota_item.FieldByName
                          ('margem_agregada').Value;
                        ICMS.pRedBCST := 00.00;
                        ICMS.vBCST := qrnota_item.FieldByName('base_sub').Value;
                        ICMS.pICMSST := 00.00;
                        ICMS.vICMSST := qrnota_item.FieldByName
                          ('icms_sub').Value;
                        ICMS.pCredSN := 0.0; // Colocar o percentual do Crédito
                        ICMS.vCredICMSSN := 0.0; // Colocar o valor do Crédito
       
                            ICMS.vBCFCPST := qrnota_item.FieldByName('base_sub')
                            .Value; // 0.00;
                          ICMS.pFCPST := qrnota_item.FieldByName
                            ('fcpalicota').Value;
                          ICMS.vFCPST := qrnota_item.FieldByName
                            ('fcpvalor').Value;
                          // ICMS.pFCP:=qrnota_item.fieldbyname('fcpalicota').value;
                          // ICMS.vFCP:=qrnota_item.fieldbyname('fcpvalor').value;
                          vtotalfcpst := vtotalfcpst + qrnota_item.FieldByName
                            ('fcpvalor').Value;
           

se for FCP somente informo o seguinte :


                              ICMS.vBCFCP := qrnota_item.FieldByName('base_sub')
                            .Value; // 0.00;
                                        ICMS.pCredSN := 0.0; // Colocar o percentual do Crédito
                        ICMS.vCredICMSSN := 0.0; // Colocar o valor do Crédito
                        ICMS.pFCP := qrnota_item.FieldByName
                          ('fcpalicota').Value;
                        ICMS.vFCP := qrnota_item.FieldByName('fcpvalor').Value;
                           vtotalfcpst := vtotalfcpst + qrnota_item.FieldByName
                            ('fcpvalor').Value;
            

o CST de todas as mercadorias esta 041

porem ao gerar o xml somente o valor das mercadorias que é FCPST e gerado no xml e o valor FCP sai sempre 0, alguem poderia me orientar sobre oque estou fazendo errado ?, desde ja agradeço

Cara a sua questão é contábil e não de programação.

Pela sua pergunta quem vai devolver é do simples nacional pois usa csosn 900.

Entretanto quando você diz que todos os destaques usam cst 41 gera certa estranheza pois é isento.

Essa empresa que vai receber a nota não é do simples e muito cuidado, provavelmente essa nota vai para o SPED e se estiver errado vai dar M.

Siga a orientação do contador da empresa ! 

  • Curtir 1
Postado
Em 27/02/2024 at 22:55, Antonio Carlos L disse:

Cara a sua questão é contábil e não de programação.

Pela sua pergunta quem vai devolver é do simples nacional pois usa csosn 900.

Entretanto quando você diz que todos os destaques usam cst 41 gera certa estranheza pois é isento.

Essa empresa que vai receber a nota não é do simples e muito cuidado, provavelmente essa nota vai para o SPED e se estiver errado vai dar M.

Siga a orientação do contador da empresa ! 

muito obrigado pela dica meu amigo, ja marquei com o cliente para verificarmos isso junto ao contador na segunda feira, assim que resolvido postarei aqui, fique com Deus.

  • 5 meses depois ...
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.