账户系统和会计系统的设计是整个支付系统的底层基础,对外,为支付系统提供资金的充、提、转、管等服务,对内,为财务和资金方提供完整的内部记账凭证。
一、交易模型
账户的变动基于交易而发生,对于账户的处理,需要根据不同的业务规则,结合产品的规划,建立完整的交易模型。
收银台
资金入口,提供B2C网银、B2B网银、快捷支付、协议支付、身份验证等
交易系统
提供业务层的原子化接口,比如快捷支付,协议支付,出金、提现等,处理组合不同的业务,包括组合支付、拆单支付、多次支付等
资产交换
基于渠道层的接口提供原子化服务,动态编排组合账户指令和渠道指令,清结算指令等。
账户系统
基于交易发生的账户变动,比如C1转账100元给C2账户。
会计分录
根据不同的记账事务指令会产生不同的会计分录事件,一般需要支持一借一贷和一借多贷,即每笔交易都会至少生成一组会计分录。
下面以快捷支付收单为列
假设条件:
1、用户使用招商银行做快捷支付向企业商户下单购买产品。
2、支付公司结算至商户余额账户。
产品简称 | 交易阶段 | 账户变动 | 会计分录 |
快捷支付 | 收单 | 银行应收至商户待结算户 | 借:应收账款-待结算-招商银行 贷:应付账款-待结算-企业商户 |
结算 | 商户待结算户转账至商户基本户 | 借:应付账款-待结算-企业商户 贷:应付账款-基本户-企业商户 |
二、账户体系
账户按照所有权可以分为个人账户、企业账户、内部账户。个人账户是面向个人开设的电子账户,比如余额记录用户在支付平台的余额,企业账户是面向商户开立的账户,比如待结算户,基本户,手续费户。内部账户是支付公司为自身业务开展而设立的账户,比如在央行开立的ACS 账户、长款户、短款户。除此之外,支付系统还可以根据自身业务的需要设立各种不同的账户类型。
所有的账户都记录着两方面的信息。
1、账户基本信息:账户号、账户类型、余额、币种、余额方向、账户状态、开户时间、还有些权限控制(是否允许余额为负数、是否允许充值、是否允许提现等)
2、账户流水信息:自开户以来账户所有余额变动信息。何时存入资金,何时取出资金、何时资金冻结解冻。
名词说明:
开户:开设个人账户、企业账户、内部账户。
变更账户信息:变更账户状态、变更账户信息。
记账:实时记账、定时批量记账。
查询:查询账户变动流水。
账户用例(记录商户侧)
1)开户
商户A是一家电商平台,接入支付系统快捷支付、支持借记卡和贷记卡;
对于手续费征收,采取收支两线,并预存手续费10000元,及交易手续费为1%;同时因为该商户资质较好,交易时采取D+0实时结算。这里涉及到了垫资。
商户开户,根据交易特点,需要开通以下账户:
待结算户:用户在商户交易完成后,资金进入该账户。
基本户:商户的余额户,可体现。结算后资金进入该账户。
手续费账户:专门用来存放手续费的账户。
阶段 | 待结算户 | 基本户 | 手续费户 |
开户 | 0 | 0 | 10000 |
2)收单交易
用户上午9点在A电商平台上使用快捷支付购买1000元的商品,交易完成后,A商户结算户增加1000元。
手续费按照1%标准收取,有商户支出,该笔交易手续费为1000*1%=10元,计入手续费账户,手续费剩余9990.
支付公司设置D0结算时间为每天下午4点,下午4点后,待结算资金结转至基本户。
账户变动如下:
阶段 | 时间节点 | 待结算户 | 基本户 | 手续费户 |
开户 | 0 | 0 | 10000 | |
收单 | 9:00 | 1000 | 0 | 9990 |
结算 | 16:00 | 0 | 1000 | 9990 |
3)提现
A商户在下午16:30提现600,商户提现手续费按笔征收,每笔2元。
商户提现600元后,基本户剩余400,手续费账户剩余9988。
账户变动如下:
阶段 | 时间节点 | 待结算户 | 基本户 | 手续费户 |
开户 | 0 | 0 | 10000 | |
收单 | 9:00 | 1000 | 0 | 9990 |
结算 | 16:00 | 0 | 1000 | 9990 |
提现 | 16:30 | 0 | 400 | 9988 |
三、会计核算体系
按会计科目所反映经济内容的不同一般可分为资产类科目,负债类科目、资产负债类共同科目、所有者权益科目,损益类科目。
资产类科目余额在借方,借贷类科目余额在贷方,资产负债共同科目类根据实际情况可借可贷。
会计科目分为总账科目和明细科目。总账科目又称一级科目,是总括反映会计要素的科目,比如银行存款,应收账款。
明细科目是对总账科目的细化的科目,在明细科目中。根据需要设计二级科目,三级科目。其中,没有下级科目称之为叶子科目。
常见会计科目
1.资产科目类
银行存款
应收账款
在途调拨
2.负债类科目
个人账户余额
公司账户余额
应付账户
3.共同类
待清算充值款项
待清算提现款项
待清算支付款项
科目账户层级
四、业务流程
基于消费类型的记账流程
交易系统(收单)
基于商户模式的收单交易,针对购买商品消费类型,异步请求清结算系统。
清结算系统
A-交易清分,算出给每个账户打多少钱,同时从每个账户收多少钱;
B-交易结算出款:调用银行/通道代付接口,自动出款。
C-对账:核算通道与支付系统的应收应付。注:对账业务流程最好不要跟清算、结算勾连在一起,跟上游通道对账与给商户付多少钱最好不要业务先后关系。
账户系统
记录每笔交易的收付记录。
会计系统
按照企业会计分录流水记账,记账采用复式记账法。
账户、会计处理流程
一笔交易至少在账务系统中产生一条账户流水记录(明细账),同时会在会计系统中根据业务规则产生一套或者多套会计分录流水,账户余额与会计余额想对应。账务系统是对外客户提供账户支持,客户的查询余额,明细都是来源于此;会计系统是为了内部核算管理的需求设定的,所有银行资金清算与结转都需要会计系统的支撑,内部户与外部户的资金核算管理也需要会计系统,两个系统相互依赖,账户系统是会计系统的前置。
交易流水达到账户系统后,账户系统为每笔交易分配账务流水,账务前置调用计费系统统计商户手续费。账户流水形成后,若是非实时记账,则直接通知业务系统记账完成,待定时任务跑批执行缓冲记账,若是实时记账,则系统开始记录分户账流水和更新分户账余额,余额更新完成后通知业务系统记账完成。账户系统记账完毕后,将定时或者准实时以批量接口发送至会计系统,会计系统会为每笔交易记录会计分录流水。对于会计记账,需要支持一借一贷,一借多贷模式,会计记账也分为记分户明细账和更新会计余额。
会计记账完毕后,每日日终,进入批处理流程,日终处理是对日间没有处理完毕,以及不需要在日间处理的任务进行批处理的过程,在记账中日终处理主要是指业会核对,即账户系统余额与会计系统余额间的核对。