WooCommerce shipping tax

时间:2017-05-26 作者:Nicu Zecheru

我对运费税的计算有意见。我添加了无税的运输成本,在购物车/结帐页面中一切都计算正常。此外,在后台,订单显示正确(成本/税费计算正常)。

当您change the order status to Complete 发票通过电子邮件发送-it will automatically change the shipping cost and the total cost - it adds 0.01注意:如果在将订单状态更改为“完成”之前手动生成发票,则生成的发票正常-发票和后台的税费/成本都正常)

以下是当前设置和结果的一些屏幕截图:General OptionsTax OptionsStandard RatesStandard RatesCart taxes/costs are calculated correctly一二

现在,当您将订单状态更改为“完成”时,它将通过电子邮件发送发票,并更改税费/成本:Order Complete - incorrect taxes/costs

这是发票中显示金额的方式:Invoice - incorrect taxes/costs

运费是15(含税),因此我必须将其配置为12.6050(不含税),以便正确计算:15 lei。

我认为这个问题与使用的小数位数有关——WooCommerce设置为2个小数。如果我将WooCommerce设置更改为使用4位小数,这是可以的,但数量看起来很糟糕,让客户非常困惑。

从会计角度来看,无税运输成本应为12.61列伊,运输税应为2.39列伊(含税总运输成本=15列伊)

使用WooCommerce 3.0.5和WooCommerce PDF Invoices & Packing Slips (尝试了其他开票插件,问题也是一样的)。

你知道我应该怎么做才能使用2个小数,并将运费保持在15列伊(含税)?

谢谢你的帮助。

2 个回复
最合适的回答,由SO网友:hwl 整理而成

这不是wordpress真正的问题,但我要回答它,因为我认为问题的本质是不理解结果中被视为错误的代码,如果需要输入的值来创建一个总数而不是重建一个总数,那么它所做的正是有意义的。简单地说,这是一个舍入问题,之所以会出现这种情况,是因为代码在计算的某些阶段期望(强制)真实世界的值。

当从计算中得出的数字四舍五入时的问题,如您的情况:

[ Gross / (tax rate +1) = pre tax], 结果可能出乎意料。

12.605042016806723 x 1.1912.6050 x 1.1912.60 x 1.1912.61 x 1.19, 尤其是如果结果值将再次四舍五入。

我认为这个问题与使用的小数位数有关——WooCommerce设置为2个小数。如果我将WooCommerce设置更改为使用4位小数,这是可以的,但数量看起来很糟糕,让客户非常困惑。

我想你是对的。而真正的问题是shipping + (shipping x tax rate) 也将四舍五入到两位小数。

119% of 12.6050 = 14.99995 (四舍五入到两位小数:15.00)

119% of 12.61 (如果系统使用两位小数,则为四舍五入值)= 15.0059 (四舍五入到两位小数:15.01)

我不知道你提到的所有插件设置,但也许

小计级别的圆形税

您显示的选项是将运费四舍五入到12.61 在该纳税计算之前(又名小计)。无论如何,有一个简单的修复方法:

解决方案:

因为您试图使其达到总数15.00, 而不是准确反映shipping + shipping tax, 在运输成本的第二位小数点后删除所有内容12.60 而不是12.605012.605042016806723 ;)

12.60 x 1.19 = 14.994, which will round to 15.00.

SO网友:jayesh babel

出现此问题的原因是woocommerce税率高达4个小数点。我使用此代码修复woocommerce问题。使用代码段插件添加此内容。

// Round price for .99 .01 decimals
add_filter( \'raw_woocommerce_price\', function ( $price ) {
$decimals = round( $price - floor( $price ), 2 );

return ( $decimals == 0.01 || $decimals == 0.99 ) ? round( $price ) : $price;
} );

结束

相关推荐