長文干貨丨從0到1搭建結(jié)算平臺

6 評論 18334 瀏覽 159 收藏 22 分鐘

結(jié)算系統(tǒng)根據(jù)平臺的業(yè)務(wù)模式不同,大致有2個設(shè)計方向,重點是要保證結(jié)算效率與時效,同時保證資金安全,不要出現(xiàn)重復結(jié)算及資金結(jié)算倒掛的問題。本文從親身工作實踐中,總結(jié)了O2O電商結(jié)算平臺建設(shè)的實操與設(shè)計思路。

一、概述

我們最開始分享了O2O電商支付清結(jié)算體系,接著分享了如何從0-1搭建計費體系,接下來我們分享:各方的錢算完之后怎么付出去,也即結(jié)算平臺建設(shè)的實操與設(shè)計思路。

1.什么是結(jié)算?

說結(jié)算平臺之前,先說一下業(yè)務(wù)上的結(jié)算概念,結(jié)算顧名思義就是平臺把系統(tǒng)計算好的資金結(jié)算給對應(yīng)的供應(yīng)商、分銷員、勞動者等交易參與方,資金結(jié)算主要有2種結(jié)算方式:

第一種也是看起來最簡單的:平臺線下轉(zhuǎn)賬給被結(jié)算對象,業(yè)務(wù)前期階段,業(yè)務(wù)量不大的時候這樣運轉(zhuǎn)還行,后續(xù)隨著業(yè)務(wù)的起量,極大概率會出現(xiàn)結(jié)賬周期時全員變財務(wù)/核算、打款出錯、下游結(jié)算對象催打款等一系列問題。

第二種也就是本次要分享的:通過系統(tǒng)手段,線上自動打款給下游結(jié)算對象,根據(jù)實際業(yè)務(wù)的需要,線上又可以打款至微信、支付寶、銀行卡(對公/對私)、平臺賬戶,線上結(jié)算搭建完之后,可以把結(jié)算能力放給所有的業(yè)務(wù)線復用。

2.結(jié)算平臺的落地形態(tài)

上文解釋了業(yè)務(wù)上結(jié)算的概念,技術(shù)上結(jié)算系統(tǒng)就是根據(jù)業(yè)務(wù)實際需要而搭建的實體化系統(tǒng)設(shè)施,通過系統(tǒng)化手段在線完成資金的打款發(fā)放。

結(jié)算平臺與計費系統(tǒng)作為清結(jié)算體系中重要的組成部分,計費平臺把訂單的業(yè)務(wù)信息流轉(zhuǎn)變成轉(zhuǎn)化為資金信息流,結(jié)算平臺把資金信息流轉(zhuǎn)化成實實在在的結(jié)算資金流。

在多業(yè)務(wù)線、多種結(jié)算類型的平臺中,結(jié)算平臺可以做成通用的中臺系統(tǒng),單純作為資金出款的統(tǒng)一出口,至于結(jié)算到平臺賬戶還是微信/支付寶零錢,又或者是銀行卡賬戶,都依賴于業(yè)務(wù)側(cè)計費系統(tǒng)的通知,結(jié)算平臺只是執(zhí)行結(jié)算指令(如上圖所示),同時做好資金風控兜底,防止資金結(jié)算倒掛。

搭建結(jié)算平臺的優(yōu)點是結(jié)算平臺可以制定統(tǒng)一的接入規(guī)范,各業(yè)務(wù)系統(tǒng)統(tǒng)一對接結(jié)算平臺即可,無需再對接底層通道或賬戶中心,大大降低系統(tǒng)重復對接開發(fā)量。

注:可能會有人會說這種系統(tǒng)架構(gòu),平臺涉及到“二清”問題,確實會涉及到,但大公司有牌照不會有這個問題,其他公司如果不是大額融資或者上市大概率也不會涉及到這個問題,個人覺得在公司體量沒有到達一定級別前,不要太糾結(jié)這個點。

后續(xù)也會分享平臺“二清”的解決產(chǎn)品方案,可以期待下。

二、結(jié)算平臺系統(tǒng)架構(gòu)

不同公司根據(jù)業(yè)務(wù)模式與技術(shù)組織架構(gòu)的不同,所適合的結(jié)算系統(tǒng)間架構(gòu)也不同,在這分享自己參與過的也是比較常見的2個系統(tǒng)架構(gòu),詳見下圖:

