做电商系统基本都会涉及到供应商结算问题,不管是淘宝还是唯品会都一样。因为用户购买商品的钱不是直接付款给供应商的,而是将金额放在平台上面,然后间隔一段时间就会将金额结算给供应商。因为涉及到资金结算流通问题,所以必须有对账审核的过程,今天就给大家介绍一种供应商结算方案。

结算流程:

我们先来看一下供应商的结算流程,什么叫做结算流程呢,说白了就是将我们订单里面支付成功的订单进行对账,然后将供应商可以提现的钱算出来,转到供应商在我们平台所开的账户中。具体流程如下所示:

结算流程介绍:

这边我们简单的介绍一下这个流程图,流程中涉及到的角色有:


  • 平台
  • 用户(即买家)
  • 供应商

供应商我们又可以分为:


  • 交过保证金的
  • 未交保证金

不同的供应商的结算流程是不一样的,交过保证金的结算流程肯定会比没交保证金的快。这边我们采用的方案是,交过保证金的供应商采用T+1模式(大家可以自己恶补T+1模式),用户一旦确认收货之后,平台就会将金额结算给供应商,而未交保证金则一律等到每一个月的1号和16号结算一次,而且结算都是上一个月已经完成的订单,周期会比交保证金的多很多。

结算技术架构:

不同类型的供应商,有着不同的结算流程,所以我们选项的时候就要充分考虑到这些点。对于T+1模式我们可以采用MQ的延迟队列来实现,这样就可以保证订单一旦确定收货,间隔24小时之后我们就可以结算了。对于每一个定期结算两次的,我们可以采用定时任务来实现,这样就可以定期进行结算。

财务审核流程:

结算的流程介绍完了,这仅仅只是供应商结算方案设计上半部分而已,最重要的下半部分就是财务审核了。供应商提现的时候需要平台的财务进行结算账单审核,也就是我们传统意义上面的对账、对流水。我们先来看一下财务审核的流程。

财务审核流程介绍:

简单的来说我们可以分为两部分:


  1. 结算记录
  2. 提现记录

财务人员可以对供应商已结算订单记录进行审核,如果供应商每一笔已结算的订单都没有问题的话,说明供应商的结算金额是没问题的。然后我们通过总结算金额+未结算金额是否等于供应商收入总额来判断供应商订单是否有问题。

当然供应商管理平台肯定也有类似可以查看自己账户的金额,原型如下所示:

这边大家需要注意一些概念


  • 冻结金额
  • 可提现金额
  • 未结算金额
  • 收入总额

冻结金额指的是:​供应商提现还未通过的金额,这部分金额是不允许做任何操作。

可提现金额指的是:​平台已经确定结算给供应商的金额,供应商可以选择提现,将金额转到自己卡中。

未结算金额指的是:​平台还未结算给供应商的金额,此金额供应商不允许做任何操作。

收入总额指的是:​供应商在平台发布的商品,到目前为止获取的收益。

财务审核技术实现:

财务审核的技术其实没什么可说的,最主要是我们要如何确保生成的订单是没有问题的,或者说有问题的情况下我们要如何解决,下面我们列一些生成订单可能遇到的问题,和解决办法。


  1. 重复提交订单:我们可以采用接口幂等性来解决。
  2. 分布式场景下面提交订单发生问题:可以采用分布式事务的强一致性、事务补偿机制(最终一致性)等。
  3. 订单生成数据无法确定是否正确:可以采用三分账号数据比对。(用户、供应商、第三方支付平台)
  4. 财务审核流程必须有序性:可以采用Activity工作流来解决。
  5. 订单号如何可以高效且具备一致性:可以采用第三方jar生成、自定义特殊规则等

总结:

今天供应商结算方案设计就介绍到这边,这只是众多结算方案的一种,我们在设计方案的时候一定要根据自己的业务需求来,千万不要盲目采用方案策略。因为方案是属于上层建筑的设计,一旦方案设计错误就意味着毁灭。所以做什么之前都要反复的推理验证,技术是否可以实现、实现难度如何、是否有业务上面的漏洞、是否可以满足后期的扩展需求等等之类的。好了今天的课程就到这边了,谢谢大家的阅读~

要更多干货、技术猛料的孩子,快点拿起手机扫码关注我,我在这里等你哦~

                                                       【商城应用】供应商结算方案设计_数据