首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

详解订单多商品多运费模板的运费计算规则(附案例)

对于电商系统来说,配送方式和运费配置无疑是订单闭环中重要的模块之一。现主流的电商平台大部分商品都是采用全国(港澳台除外)包邮,你没听错,偏远地区有些商家也采用包邮模式(里面道道看破,不说破,哈哈~)。

当然,电商系统后台肯定会支持商家自行配置运费模板,当商户在上传商品的时候,需要选择或新建运费模板。然后用户将商品加入购物车进行结算时,系统自动计算出运费多少。

这时候就会引发一个问题:当用户结算多件商品,其捆绑了不同的运费模板,比如有按件计费、按重量计费,甚至同种类型模板也有不同配置参数,此时这么运费该如何做合理的计算,肯定不能简单运费添加的,那如何做到一个商家和用户比较均衡,尽量让双方都不吃亏呢?

因此,我特意研究了淘宝的运费配置,总结其运费计算方式,本文主要针对按件计费、按重量计费方式,对运费计算进行详细说明,按体积计费大家可按照本文说明,同理可得,自行研究。

一般在电商后台设置运费模板时,会涉及到以下几个参数:配送区域、计价规则、首费标准、首费(元)、增费标准、增费(元)、免邮条件等等。

开始我咨询淘宝客户:“一个订单里包含多个商品多个运费模板,运费是怎么计算?”

客服反馈如下:

如一个订单里包含多个商品多个运费模板时,运费计算逻辑是:根据首费最高、增费最低的原则选择首费模板,其余的商品只计算增费。举一个例子:

第一步:商品按照运费模板分组,三个商品分数不同的的运费模板,所以共三个计算分组。

第二步:计算首费。从三个分组里根据首费最高增费最低原则,选择A的运费模板作为首费。所以首费为5元。

第三步:计算增费。遍历这三个分组计算增费。A的增费:因为A满足首费,需要扣除首费资源后在计算增费,其增费为(ceil(double(3-2)/2))x1 = 1;B的增费为1x2=2元。C满足包邮条件,也需要扣除资源,其增费为(6-5)x2=2元

总运费=首费+增费:5+1+2+2 = 10元

好了,官方例子大家可能朦朦胧胧的看明白,也有可能云里雾里的,其中还是涉及到好多细节没有讲到,接下来我们一起来深扒深扒。

运费计算步骤:

步骤一:按照运费模板不同进行分组:其中相同商品同一个模板也应归为一组,后面计算增费均以分组维度来计算的。

步骤二:计算首费:根据首费最高,增费最低的原则,选择首费模板;

1) 首先排除运费为0,包邮的分组,其不参与被选择;

2) 若存在两组首费和增费一样的分组,按默认顺序选择其中一组作为首费模板;

3) 排除包邮的分组后,只剩下一组分组时,直接按默认运费计算规则计算,无需选择首费模板,也没有步骤三的操作。

步骤三:计算增费:遍历不同分组,计算各自增费;

首费所在分组计算增费,需要考虑收费标准;

增费数量(超出部分需要缴纳的邮费的件数或者重量)公式如下,且增费数量计算结果要向上取整。

每一分组子订单运费公式:子订单运费 = 增费数量 * 增费(元)

计算运费的前,应考虑以下重要两点:

【1】分组所在的运费模板是否是首费模板;

【2】分组内是否满足免邮条件;

按件计费和按重量计费各有差异,请继续往下看。

3.1 按件计费

1) 有满n件免邮条件,购买件数大于等于n,免邮,运费为 0;

2) 有满n件免邮条件,购买件数小于n,不免邮;

若分组所在运费模板是首费模板,增费数量公式如下:

(公式1)

注意:不免邮情况下,此时包邮数量取值为 0;

若不是首费模板的时候,购买件数无需和首费标准件数相比较,增费数量公式如下:

(公式2)

注意:此时首重标准、包邮数量均取值为 0;

3)无免邮条件,计算增费数量时,增费数量如下情况;

若分组所在运费模板是首费模板,增费数量公式如公式1

若不是首费模板的时候,购买件数无需和首费标准件数相比较,增费数量公式如公式2

3.2 按重量计费

1) 有在 n (KG)内免邮条件,购买商品重量小于等于n,免邮;

2) 有在 n (KG)内免邮条件,购买商品重量大于等于n,n 部分免邮;大于n部分按增费计算;

若分组所在运费模板是首费模板,增费数量公式如下:

(公式3)

注意:符合免邮条件情况下,此时首费标准取值为 0;

不是首费模板的时候,增费数量公式如(公式3)

3)无免邮条件,购买商品重量 m;

若分组所在运费模板是首费模板,增费数量公式如下:

(公式4)

注意:无免邮条件情况下,此时包邮重量取值为 0;

不是首费模板的时候,增费数量公式如下:

(公式5)

注意:无免邮条件情况下,此时首费标准、包邮重量取值为 0;

步骤四:总运费 = 首费 + 分组子订单增费合计

举个例子

例子1:多个商品,存在相同运费模板(按件),且满足免邮条件

1) 按照步骤一规则运费模板分组:A、B同一组,C一组;

2) 计算首费:

按照首费最高,增费最低的原则,有包邮分组要先剔除掉;

显然A、B同一模板,合为一组,总计 5 件,满足免邮条件,因此A、B运费为 0,剔除选首费模板资格;

目前只留守C组这一个分组,按照规则该订单无需选择首费模板,按照默认规则计算运费即可;

3) 计算运费:

C 购买重量 7 KG,满足免邮条件,因此 5 KG 无需手续费用,增费为

4) 总运费 = 4 元

例子2:多个商品,存在相同运费模板(按重量),且不满足免邮条件         

1) 按照步骤一规则运费模板分组:A、B一组,C一组;

2) 计算首费:按照步骤二规则选择A、B分组运费模板a作为首费,首费为5元;

3) 计算增费

A、B同一模板,合为一组,总计 4 件,不满足免邮条件,且为首费模板,因此利用公式1计算A、B分组增费:

C分组购买的商品重量为3千克,符合包邮条件, 增费为0;

4) 总运费 = 5 + 1 +0 = 6 元

例子3:多个商品,不同运费模板

1) 按照步骤一规则运费模板分组:A一组、B一组,C一组;

2) 计算首费:按照步骤二规则选择A分组运费模板a作为首费,首费为5元;

3) 计算增费

A分组商品购买3件,不满足免邮条件,且为首费模板,因此利用公式1计算其增费:

B分组商品购买1件,无免邮条件,利用公式2计算其增费:

C分组商品重量为6千克,满足包邮有条件,5千克无需付邮费,超出的1千克,利用公式3:

4) 总运费 = 5 + 1 + 2 + 2 = 10 元

运费模板组合的方式远远不止上面3种,其他的组合大家可以按照上述运费计算步骤自己去研究技术,不过这可能也增加了技术伙伴的开发难度。但是合理、贴切真实的运费计算规则,在用户购买多件商品时,不会造成运费过高导致用户的流失,

若发现有地方写的不对,欢迎留言,互相探讨,

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20210311A0CCV800?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券