掃碼支付、小程式支付這樣支付產品我們每天都在用,但是支付背後資金是如何流轉到我們銀行賬戶就神秘了很多。今天我們就來介紹這個銀行和商戶之間的資金搬運工,清結算系統。
要結算資金首先要進行對賬,只有賬務核對無誤之後才能給商戶結算資金,因此我們先從對賬工作說起。
一、什麽清結算對賬清結算系統就是因為跨行支付訂單和資金不能同時到賬,因此需要日終對訂單做核對然後完成「渠道清算、商戶結算、銀存結轉」,顯然這裏面的對賬是至關重要的。
1.1 什麽是對賬
對賬顧名思義就是「核對兩個或者兩個以上賬簿或者賬戶之間賬務記錄」,我們看下這張圖。
圖1:財務對賬
這是個典型的企業財務對賬過程,這個過程就可以看到有代表「賬務」的賬簿,有代表「憑證」的合約/訂單,有代表「實物資金」的銀行賬戶。每一筆賬務記錄都需要做到「賬、證、實」的平衡。
1.2 對賬核對維度
對賬核對的維度分為對外的交易層面與對內的會計層面。
圖2:對賬的核對維度
1.2.1 交易層面
交易層面就是每個商家/使用者可以看到的賬單、資金變動和賬戶余額。由於支付的鏈路比較長采用環環相扣的核對方式, 每個節點都要核對明細、發生額、余額的核對,這就是一筆完整賬務核對 。其中支付訂單作為連結上下遊的「橋梁」負責串聯勾兌關系,傳遞支付結果。
1)收支明細:交易的收款、付款的明細記錄。包含了訂單、交易對手、支付方式等完整的資訊。
2)發生金額:收款與付款軋差後的金額,也是需要結算的匯總金額。
3)賬戶余額:賬戶期初和期末余額,以及每筆賬務產生的余額變動。
1.2.2 會計層面
會計層面就是「賬、證、實」的核對,其中「明細、發生額、余額」連結了外部的交易和內部會計賬務。他們的勾兌關系有以下幾種方式。
1)賬證核對(支付渠道-支付平台)
支付平台的賬務明細與渠道流水之間的核對。
2)賬賬核對(支付系統-支付核心)
支付平台的賬務匯總資訊與支付核心的賬簿清算科目進行核對。
3)資金賬實(支付系統-結算銀行)
前面只是賬務資訊的核對,實際到賬資金還需要核對下銀行賬戶(或備付金)的結算流水與發生額是否相符,這就是資金的賬實核對。
1.3 對賬模式比較
1.3.1 清結算對賬(清算與結算分離)
清結算因為有備付金作為銀存賬戶,所以采用了清算與結算分開核對的模式。之所以要分開是為了給商家提供靈活的結算,這樣商戶做各種「T1、D1、D0、S0」就都可以。
1)渠道清算: 核對清算機構、清算銀行的跨行資金清算頭寸和銀存賬戶的余額。
2)商戶結算: 你可能會問不依賴渠道對賬,我怎麽給商家結算?有異常訂單怎麽辦?其實只要給商家結算成功訂單就行了,超時和差錯訂單可以待調賬成功後再結算。
圖3:清結算對賬
1.3.2 聚合支付對賬(環環相扣核對)
與之對應的非持牌機構透過聚合各種資金通道的對賬,由於沒有資金池加持,因此對賬需要環環相扣的核對過程,資金結算的靈活性也是依賴於支付渠道的能力。
聚合支付的資金賬實因為商戶開戶銀行無法給商戶入金通知,所以只能線下做賬實核對。
圖4:聚合支付對賬
二、清結算業務架構2.1 清結算系統建模
圖5:清結算建模
構建清結算系統需要從四個層面進行建模,分別是架構模型、流程模型、要素模型和策略模型。
1)架構模型:規劃清結算系統與外部系統的互動邊界,以及內部系統的套用模組
2)流程模型:串聯內部套用於外部系統上下文互動和整合關系。
3)要素模型:透過標準的對賬和結算數據貫穿每個交易和流程節點。
4)策略模型:對賬結果透過標準的差錯處理策略實作統一的調賬。
2.2 清結算業務架構
圖6:清結算架構業務架構
2.2.1 清結算邊界劃分
1、支付引擎(支付數據)
支付引擎負責線上交易的支付指令處理,為清結算系統提供「支付數據」進行對賬。
2、賬務系統(賬務數據)
賬務系統是內部的賬務基準,為清結算系統提供賬務數據和最終的資金結算處理。對於差錯賬務也提供差錯調賬介面來更正賬務。
3、支付渠道(資金數據)
1)對賬檔:下載渠道的對賬檔,包含了匯總清算檔和明細核對檔。
2)支付指令:接收來自渠道的來賬和清算通知,以及進行檔出款
2.2.2 清結算系統套用
清結算的套用底層是「數據解析、檔處理、對賬處理、資金處理、清算處理」等五個服務。中台套用就是結算人員的工作台,具體功能清單如下。
圖7:清結算系統功能清單
1、入款和出款:在渠道出現異常和檔付款的時候,透過這兩套選單出款和入款功能處理
2、對賬管理:明細對賬過程的管理,包括渠道對賬和差錯調賬。
3、資金管理:資金匯總對賬的管理,渠道清算和結轉的管理。
4、例外處理:單獨用來處理做登賬和補單處理的。
三、線上交易和賬戶在介紹清結算對賬流程之前,我們先介紹下線上交易的正向流程,對賬就是線上交易的日終流程。
3.1 日間賬務發生情況
圖8:某日發生的所有交易情況
當天支付系統發生了四筆交易:
1)收款:1000元,D1要結算商戶999元,D1待扣手續費10元。
2)收款:100元,扣手續費1元,超時未返回結果。
3)付款:500元,扣手續費1元,付款成功99元。
4)退款:50元,返還手續費1元,退款成功50元。
3.2 交易與賬戶關系
圖9:交易在賬戶間的流轉關系
上圖我們可以看到整個在賬戶間賬務流轉關系。D1對賬時付款、退款都已經成功結算了,收款有一筆1000元要結算,一筆超時系統內未做登記,需要對賬後明確狀態。因此期末給商戶結算成功收款的1000元即可。
四、清結算對賬流程4.1 清結算流程
基於以上線上交易處理我們來進行日終的清結算對賬,他主要分成以下幾個步驟。
圖10:清結算流程圖
1)數據準備 :人工或者自動發起對賬任務,下載渠道和支付核心的對賬數據進行解析後對賬。
2)對賬清算 :把渠道和支付系統的數據先做匯總核對,如果成功直接匯總確認後按「入款、出口、退款」進行清算和銀存結轉。如果有異常交易則繼續明細核對,獲取差異然後進行差錯處理。
3)商戶結算 :商戶結算不依賴於渠道對待,系統任務核對商戶的成功訂單和待結算資金給商戶結算收款資金,並生成商戶的結算賬單。
4.2 對賬數據準備
數據準備透過人工匯入或者自動下載的方式獲取渠道「對賬檔」解析後入庫,隨後與核心系統的賬務明細檔進行對賬。
圖11:網聯對賬檔獲取
檔獲取方式每個渠道都有所不同,但是檔獲取的要求基本是一樣的。但是我們在對賬前要確認如下幾點。
4.3 對賬清算
圖12:對賬清算流程
4.3.2 對賬處理
1)匯總核對:
我們首先會把渠道清算檔與支付核心的賬務數據進行匯總核對,因為只要總賬的資金對平了,明細賬也就平了,這樣對賬效率是比較高的。
2)明細核對:
如果不平怎麽辦呢?那就只能對明細了,我們會將下載的渠道明細數據與賬務明細數據進行逐筆核對來找到差錯,然後生成包含了成功和異常的對賬結果。
4.3.3 對賬結果
對賬結束後結算員就要檢視對賬結果進行清算和結轉工作了。如果對平就要按「收款、付款、退款」的維度進行匯總確認完成銀存結轉。如果有未對平的交易就要進行差錯處理。
4.3.4 匯總確認
賬務對平後就要按照「收款、付款、退款」的清算賬戶科目維度進行匯總確認。(還記得我們在【3.2交易與賬戶關系】中介紹的三個清算戶嗎?就是這三個清算科目的維度)。
如果三個維度有一個或多個維度不平怎麽辦?要對不平的那個科目就要進行差錯處理,對平之後才能結轉。
4.3.5 差錯處理
對於差錯,我們有「自動差錯處理」和「人工差錯處理」兩種方式;
1)自動差錯處理: 就是以渠道對賬結果為準,更新本地訂單和向本方支付核心進行差錯調賬。自動調賬功能采用「沖、補、掛」來進行差錯處理。
2)人工差錯處理: 有些交易會出現訂單勾兌不上、金額不符等異常,這種情況下貿然使用自動調賬就非常危險了,因此需要透過人工確認後透過補單、登賬、退款、修正異常、線下處理等方式來調整差錯。
3)重新對賬: 差錯調賬完成之後對於「未調賬」的支付數據可以進行重新對賬。
4.4 商戶結算
圖13:商戶資金結算
清結算的渠道清算不耽誤商戶資金的結算,我們只對商戶成功收款的訂單與待結算資金進行核對即可,當「訂單發生額>=商戶待結算余額」即可結算。
我們前面案例介紹了,當天有4筆交易其中一筆成功收款1000元,一筆收款超時100元。我們只結算成功的1000元訂單,並扣除手續費。至於那超時的100元,我們當天不結算,對平賬之後再處理。剩下付款、退款交易已經完成結算了直接生成商戶結算賬單就可以了。
五、清結算數據要素和策略5.1 賬務核對表
圖14:賬務核對表(匯總統計勾兌)
對賬有兩種方式,一種是逐筆勾兌,一種是匯總統計勾兌。逐筆勾兌比較準確但是慢,匯總統計勾兌比較快,但是會因為主鍵不匹配造成批次的數據出現異常。考慮到對賬效能和匯總異常勾兌的概率,我們這裏采用了匯總統計勾兌的方式。
5.1.1 對賬主鍵設計
我們的對賬主鍵使用了「批次號、渠道、交易類別、清算日期」作為對賬主鍵。而生成的對賬結果增加了「對賬狀態」把對平的交易和差錯分開,這樣可以分批次對成功的交易進行期末結轉。
1)批次號:為了能夠進行一天多個批次的對賬,在主鍵中增加了批次號來細分每天對賬的數據。
2)交易類別:交易類別就是按照清算科目「入款、付款、退款」的維度來設計的,如果考慮到來賬的「退匯、線下充值」等場景,我們可以再增設相應科目。本案例中做了簡化把退匯放在「付款科目」把線下充值放在「入款科目」。
5.1.2 對賬要素設計
我們對賬要素分為五部份
1)對賬資訊:
就是對賬的主鍵資訊和訂單資訊,用來勾兌數據和展示必要的訂單資訊使用的。
2)系統資訊:
就是本方賬務數據的統計資訊,會統計本方支付訂單的交易和手續費成本的筆數和金額,用來與渠道核對。其中手續費成本每條渠道結算方式和周期不盡相同,可以不填。
3)渠道資訊:作為系統資訊的核對一方,也是按照交易金額和手續費金額統計總筆數和總金額。
4)核對資訊:核對資訊就是對賬結果,顯示差異的筆數和金額。
5)稽核資訊:記錄結轉和調賬都要進行稽核的記錄。
5.1.2 匯總勾兌和明細勾兌
首先是按照清算檔進行匯總核對,如果不平的話我們會載入渠道明細數據進行勾兌。明細勾兌繼續采用「批次號、資金渠道、清算日期、業務類別」這幾個主鍵來進行勾兌,分別勾兌出系統和渠道的筆數和金額,並計算出他們的差異後生成對賬結果。
5.2 差錯策略表
圖15:差錯策略設計
不同的場景可以產生出四類差錯和20多種差錯處理策略,這麽多例外處理對於人腦來說需要長期的訓練。有沒有比較簡單有效的辦法呢?
為了方便和清晰的處理差錯和調賬方式,我們采用了策略化差錯設計。差錯策略還是「規則引擎的設計思想」,把輸入結果拆分成「輸入因子」,透過規則樣版的篩選,輸出對賬結果和對應的調賬建議。
從下圖可以看到,我們給每條渠道配置一個差錯策略,內容分為「差錯因子、對賬結果和調賬策略」。這樣同類別的渠道可以復用差錯樣版,並且也能支持自動調賬處理,即使手工調賬也能給出資金風險提示,對下一步操作給出建議。
圖16:差錯策略表
5.2.1 差錯因子
差錯因子和路由因子的設計原理是一樣的,他就是透過「對賬結果」的分析,得到了能夠組合不同差錯場景的因子。這裏我們使用了「資金渠道、交易類別、本方狀態、渠道狀態」作為差錯因子來路由對賬結果和調賬策略
5.2.2 對賬結果
對賬結果主要分為四種情況
1)終態:這是最理想的狀態,系統和渠道都勾兌平了
2)訂單勾兌:由於渠道掉單和記賬超時等異常問題,會出現一方有數據,另一方沒有數據。這種情況在渠道質素不佳,或者遇到瞬間大並行的交易比較容易出現。
3)狀態不符:超時狀態一般會在對賬的時候就會同步了。如果出現一方成功,另一方失敗這種情況就比較糟糕了,說明狀態登記錯誤或者渠道有拒付的情況發生。
4)金額不符:這種屬於金額計算錯誤,需要人工確認計算錯誤出現的原因。
5.2.2 調賬策略
調賬就是對差錯進行賬務更正,他分為常見差錯的「自動調賬」和異常差錯的「人工調賬」。
1)自動調賬:對於比較常見的超時訂單,測試訂單等異常情況可以進行自動調賬糾正賬務系統的差錯。
2)人工調賬:對於掉單、金額異常問題造成的差錯需要先掛賬,人工處理後再進行核銷處理。
5.3 差錯策略最佳實踐
1、作為系統功能固化
差錯策略可以做出一個系統功能來進行差錯和調賬策略的統一管理,這樣既能提升差錯處理的效率,也能向結算人員警示資金風險和需要進一步的操作建議。
這種方式在大規模出現異常的情況下,20多種組合產生的調賬策略,一般人根本應付不過來。有了這樣的處理差錯處理機制,它會救你「命」的。
2、作為差錯分析工具
如果支付系統交易量不是很大的情況下,設計差錯策略投入產出可能會不合適。此時可以把這套方法作為差錯分析工具,並登記好每條渠道的處理策略形成兜底方案。這樣在出現異常能夠快速的定位問題和進行處置。
六、清結算互動演示圖17:清結算互動流程圖
6.1 對賬任務
圖18:對賬任務
我們可以配置一個自動對賬的任務來定時獲取渠道的對賬檔進行自動對賬。對於一些渠道無法自動下載對賬檔可以透過手工上傳對賬檔的方式進行對賬。
6.2 對賬結果
圖19:對賬結果
完成對賬後可以在這裏檢視指定渠道的對賬結果,對賬結果會按業務類別和對賬狀態分類匯總輸出,這樣可以方便操作人員分批次來處理來處理。
如果是對平的數據可以直接進行匯總確認完成資金的結轉,如果是異常差錯可以檢視差錯詳情來進行差錯的處置。
如果一個業務類別出現對平糊不平的數據,結算員想合並後重新對賬,此時可以做對賬撤銷。系統支持對於未對平糊未調賬的數據進行重新對賬。
6.3 匯總確認
圖20:匯總確認
對平的數據可以進行結轉,首先是經辦人員選擇覆核送出錄入對於的入賬科目,送出給覆核員。覆核員核對「試算平衡」數據後確認送出完成該渠道清算和期末結轉。
6.4 差錯處理
圖21:差錯處理
未對平的數據可以按「業務類別+對賬結果」分批次的差錯調賬。調賬操作可以根據「資金風險、常見問題、操作提示」進行處理。
6.5 人工補單
補單(又稱補償)就是在渠道掉單的情況下,透過發起一個定時任務從渠道方查回訂單結果繼續賬務處理。
圖22:需要補單的對賬結果
線上交易階段會有輪詢任務來處理掉單的情況,但是會有固定次數。如果對賬時還未返回結果,在結算人員與渠道方確認後手工發起補單查詢從渠道一側批次查回訂單數據,繼續後續操作完成賬務處理。
圖23:補單處理流程
6.4 人工登賬
登賬是在渠道有訂單情況下,根據渠道訂單向支付核心補錄賬務資訊。登賬的情況有異常差錯和銀存賬戶的動賬處理記錄。
1)異常差錯
需要登賬的異常差錯有,渠道生產和測試混用帶來的測試訂單;還有交易節點考慮不完善沒有正確入賬的情況,例如來賬入金、線下充值、來賬退匯等問題。
2)銀存動賬交易
有些交易清算銀行會直接操作銀存賬戶,但是沒有即時通知到支付系統。例如手續費扣收,利息結息,在途款調撥等。這種情況下需要人工獲取對賬單來登賬記錄銀存賬戶的變動情況。
圖24:常見的登賬賬務處理
七、總結7.1 四張圖搞定清結算
本文把清結算系統的設計主線內容進行了完整的介紹,內容比較多建議大家記住以下四張圖,整個對賬清結算體系就能建立起來了。
圖25:四張圖搞定清結算
如果還是覺得記不住的話,那就記住這張流程圖吧,同時參考我提供的對賬要素和差錯策略兩張表格。
圖26:對賬流程圖