清结算系统复盘:对账流程介绍
本文主要对曾经做过的项目进行复盘,与大家分享银行存管模式下的对账过程,供大家参考学习~
本文所指对账主要实现每日平台与银行针对用户资金变动情况进行逐笔核对,保障本地账户与银行侧账户资金一致,准确反映客户的真实资金情况。
背景介绍
笔者所在业务部门主要是提供第三方服务平台,为平台的需求方(D)和服务提供方(S)提供相关服务。
在使用平台过程中,供需双方的资金需提供平台进行流转,为符合国家监管要求,平台对接某银行存管系统,用户与银行进行签约绑定银行卡后,将D和S用户资金存放在银行,银行管控资金流,平台管控信息流,通过接口指令与银行系统对接。
业务说明
每日除需将D和S在平台充值或提现的资金变动情况与银行进行对账外,业务系统也会根据结算规则生的交易结算单,一并提交银行进行对账。
因此,本文将对账过程分为两大步骤:充值/提现(或称为出入金)对账、交易对账。
对账流程
1. 充值/提现对账
主要实现将平台侧的用户资金与银行侧变动保持一致,避免因为充值或提现失败导致两侧资金不一致的情况。在对账前需确定哪些流水需与银行进行对账?
由于充值/提现主要针对当日交易进行,因此需选取时间为当日发起/或更新的在处理中的/或已成功的流水与银行进行逐笔交易的勾兑。
(如状态为失败,如平台审核不通过或者银行处理失败,对于前者请求并不会发送给银行,因此无需与银行对账;后者由于平台是被动接收银行消息,银行返回失败,则本地也会是失败,因此与银行是一致的,也无需与银行比对)
对账主要基于如下几个要素进行:交易流水号、用户交易资金账号、金额、状态。
具体对账流程如下:
按照系统设定的对账时间,向银行发送对账请求,则银行在收到通知后,生成当日的充值/提现对账文件,平台在获取银行侧文件B后,与本地生成的对账文件P进行比对。由于在对账过程中可能会出现B与P不一致情况,因此分为以下两步进行对账:
(1)以本地对账文件为主,与B文件进行比对
如交易流水号不一致时,如同一用户银行侧跟本地均为成功状态,由于在充值或提现时,上送银行的请求中会传给银行交易流水号,理论上在银行侧应该有一致的流水对应的交易状态信息,此种情况需将记录计入差异文件并记录:充值入金-短款(平台金额小于银行金额)/提现出金-长款(平台金额大于银行金额),待人工与银行进行核查;
如本地交易流水号状态为处理中,则可能会由于消息通知机制的延迟或网络问题,导致两侧状态不一致,需将此条流水暂存至临时挂账文件,待系统后续处理(临时差异文件中的记录会在后对账中与银行进行比对,如匹配一直的话,可将记录移除并进行正常的对账)。
如资金账号、金额不一致,则需将交易记录计入差异文件中。差异文件主要记录这两种情况产生的差异,此非正常情况下,为保证平台清结算正常运行,需工作人员立即与银行核查差异原因,并进行必要的系统调账处理。
如仅交易状态不一致,则以银行状态为准,更新本地交易流水状态。仅状态不一致,可能由于消息通知机制的延迟或网络问题,导致在对账时刻银行状态为成功,本地平台为处理中,因此以银行为准,更新本地状态即可;
(2)以银行对账文件为主,与P文件进行比对
与临时差异文件进行比对,如临时挂账文件中与P文件能匹配上,将交易记录移出,加入到本地对账文件中,与P文件进行正常对账流程;如流水号不一致且不在临时挂账文件中,需将记录加入到差异文件,需进行人工核查。
2. 交易对账
主要实现根据用户业务交易情况变动用户在银行侧的资金,并通过平衡试算公式保障所有需方用户交易需扣减资金=所有供方用户需增加资金+平台收益资金(平台收取一定金额的服务费)。具体对账流程如下:
在完成上述充值/提现对账后,准备并生成本地全部已签约用户的交易数据文件(主要包括按照结算周期及规则需在当日完成结算对账的全部用户汇总的交易结算单),系统发起与银行的清算交易对账请求。
银行在接到请求后,获取本地准备的交易对账文件,并通过平衡试算公式进行交易比对,如交易对账文件满足公式,则对账成功,银行根据对账文件变动用户D和S在银行的账户,并同步本地账户;如不满足,则对账失败,银行生成对账差异文件,并返回失败通知。
平台在核对交易对账文件及差异文件后,修改本地文件并再次发起对账,直至对账成功。
本地的交易数据文件如下,平衡试算验证:
- 减少变动金额=增加变动金额
- 每个用户账户余额=银行账户余额-变动金额
交易文件如不满足平衡试算公式,则会导致平台资金不平衡,则需人工排查产生原因。
对于银行而言,监管的是平台全部用户的资金,必须保证交易导致的一方资金减少时,另一方也等量增加相同资金,确保监管系统的资金账目平衡,达到账户监管的目的。
本文由 @forget 原创发布于人人都是产品经理,未经作者许可,禁止转载。
题图来自Unsplash,基于CC0协议。
很清晰 感谢
请问做我的收益需要提现合规吗?