Ir para conteúdo
  • Cadastre-se

dev botao

Como Ratear Corretamente desconto


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

Recommended Posts

Prezados, estou adequando um sistema a nova norma onde os descontos têm que constar no item e já vi alguns tópicos aqui falando disso, mas não encontrei algo que sanasse por a +b uma dúvida que tenho que é a seguinte :

considerem a situação :

uma nota com 3 produtos, cada um possuindo 33,33 de valor e 1 de quantidade como segue no xml

a questão é que se eu tenho um desconto total de 0,99 na nota (por ora nesse sistema só damos a opção de desconto na nota)

eu deveria ter um desconto de 0,33 para cada item dessa nota certo?

se sim o valor de cada produto deveria se manter 33,33 ou ele deveria ser passado já com o valor descontando esses 0,33?

da forma como está o xml hoje eu recebo o erro "629", a minha dúvida é se nesse caso por exemplo o valor de cada item deveria estar descontado os "0,33" resultando em (33 * 1) ou se o caminho é outro.

não sei se eu consegui me fazer ser entendido, espero que sim :D

Obrigado!

35120308338446000132557000000000191000000199-nfe.xml

Link para o comentário
Compartilhar em outros sites

  • Moderadores

... a questão é que se eu tenho um desconto total de 0,99 na nota (por ora nesse sistema só damos a opção de desconto na nota) eu deveria ter um desconto de 0,33 para cada item dessa nota certo?

R: Sim

...se sim o valor de cada produto deveria se manter 33,33 ou ele deveria ser passado já com o valor descontando esses 0,33?

Manter 33,33.

Pág. 121

I11-vProd - Valor Total Bruto dos produtos

...da forma como está o xml hoje eu recebo o erro "629"

Erro 629

NT2011.005

Pág. 2

· Data da implantação da NT 2011/004 em produção – a NT 2011/004 será implantada em produção em 01/11/2011, exceto as seguintes regras de validação que serão implantadas a partir de 01/02/2012:

- GI10a – Validação do valor unitário de comercialização do item do produto – código de rejeição: 629;

- GI14a – Validação do valor unitário de tributação do item do produto – código de rejeição: 630;

Pág. 4

I10a- Se NF-e Normal (finNFe=1)

vProd (id:I11) difere de vUnCom (id:I10a) * qCom (id:I10)

Parte do seu XML do primeiro ítem:

1.0000

33.3300000000

33.00

Ou seja qCom (1) x vUnCom (33.33) = 33.33 e não 33.00 (logo vProd difere de vUnCom * qCom)

  • Curtir 3


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

Sinceramente, respostas como a do Kiko Fernandes me estimulam a ficar aqui "catando" posts e lendo, pois mesmo que eu não esteja com o problema, acaba me sanando uma possível futura dúvida.

Resposta de longe melhor do que: "leia o manual de integração"

Parabéns!

  • Curtir 2

- Sou desenvolvedor.

- De que linguagem, delphi? .NET? Java?

- Qualquer uma, sou desenvolvedor.

Link para o comentário
Compartilhar em outros sites

Mais um "Salve" pro Kiko Fernandes !

Também sempre paro pra ler as respostas dele, pois sempre são coerentes e acertam na mosca.

Só um 'adendo', se me permitem. O desconto tem que ser "rateado" , em percentuais relativos ao valor de cada ítem.

+- isso:


aliquotaDesconto := 0

somaDesconto := 0

vTotalProdutos := 105,00 

vTotalDesconto := 20,00


ItensNota.Fist;

while not ItensNota.eof do begin

    aliquotaDesconto := ItensNota.ValorTotaldoItem / vTotalProdutos;

    valorDescontoRateado := aliquotaDesconto * vTotalDesconto;

    somaDesconto:=somaDesconto+valorDescontoRateado;


    ItensNota.edit;

    ItensNota.ValorDesconto := valorDescontoRateado;

    ItensNota.post;


    ItensNota.next

end;

// Verifique se "somaDesconto" é igual ao vTotalDesconto, pois pode dar alguns centavos de diferença

// aí, pode-se jogar a diferença no último ítem, pro desconto "bater"

[]´s

Edson.

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Pessoal, agradeço os elogios!

É um prazer ajudar quando está no meu alcance e disponho de algum tempo para isto.

Tem muitos colegas que aqui não tem medido esforços para estarem ajudando a todos e acabam contribuindo para aumentar o conteúdo do forum que de uma maneira ou outra se torna uma referencia por possuir boa qualidade de informações para pesquisas.

Parabéns ao forum e a todos participantes que compartilham suas informações aqui!

  • Curtir 1


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

  • 10 anos depois...

aliquotaDesconto := 0

vTotalProdutos := 105,00 

vTotalDesconto := 20,00


ItensNota.Fist;

while not ItensNota.eof do begin

    aliquotaDesconto := ItensNota.ValorTotaldoItem / vTotalProdutos;

    valorDescontoRateado := aliquotaDesconto * vTotalDesconto;

    ItensNota.edit;

    ItensNota.ValorDesconto := valorDescontoRateado;

    ItensNota.post;

    // fazendo a subtração do valor total do produto e do total do desconto 
    // não sobra valor, devido ao valor do último ValorTotaldoItem ser igual ao vTotalProdutos
    // o desconto será o valor total de vTotalDesconto
    vTotalProdutos := vTotalProdutos - ItensNota.ValorTotaldoItem;
    vTotalDesconto := vTotalDesconto - valorDescontoRateado;

    ItensNota.next

end;

Link para o comentário
Compartilhar em outros sites

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

The popup will be closed in 10 segundos...