按照嘉宾的要求,本文不对外公开。如果你是意外看到这篇文章,请勿将链接发送给其他人。


主题分享

一.账务系统作用

1.记录账户余额
2.记录账户流水
3.会计核算的基础
4.一种支付方式(比如余额宝,花呗)
5.交易和会计系统的缓冲,用于实时记录客户余额的变化
6.信用额度控制
…..

二.账务系统类型

1.复式记账的账务系统:会计系统,(我设计的账务系统)
2.单边记账+复式记账的账务系统:支付宝账务系统 (充值 提现单边记账,内部转移复式记账)
3.单边记账的账务系统:电商平台类,最初的原始余额管理系统

三.账务系统和其他系统的关系

1.以账务系统为核心

业务系统-》账务-》会计核算-》对账
2018-03-14 17:33:02

2.以交易系统为核心

2018-03-14 17:33:08

3.客户,会员,账户的关系

2018-03-14 17:33:45

三.账务系统设计

  1. 接口设计
    2018-03-14 17:34:33

2.基本的数据结构

2018-03-14 17:34:34

四.账务系统设计原理

1.复式记账账务系统

和会计原理类似:

a.有借必有贷,借贷必相等
b.恒等原理:资产类账户 + 负债类账户 = 内部类账户(余额可正可负)

充值
充100元,内部渠道户如何平账(充提对冲)
资产类账户(+0) = 负债类账户(+100) + 内部支付渠道户(-100)

提现
资产类账户(+0) = 负债类账户(-100) + 内部支付渠道户(+100)

转账
资产类账户(+0)= 负债类账户(+100 +(-100))+内部类账户(0)

信用还款 资产类账户(-100) = 负债类账户(-100)+内部类账户(0)

为什么同时-100,还款操作是减少资产账户的已透支额度,消费是增加透支额度

等等场景都可以罗列

账务系统遵循这个原理:
1.可定时验证账务系统恒等是否成立,判断这段时间系统是否出现漏记,或金额记错的问题。
2.账户类型和会计科目映射,可以核对每日期初余额,期末余额,发生额,如果有差异,则核对明细
3.热点账户问题需要解决,内部账户会存在排队记账的情况,需要有队列机制or汇总记账。
4.回滚需要同时清除2个账户的流水和余额,比较麻烦。
5.一个交易对应多笔记账流水需要在一个事务里完成记账,实现复杂。

2.单边+复式记账

在和第三方系统发生业务使用单边记账,比如充值,提现 系统内资金过程使用复式记账。 优势:

  1. 避免支付渠道余额清理的问题,减少热点账户
  2. 账务的记账流水用于和支付渠道对账。
  3. 内部热点账户可以批量记账,比如担保交易的中间账户,优惠券账户等

五.对账

1.和会计系统对账

a.整理会计系统记账
b.建立账户类型和会计科目的映射
c.明确核对周期,比如日清,周清,月清 按实际情况
d.核对期初,发生额,期末余额,如果会计系统类似SAP有供应商和客服分类账的可以核对不同余额。

2.余额对账原理

2018-03-14 17:35:09

3.支付渠道对账

2018-03-14 17:35:23

七. 记账

账务系统的记账几种类型:

1.担保交易

先冻结额度,然后再扣除冻结额度,记录账务流水和更新余额

a.提现:平台自建提现通道,走银企直联,不是实时到账,涉及到财务提现审核,提现流程分为3步。

b.支付宝的担保支付也可以不走中间账户,先锁定,收货后扣除锁定额度

2.实时交易

账户支付 直接记录账务流水和余额变化

3.记账交易

按照固定账单从账户扣钱,不需要支付验证,一般由扣款协议。

代扣类业务:花呗扣款

八.余额核对

如何核对账户系统余额 应该从什么点出发,来做核对,怎么才能财务的期初,期末,发生额对上呢,有差异如何快速的找到问题点。 我的经验如下,针对每个业务场景将账务流水,财务凭证,资金流分析清楚,指定每个场景的对账规则,比如流水号写入会计凭证。 示例如下:

2018-03-14 17:35:59

九. 账务设计

如何才能做好账务设计工作? 如果要做好这个工作,首先要对信息流,账户流转,财务记账等按交易场景分析清楚,做到每个业务场景都细化到账务流,资金流,凭证流,制定业务核对规则,按流水号,凭证号,资金支付单据号等唯一值实现系统自动记账,核对,实现日清日结。

2018-03-14 17:36:57

https://zhuanlan.zhihu.com/p/34142945 这个是知乎的文章 有需要可以收藏,我还有一些不能分享的,可以私下交流

2018-03-14 17:40:15

补充: 微服务架构

微服务架构需要对服务进行合理拆分,拆不好就问题多点。我们把最基础的几个金融服务拆分成:会员,账务,交易,账单,支付。这是最基础的几个服务来支撑上层业务

2018-03-14 18:09:45

2018-03-14 18:10:58

用微服务化解决的痛点从产品角度来说: 1.解决业务快速迭代的问题,保障底层系统的稳定,可快速支持前端业务实现,类似用阿里的中台。
2.系统版本发布关联少,可以快速上线
3.技术人员专业度问题,一小组人员负责1,2个服务,可以持续迭代更新,沟通成本小


Q: 你们如何解决热点账户的问题,热点账户的瓶颈很大一部分在于账务?用cache的方式可以保证性能提升,但是无法解决金额止付。
热点账户一般都是内部账户,对实时性要求不高, 可以汇总记账,或者队列 。 客户的账户的实时性要求高,必须单笔顺序记账,避免余额更新错误 。

