Ir para conteúdo
  • Cadastre-se

dev botao

NOVA CLASSE PARA CALCULO IMPOSTOS+TRIBUTOS


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

Recommended Posts

  • 3 semanas depois ...

Onde encontrar essa classe com as últimas atualizações?

Salve amigos do fórum. Esse é meu primeiro comentário em algum tópico. Qualquer coisa errada me avisem. Bom eu comecei a implementar a NFe na minha empresa e me deparei com esse problema dos calculos. Depois de procurar achei esse tópico li ele inteiro rs' e vi que alguns amigos disseram que iriam criar um repositorio e tals porém não criaram. Eu peguei a ultima versão que tenho aqui da classe e comecei a montar um exemplo. Infelizmente ainda não tive tempo de completar o exemplo, mas segue funcional. Eu subi os fontes em um repositório do SorceForge porém sou leigo nele, peço pra que alguem me auxilie a como fazer para que todos utilizem o SVN. Bom para baixarem e testarem a unit é a uCalcTribNF.pas que está no code. Vou deixar abaixo a rotina de como usar. Assim que eu souber como utilizar o SVN do sourceforge podemos ir melhorando a unit em grupo. 

 

SourceForge do projeto:

http://sourceforge.net/projects/calculonfe/

 

Com usar:

var
  lItemNF: TItemNF;
  FNotaFiscal: TNotaFiscal;
//  lDuplicataNF: TDuplicataNF;
begin
  FNotaFiscal := TNotaFiscal.Create(Self);
  try
    lItemNF := TItemNF.Create(FNotaFiscal);

    FNotaFiscal.Inicializar;
    FNotaFiscal.ValoresNF.VL_FRETE  := 0.00;
    FNotaFiscal.ValoresNF.VL_SEGURO := 0.00;

    FNotaFiscal.EmitenteNF.NomeRazaoSocial := 'Empresa Industrial Alpha Ltda';
    FNotaFiscal.EmitenteNF.CRT := crtRegimeNormal;
    //FNotaFiscal.EmitenteNF.ALiqCSOSN := 2.2;
    FNotaFiscal.EmitenteNF.Estado := 'SP';

    FNotaFiscal.DestinatarioNF.NomeRazaoSocial := 'Empresa Atacadista Betha Ltda';
    FNotaFiscal.DestinatarioNF.CRT             := crtRegimeNormal;
    FNotaFiscal.DestinatarioNF.Estado          := 'MG';

    FNotaFiscal.Observacoes.Add('operação sujeita ao regime de Substituição Tributária nos termos do Convênio ICMS nº 85/1993.');

    lItemNF.Inicializar;
    lItemNF.Item := 2;
    lItemNF.CodProduto := 'PR01';
    lItemNF.DescProduto := 'PNEUS NOVOS PARA AUTOMOVEL';
    lItemNF.NCMSH := '4011.10.00';
    lItemNF.AliqMVA := 71.28;
    //lItemNF.ComFrete;
    //lItemNF.AliqIPI := 20;
    lItemNF.Quantidade := 5;
    lItemNF.ValorUnitario := 114.40;
    //lItemNF.Peso := 50.00;
    lItemNF.CST_ICMS := cst10;
    //lItemNF.ReducaoICMS :=40;
     //lItemNF.ReducaoICMSst :=40;
    //lItemNF.ComFrete :=false;
    //lItemNF.AliquotaICMS;
   // lItemNF.AliquotaTRIB :=
    //lItemNF.VL_TRIB_OP
     //lItemNF.
    //lItemNF.CSOSN := csosn201;
    //lItemNF.ReducaoICMS := 0;
    FNotaFiscal.ItensNF.Add(FNotaFiscal, lItemNF);

    lItemNF.Item := 3;
    lItemNF.CodProduto := 'PR01';
    lItemNF.DescProduto := 'PNEUS NOVOS PARA AUTOMOVEL';
    lItemNF.NCMSH := '4011.10.00';
    lItemNF.AliqMVA := 71.28;
    //lItemNF.ComFrete;
    //lItemNF.AliqIPI := 20;
    lItemNF.Quantidade := 5;
    lItemNF.ValorUnitario := 114.40;
    //lItemNF.Peso := 50.00;
    lItemNF.CST_ICMS := cst10;
    //lItemNF.ReducaoICMS :=40;
     //lItemNF.ReducaoICMSst :=40;
    //lItemNF.ComFrete :=false;
    //lItemNF.AliquotaICMS;
   // lItemNF.AliquotaTRIB :=
    //lItemNF.VL_TRIB_OP
     //lItemNF.
    //lItemNF.CSOSN := csosn201;
    //lItemNF.ReducaoICMS := 0;
    FNotaFiscal.ItensNF.Add(FNotaFiscal, lItemNF);

    ShowMessage(
      'DE ---> ' +FNotaFiscal.EmitenteNF.Estado +' PARA  ---> ' +FNotaFiscal.DestinatarioNF.Estado + #13#10 +
      'VL_FRETE     ---> ' + FormatCurr('###,###,##0.00', FNotaFiscal.ValoresNF.VL_FRETE) + #13#10 +
      'VL_SEGURO    ---> ' + FormatCurr('###,###,##0.00', FNotaFiscal.ValoresNF.VL_SEGURO) + #13#10 +
      'VL_DESPACESS ---> ' + FormatCurr('###,###,##0.00', FNotaFiscal.ValoresNF.VL_DESPACESS) + #13#10 +
      'VL_TOTAL_PROD---> ' + FormatCurr('###,###,##0.00', FNotaFiscal.ValoresNF.VL_TOTAL_PROD) + #13#10 +
      'VL_TOTAL_NF  ---> ' + FormatCurr('###,###,##0.00', FNotaFiscal.ValoresNF.VL_TOTAL_NF) + #13#10 +
      'BS_ICMS      ---> ' + FormatCurr('###,###,##0.00', FNotaFiscal.ValoresNF.BS_ICMS) + #13#10 +
      '%_ICMS       ---> ' + FormatCurr('###,###,##0.00', 12) + #13#10 +
      'VL_ICMS      ---> ' + FormatCurr('###,###,##0.00', FNotaFiscal.ValoresNF.VL_ICMS) + #13#10 +
      'BS_ICMS_ST   ---> ' + FormatCurr('###,###,##0.00', FNotaFiscal.ValoresNF.BS_ICMS_ST) + #13#10 +
      'VL_CREDITO_CSOSN ---> ' + FormatCurr('###,###,##0.00', FNotaFiscal.ValoresNF.VL_CREDITO_CSOSN) + #13#10 +
      'VL_ICMS_ST   ---> ' + FormatCurr('###,###,##0.00', FNotaFiscal.ValoresNF.VL_ICMS_ST)
    );
  finally
    FreeAndNil(FNotaFiscal);
  end;