系統(tǒng)架構(gòu)1(O2O自營B2C電商)

說明:上圖是我們當前正在用的結(jié)算系統(tǒng)架構(gòu),因為公司存在多條業(yè)務(wù)線,且不同業(yè)務(wù)線在完成訂單清算后流程不同,有的需要平臺進行結(jié)算單調(diào)整/審核,有的業(yè)務(wù)線則不需要,所以結(jié)算調(diào)整/審核相關(guān)的模塊,統(tǒng)一放到了業(yè)務(wù)側(cè),結(jié)算系統(tǒng)最終只負責結(jié)算打款的職能,作為一個資金出款的前置通用系統(tǒng),放在中臺體系內(nèi),各業(yè)務(wù)系統(tǒng)統(tǒng)一對接結(jié)算平臺。

系統(tǒng)架構(gòu)2(類自營B2B電商)

說明:上圖是我之前公司經(jīng)歷過另一種系統(tǒng)架構(gòu),與圖1的區(qū)別除了需要發(fā)票相關(guān)的模塊(灰色)之外,最大的區(qū)別就是把結(jié)算單調(diào)整/審核相關(guān)的功能,統(tǒng)一放到了結(jié)算模塊中,因為所有的業(yè)務(wù)線關(guān)于清算之后的流程是相同的,可以抽象為一個統(tǒng)一的模塊,計費模塊單純完成費用計算即可。

當然以上2個系統(tǒng)架構(gòu)也不是萬能架構(gòu),算是比較通用的2種設(shè)計思路,但如果公司業(yè)務(wù)比較簡單,可能都不需要分成2個系統(tǒng),直接計費與結(jié)算放在一個系統(tǒng)就OK,每天念三遍:系統(tǒng)不重要,業(yè)務(wù)最重要。

系統(tǒng)交互流程說明:

以上2種系統(tǒng)架構(gòu),系統(tǒng)間整體交互流程很相近,第一步各業(yè)務(wù)系統(tǒng)的計費模塊完成各種資金類型的清算計費,根據(jù)清算結(jié)果生成結(jié)算單,完成結(jié)算單調(diào)整確認后,請求結(jié)算平臺統(tǒng)一結(jié)算接口,結(jié)算系統(tǒng)根據(jù)業(yè)務(wù)側(cè)所需結(jié)算方式,請求底層支付平臺或帳戶中心接口,完成賬戶中心入賬或通道打款,下文也會詳細說明。

小結(jié):結(jié)算模塊的整體系統(tǒng)架構(gòu)大同小異,具體采用什么樣的系統(tǒng)架構(gòu)一定要根據(jù)平臺自身的業(yè)務(wù)需要,整體原則是:以滿足業(yè)務(wù)為前提,追求系統(tǒng)通用,防止重復造輪子。

三、結(jié)算平臺系統(tǒng)搭建

上文我們分享了結(jié)算平臺的系統(tǒng)架構(gòu),接下來分享怎么從0到1真正落地搭建起1個結(jié)算平臺,我接下來會把上文中的2種系統(tǒng)架構(gòu),都展開說下,2者可以互相結(jié)合著看。

下文主要從4方面展開:業(yè)務(wù)流程、系統(tǒng)交互流程、頁面原型及核心規(guī)則、關(guān)鍵接口說明。

系統(tǒng)架構(gòu)1(O2O自營B2C電商)

1.業(yè)務(wù)流程

上圖為O2O自營B2C電商勞動者薪資報酬結(jié)算業(yè)務(wù)流程,首先說下這個流程不是通用的,各平臺可根據(jù)自身提供服務(wù)的標準化程度及履約復雜度靈活調(diào)整,例如滴滴與外賣配送是非常標準的O2O服務(wù),結(jié)算環(huán)節(jié)不需要審核,直接結(jié)算即可,但比較復雜的家政服務(wù)與互聯(lián)網(wǎng)裝修服務(wù),肯定會加上比較多審核確認環(huán)節(jié)。

2.系統(tǒng)間交互流程

上圖是各業(yè)務(wù)系統(tǒng)與結(jié)算系統(tǒng)間的交互流程,這里的業(yè)務(wù)系統(tǒng)包括不限于各業(yè)務(wù)線計費系統(tǒng)、勞動者獎懲系統(tǒng)、分銷平臺等等。

