Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Pessoal, estou com uma duvida acredito que iniciante, mas estou quebrando a cabeça.

 

Emito NF-e para empresas do simples, só que quando emito a NF nos campos base de calculo, icms, bc st, etc.. nestes campos eu coloco eles como "0" zero.

 

Porém quando é devolução para uma empresa que não é do simples tenho que destacar estes campos.

 

 

Alguém já passou por isso?

 

 

Como eu resolveria?

Postado

Zumbi,

 

eu faço a combinação de CST e CFOP de Devolução.

Seguindo sistematicamente o layout da NF-e de acordo com o CST.

 

algo mais ou menos assim:

if (lcCFOP= '5201') or (lcCFOP= '5202') or (lcCFOP= '5208') or (lcCFOP= '5209') or
   (lcCFOP= '5210') or (lcCFOP= '5410') or (lcCFOP= '5411') or (lcCFOP= '5412') or
   (lcCFOP= '5413') or (lcCFOP= '5553') or (lcCFOP= '5555') or (lcCFOP= '5556') or
   (lcCFOP= '5660') or (lcCFOP= '5661') or (lcCFOP= '5662') or (lcCFOP= '5918') or
   (lcCFOP= '5921') or
   (lcCFOP= '6201') or (lcCFOP= '6202') or (lcCFOP= '6208') or (lcCFOP= '6209') or
   (lcCFOP= '6210') or (lcCFOP= '6410') or (lcCFOP= '6411') or (lcCFOP= '6412') or
   (lcCFOP= '6413') or (lcCFOP= '6553') or (lcCFOP= '6555') or (lcCFOP= '6556') or
   (lcCFOP= '6660') or (lcCFOP= '6661') or (lcCFOP= '6662') or (lcCFOP= '6918') or
   (lcCFOP= '6921') Then
 begin
          if Dm.CDSProdutosNFECST.AsString = '000' then
           begin
             CST := cst00;
             vBC := dm.cdsProdutosNFEBASEICMS.AsCurrency;
             pICMS := dm.cdsProdutosNFEALIPRODUTO.AsCurrency;
             vICMS := dm.cdsProdutosNFEICMS.AsCurrency;
           end
         else if (Dm.CDSProdutosNFECST.AsString = '010') then
           begin
             CST := cst10;
             vBC := dm.cdsProdutosNFEBASEICMS.AsCurrency;
             pICMS := dm.cdsProdutosNFEALIPRODUTO.AsCurrency;
             vICMS := dm.cdsProdutosNFEICMS.AsCurrency;
             pRedBCST := Dm.CDSProdutosNFEPERCENTUALREDUCAOBASEST.AsCurrency;
             pRedBC := dm.cdsProdutosNFEPERCENTUALREDUCAOBASEICMS.AsCurrency;
             pMVAST := dm.cdsProdutosNFEMVA.AsCurrency;
             vBCST := dm.cdsProdutosNFEBASEST.AsCurrency;
             pICMSST := dm.cdsProdutosNFEALIQST.AsCurrency;
             vICMSST := dm.cdsProdutosNFEST.AsCurrency;
           end
         else if (Dm.CDSProdutosNFECST.AsString = '020')  then
           begin
             CST := cst20;
             pRedBC := Dm.CDSProdutosNFEPERCENTUALREDUCAOBASEICMS.AsCurrency;
             vBC := dm.cdsProdutosNFEBASEICMS.AsCurrency;
             pICMS := dm.cdsProdutosNFEALIPRODUTO.AsCurrency;
             vICMS := dm.cdsProdutosNFEICMS.AsCurrency;
           end
         else if Dm.CDSProdutosNFECST.AsString = '030' then
           begin
             CST := cst30;
             pMVAST := dm.cdsProdutosNFEMVA.AsCurrency;
             pRedBC := dm.cdsProdutosNFEPERCENTUALREDUCAOBASEICMS.AsCurrency;
             vBCST := dm.cdsProdutosNFEBASEST.AsCurrency;
             pICMSST := dm.cdsProdutosNFEALIQST.AsCurrency;
             vICMSST := dm.cdsProdutosNFEST.AsCurrency;
           end
         else if Dm.CDSProdutosNFECST.AsString = '040' then
             CST := cst40
         else if Dm.CDSProdutosNFECST.AsString = '041' then
             CST := cst41
         else if Dm.CDSProdutosNFECST.AsString = '050' then
           CST := cst50
         else if Dm.CDSProdutosNFECST.AsString = '051' then
           begin
             CST := cst51;
             pRedBC := dm.cdsProdutosNFEPERCENTUALREDUCAOBASEICMS.AsCurrency;
             vBC := dm.cdsProdutosNFEBASEICMS.AsCurrency;
             pICMS := dm.cdsProdutosNFEAlIPRODUTO.AsCurrency;
             vICMS := dm.cdsProdutosNFEICMS.AsCurrency;
           end
         else if Dm.CDSProdutosNFECST.AsString = '060' then
           begin
             CST := cst60;
             vBCSTRet := dm.cdsProdutosNFEBASESTRETIDO.AsCurrency;
             vICMSSTRet := dm.cdsProdutosNFEICMSSTRETIDO.AsCurrency;
           end
         else if Dm.CDSProdutosNFECST.AsString = '070' then
           begin
             CST := cst70;
             pRedBC := dm.cdsProdutosNFEPERCENTUALREDUCAOBASEICMS.AsCurrency;
             vBC := dm.cdsProdutosNFEBASEICMS.AsCurrency;
             pICMS := dm.cdsProdutosNFEAlIPRODUTO.AsCurrency;
             vICMS := dm.cdsProdutosNFEICMS.AsCurrency;
             pMVAST := dm.cdsProdutosNFEMVA.AsCurrency;
             pRedBC := dm.cdsProdutosNFEPERCENTUALREDUCAOBASEICMS.AsCurrency;
             vBCST := dm.cdsProdutosNFEBASEST.AsCurrency;
             pICMSST := dm.cdsProdutosNFEALIQST.AsCurrency;
             vICMSST := dm.cdsProdutosNFEST.AsCurrency;
           end
         else if Dm.CDSProdutosNFECST.AsString = '090' then
           begin
             CST := cst90;
             pRedBC := dm.cdsProdutosNFEPERCENTUALREDUCAOBASEICMS.AsCurrency;
             vBC := dm.cdsProdutosNFEBASEICMS.AsCurrency;
             pICMS := dm.cdsProdutosNFEAlIPRODUTO.AsCurrency;
             vICMS := dm.cdsProdutosNFEICMS.AsCurrency;
             pMVAST := dm.cdsProdutosNFEMVA.AsCurrency;
             pRedBC := dm.cdsProdutosNFEPERCENTUALREDUCAOBASEICMS.AsCurrency;
             vBCST := dm.cdsProdutosNFEBASEST.AsCurrency;
             pICMSST := dm.cdsProdutosNFEALIQST.AsCurrency;
             vICMSST := dm.cdsProdutosNFEST.AsCurrency;
           end;
 end;
 

 

  • Moderadores
