如何重新计算magento新行总税?

时间:2014-02-24 11:35:18

标签: magento

我正在$item->calcRowTotal()对象上拨打Mage_Sales_Model_Quote_Item

这非常适合重置row totalbase row total,但不会影响项目的行总计,包括税(row_total_incl_tax)属性。

我假设我必须在新行总计后手动执行此操作,但我无法弄清楚如何正确计算税金并填充项目的row_total_incl_tax属性

我们非常感谢任何建议。

1 个答案:

答案 0 :(得分:1)

获取税率并重新计算row_total_incl_tax。这是你如何获得税率。

假设您的订单没有。是101。

$sale = Mage::getModel('sales/sale)->load(101)
$taxModel = Mage::getModel('sales/order_tax')
        ->load($sale->getId(), 'order_id');
$taxRate = $taxModel->getPercent()

我想您知道如何根据row total值计算税额。

修改

根据产品征税:

$product = Mage::getModel('catalog/product')->load($item-getProductId());
$request = Mage::getSingleton('tax/calculation')
                    ->getRateRequest()
                    ->setProductClassId($product->getTaxClassId());

$taxRate = Mage::getSingleton('tax/calculation')
                ->getRate($request);

所以你知道税率,row_total_incl_tax是税额*数量+总金额的总和(或者你可以随意计算)。您可能需要检查项目价格是否包含税,您可以通过Mage::getModel('Tax/Config')->priceIncludesTax()

执行此操作