此架構(gòu)下,各業(yè)務(wù)系統(tǒng)與結(jié)算系統(tǒng)的交互相對比較簡單,業(yè)務(wù)系統(tǒng)只需要傳輸對應(yīng)金額、結(jié)算渠道等核心參數(shù),結(jié)算系統(tǒng)請求下游系統(tǒng)即可。

3.頁面原型及核心規(guī)則

以O(shè)2O自營B2C電商的系統(tǒng)架構(gòu)為基礎(chǔ)的結(jié)算系統(tǒng),頁面原型相對不會太多,因為主要系統(tǒng)模塊都已經(jīng)被上游業(yè)務(wù)計費系統(tǒng)承擔,忘記的可以去看下計費系統(tǒng)搭建的內(nèi)容回顧下,原型主要分為2部分:

平臺側(cè):費用類型管理、結(jié)算規(guī)則配置、結(jié)算記錄如下圖:

(1)費用類型管理

因為后續(xù)分享賬戶中心的時候也會用到費用類型,這次先重點說下:

費用類型的含義及作用:費用類型表象上就是結(jié)算資金的名稱,簡單來說這就是是一筆什么錢,再往上抽象一層,1個費用類型代表了業(yè)務(wù)的1個計費場景,對應(yīng)了一個具體的計費規(guī)則(前提是費用類型顆粒度要足夠細化)。

他們之間的關(guān)系如下圖簡單舉例:

  • 業(yè)務(wù)場景:費用類型=1:1或1:N
  • 費用類型:計費場景/規(guī)則=1:1

費用類型的命名原則:簡短同時要能反映費用的業(yè)務(wù)屬性,賬戶中心記賬的時候,賬務(wù)流水就會很清楚,勞動者可以很直觀地就知道這筆錢的因為什么進來,這筆錢為什么被扣掉,如下圖所示:

費用類型在系統(tǒng)間流轉(zhuǎn)過程:當上游業(yè)務(wù)側(cè)新增一個計費場景時,結(jié)算系統(tǒng)會新增1個費用類型,具體新增費用類型的運營流程,看自己公司要求,結(jié)算系統(tǒng)配置完成后,將費用類型編碼同步至業(yè)務(wù)側(cè),業(yè)務(wù)系統(tǒng)需要將此編碼維護在系統(tǒng)中。

當此費用類型的資金進行結(jié)算時,需要傳費用類型編碼ID,同時如果需要結(jié)算到賬戶中心,則賬戶中心也需要同步添加費用類型編碼,因為賬戶中心需要根據(jù)費用類型編碼確定入到哪個賬戶中,流程如下圖:

(2)結(jié)算規(guī)則管理

結(jié)算規(guī)則說明:費用類型新增之后,需要為費用類型配置結(jié)算規(guī)則,結(jié)算規(guī)則的主要作用是確定此費用類型的結(jié)算渠道,即結(jié)算到勞動者的微信零錢還是銀行卡,亦或是平臺賬戶中,如果要結(jié)算到平臺賬戶,還需要在賬戶中心配置此費用類型的入賬規(guī)則及凍結(jié)規(guī)則,確定費用類型入到哪個賬戶及要不要凍結(jié),流程見下圖:

從上圖可以看到,一個費用類型可以配置多條結(jié)算規(guī)則,但業(yè)務(wù)系統(tǒng)請求結(jié)算系統(tǒng)接口時,會根據(jù)業(yè)務(wù)線匹配唯一結(jié)算規(guī)則,防止重復結(jié)算,若結(jié)算時未匹配到結(jié)算規(guī)則,系統(tǒng)會直接報錯。

有一個點需要注意的是,如果平臺內(nèi)資金結(jié)算渠道只有一種,所有的費用類型都只結(jié)算到銀行卡或者平臺賬戶,則不需要配置結(jié)算規(guī)則,直接系統(tǒng)寫死即可,甚至可以不要單獨做結(jié)算系統(tǒng),沒有意義,因為此系統(tǒng)架構(gòu)下結(jié)算單生成/審核/調(diào)整都已經(jīng)與計費模塊融合,由計費系統(tǒng)(不僅僅是計費)直接請求底層通道或者賬戶中心即可。