Postado

Certo, só que como eu "o sistema" vai saber quando destacar os impostos e quando não?

Bom dia!

 

Pelo título do tópico, estou considerando que a empresa que está emitindo a NFe está enquadrada no regime Simples.

 

Você terá que emitir a nota de devolução com destaque caso tenha comprado de uma empresa que não se enquadre no Simples.

 

Parâmetros que podem servir de auxilio para vc detectar:

- Se vc tem acesso ao XML, poderá coletar o código CRT que estará com o número 3.

- Caso não seja possível, vc pode considerar outro fator. Se a nota tem o destaque do ICM (Valor do ICMS), vc precisa devolver destacando este imposto.

- A nota de empresas que não estão enquadradas no Simples, possuem CST e não CSOSN. (Pode ser visto por este parâmetro também).

 

Creio que com isto vc já consegue fazer o sistema "entender" se terá que destacar ou não o imposto na devolução. 


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

 

 

 

 

Postado

kiko fernandes, é por ai.

 

A empresa emissora da NFe é do simples, mas a empresa para qual será feita a devolução NÃO é. Porém ela está pedindo que tenha destacado os impostos nos campos.

 

No meu sistema está com a seguinte configuração "se empresa emissora = Simples" zero os campos dos impostos.

 

Tenho que fazer uma logica diferente para estes casos, como faria.

  • Moderadores
Postado

kiko fernandes, é por ai.

 

1 - A empresa emissora da NFe é do simples, mas a empresa para qual será feita a devolução NÃO é. Porém ela está pedindo que tenha destacado os impostos nos campos.

 

2 - No meu sistema está com a seguinte configuração "se empresa emissora = Simples" zero os campos dos impostos.

 

3 - Tenho que fazer uma logica diferente para estes casos, como faria.

 

 

1 - Correto. Vc emitirá uma nota  com destaque do ICMS para o caso de devolução,

2 - Correto. Porém para a NFe de devolução de simples para regime normal esta regra deverá ser mudada.

3 - Vc vai emitir a NFe usando o CSOSN 900 conforme o André citou no post #2.  Procure no fórum por devolução de simples para regime normal que tem vários tópicos tratando deste assunto. Emitente do simples não usa CST e sim CSOSN.


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

 

 

 

 

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