woocommerce - Woocommerce 税收四舍五入问题
问题描述
我的设置是最新的 Woocommerce+Wordpress+WPML。我的产品是在没有税的情况下插入的,并且相关的 Woocommerce 设置设置正确。使用“小计级别的舍入税,而不是每行舍入”设置没有帮助。每个欧盟国家的税率不同。十进制设置为 2。
重现步骤:
- 将产品价格设置为 9.19 欧元(不含增值税)
- 模拟在增值税为 7% 的国家/地区进行的购买,并将 3 件商品放入购物车
这就是发生的情况:Woocommerce“内部”计算购物车行:9.19€+7%(VAT) = 9,8333€ x 3 = 29,4999€ ====> 然后 Woocommerce 小计为 29.50€ 并显示到用户。似乎 Woocommerce 使用 4 位十进制数字进行内部计算……但我的商店仅向用户显示 2 位数字。
所以...购物车中的用户看到:9.83 欧元(显示给用户的价格,含 7% 增值税)。
所以对于用户来说 9.83€ x 3 = 29,49€ 而不是 29.50€!!!!
我知道只有 1 美分,但这会导致客户和我们的外部发票系统出现问题(使用用户的“同一行”9.83 欧元 x 3 = 29.49 欧元)。
我怎样才能解决这个问题?无论如何设置 Woocommerce 只使用 2 个十进制精度数而不是像现在这样的 4 个十进制数来进行数学运算?有没有人找到解决方法或类似方法?
注意:我之前做过一些搜索(也在stackoverflow中),但我找到了所有旧线程。像这样: https ://github.com/woocommerce/woocommerce/issues/14458让我尝试这个https://github.com/woocommerce/woocommerce/pull/14475#issuecomment-306742617但没有运气。
解决方案
我有同样的问题,但只有当产品数量超过 2 时。例如 13,09。它显示 6.55 而不是 6.545。
这是反向模式下的匹配计算问题。在 Json 和原始数据中,我们可以获得 4 位数字,但对于显示和税收计算只有 2 位数字。对此最好的方法是输入所有不含税的价格,包括运费。但并非在所有情况下我们都可以使用不含税的价格模型。
推荐阅读
- r - Caret preProcess = "medianImpute" 但仍然缺少值错误
- firebase - 云函数中的多个数据库调用
- scala - Scala - 聚合元组
- highcharts - 用highcharts覆盖2系列不同长度的数据
- javascript - html2canvas在ie11中使用promise函数抛出语法错误
- php - Laravel 多个 Sortby 无法正常工作
- php - 在 WooCommerce 电子邮件订单元中获取自定义字段数组值
- java - 在 JDK 1.3 String.replaceall() 中不起作用。任何替代解决方案
- azure - 注册机器人并部署到 Azure
- javascript - C - tiny-aes-c 和 Javascript CryptoJS 互操作性