歸根結(jié)底一句話:視自己平臺真實業(yè)務(wù)需要,做對應(yīng)系統(tǒng)建設(shè),忌自嗨、忌華而不實。

(3)結(jié)算記錄

O2O電商結(jié)算有一個特點,都是按訂單逐筆結(jié)算,即勞動者完成服務(wù),工資報酬即結(jié)算至平臺賬戶,然后各平臺根據(jù)各自業(yè)務(wù)需要,設(shè)置提現(xiàn)窗口期或設(shè)置凍結(jié)時間。

上述原型圖中有兩個字段特殊說明下:

  • 一是【訂單號】,逐筆結(jié)算的結(jié)算記錄一定要加上訂單號,運營有問題找過來的時候,大多數(shù)只發(fā)個訂單號過來,同理賬戶中心也要加訂單號(有的話)。
  • 二是【結(jié)算狀態(tài)】,要以最底層出款通道或賬戶中心的最終入賬結(jié)果為準,不能業(yè)務(wù)系統(tǒng)請求結(jié)算系統(tǒng)接口成功了就返回上游系統(tǒng)結(jié)算成功,可以異步通知慢點兒,不然可能會造成上游業(yè)務(wù)系統(tǒng)顯示的結(jié)算結(jié)果有誤。

4.關(guān)鍵接口設(shè)計

結(jié)算系統(tǒng)最核心的就是結(jié)算的接口,各業(yè)務(wù)系統(tǒng)請求此接口,完成資金的打款結(jié)算,下圖是接口入?yún)⒈靥顓?shù),根據(jù)結(jié)算渠道的不同,業(yè)務(wù)系統(tǒng)需要傳對應(yīng)參數(shù)進來,例如結(jié)算到微信要傳openid、結(jié)算到銀行卡要傳銀行卡號、開戶行等等,這個直接看底層通道需要什么參數(shù)即可,不再贅述。

系統(tǒng)架構(gòu)2(類自營B2B電商)

1.結(jié)算業(yè)務(wù)流程(類自營電商B2B)

這個系統(tǒng)架構(gòu)與系統(tǒng)架構(gòu)一(O2O自營B2C)業(yè)務(wù)流程比較大的區(qū)別在于,因為業(yè)務(wù)模式與結(jié)算金額(多筆合并結(jié)算、大額)的原因,結(jié)算單審核/調(diào)整成為了一個必要流程,并且部分平臺還會涉及到開票流程。

開票流程又分為2種:

第1種:先開票后結(jié)算(上圖),即商戶側(cè)根據(jù)平臺推送的結(jié)算單開具發(fā)票并上傳,平臺發(fā)票審核通過后,方可進行實際資金結(jié)算流程,這個方案的好處是優(yōu)先保證平臺的利益,同時也降低了結(jié)算單與發(fā)票金額數(shù)據(jù)不一致的概率(結(jié)算單金額與發(fā)票金額),降低后續(xù)運營與商戶的人力負擔。

第2種:開票與結(jié)算相互獨立,無明確先后流程,好處是可以保證結(jié)算時效,商戶側(cè)的資金回款效率與結(jié)算體驗更好,壞處就是上個流程中的好處,大家可以根據(jù)自身平臺需要選擇合適的方案。

2.結(jié)算系統(tǒng)間交互流程(類自營電商B2B)

上圖是類自營B2B電商結(jié)算系統(tǒng)交互流程,我用的是計費模塊和結(jié)算模塊,而不是系統(tǒng),因為他倆可以放在一個系統(tǒng),特別是業(yè)務(wù)線不多,計費模式與結(jié)算類型都比較單一的平臺,完全沒有必要做2個系統(tǒng)。

單獨說一下結(jié)算單生成的時間點,比較常見的方案是:根據(jù)約定的賬期,在賬單日通過凌晨定時任務(wù)生成本賬期結(jié)算單。

還有另一個方案:進入到下一賬期即生成結(jié)算單,舉例:T月賬期過去,進入到T+1月1號即生成T+1月的結(jié)算單,數(shù)據(jù)清算完成即填充數(shù)據(jù)至結(jié)算單,只是這個結(jié)算單不會推到商戶后臺,只在平臺側(cè)展示,但是賬單的總額數(shù)據(jù)可以展示給商戶側(cè),以便讓商戶知道自己T+1月的數(shù)據(jù)概覽情況。