end;

Bom proveito!

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

  • Moderadores

Leonardo eu havia pensado em criar o repositório, mas andei conversando com alguns usuários e o que percebi que é ninguém ia contribuir por isso não "toquei para frente", infelizmente nem todo mundo tem a ideia de contribuição que um projeto open-source necessita.

  • Curtir 1

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
Link para o comentário
Compartilhar em outros sites

Leonardo eu havia pensado em criar o repositório, mas andei conversando com alguns usuários e o que percebi que é ninguém ia contribuir por isso não "toquei para frente", infelizmente nem todo mundo tem a ideia de contribuição que um projeto open-source necessita.

Eu imaginei Régys... Porém como algumas pessoas vem procurando por essa classe nesse tópico e não encontram uma mais atualizada eu criei o repo. porque daí a minha ideia é só dizer onde está a fonte mais atualizada para que mais pessoas baixem. Claro que a ideia principal é atualizar sempre a classe porém se já deixarmos pelo menos para download e com um exemplo funcional ai as pessoas se viram em atualiza talvez adaptando para o seu caso. Em resumo rs' foi mais para distribuição da classe a minha ideia de criar o repo. Obrigado.

Link para o comentário
Compartilhar em outros sites

Na minha opinião, acho que não houve o devido interesse em colaborar com essa classe pelo motivo de ela ser meio que paralela ao ACBr, ou seja, você tem que adicionar os ítens na mesma, fazer os cálculos e depois jogar os itens no ACBrNFE. No meu caso, eu tenho uma classe de pedido de venda que somente aciona cálculos de impostos se o usuário quiser emitir documento fiscal, daí faço os cálculos conforme a configuração dos tributos e já preencho os objetos do ACBrNFE com o cálculo feito. Talvez, se essa classe fosse acoplada ao ACBrNFE, ou seja, ao adicionar os ítens na NFE já fosse possível calcular os impostos, daí acho que a coisa andaria. Mas é só minha opinião. Abraço.

  • Curtir 1

