我在使用Paypal和Magento 1.7.0.2时遇到一些舍入问题-网站上的所有价格均含税,税款计算为20%(增值税)。

我将去结帐,一切都正确:



然后,我将单击下订单,贝宝将像这样,这是不正确的,因为总计现在减少了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/

切记不要修改核心文件-在本地创建副本

08-17 11:42