不了解真正的电商业务?电商业务实体抽象总结:订单中心

2,204 阅读9分钟

订单下单

先回想一下我们平时在网上购物的场景。某天准备出远门时,想到没有充电宝,就打开京东或天猫超市,选择一个心仪的充电宝,“哎哟,居然还有一个10元的优惠券”,下单付款,下午快递员敲门,充电宝就到家了。用户的一小步,系统的一大步。在用户选择商品之后提交订单的一瞬间,订单实际上经过了各系统之间的漫长回路,图为订单下单流程。

  • (1)在订单过程中进行安全校验,主要是检测用户是否在黑名单上、用户购买行为是否正常等,当检测到不正常时,终止下单。
  • (2)从商品中心获取商品信息(SKU、规格、价格等)。
  • (3)从营销中心获取商品、订单促销信息(优惠券、促销活动),判断是否满足优惠条件,计算出优惠金额。
  • (4)在会员中心获取会员权益,例如平台抵扣积分、折扣条件等。
  • (5)在调度中心校验销售层库存,按照调度规则锁定区域库存。
  • (6)根据拆单规则(商家、仓库、订单类型等)将订单拆分成若干个子订单,根据运费模板计算运费,根据商品金额、运费、优惠金额计算应付金额(实付款)。

至此生成订单,此时订单状态为待付款。如图10-2所示,在存储的订单信息中,主要包含以下内容:用户信息、订单基础信息、收货信息、商品信息、优惠信息、支付信息、物流信息、其他信息等。订单的内容复杂精细,在存储时除了表结构的设置,还应该注意信息冗余。特别是商品信息,由于商品的内容不断编辑变化,要保存下单时的商品快照,避免过长时间后,商品信息丢失。

订单包含的所有信息内容如下。

用户信息:用户账号、用户等级。

订单基础信息:父订单与子订单、订单编号、订单状态。

收货信息:收货地址、收货人姓名、联系电话、邮编。

商品信息:SKU信息、规格、商品数量、价格、商品图片、商家(店铺)。

优惠信息:优惠券、促销活动、虚拟币抵扣金额。

支付信息:支付方式、支付单号、商品总金额、实付金额、运费、虚拟币抵扣金额、优惠券优惠金额、总优惠金额。

物流信息:物流公司、物流单号、物流状态。

其他信息:发票信息、下单平台、分销渠道。

【父订单与子订单】

当从购物车选中多件商品时,例如选中三个店铺中的商品,会将这次购买行为拆分成三个店铺的订单。这次整体的购买行为记录在父订单下,当系统首次提交订单结算时,会合并子订单,针对父订单进行结算。当提交订单后结算中断,或结算之后,系统在更新订单状态、物流追踪时,针对的就是子订单。

【优惠分摊】

在计算订单应付金额时:

订单实付金额=商品金额(SKU金额合计)+运费-总优惠金额

其中:总优惠金额=促销活动优惠金额+优惠券优惠金额+虚拟币抵扣金额

订单拆单

拆单,顾名思义就是客户在下单时,为了发货和结算方便,后台需要对订单进行拆分。

影响拆单的因素主要有以下几点。

  • (1)店铺商家。由于商品归属权不同,涉及财务结算和发货的问题。店铺商家不同,需要拆分订单。例如京东自营和平台各商家的商品在下单时会拆分成不同的子订单,因为售后入口不同;不同淘宝、天猫店同时下单会按照店铺进行拆单。
  • (2)仓库。由于发货仓库不同,按照商品归属的仓库进行拆单,若有多仓有货,还应按照地域时效选择仓库进行拆单。
  • (3)品类。由于商品属性和价值的不同,同样会产生拆单需求。例如易碎品需要特殊包装,超大物品(儿童座椅、轮胎)需要单独包装。甚至有些品类不同的商品不能放在一起,都需要按不同情况来定义拆单规则。
  • (4)物流因素。不同物流公司对单个包裹的重量或体积都有特殊要求,需要根据SKU的毛重和体积计算包裹总重量和体积,超出物流公司限制的也需要拆单。
  • (5)商品价值。这方面的拆单主要是跨境海淘商品,根据当前国家政策规定:跨境电子商务零售进口商品的单次交易限值为人民币2000元,个人年度交易限值为人民币2万元。当单次购买超过2000元(单仓)之后,就需要对订单拆单。

