从0到1构建电商平台之财务系统:商家财务结算

9 评论 30360 浏览 282 收藏 10 分钟

由于每家电商公司的业务需求不同,财务系统也不尽相同,这篇文章主要讨论商家对订单的结算申请流程,与其中可能存在的一些风险点及应对方案。

(1)订单货款的走向

  1. 用户通过支付宝或微信对订单付款之后,货款将进入我们公司支付宝和微信的对公账户;
  2. 商家到了账期之后就可以对该笔订单进行申请结算;
  3. 由平台的工作人员进行审核,确认无误之后,将账款线下打款,然后上传线下打款的凭证照片并通知商家。(由于我们平台的财务系统暂时未接入第三方代收款机构,所以暂不支持将货款线上直接支付给商家,只能线下打款)

所以商家后台会有两个页面:

  1. 结算申请页面:商家用于申请可结算的金额;
  2. 结算记录单页面:商家用于查看进行中或已结算的历史结算单。

管理后台会有一个页面:

3.结算审核页面:工作人员用于审核商家的结算单,并上传打款凭证。

接下来解释每个页面所包含的字段可能出现的风险点及应对方案。

一、结算申请页面

(这是我之前做的原型图,把一些可能会涉及到公司机密的字段做了修改或删减)

该页面主要包括三个字段:待结算金额可结算金额冻结金额。

  1. 先解释一下我们平台的规则:用户确认收货之后再加上与商家的账期,时间到了之后商家才能对该笔订单进行结算申请;比如该商家结算周期为10天,用户下单后商家1号发货,如果用户5号手动确认收货就是15号能结算,如果用户11号自动确认收货就是21号能结算。
  2. 为什么要这么制定:除去资金流动等公司层面的考虑,还有一个原因就是用户在确认收货之后是有15天的可申请售后时间的,为了尽可能的减少商家把钱申请走了后用户再来退款的情况,所以加上一个账期,当然账期的时间长短就要看公司怎么制定了;一般来说至少是7天,因为大部分商品支持7天无理由退换货,过了7天就不能随便退换货了。
  3. 这里面存在一个漏洞:一般商家会有一笔保证金,当商家把钱提走之后,用户又来申请退款并且成功退款,这时该笔订单金额就会在商家的保证金里扣;但是如果出现多个用户同时发起申请的金额大于保证金的情况呢?如果商家知道这个漏洞也保不齐会出现故意刷单的情况。

有两个方案:

  • 一是限制账期的时间:强制账期为15天,也就是等用户无法申请售后之后,但这会增加商家的回款时长,并不是每个商家都能接受;
  • 二是限制结算金额:申请未过15天的订单金额不得大于保证金,比如保证金5k,可结算金额为10k,其中2k已确认收货后且过了15天,而8k的订单金额未过15天,这时商家能申请结算的金额为2k+5k。

具体哪个方案就得看公司的业务需求,如果有大佬有更合理的方案,欢迎在评论区讨论!

1. 待结算金额

指商家还不能结算的金额,也就是用户还未确认收货且还未过账期的金额。要有这个字段是可以让商家清楚的看到,也可以把这些金额对应的哪些订单列出来。

2. 可结算金额

指商家可以结算的金额,也就是用户确认收货(订单状态处于已收货)且已到账期的金额。

需要注意一点:商家发起结算申请时不能手动改申请的金额;比如可结算的200元由两笔100元的订单组成,商家只能申请100或200元,不能申请50元,是因为订单的金额不能做拆分。如果商家能申请50元,就会把这50元分配到多个订单头上,然后就需要记录哪些订单当前已结算多少金额,是否已结算完等,大大增加了复杂度。

3. 冻结金额

指用户申请了售后但还未完结的订单金额。上一篇“退货退款”讲到过,当用户发起售后之后,会对一整笔订单都冻结,而不是一个商品。

首先解释冻结:比如用户购买了A商品2件,B商品1件;当用户对A商品中的1件发起退款之后,商家将暂时不能对该笔订单发起申请,只有当该笔订单下的售后单完结时(售后单状态处于已完成或已关闭)。如果成功退款,那商家才能对剩余的货款发起结算申请;如果售后单关闭没有成功退款,就可以全部申请。所以得先冻结起来,因为并不知道该笔售后单是否能成功退款。

