0

这确实是一场噩梦。我真的需要你们集体思想的帮助:

在加拿大,各省的税收计算方式不同:

Alberta - 5%
British Columbia - 5% GST and 7% PST

计算每种产品价格的直接税很容易......我遍历购物车中的所有物品并计算每个产品价格的税。即使物品是 PST 豁免的,我也可以检查...

棘手的部分是当我必须使用折扣优惠券代码时!

显然,任何折扣都需要应用于税前金额......但我需要分别处理每个项目以计算税款。我不能从购物车总额中扣除 20 美元,因为每件商品都有自己的设定价格……这意味着当我处理每件商品时,我需要知道折扣后的价格是多少。

但还记得有些产品是如何豁免 PST 的吗?好吧,这很复杂:

Item 1 - $24.99 - GST (5%) and PST (7%)
Item 2 - $11.99 - GST (5%)

Discount - $20.00

我到底怎样才能应用购物车折扣,但保持税收的完整性?

4

1 回答 1

0

你能做这样的事情(伪代码)吗?

$item_price = $10
$final_price = ((($item_price * $discount) * $gst) * $pst)

然后将折扣设置为 1 的倒数。

即无折扣:$discount = 1.0; 20% 折扣:$discount = .8;

编辑:实际上-您还没有真正提供足够的信息。如果折扣是总数的百分比 - 那么我上面的代码将起作用。

但是,如果您的折扣是“固定”价格 - 那么您就有问题了。您是从第一件商品中扣除价格,还是将其平均分配给购物车中的所有商品?无论哪种方式都会产生税收影响。

假设您想在所有项目中分配价格 - 那么这样的事情会起作用:

$discount = $20;
$num_of_items_in_cart = 5;
$discount_per_item = $discount/$num_of_items_in_cart;
$final_price = ((($item_price * $discount_per_item) * $gst) * $pst)
于 2013-09-21T07:40:10.610 回答