如何让Magento计算总订单的免费送货方式税

时间:2015-03-19 16:10:38

标签: magento

我使用magento 1.9.1在各处搜索了解决方案。我的店里有两种不同的税,分别为6%和21%; magento在订单上免费送货时查看这些税。

我已设置了桌面费率,其中45欧元+应免费送货。现在它的免运费大约为56欧元(减去21%的税率会带来45欧元)。我该如何解决这个问题?

(PS:似乎Magento 1.9.1没有看app / code / core / Mage / Shipping / Model / Carrier / freeshipping.php,因为编辑这个文件后没有任何变化)

1 个答案:

答案 0 :(得分:1)

要从表格费率计算运费(无论是免费还是非免费送货),请遵守税率,您可以延长Mage_Shipping_Model_Carrier_Tablerate。当然最好在自己的扩展中这样做,但你也可以在本地代码池中覆盖它。由于这更快并且用于演示,我将表明:

app/code/core/Mage/Shipping/Model/Carrier/Tablerate.php复制到app/code/local/Mage/Shipping/Model/Carrier/Tablerate.php。现在位于collectRates(Mage_Shipping_Model_Rate_Request $request)上方的// Free shipping by qty函数中添加以下代码:

if (Mage::helper('tax')->priceIncludesTax()) {
            foreach ($request->getAllItems() as $item) {
                $request->setPackageValue($request->getPackageValue() + $item->getTaxAmount());
            }
        }

计算基数将包括您的税。这是我在第一次讨论(据我所知):https://magento.stackexchange.com/questions/26434/shipping-method-table-rates-magento-v-1-7-always-include-tax-in-order-subtota