订单售后

在订单生成之后,订单的流转过程中会出现不同的逆向流程。如图10-5所示,待付款状态下取消订单;待发货状态下取消订单;待收货状态下申请退货或退款;交易成功状态下申请退货或退款。在不同节点出现退、换货,系统的处理方式不同。订单逆向流程分为用户主动发起与客服发起等两种方式,下面以用户主动发起售后为例,聊聊订单逆向流程。

【待付款取消订单】

当用户提交订单后主动取消订单或者用户超时未支付时,订单的状态变更为“已取消”,不需要经过客服审核

【待发货取消订单】

当订单在“待发货”状态时,用户申请取消订单,如图10-7所示。由于用户在支付订单后,发货单可能已经推送至WMS,甚至已经交接发货,状态未及时回传更新。为避免货款两失,要先暂停订单出库,在调度中查询订单是否推送至仓库,若尚未推送,则停止推送;若已经推送,则去WMS拦截发货,暂停出库流程。若暂停失败,则拒绝“取消订单”申请,回复原因“订单已出库”;若暂停成功,“取消订单”申请通过,进入退款流程,同时通知调度中心该订单取消,WMS订单进入返库流程。

很多平台支持订单部分商品退款,这种情况下订单逆向流程比较复杂。当SKU全退时,原订单的状态直接变成“交易关闭”。当发生订单中部分商品退款时,原订单的状态不变,维持“待发货”状态,同时生成部分售后订单。

【待收货/交易成功退货】

当订单在“待收货”或“交易成功”的状态时,用户申请退货,如图10-8所示。首先解释下“待收货”状态下为什么允许申请退货?当发货之后,用户不想“确认收货”,想直接退货,这是很常见的用户心理。

用户提交退货申请之后,需经过客服审核。审核不通过,回到原状态;审核通过后,告知用户退货地址(仓库)或者上门取件,用户填写退货信息(物流单号等),才正式进入退货核心流程。系统生成退货入库单,当仓库收到退货之后,进行退款。很多平台支持订单部分商品退货,当SKU全退时,原订单的状态直接变成“交易关闭”。

当发生订单中部分商品退货、退款时,原订单的状态不变,维持“待收货”或“交易成功”状态,同时生成部分售后订单。剩余的订单商品仍然允许进行售后。

在订单逆向流程处理时,涉及系统财务数据的变化,而每一次数据的变化,都不能直接在原数据上直接修改,而需要生成相应单据凭证。例如退款要追溯售后单号及退款单号,退货要有退货入库单等。在设计逆向流程时,应保证数据变化的可追溯性,否则会对财务数据和订单统计数据造成影响。

线下服务订单

在实际生活中,还会遇到一些特殊的订单形态,不同于实物商品订单。纯服务订单及商品服务订单就属于其中典型的两种。纯服务订单是指线上购买服务,线下接受服务。例如在美团中团购一张餐券,线下去店里消费。商品服务订单是指在线上购买商品,商品收货之后,去指定门店接受商品附加服务。例如在途虎养车网上购买了米其林轮胎(包安装),在购买时选择“配送到家”或“配送到门店”,同时选择服务门店,等到商品到货之后,用户直接开车去门店,凭借服务核销码接受安装服务。当安装完成之后,订单才算流转完成。

【纯服务订单】

对于纯服务订单,当提交订单付款之后,系统生成核销码,如二维码或者一串字母数字组合。当用户到店接受服务之后,店铺进行核销,核销码失效,订单交易成功

当订单在“待付款”状态时,取消订单或超时未支付,订单关闭;当订单在“待服务”状态时,申请取消订单,判断核销码是否使用,作废核销码之后进行退款;当“交易成功“后用户申请售后,就需要客服介入,当确认申诉属实时,进行退款。

【商品服务订单】

对于商品服务订单,商品发货之后将服务核销码发送给用户,当商品到货后,提醒用户进行商品附加服务。服务核销之后,交易流程才算结束。