我正在构建一个 Prestashop 插件,我偶然发现了这个税收计算问题。
程序流程如下:
一个人在电子商务网站下订单,订单被接受,订单详细信息(如商品、价格、税金、折扣等)被发送到外部发票 API 服务。
订单的示例可能是:
(这些价格含税)
1 件 T 恤 20.64
1x 运费 125
1x 折扣 -18.58 (在这个特定的测试案例中,折扣是产品 90% 的折扣,数学很简单 20.64 * 0.90 = 18.58)
税后订单总额:127.06
这一切都很好,但是,当我将详细信息发送到 API 时,订单将保存为以下内容:
(这些价格是在不征税的情况下保存的,税率为 25%)
1 件 T 恤 16.51
1x 运费 100
1x 折扣 -14
税后订单总额:128.14
如您所见,订单总数不匹配,差异为 1.08,我认为这是折扣和税收问题。
值得注意的是,外部站点对发送的值(例如产品、税收等)进行自己的数学运算。我无法影响外部发票站点进行计算的方式。我认为问题是按照在不同平台上执行操作的顺序发生的。
还值得一提的是,当没有折扣时,代码可以正常工作。
在发送值之前我可以做什么,这样我最终在两个地方都得到了相同的值。