要说虚拟账户,咱们首先来说一下什么是结算?
结算狭义概念就是付款,广义上结算包含两个概念:一个结,一个是算。算比较好理解——就是通过一定业务规则计算出来应付款项;结——就是按照一定的账期规则,通过一定的方式付款给对方。
作为产品设计,一个结算业务包含着结算单管理、发票管理、账户管理、财务管理等相关对象管理。
以一个简单的业务为例:
用户在我们的平台上帮我们推广产品,会获取一定的推广费,如果没有虚拟账户,我们可能需要按照一定的账期(比如:一个月)汇总这个用户获取的推广费,然后通过一定的方式付款给用户,这个流程就是一个结算业务。如果中间设计了虚拟账户,我们可以把用户获取的推广费加总到这个虚拟账户里,这个虚拟账户可以实时展示此用户的累计推广费,用户可以按照账户余额实时申请结算,我们也可以按照一定账期给予付款。
从上述可知:虚拟账户本质上就是一个账本,按照一定的维度建立不同的虚拟账户,也就是建立了不同的账本,来实时反映算出来的钱的一个累计值,从而丰富我们的结算模式。
那为什么会叫做虚拟账户呢?
原因在于虚拟账户里面的钱只是一种应付款项,并不能像银行、支付公司那样具有交易作用,所以虚拟账户很大作用是其记账功能。
大家对虚拟账户有了一定的概念,下面我将具体介绍虚拟账户如何设计。
我们知道虚拟账户本质上是一个账本,那么账本会有那些元素呢?
时间、事项、收支、余额等,账本有总分类账、明细账,如下图所示:
总分类账是记录各个科目借方余额、贷方余额、总余额的账簿,明细账是总分类账某一个科目明细流水账, 其实虚拟账户也跟这个类似,虚拟账户是由实时账户结构、实时账务结构来构成。
如下图所示:
(1)账户结构
账户结构主要表述搭建一个账户,需要哪些项目,也就是需要哪些通用的字段,如下图所示:
(2)账务结构
账务结构主要是针对于账户余额的产生所发生的流水信息,如下图所示:
以上是账户基本项目信息、账务基本项目信息,如果这个看明白了,可以融会贯通,可以对这些项目按照业务需要扩充一些其他补充信息项目。
我们数据表搭建好了,下面我们用一个案例来解释,这个账户、账务展示效果。
比如:我们给我们的用户张三建立一个推广费账户。1月2日,我们开通了他的账户,当天张三发生两笔笔推广费收入1000元,但是账期还没到,还不能把款项付给他;1月3日,其中一笔业务账期到了,这笔钱可以打给他了,金额是500;1月4日,我们把500元钱打给了张三。
关于上面的业务,我们账户查询、账务查询是什么情况呢?
如下图所示:
通过对账户结构、账务结构相关基本项目表述、案例表述,我想大家对虚拟账户设计有了大致的了解。关于账务流水怎么产生,如何设计触发账务流水产生功能,我将在下一章——交易体系,对这个做一个详细的说明。
我们总结一下虚拟账户相关知识点:
- 虚拟账户本质上是一个记账系统,他是结算系统中一个结算对象载体;
- 虚拟账户设计包含着账户结构、账务结构;
- 账户结构类似于总分类账,记录某一账户余额属性,可以提现某一账户实时的账户余额;
- 账务结构类似于明细账,是总分类账金额发生变动的明细记录,他是触发账户余额变动的最根本来源,并且也可以用它进行会计处理;
因此通过虚拟账户体系搭建,其实实现了相关业务的实时展现(比如账户余额、账务流水),也实现了相关业务实时触发(比如账务变动、会计记账)等业务。