从业务流程分析:电商订单模块设计要点
商品订单是各种经济业务中最常见、重要的凭证,是会计核算的依据,是经济交易双方是否履约的证明。因此,在电商生态系统中,订单管理模块尤其重要。本文将以B2C平台为例,从业务的角度分别讲述电商订单模块中,客户端和后台设计的要点。
不同的电商的模式有不同的业务内容和业务流程。在设计订单模块的第一步,是要明确企业的商业模式。根据是否有第三方商家,可以分为平台型、自营型等;根据是否交易双方的身份角色,可以分为 C2C、B2C、B2B、F2C、C2M,还有经常听到的分销电商、网红电商、社交电商等。
- F2C/M2C:factory/manufacturers to customer,指生产厂商对个人消费者的电子商务,如网易严选。
- C2M:customer to manufacturers,指个人对生产厂商的电子商务,强调个性化工业定制,如必要商城。
- 分销电商:在法律允许范围内,每个人都可以成为分销商,利用社交圈进行商品销售传播,如云集。
不同商业模式的订单有着天然的差别,如C2C电商一般不涉及大型仓储管理系统,在整体流程上比B2C电商简单一些,具体表现为字段信息不同、后台订单无需拆单等。具体的订单模块需要针对企业具体业务需求来进行规划。
一次商品交易业务包括:购买商品和售后服务,售后服务包括换货、仅退款、退货退款等。
一张订单中包含用户信息、商品信息、优惠信息、支付信息、物流信息、订单信息、其他信息(发票、保险),对应的需要从后台管理系统的用户中心、商品中心、促销中心、支付中心、物流中心、订单中心等获取数据来支持服务。
根据购买的商品类型,可以将订单分为实物商品订单和虚拟商品订单,虚拟订单没有物流信息。以下描述全部是有关B2B电商平台实物商品交易的业务流程。
以京东的结算页面作为用户端订单信息的例子:
- 订单状态:待支付、待发货、待收货(或部分发货)、已完成、已取消、售后中。
- 收货信息:收货地址关联到运费的计算、商品库存(商家存在多仓库),生成订单后,发货前可以允许用户在限定的范围内修改收货信息,如在同一仓库的运送范围内,允许修改收货地址,这样会带来良好的用户体验。
- 支付方式:支付方式有线上支付和线下支付两种方式。常见的线上支付方式有第三方支付、余额抵扣、虚拟币抵扣,朋友代付,线下支付有货到付款、便利店充值、银行汇款等。用户在支付过程中,可能会因为密码错误余额不足等情况导致支付失败,支付失败返回后的订单应该处于待付款状态。
- 商品信息: 生成订单时,一般只允许修改商品的数量。生成订单后,不允许用户修改商品信息。
- 优惠信息:电商商家为了促进用户消费,时常有优惠活动。优惠信息包括活动优惠、优惠券优惠、金币抵扣等。如果有优惠叠加的情况,需要注意优惠金额分摊的顺序和金币抵扣的顺序。假设商品不包邮,用户使用金币抵扣后,抵扣掉订单的一半金额,如果系统先抵扣运费的话,分摊到每个商品上优惠后的价格会增加,当用户申请退货时,商家的最终利润就会受到影响。所以含有优惠活动的平台,一定要做好优惠规则策略。
- 匿名购买:用户选择匿名购买后,商品评价中的用户昵称会按照一定规则显示。
- 订单备注:如果订单中存在多个商家的商品,下单后系统会对订单进行拆单,因此应该允许用户对每一个商家填写备注内容。
一般电商台会在用户下单后系统自动帮助商家立即接单,也可以这是自动接单的时间。商家在后台看到用户下单后,可以根据实际的商品库存,而非平台上的商品库存(假设商家在多个平台上销售同一件商品)判断是否继续交易。允许商家手动接单从另一个角度看,给了商家一定的自由度。
锁定库存:商品的库存锁定有两种方案:一种是“下单后支付前”锁定,一种是“支付后”锁定库存。“下单后支付前”锁定库存可以保证良好的用户体验,但是可能会导致商品一直处于占用状态,使有紧迫需求的用户无法购买。“支付后”锁定库存因为时间差,可能会导致下单时库存与支付时库存不一致的问题,特别是像秒杀类营销活动的商品。解决方案可以是普通商品和活动商品分别采取两种锁定库存的方法,或者限制待付款订单的支付时间和支付数量等。
订单信息:订单管理系统中应该按照商品来管理数据,而不是订单。从两个方面考虑,假设一张订单中包含多个商品,当用户只对其中一个商品申请取消交易时,这张订单的状态不应该收到影响,而是另外生成一张服务单。只有当订单中的全部商品都取消交易时,订单才会被更改为取消交易状态。因此订单管理中,实际上时同时记录了商品的状态和订单的状态。
订单拆单:电商行业中,经常会接触到“拆单”这个词,拆单的原因并不难理解,以两个常见的业务场景为例说明:
- 场景一:用户A在某平台上同时购买B、C两个商家的商品,为了简化用户付款流程,平台在客户端写成一张订单。用户付款后,平台需要分别告诉B、C两个商家用户的购买信息,但是又不能让两个商家看到对方的数据,平台将原来的一张订单拆分成两个子订单发送给两个商家。
- 场景二:用户A在B商家购买了两件商品,但是两件商品分别在两个不同的仓库,平台需要分别告诉这两个仓库的人员进行发货,为了避免数据混乱,平台将原来的一张订单拆分成两个子订单分别发送给两个仓库。
由以上场景可以看出,订单拆单的最常见的原因是进行数据隔离,避免数据混乱。除此之外,品类(易碎品需要分开发货)、物流(按体积重量计算运费的商品分开发货)、政策(跨境商品报关金额限制)也是订单拆单的重要影响因素,并非所有电商订单系统都要拆单,也并不是每一张订单都要拆单。
修改商品信息:商家修改了商品的SKU信息或者下架商品,待支付状态的订单系统应该自动取消,特别是商品金额发生变化的,否则就会引起商家与用户纠纷。
物流信息:常见的物流方式有四种:商家自有物流、平台自有物流、商家自己联系第三方物流、平台联系第三方物流。如果是商家自己负责联系物流公司的话,则需要自己是手动添加物流信息。如前文所言,订单中心是根据商品来管理数据的,因此商家发货的时候也是按照商品进行发货,如果商品数量太大,可能会分开几次发货,因此一张订单可能会对应多张物流单信息,会存在部分发货状态。
系统自动收货:即系统在商家发货一定时间后,自动帮助用户收货,结束订单。系统自动收货算是保障商家利益的一种手段,因为如果用户一直不确认收货,平台则无法与商家结算账单。
修改信息:在商品正式发货前,商家可以修改有限的订单信息,如收货人信息、部分商品信息、部分费用信息等。
此时订单中的商品已经在运送中,用户可以进行延长收货时间、查看物流、确认收货、申请售后。以天猫的商品待收货状态订单详情作为例子:
延长收货时间:前文所说的“系统自动收货”是保护了商家,延长收货时间则是为了保障用户的利益,因为只用当用户确认收到货之后,平台才会跟商家结算。这两个功能互相照应。为了避免由于物流等因素的影响,在用户真正收到商品前系统自动结束订单,用户可以选择延长收货。但是需要事先确定好延长收货的规则,如天猫限制必须在距离订单自动结束前三天才能申请,并且只能申请一次。
当商品发货后,用户无法直接取消订单,如果想申请退货、退款,只能走售后服务流程,另外生产售后服务单。售后服务具体可以分为仅退款、退货退款、换货等。以下是商品售后服务的流程图:
退款金额:涉及到优惠价格分摊的商品,退款时只退实际分摊的金额(遵循或者其他退款规则)。
商品库存:售后服务全部结束后,商品库存才发生变化。
订单的数据统计主要分为两个维度,一个是统计订单中的商品,一个是统计订单的相关数据。商品维度包括订单中的下单商品数、成交商品数、下单率等,订单维度包括订单销售额、客单价、订单来源、下单率、下单支付率等。
- 不同的业务模式,订单模块设计也不同,具体情况需要具体分析;
- 实物商品订单管理实际是同时记录订单和商品的状态;
- 并不是所有电商订单系统都需要拆单。
本文由 @Chloe 原创发布于人人都是产品经理。未经许可,禁止转载。
题图来自 Unsplash,基于CC0协议