Estamos usando o Magento CE 1.7 e temos vários problemas de arredondamento. Em vários cálculos, há uma diferença de 0,01 EUR.
A questão básica pode ser que os preços dos artigos sejam incl. imposto.
Os co-programadores substituíram o Mage_Core_Model_Store::roundPrice()
método para calcular com precisão de 4 dígitos. Mas isso parece causar problemas nos pagamentos do PayPal.
Existe uma solução para esses problemas?
EDITAR:
Nós realmente tentei um patch de núcleo oficial que basicamente acrescenta 4 dígitos arredondamento para \Mage_Tax_Model_Sales_Total_Quote_Shipping::_round
, \Mage_Tax_Model_Sales_Total_Quote_Subtotal::_deltaRound
e \Mage_Tax_Model_Sales_Total_Quote_Tax::_deltaRound
que corrige um problema de arredondamento cupom, mas não o problema PayPal.
fonte
Respostas:
Estamos cientes de vários problemas de arredondamento no módulo tributário principal do Magento que cobrem os cenários que foram descritos. Atualmente, estamos trabalhando nessas questões para uma próxima versão 1.13. Esses problemas de arredondamento estão acionando uma verificação simples do Paypal, que determina se os itens de linha no carrinho são adicionados corretamente. Parece que o patch de Fabian cuida do cheque Paypal a curto prazo.
Se você tiver alguma dúvida, comentário ou sugestão sobre como podemos melhorar o módulo Magento Tax, não hesite em entrar em contato comigo, pois sou o gerente de produto responsável pelos impostos.
Atenciosamente, Chuck
fonte
Graças a Andreas Vogt, construo um módulo para corrigir o bug redondo do Paypal. Andreas me deu alguns arquivos principais hackeados e eu fiz o módulo. Ele verifica se as somas estão corretas e, se não, está corrigido.
Afaik, o núcleo hack é testado na natureza. Muitas pessoas pediram o módulo, mas nenhuma onw me deu um retorno sobre o funcionamento. Mas é testado em unidade! (apenas se as reescritas funcionam, porque eu não tinha idéia, qual é o problema do paypal ;-))
https://github.com/magento-hackathon/PaypalRoundBugfix
fonte
Estamos enfrentando tanto o bug de arredondamento do paypal quanto a questão dos códigos de cupom com 100% de desconto. Temos apenas problemas nos preços (como Eur 3,99, incluindo impostos), onde o preço líquido tem no terceiro dígito um 5 (3.325). Assim também o imposto (aqui com 20%) tem no terceiro dígito um 5 (0,665). Portanto, se você arredondar e adicionar os dois preços (o que o paypal e o magento fazem), o total será de 0,01 euro a mais do que o preço base (4,00 a euro).
A caclulação correta deve ser de EUR 3,32 líquido + EUR 0,67 de imposto = EUR 3,99
Como também estamos tentando encontrar uma solução geral, tentamos corrigir o arredondamento paypal!
fonte
existe uma relação geral entre preços, quantidade, desconto, imposto e suas precisões.
A questão importante é o subtotal arredondado que estou calculando com o máx. Erro. 2 dígitos fracionários significa 5 * 10 ^ -3
Dê sua nota! Dê sua nota! 2Comentários (2)
B) x * (y + 10 ^ 2) / 10 ^ 2 // s * 10 ^ 2 / (10 ^ 2 + y)
......
Se você deseja calcular com descontos ou impostos e deseja recalcular o preço, a próxima explicação pode ser interessante para você. Esteja ciente de que, como não conheço nenhum caso no front-end, é possível que haja um cálculo interno. A) Total => Imposto / Desconto => Total B) Imposto / Desconto => Total => Imposto / Desconto
A) x * y / 10 ^ 2 // s * 10 ^ 2 / y
B) x * 10 ^ 2 / a // s * a / 10 ^ 2
Com uma precisão de 2 dígitos, você deve ter uma taxa sem NENHUM DÍGITO FRACIONAL. Exemplo: Total: 15,15 alíquota: 0,3% => imposto 0,04545 => arredondado 0,0455 imposto: 0,0455 => total: 15,17
se a é a precisão, deve ser y menor que a + 2.
Observe se você lida com quantidades. O erro será multiplicado. Portanto, se você tem um máximo de 10 ^ 5, precisa ter uma precisão de 7. Isso é preocupante, se você está calculando com deslocamento!
ALÉM (2013/10/09 Magento Versão 1.7.0.2) Brutto <=> Netto e Impostos // América <=> antigos conjuntos Europa são inteiros (centavos) e o mapeamento
f (x) = round (a * x) a> 1 é não é bijetivo. Nas minhas palavras: nem por todos os preços, incl. existe um preço excl. ou Às vezes há 2 preços incl. por um preço excl. ou Você pode obter 2 resultados diferentes, dependendo de como calcular
Exemplo do mundo real da Alemanha:
Você tenta inserir um preço incl. impostos: 19,95 Você recebe 16,76 (2 dígitos) conforme seus preços excl. os impostos (19%). Se você calcular os 19% de impostos, obtém (16,76 * 0,19) 3,18. (Esteja ciente: 19,95 * 019 / 1,19 ~ 3,19)
Portanto, há uma diferença de 1 centavo. 16,76 => 19,94 16,77 => 19,96
Não há preço de 19,95 na América - terra de netto.
Portanto, calcule com os preços originais o máximo possível. Para incluir preços, use o preço inserido e os impostos (número quebrado).
O PayPal tem essa verificação de fraude - agora não tenho certeza - mas o PayPal apenas adiciona o número que o magento fornece. veja http://fabiankrueger.de/blog/magento-und-paypayl-rundungsfehler/ Se isso não for verdade e o PayPal recalcular imposto ou total, esse problema não é solucionável, caso contrário, os preços - errados ou corretos - são mostrados anteriormente no Magento . Resolva-o lá. Para mim, parece funcionar.
fonte