Magento CE 1.7。说,我有一个产品,$ 1799.99(包括8.25%的税)和优惠券折扣10%( - $ 180.00折扣金额)。 “申请客户税”选项设置为折扣后,我正在使用“单位价格”税计算方法。在调试时,我登陆了该法规,该法规计算出税收总计:

case Mage_Tax_Model_Calculation::CALC_TAX_AFTER_DISCOUNT_ON_INCL:
    $discountAmount     = $item->getDiscountAmount() / $qty;
    $baseDiscountAmount = $item->getBaseDiscountAmount() / $qty;

    $unitTax = $this->_calculator->calcTaxAmount($price, $rate, $inclTax);
    $discountRate = ($unitTax/$price) * 100;
    $unitTaxDiscount = $this->_calculator->calcTaxAmount($discountAmount, $discountRate, $inclTax, false);
    $unitTax = max($unitTax - $unitTaxDiscount, 0);
    $baseUnitTax = $this->_calculator->calcTaxAmount($basePrice, $rate, $inclTax);
    $baseDiscountRate = ($baseUnitTax/$basePrice) * 100;
    $baseUnitTaxDiscount = $this->_calculator
        ->calcTaxAmount($baseDiscountAmount, $baseDiscountRate, $inclTax, false);
    $baseUnitTax = max($baseUnitTax - $baseUnitTaxDiscount, 0);

App/Code/Core/Mage/税/型号/销售/总计/Quote/税收,PHP, 第379行

请注意如何获得$折叠式:而不是使用适用的税率来计算其计算其自身价值的单位税,该价值可以用$ rates表示为$ castountrate = $ rate = $ rates /(1 + $ rate),或给予给定$ rate = 8.25%(0.0825):0.0825 / 1.0825 = 0.0762。然后,以此费率计算的折扣税为$ 12.75,导致税收总额为137.18美元 - $ 12.75 = $ 124.43。

有趣的是,在以下几行的同一例程中,使用$ rate值(在我的示例中为0.0825)计算隐藏税(即折扣金额):

if ($inclTax && $discountAmount > 0) {
    $hiddenTax      = $this->_calculator->calcTaxAmount($discountAmount, $rate, $inclTax, false);
    $baseHiddenTax  = $this->_calculator->calcTaxAmount($baseDiscountAmount, $rate, $inclTax, false);
    $this->_hiddenTaxes[] = array(
        'rate_key'   => $rateKey,
        'qty'        => $qty,
        'item'       => $item,
        'value'      => $hiddenTax,
        'base_value' => $baseHiddenTax,
        'incl_tax'   => $inclTax,
    );

App/Code/Core/Mage/税/型号/销售/总计/Quote/税收,PHP, 第393行

此“隐藏税”总计(在我的示例中:$ 180- $ 180 /(100 + 8.25%) / 100 = $ 13.72)稍后用于计算总数,如净下班税,税和隐藏税,减税,减折扣: $ 1662.81 + $ 124.43 + $ 13.72- $ 180.00 = $ 1,620.96。这里的问题是,在计算税收总计的同时,系统以相同的折扣金额使用了两个不同的费率!是错误还是功能?

有帮助吗?

解决方案

显然,该问题已在CE 1.8.0.0版本中解决 - 怪异的$折叠变量已经消失,单位税和隐藏税都使用相同的费率。

许可以下: CC-BY-SA归因
scroll top