Sistemas para toda área Goumert, pequeno varejo e baladas.

www.controleautomacao.com.br

Link para o comentário
Compartilhar em outros sites

Na minha opinião, acho que não houve o devido interesse em colaborar com essa classe pelo motivo de ela ser meio que paralela ao ACBr, ou seja, você tem que adicionar os ítens na mesma, fazer os cálculos e depois jogar os itens no ACBrNFE. No meu caso, eu tenho uma classe de pedido de venda que somente aciona cálculos de impostos se o usuário quiser emitir documento fiscal, daí faço os cálculos conforme a configuração dos tributos e já preencho os objetos do ACBrNFE com o cálculo feito. Talvez, se essa classe fosse acoplada ao ACBrNFE, ou seja, ao adicionar os ítens na NFE já fosse possível calcular os impostos, daí acho que a coisa andaria. Mas é só minha opinião. Abraço.

Então Daniel essa ideia é maravilhosa! Porém como o próprio André disse: 

 

"Apesar de alertar que cada programador deve verificar com o cliente/contador como os cálculos devem ser feitos, alguns programadores poderiam simplesmente pegar a classe e usar e quando um cliente reclamasse que os cálculos estão errados iriam querer jogar a culpa apenas no ACBr. "

 

Alguns cablocos ai poderiam colocar a culpa no ACBr. Mas se isso não acontecesse seria o sonho para todos nós uma classe robusta que fizesse todos os cálculos. Mas já que isso provavelmente não irá acontecer eu penso assim: Existem muuuitos sistemas que emitem NF-e no Brasil e nem todos utilizam o ACBr. Se criarmos uma classe acoplada ao projeto ou até mesmo acoplada ao componente ACBr NF-e os outros programadores que utilizam FlexDocs, TecnoSpeed e outros não se beneficiariam. Por isso acho que talvez seja até melhor essa classe ser um projeto a parte. Porque assim TODOS se beneficiam dela, porque como já vimos é uma "simples" classe que deve ser adicionada ao projeto e utilizada de forma simples. 

 

Minha opinião. Obrigado. rs'

Link para o comentário
Compartilhar em outros sites

Então Daniel essa ideia é maravilhosa! Porém como o próprio André disse: 

 

"Apesar de alertar que cada programador deve verificar com o cliente/contador como os cálculos devem ser feitos, alguns programadores poderiam simplesmente pegar a classe e usar e quando um cliente reclamasse que os cálculos estão errados iriam querer jogar a culpa apenas no ACBr. "

 

Alguns cablocos ai poderiam colocar a culpa no ACBr. Mas se isso não acontecesse seria o sonho para todos nós uma classe robusta que fizesse todos os cálculos. Mas já que isso provavelmente não irá acontecer eu penso assim: Existem muuuitos sistemas que emitem NF-e no Brasil e nem todos utilizam o ACBr. Se criarmos uma classe acoplada ao projeto ou até mesmo acoplada ao componente ACBr NF-e os outros programadores que utilizam FlexDocs, TecnoSpeed e outros não se beneficiariam. Por isso acho que talvez seja até melhor essa classe ser um projeto a parte. Porque assim TODOS se beneficiam dela, porque como já vimos é uma "simples" classe que deve ser adicionada ao projeto e utilizada de forma simples. 

 

Minha opinião. Obrigado. rs'

Então Leonardo, mas da forma que a classe está hoje, é muito amarrado. Teria que ser algo mais dinâmico, mais flexível para evitar justamente a manutenção excessiva e a possível "culpa" no ACBr. No meu sistema por exemplo, eu tenho uma rotina onde o usuário configura os impostos de entrada/saída de acordo com suas regras tirando assim, a responsabilidade do sistema. O sistema somente calcula de acordo com a configuração que ele fez. Lógico que isso é feito na primeira vez com acompanhamento de um técnico da empresa.

Sistemas para toda área Goumert, pequeno varejo e baladas.

www.controleautomacao.com.br

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...
  • Moderadores

Boa tarde

se chegou a ler todo o tópico notou que ele informa  um endereço no source forge

