我们有一个 PHP 在线商店,里面填满了税前价格 - 客户有以下账单:
啤酒,增值税 10%,价格 1.99 美元,金额 15
面包,增值税 10%,价格 0.73 美元,金额 5
葡萄酒,增值税 13%,价格 4.77 美元,金额 7
眼镜,增值税 20%,价格 7.66 美元,金额 5
优惠券,15% 的折扣
运费,增值税 20%,价格 5.97 $
可能性一:计算增值税前总价,稍后扣除
a) 计算不同税率的整体
- 对于 10% 增值税:1.99 * 15 + 0.73 * 5 = 33.50 $
- 13% 增值税:4.77 * 7 = 33.39 $
- 20% 增值税:7.66 * 5 + 5.97 = 44.27 $
b) 申请代金券
- 10% 增值税:33.50*0.85 = 28.48 $
- 13% 增值税:33.39*0.85 = 28.38 $
- 20% 增值税:44.27*0.85 = 37.63 $
c) 扣除增值税:增值税=(税前价格/(100+税率))*税率
- 对于 10% 增值税:增值税 = (28.48 / (100 + 10)) * 10 = 2.59 $
- 对于 13% 增值税:增值税 = (28.38 / (100 + 13)) * 13 = 3.26 $
- 对于 20% 增值税:增值税 = (37.63 / (100 + 20)) * 20 = 6.27 $
d)
- 最终增值税 = 12.12 $
- 税后价格 = 44.27 + 33.39 + 33.50 - 12.12 = 99.04 $
- 总价 = 111.16 $
可能性2:计算每行价格,每行扣除增值税
a) 计算行价格
- 啤酒:1.99 * 15 = 29.85 美元
- 面包:0.73 * 5 = 3.65 $
- 酒:4.77 * 7 = 33.39 $
- 眼镜:7.66 * 5 = 38.30 $
- 运费:5.97 $
b) 申请代金券
- 啤酒:29.85 * 0.85 = 25.37 $
- 面包:3.65 * 0.85 = 3.10 $
- 葡萄酒:33.39 * 0.85 = 28.38 $
- 眼镜:38.30 * 0.85 = 32.56 $
- 运费:5.97 * 0.85 = 5.07 $
c) 扣除增值税:
- 啤酒:(25.37 / (100 + 10)) * 10 = 2.31 $
- 面包:(3.10 / (100 + 10)) * 10 = 0.28 $
- 葡萄酒:(28.38 / (100 + 13)) * 13 = 3.26 $
- 眼镜:(32.56 / (100 + 20)) * 20 = 5.43 $
- 运费:(5.07 / (100 + 20)) * 20 = 0.84 $
d)
- 最终增值税 = 12.12 $
- 税后价格 = 99.04 $
- 总价 = 111.16 $
注意:不好的例子,但四舍五入不好,增值税可能会略有不同。
可能性3:计算每个产品的增值税前价格,然后总结
a) 申请代金券 + b) 扣除增值税
- 啤酒:(1.99 * 0.85 / (100 + 10)) * 10 = 0.15 $
- 面包:(0.73 * 0.85 / (100 + 10)) * 10 = 0.06 $
- 葡萄酒:(4.77 * 0.85 / (100 + 13)) * 13 = 0.47 $
- 眼镜:(7.66 * 0.85 / (100 + 20)) * 20 = 1.09 $
- 运费:(5.97 * 0.85 / (100 + 20)) * 20 = 0.85 $
c) 计算行税(通常是价格,但我们这里不需要 em)
- 啤酒:0.15 * 15 = 2.25 $
- 面包:0.06 * 5 = 0.30 $
- 酒:0.47 * 7 = 3.29 $
- 眼镜:1.09 * 5 = 5.45 $
- 运费:0.85 * 1 = 0.85 $
d)
- 最终增值税 = 12.14 $
- 税后价格 = 99.02 $
- 总价 = 111.16 $
如您所见,示例 3 中的最终增值税略有不同。
我的问题是:哪种计算是正确的?哪个不正确,为什么?在网上商店结账时计算增值税的正确操作顺序是什么(仍然有可能的不同顺序,我没有在示例中列出)?
了解这一点尤其重要,因为我有一家 B2B 客户的商店,他们看到的价格不含增值税。