楊稅令:國內各大銀行的行內清算是怎麼設計的

有較多同學希望了解一下銀行的清算是怎麼設計的,這個清算分行內清算和行外清算,我們今天主要探討行內清算。目前互聯網上關於銀行清算的文章極度匱乏,只有華潤銀行的司庫總管王超同學在「銀行間的現金流動」中從業務的視角講到過清算,我們今天從技術的視角來探討一下。

為了方便行外同學閱讀,我們先科普一下清算是什麼。從兩百年前老羅斯柴爾德打通不同銀行間銀票的通兌開始,銀行間清算業務就一致延續到現在。當年,老羅斯柴爾德拉攏一幫銀庄的掌柜跟他們商量,「以後我的客戶拿著我家的銀票可以到你家取金幣,然後你再拿著銀票到我家取金幣,作為回報我也允許你的客戶到我家取金幣」,從這個時候開始,標誌著現代銀行的通存通兌業務就開始了。由於大多時候雙方客戶都有交叉,實際需要相互取的金幣並不多,比如你的客戶在我這裡取了一千金幣,我的客戶在你那裡取了八百金幣,然後我們兩家一比對賬本雙方認可,你再給我兩百金幣、銀票一交換我們雙方的賬就清了,這個過程就叫清算。

隨著時代的發展,銀行的規模越做越大,其分支機構遍布世界各地,銀行間的交叉業務越來越複雜,其清算管理難度也越來越大,逐步的就演化出各分支機構各自清算、行內再清算的模式。舉一個場景,我是福建的工商銀行,我的客戶在四川的招商銀行取了一百塊,這種情況應該怎麼記賬呢?分兩級,第一級是記工商銀行欠招商銀行一百塊;第二級是記工行福建分行欠工商銀行總行一百塊和招商銀行總行欠招行四川分行一百塊;清算時怎麼清算呢?工行福建分行客戶賬戶上的一百塊轉入工行福建分行,工行福建分行通過內部清算轉給工商銀行總行,然後工商銀行總行將這一百塊通過人民銀行清算系統支付給招商銀行總行,招商銀行總行再通過內部清算轉給招行四川分行,這裡同一個銀行內部的賬戶劃轉過程就叫行內清算。

為了避免誤導,必須說明上述場景是為了方便理解設想的二級清算模式下的簡化情況,實際情況沒有這麼簡單和直接,比如:

1、這裡一百塊這個金額太小,不會真的經過人民銀行劃轉,因為銀行們至少在省級分行留有備付金,各支行也有少量現金儲備。

2、銀行與銀行之間同一時間正常還有反向往來賬,金額夠的時候直接沖低就可以了,不夠時就繼續等對方的往來賬,這也是為什麼人行二代支付升級前小銀行的跨行轉賬到賬很慢的原因。

3、不同地域之間的賬戶轉賬實際使用的支付系統是不一樣的,比如同城的可能是省內或城市支付結算系統,異地跨行的可能是大額支付系統,17點後的可能走小額批量支付系統,大陸與國際間的往來還要經過外管局的外管結售匯管理系統等。

4、如果是大額轉賬,除了需要行內分管領導審批外,資金還得在總行司庫的配額中,否則可能影響銀行當日在人民銀行的存款準備金率考核,這也是導致出現轉賬7500萬被拒的新聞的原因。

5、不同銀行的行內清算模式不同,行內不一定有真實的資金劃轉。零級清算的銀行在轉賬時需要填寫開戶支行,而多級清算的銀行填開戶所在地的省分行就可以了。據了解海外機構使用二級清算的比較多,跨國匯款SWIFT CODE也是指定到省分行一級。

了解了清算,我們先來看看目前行內清算的兩種主要模式:

1、零級清算:機構內所有分支機構均為同一層級關係,全行資金為一本賬,他們之間的交易作為 內部交易處理,簡化了內部清算和核算,但是只能出這些機構的會計分錄。例如花旗銀行、滙豐銀行、中國銀行、華夏銀行等。

2、多級清算:機構內從上往下按層級劃分為總行、一級分行、二級分行、支行,每一個層級在上一級分行開設頭寸戶,清算時從下往上通過這個賬戶清算。例如工商銀行、建設銀行等。

這兩種模式有如下特點和優勢:

1、兩種模式都是銀行內部管理需要,和客戶服務無關;

2、零級清算可以通過內部往來科目反應行內跨機構間的資金相互佔用情況;

3、多級清算可以實時反映行內頭寸分布;

4、多級清算中的清算層級可靈活指定,需要清算到哪一層就清算到哪一層;

5、零級清算不需要基層承擔核算、清算管理等職責;

6、多級清算更適用總帳報表、管理會計業務上的需要;

兩種模式都有自己在業務中的特點,我們在設計上應該儘可能兼容兩者,讓業務按實際需要來進行選擇,那麼在功能上應該達到:

1、可以進行行內零級清算和多級清算推演;

2、可以進行行內多級清算頭寸登記查詢;

3、可以讓會計引擎生成清算分錄;

4、可以從零級清算到多級清算之間進行切換;

5、可以為相關報表做數據準備;

基於以上要求,我們先來梳理一下與清算有關的上文關係,如下圖:

從中可以看到只有使用多級清算模式時才需要單獨的清算處理模塊,零級清算時只需要財務會計配合即可。基於這些關係,我們梳理一下完成以上設計需要的特性:n

1、非同步處理的一致性:多級清算模式由於存在頭寸戶,需要保證此種分戶帳和對應的總帳數據一致;清算處理模塊和會計引擎的共同參數應統一發布和同步維護更新,以保證一致性;由於產品服務和會計引擎之間採用非同步的方式進行數據傳輸,需要保證傳輸過程中數據的一致性。n

2、參數配置的靈活性:行內清算應該可按參數切換從零到多級的清算模式,即清算模式不應與組織機構關係綁定,以實現清算模式的參數化配置;清算層級參數應該由外部提供,以實現清算層級配置的靈活性;

3、高內聚低耦合性:清算處理模塊中應封裝的功能有:(零級到多級的清算層級切換;多級清算的實時頭寸登記與查詢;清算報表的數據準備;)會計引擎中應封裝的功能:(零級到多級的清算層級切換;多級清算的清算分錄補錄;清算報表的數據準備;)

基於前面的要求,我們梳理一下業務流,以及它們在應用架構中的位置,如下圖:

再把它們對應的數據流以及在數據架構中的位置也梳理出來,如下圖:

好了,現在我們可以梳理一下清算業務的具體處理流程了。由於清算是獨立於會計引擎存在,所以清算的執行方式可以根據具體業務需求選擇同步或非同步的方式,其處理流程分別梳理如下:

在這個處理流程中,核心思想就是無論初始清算還是中途切換清算模式,第一筆交易創建該級清算模式中需要的頭寸戶和清算分錄;同時,這也要求清算處理流程中的清算功能模塊應包含自動為多級清算登記頭寸戶的功能,以及關閉會計引擎中零級清算所使用的清算功能,其處理流程梳理如下:

清算分錄生成後其生成的分戶賬還要和總帳進行核對,也就是多級清算(含零級)總分核對,其設計思路是把賬和物全匯總起來與總帳核對,梳理如下:

到這裡,行內清算設計的主要部分就算設計完成了,其它相關業務如頭寸查詢、報表數據生成等只需要再基於清算分錄數據加工就可以了。

推薦閱讀:

TAG:金融 | 架构 | 公司清算 |