【问题标题】:Woocommerce - Cart product wrong calculationWoocommerce - 购物车产品错误计算
【发布时间】:2016-10-26 14:18:18
【问题描述】:

当订阅 12 个月时,购物车显示错误的计算,但在 1 个月时正确。

Woocommerce 设置:

  • 价格不含增值税
  • 计算税金依据:客户帐单地址
  • 在购物车/结账时显示价格:不含增值税

我错过了什么吗?

订阅 1 个月的屏幕截图

12 的屏幕截图

【问题讨论】:

  • 抱歉,这有点令人困惑...一个应用 29.00 的价格,另一个应用 24.17 的价格...您无法匹配一个和另一个.您申请的 TAX % 是多少?我假设您正在申请 20% 的增值税(据我所知,法国是 19.6%)所以如果是这样的话,它的计算是正确的。是价格还是总价搞砸了。因此,12 个月内给出的价格似乎是在 if 之上加上了 TAX,而且它又在加税。检查 12 个月的配置,配置有问题
  • 12 个月的基本价格是 29 我有 2 个月免费 (29 *10 /12 = 24.17)。现在法国的增值税是 20%,不再是 19.6%。
  • 我不明白你上面的计算,但无论如何,你面临的问题是它对 12 个月的产品应用了两次 TAXES:(24,17 *12)*1, 2 = 348,04 现在如果你再次乘以 1,2(再次应用税款,你会得到以下 348,04 * 1,2 = 417,60。我的意思是,你需要检查 12 个月订阅配置,因为它应用了两次 TAXES
  • 顺便说一句,我再次阅读了您的消息,我理解了计算。但还是一样,1个月的订阅只适用一次税,12个月的订阅适用两次
  • 我会尝试查找税收适用的地方并找出问题所在

标签: wordpress woocommerce


【解决方案1】:

错误不是税收计算,而是价格本身。添加 12 个月时,我只更改了显示的未计算价格,因此我添加了此功能来解决此问题。

add_action( 'woocommerce_before_calculate_totals', 'add_custom_price' );

function add_custom_price( $cart_object ) {

    foreach ( $cart_object->cart_contents as $value ) {
        if ( $value['quantity'] == 12 ) {
            if ( $value['product_id'] == 2244 ) { // Small
                $value['data']->price = 24.16666;
            }
            // Add others products here. Hope there are not many products 
        }
    }
}

【讨论】:

  • 很高兴你修好了伙计!
猜你喜欢
  • 2018-07-04
  • 2021-11-08
  • 1970-01-01
  • 2017-04-28
  • 2014-11-21
  • 2018-10-31
  • 2017-04-27
  • 1970-01-01
  • 2021-08-22
相关资源
最近更新 更多