Q: 如果是理财申购等,很容易对对公户形成热点。如果保证余额实时更新就不太好弄呢
A: 理财申购的场景是从对公账户扣钱,还是加钱
Q: 申购的时候是加钱,赎回的时候扣钱,这个时候可能会有瞬时间的大批量交易进来,也可能就持续几分钟。对于整个交易系统压力太大了
A: 增加余额的话,可以批量处理。 放MQ里满满处理,可以采用担保交易,先冻结客户余额,等成功后扣除客户余额
Q:现在你们不用消息总线了,都是用MQ?
A: 是啊, 这种大批量的处理业务,申购的话,就先冻结客户余额,把交易请求放MQ,处理完成后,扣除冻结金额。如果是赎回的话,就把交易放MQ中慢慢处理,提高处理效率,我的想法不一定对

Q:你的账户表上有一个subject_code,这个是对应到你们财务的会计科目上了么?
A: 对

Q: 咨询下,那你设计时,会计主体是 公司,还是你们账务中心? 举个例子,业务线来申请账号,你是分给它一个商户账户还是内部账户?
A: 账务系统可以支持多个公司记账啊. 我的那个数据结构不是最新的,现在可以支持多个会计实体记账
Q: 还是没明白,比如京东的一个自营店,如果向账务中心申请一个账号。在你们的体系中分给他的是商户账户?还是内部账户? 也可以理解账务中心帮自营店收的钱是算负责?还是收入?
A: 可以按商户处理,如果是独立结算的话
Q: 明白,你们的主体是账务中心,谢谢

Q: 账单服务是干嘛的?
A: 就是类似信用卡的账单 , 用于生成信用消费的结算账单
Q: 哦. 你们有信用类业务. 所以有这个系统. 了解了.
A: 消费金融需要这样的系统
Q: 那你们有赊销业务么?

Q: 请问一下有电商申请退款的流程有吗?
A: 电商的申请退款流程要看你们公司的实际情况,流程没什么复杂的, 针对公司实际梳理即可, 每个公司都不太一样 。这个是我收藏的,不一定合适,你看看吧 http://10eabdbe.wiz03.com/share/s/0gWHS-3S017w2wsw0z1ZXVvc12bHV-0flAqE2vBQKR26Vv1F

Q: 谢谢,再咨询下,这个步骤,实操是怎么进行的?
2018-03-14 18:36:16 A:
1.账务系统基本上是实时记账的,
2.财务系统是基于交易记录定时生成凭证
3.每日财务记账完成后,可以生成余额表.
4.账务系统也可每日生成余额表
5.两个系统的余额按科目和账户的映射比较期初,期末,发生额

如果发现有异常情况,可以针对个别客户进行明细核对,交易记录,账务流水,会计凭证都有对应关系
你们公司如果用SAP的话,就很好实现

Q: 账务系统和财务系统区别是? 账务就是记录交易流水的系统么? 财务系统定时生成凭证理解。账务系统实时记账是指收到支付的回调流水做记录么?
A;充值是收到支付成功才记流水

Q: 咨询下,账务的余额表是在每天的某时刻对相同的会计科目的账户进行余额汇总么? 比如我用户的现金账户、和商户的现金账户都挂在会计的 【预收账款】下,那我就把这时刻的所有用户和商户的现金额加在一起,记在预收账款的T日期末余额上?
A: 账务系统余额汇总可以按账户类型分类汇总 ,也可以按账户对应的会计科目汇总 , 要看对应关系的情况 。 Q: 就是你按会计客户的类型核算? 资产 负责 收入 费用支出?
A: 都可以啊,只要科目对上就行
Q: 还有个问题,账户的余额是在实时变化的,怎么对一个时刻进行统计呢?
A: 你可以做个报表系统啊。 取某个时点的账户余额有很多方式,1.每个账务流水都记录了发生前,发生后的账户余额,你可以取当日最后一条账务流水的发生后的金额做为当日账务余额
每日的发生额也可以汇总,期初 = 期末-发送额
Q:那就对上了,我的流水也是 交易之前余额 交易发生额 交易之后余额的方式记录的。谢谢

Q: 资产类账户和负债类账户是怎么定义的呀
A: 资产类账户就是信用账户,透支用的 , 负债类的账户就是现金余额账户,欠别人多少钱 。资产和负债是从财务角度来看账户类型的 。

Q: 看到账务系统有分账户的设计,每个账户的变动流水都是独自成立明细表记录吗

2018-03-14 19:21:05

A: 分户账就是账户类型,或者按会计科目汇总, 也可以按用户的账户ID汇总, 看实际业务需要, 还有你们的业务量。 Q: 哦哦,还以为是一个账户主体多个分账户呢

Q: 还要咨询个问题,我对会计系统不熟悉,会计系统接收到支付交易推送的数据要要完成什么职能呢?
A: 你们公司是交易来记账 还是账务流水来记账 , 会计系统是根据业务系统的什么记录来记账的
Q:这个“记账”的没get到是做什么?
A: 生成凭证的意思
Q: 我们还没有会计系统,我刚设计开发完成账务系统,正打算学习下会计系统的职能…
A: 你可以看一下支付宝的那个文档, 你照着做就行了。账务流水 驱动会计核算

Q: 想问下,账务系统一般都要做成单独的系统吗?
A: 单独一个服务


本文档来自支付产品技术交流群的聊天记录整理,由志愿者整理并发布到本网站。如需要及时收到来自支付产品技术交流群的最新消息,请扫码关注“凤凰牌老熊”的微信公众号。 本群面向支付行业的有经验(2年以上)的产品经理、软件工程师、架构师等,提供交流平台。如想加入本群,请在本文评论中留言(不公开),说明所在的公司、负责的工作、入群分享的主题和时间。