【问题标题】:Subtract tax from a price with tax in OpenCart?在 OpenCart 中从含税价格中减去税金?
【发布时间】:2021-12-05 15:21:57
【问题描述】:

如何在 OpenCart 中税从价格中减去所有税?

在下面的示例中,我使用 OpenCart 中的默认“应税商品”税收设置,即 20% 增值税 + 2,00 美元生态税。

$number = 20.80

// Get $number tax:
$tax = $this->tax->getTax( $number , $product_info['tax_class_id'] , $this->config->get('config_tax') );

// Subtract tax from total price:
$result = $this->currency->format( ( $number - $tax ) , $this->session->data['currency'] );

这会返回错误的值 14,64 美元,因为它计算 $number (20,80) 的税,这已经是一个价格税。不含税 $20,80 的正确价格应为 $15,67

这应该是这种情况下的公式: (20.80 - 2.00) / 120 * 100 = 15.6667

有没有办法从已经含税的价格中减去所有税费?

【问题讨论】:

  • @RiggsFolly 我希望我做到了,但不幸的是没有。
  • 是的,但仅在此示例中。价格和税率是可变的。如果我使用 OpenCarts 方法计算税款(如示例代码中所示),则返回值不正确。
  • 税率并不总是 20%,因为世界各地的店主有不同的税率。如果我计算了 20% 的税和 2.00 美元的生态税,但另一个国家/地区的店主设置了不同的税率,则计算不再有效。

标签: php opencart calculation tax


【解决方案1】:
$taxRate = 20;

$gross = 150;
$divisor = (100 + $taxRate) / 100;
$net = round( $gross / $divisor, 2);
$tax = round( $gross - $net, 2 );

Echo "Gross was $gross - Net is $net Tax is $tax";

20% 税的结果

Gross was 150 - Net is 133.33 Tax is 16.67

15% 税的结果

Gross was 150 - Net is 130.43 Tax is 19.57

尝试几次试运行,然后检查此代码

【讨论】:

    【解决方案2】:

    例如,如果您的税为 21%,并且您的产品税为 120.. 不含税将为:120/1.21。 所以如果税率:

    $tax_rate = 21;
    

    产品价格:

    $price = 120;
    

    不含税价格:

    $price_without_tax = $price/($tax_rate/100 +1);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-28
      • 2011-05-07
      • 1970-01-01
      • 2016-12-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多