我在使用 Paypal 和 Magento 1.7.0.2 时遇到了一些舍入问题 - 网站上的所有价格均含税,税费为 20%(增值税)。
我去结账,一切都正确:
然后我点击place order,Paypal会是这样,这是不正确的,因为总计现在少了1p。这似乎是由税收的四舍五入方式引起的。
在某些情况下,它工作正常,但在其他情况下,税收四舍五入不正确。我已尝试更改 app/code/core/Mage/Tax/Model/Calculation.php 中的税收计算方法 calcTaxAmount()
我将此添加到 calcTaxAmount 方法中,这似乎修复了它,但它导致产品页面上的价格不正确(少了 1p)。
$amount = $this->roundUp($amount);
我很确定这是一个错误,但我没有主意。如果有人以前遇到过这个问题并且有解决方案,我会很高兴听到。非常感谢任何帮助。
编辑:这是我在 Magento 中的税务设置
最佳答案
我想我已经找到了这个困扰社区的问题的解决方案。
如果您的价格含税,则税费计算有误。
这是解决方法 - 在 Mage_Tax_Model_Calculation::calcTaxAmount() 中:
改变条件:
if ($priceIncludeTax)...
到:
if ( ! $priceIncludeTax ) ...
所以条件看起来像:
if ( ! $priceIncludeTax ) {
$amount = $price*(1-1/(1+$taxRate));
} else {
$amount = $price*$taxRate;
}
详情看我的评论:http://www.magentocommerce.com/boards/viewthread/247201/P45/
切记不要修改核心文件——在本地创建一个副本
关于Magento 和 Paypal 税收四舍五入问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11868985/