一、先看一下结算系统的几个抽象实体及其关系


账户体系架构设计图 账户结构图片_开发人员


1.1 由上图可以看到,账户是核心,而账户利息设置、利率、积数等都是账户的附加属性。因此我们首先分析一下账户:


  • 账户自身包含账号、户名等信息,同时为处理方便可能直接在账户实体上放置当前余额及可用余额;
  • 账户的余额会使用单独的实体存放,每天一条记录,在余额中会包含账户实际总余额和可用余额(可能因为保证金或交易在途等原因存在余额冻结,或者账户存在透支额度,所以可用余额和实际余额不一定相等,可用余额可能大于实际余额,也可能小于实际余额);
  • 账户的明细是反应账户余额变动的每笔详情,一般包含本对方账号、账户等信息、用途或附言、发生额及余额等信息。金融系统的凭证一般采用复式记账法(借贷记账法)记录,而明细一般采用单式记账法记录;
  • 账户性质是账户的关键属性之一,一般是为了便于业务区分而存在,例如结算账户、投资账户、借款账户等;
  • 账户科目是账户进行账户核算的关键属性,主要根据账务要求进行划分,账户会根据所属科目标记是借还是贷,也是复式记账时的做账依据;


1.2 金融业务都伴随着利息的产生,不管是存款还是投资还是信贷,都会涉及利息产生(利息计算实际可分为利随本清、定期结算等),利息的计算也是围绕账户进行的:


  • 账户利息设置,可以设置账户各种业务业务计息时的关联账户,例如付息账户、收息账户、应收账户、应付账户;
  • 账户利率,不同的业务可以设置不同的利率,不同的时间点也可能存在不同的利率;
  • 积数是活期账户计算利息的要素之一,而信贷业务一般会基于台账进行计息;
  • 计息结束后需要保存结息记录,包含所属账户、计息日期、开始日期、结束日期、利率、本金、利息等要素;


1.3 账户系统另外一块结构就是包含业务单据和凭证,一个业务发生会产生单据并生成凭证,同时更新账户的余额:


  • 单据是对业务/交易的抽象,包含本对方账户信息、单据类型、日期、来源、金额等信息;
  • 凭证,凭证采用复式记账法制作,一个单据可能产生一借一贷、一借多贷、一贷多借的凭证;


1.4 交易可以是一个独立的系统,表示最原始的业务。交易可以看作电商系统的订单、互金系统的投资交易或借款,而账户结构中的单据可以看作三方支付或银行系统的一部分。交易的实体也是比较丰富的,这里只是简单的列举了交易和交易类型两个核心的实体,此外例如交易日志、工作流等也是必须的。


二、金融、财务、账务等是密不可分的几个概念,结算系统的做账也是采用复式记账法,因此必须要了解做账规则。


复式记账法的做账规则比较复杂,如果只懂技术的开发人员很难开发出正确的业务。例如很多业务是本对方账户的余额同时增加或同时减少的,不一定一个余额增加另一个账户的余额就要减少。

下图简单的列了一个银行系统的一些基础的账户和所属的核算属性,可作为做账时的快速参考:


账户体系架构设计图 账户结构图片_电商系统_02