然后解释为什么是一整笔订单而不是单个商品:如果只冻结单个商品,可能会出现的情况是当用户对A商品申请售后,商家对B发起了结算申请,而A商品的售后单又关闭了,商家又对A发起结算申请,这样一个订单就被拆成两次申请。

诸如此类的分支情况很多,并不是技术上不能实现,而是出现这种情况后在页面上会有很复杂的展示才能解释清楚,反而增加了商家或平台工作人员的认知成本。

二、结算记录单页面

商家后台的结算申请单会有三个状态:结算中已结算被驳回

为什么会有被驳回这个状态,是考虑到两种情况:

  • 一是可能系统计算错误,导致金额出现错误对不上,工作人员在管理后台审核后驳回,由商家再次申请,当然这种情况是极小概率;
  • 二是由于我们平台没有强制要求商家的结算周期必须15天,所以可能出现商家对该笔订单发起结算申请后,用户再发起退货申请,此时由于该笔订单本该处在冻结状态中,所以需要驳回。

那为什么不是由系统自动冻结而是由人工驳回再次申请:比如商家今天申请了500元,而这笔结算单中一笔100元的订单用户发起了售后。如果是由系统自动冻结,工作人员在管理后台看到了该笔结算单提示一笔订单冻结,只结算了400元,这样可能会对商家造成误解,我明明申请的500元却只打给我400元?但如果由人工驳回商家再次申请,相当于告知商家出现的情况,可能会减少一些误会。

三、结算审核页面

管理后台的结算申请单会有四个状态:待审核待结算已结算被驳回。

  • 待审核状态对应的操作为“审核”:可通过或驳回申请。
  • 待结算状态对应的操作为“已打款确认”:当结算单审核无误且通过之后,将会由出纳进行线下打款,打款完成之后,点击“已打款确认”按钮后出现的弹窗可以上传打款的图片凭证,确认后该结算单状态变为已结算,同时商家可看到该打款凭证。
  • 可能会出现的一种风险则是:当出纳已经把款打到商家账户了,用户再来申请退款,且成功退款,那这时就只能在商家的保证金里扣除,如果做了前面说的申请结算金额的限制,则可以规避保证金被扣完的风险。

相关阅读

从0到1构建电商平台之订单系统(3):处理订单

从0到1构建电商平台之订单系统(2):支付订单

从0到1构建电商平台之订单系统(1):提交订单

从0到1构建电商平台之售后系统:退货退款

 

本文由 @橘钻 原创发布于人人都是产品经理,未经作者许可,禁止转载。

题图来自Unsplash,基于CC0协议。

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 比如保证金5k,可结算金额为10k,其中2k已确认收货后且过了15天,而8k的订单金额未过15天,这时商家能申请结算的金额为2k+5k。

    为什么有保证金5k,就可以结算5k呢?可这5k还没有到账期

    来自广东 回复
  2. 但如果由人工驳回商家再次申请,相当于告知商家出现的情况,可能会减少一些误会。这里的意思是不是说,给商家400元时,商家并不会注意到这是被冻结后的金额,需要人工来个操作,强调一下,那是否可以在给400元时,强调一下含被冻结金额的情况?

    来自广东 回复
  3. 这有没有具体的表格

    来自陕西 回复
  4. 这种结算,是不是存在平台二清支付的风险

    来自湖北 回复
    1. 钱不是直接打给我们平台的,而是寄存在支付宝微信的账户里

      来自重庆 回复
    2. 寄存在你们账户里,这个钱还是要打给商户的。 还是二清行为吧,现在电商 没有支付拍照就只能做自营

      来自广东 回复
    3. 对呀对呀,不管是支付宝微信账户,终究还是你们直接下发给商户,怎么都是二清的行为,不知道笔者跟bghn558这边是如何处理的?

      来自广东 回复
  5. 为啥强制账期为15天?

    回复
    1. 因为超过15天后,用户就不能申请售后了,为了防止将款打给商家后,用户又申请退换货

      来自重庆 回复