Ir para conteúdo
  • Cadastre-se

dev botao

problema com nfe de devolução, informar fcp e fcpst na mesma nota e todos com csosn 900


Recommended Posts

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
Link para o comentário
Compartilhar em outros sites

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

Link para o comentário
Compartilhar em outros sites

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
Link para o comentário
Compartilhar em outros sites

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.

Link para o comentário
Compartilhar em outros sites

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.