3.頁面原型及核心規(guī)則

此系統(tǒng)架構(gòu)下,平臺側(cè)頁面原型主要分為計費管理、結(jié)算單管理、發(fā)票管理,計費管理主要是完成訂單資金計費,生成清算明細數(shù)據(jù),上一篇計費系統(tǒng)從0到1搭建已經(jīng)詳細介紹過,不再贅述。

商戶側(cè)后臺主要有結(jié)算記錄與發(fā)票管理2個功能模塊,模塊展示的信息和平臺側(cè)基本一致,大家可以直接看平臺側(cè)相關(guān)原型內(nèi)容,也不再贅述。

(1)結(jié)算單管理

關(guān)于原型圖和規(guī)則主要說幾個點:

上圖中三個狀態(tài)字段的關(guān)系:結(jié)算單狀態(tài)、發(fā)票狀態(tài)、結(jié)算狀態(tài),3個狀態(tài)依賴與先后關(guān)系如下圖所示:

結(jié)算單導出內(nèi)容:因為對公結(jié)算多是匯總軋差結(jié)算,所以結(jié)算單導出后是一條條計費明細,包括正向與逆向數(shù)據(jù),最常見的結(jié)算單就是三方支付機構(gòu)給的結(jié)算對賬文件,結(jié)算單導出后如下圖所示,可以根據(jù)自身需要增刪字段:

結(jié)算單生成規(guī)則:以商戶為緯度,以賬期為時間范圍,把發(fā)生在此賬期范圍的所有費用類型的計費明細數(shù)據(jù)寫入商家對應(yīng)結(jié)算單中。

結(jié)算風控:一是結(jié)算系統(tǒng)要防止資金倒掛,即結(jié)算單中各訂單累計金額要大于等于結(jié)算金額,做兜底,二是防止訂單逆流程帶來的資金損失風險,例如平臺承諾7天無理由退貨,如果賬期是5天,會存在資金已經(jīng)結(jié)算至商家,即便扣除商家保證金,退款資金仍然不夠的風險。

解決方案有幾個方向:限制結(jié)算賬期、限制結(jié)算金額(有風險的結(jié)算金額不能超過保證金兜底的金額)、入駐合同中約定好商戶資金不足,平臺墊資的資金怎么處理,可以根據(jù)平臺實際情況選擇對應(yīng)方案。

(2)發(fā)票管理

說明:結(jié)算單審核通過后,商家在后臺上傳發(fā)票圖片,財務(wù)在平臺側(cè)【發(fā)票管理】完成發(fā)票審核/核銷,沒問題后結(jié)算模塊請求底層賬戶中心或支付平臺完成資金結(jié)算,同時商家側(cè)快遞紙質(zhì)發(fā)票至平臺,如果做的再完善些,平臺還可以對接快遞的接口,可以在后臺查看快遞進度。

4.關(guān)鍵接口說明

接口部分與上文的O2O自營B2C電商的系統(tǒng)架構(gòu)很相似,直接看上文即可,不再贅述。

四、總結(jié)

結(jié)算系統(tǒng)根據(jù)平臺的業(yè)務(wù)模式不同,大致有我上文中的2個設(shè)計方向,整體復雜度可控,重點要保證結(jié)算效率與時效,同時保證資金安全,不要出現(xiàn)重復結(jié)算及資金結(jié)算倒掛的問題。

未完待續(xù),下一篇分享《從0到1搭建賬戶中心》。

本文由 @鯨爺陸 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)作者許可,禁止轉(zhuǎn)載。

題圖來自Unsplash,基于CC0協(xié)議。

該文觀點僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺僅提供信息存儲空間服務(wù)。

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 請教一下,如果交易已經(jīng)結(jié)算后用戶又進行了退款,這種結(jié)算后退款在結(jié)算處理過程中怎么處理啊

    來自上海 回復
    1. 紅沖

      來自重慶 回復
  2. 學習了

    來自浙江 回復
  3. 我們也在做一個分賬功能,現(xiàn)在遇到最大問題是接入的微信分賬只能分賬30%給用戶,線下打款要承擔6%的稅點,很頭疼

    來自上海 回復
    1. 找一個三方支付公司,接代付產(chǎn)品就沒這個限制了

      來自北京 回復
  4. 很詳細 學到了

    來自北京 回復