e igualmente ao acbr pode ser baixado via svn então sugiro sempre ler todo um tópico ou post 

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

  • 2 meses depois ...

Boa tarde Pessoal,

 

  Primeiramente gostaria de parabenizar pela iniciativa, acredito que com o esforço de todos nós possamos alavancar este projeto... Obtive o tortoise e dei uma analisa no que já esta desenvolvido gostaria de dar algumas sugestões:

- Manter o mesmo padrão dos nomes das propriedades do projeto da NFe, acredito que isso ajudaria bastante;

- Falta a implementação da questão do Frete na Base de Calculo do Pis/Cofins, agora vem a questão na lei diz o seguinte para "Industrias ou Atacadistas", conversei com o Pessoal da Econet Editora, eles me passaram que poderia ser adicionado o Frete independente do ramo de atividade; 

-ST apenas é Calculado pela Alíquota do MVA, mas também temos a possibilidade de utilizar por PMC;

 

Estou a disposição para ajudar a manter este projeto em funcionamento, caso tenha me passado em algo peço Desculpas, mas quem sabe com uma pequena explicação possa entender melhor a lógica do projeto.

LogoACBr_02.png.d3c72a4756f896a387e063fd64ed6646.png Frederico Westphalen - RS
pbnew.com.br  
[email protected]  
55 3744 - 3880  
Link para o comentário
Compartilhar em outros sites

Ola Pessoal,

 

Achamos a ideia interessante. Estaremos disponibilizando uma classe construída em sua versão inicial por um antigo parceiro, já que a nossa última versão está muito ligada ao nosso projeto e ficaria um pouco confuso e menos proveitosa para o projeto em epigrafe. Essa classe é auto explicativa e segue em anexo. Nossa agenda é muito cheia e não temos tempo pra ajudar na integração da mesma ao projeto CalculoNFe.

Esperamos ajudar ao grupo com essa contribuição. Em relação à forma de trabalho para o projeto, observamos ótimas idéias lançadas em pauta pelo colegas aqui do fórum. Parabéns a todos!

 

Deus abençoe a todos. Ótimo trabalho para todos os envolvidos!

 

 

NFeCalculoController.pas

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

  • 3 semanas depois ...
  • Consultores

Não consigo fazer o download, clico em cima e dar erro.

http://www.projetoacbr.com.br/forum/applications/core/interface/file/attachment.php?id=14533

Esta página da web não está disponível

Não está disponível mesmo. Nem pelo acesso ao painel administrativo eu consigo fazer o download. :(

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

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

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

  • Consultores

Imagino que com a conversão o link se quebrou, lembro que haviam hospedado a classe no sourceforge se não estou enganado.

Verdade. É bom lembrar que embora estivesse disponível aqui, esse não é um componente que faz parte do projeto ACBr.

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

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

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

  • 1 mês depois ...

Ola Pessoal,

 

Achamos a ideia interessante. Estaremos disponibilizando uma classe construída em sua versão inicial por um antigo parceiro, já que a nossa última versão está muito ligada ao nosso projeto e ficaria um pouco confuso e menos proveitosa para o projeto em epigrafe. Essa classe é auto explicativa e segue em anexo. Nossa agenda é muito cheia e não temos tempo pra ajudar na integração da mesma ao projeto CalculoNFe.

Esperamos ajudar ao grupo com essa contribuição. Em relação à forma de trabalho para o projeto, observamos ótimas idéias lançadas em pauta pelo colegas aqui do fórum. Parabéns a todos!

 

Deus abençoe a todos. Ótimo trabalho para todos os envolvidos!

 

 

NFeCalculoController.pas

Bom dia,

Não estou conseguindo baixar este anexo que postou , poderia me enviar por e-mail : [email protected]

Fico muito grato
Obrigado

Editado por walter faria
Erro ortografico
Link para o comentário
Compartilhar em outros sites

  • 4 semanas depois ...

Postado 9 Dez 2014 - Sergioguedes 

Disse : "Ainda devendo o modelo da minha implementação vou tentar fazer isso em breve, vou compartilhar o meu modelo porque acho que vocês podem me ajudar eu posso muita pessoas também."

Caro Sergio, a sua implementação esta em algum local diferente do ACBr, ou não existe ?

 

Link para o comentário
Compartilhar em outros sites

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