账户体系是支付交易的基础,就像电池对于手机,油罐对于加油站,心脏对于人体?那么这么核心的系统是不是很难设计呢,其实恰恰不难;这也印证了那样一句话“大道至简”
一、什么是账户
我们先看看标准定义:账户是根据会计科目设置的,具有一定格式和结构,用于反映会计要素的增减变动情况及其结果的载体。
增减变动的会计分录的书写规范:
-
借:科目A 金额1
-
贷:科目B 金额1
账户结构规范:
账户的基本结构应同时具备以下内容:
-
账户的名称,即会计科目;
-
日期和摘要,即记载经济业务的日期和概括说明经济业务的内容;
-
增加方和减少方的金额及余额;
-
凭证号数,即说明记载账户记录的依据。
财务知识不是很充足的同学可能对以上的账户定义很难理解和绕口;我们从业务的角度来看账户,后面的电子账户我们都会从业务角度去看,抛弃财务视角。
从业务视角来看账户其实就是用于记录某个主体的某类型资金的余额以及余额变动明细的数据载体。
所以账户有3个关键的点:
-
账户余额:这个账户有多少钱
-
账户流水:这个账户资金进进出出的明细记录
-
账户交易:怎么把钱放进去,怎么把钱取出来
抓住了上面3个点我们基本就抓住了账户设计的核心了,是不是很简单
基于这3个点去构建账户的辅助设施,比如账户主体,账户种类,账户余额结构,账户流水的记录字段,账户的功能权限,账户的出入账,账户服务(账户开通注销,冻结解冻,余额流水查询等)等。
二、账户的种类
从财务科目分类来看内部账户,账户可以分资产类账户,负债类账户,损益类账户,共同类账户,然后就是不同的科目。
但是站在业务的视角,我们更多是基于业务场景来对账户进行命名,比如商户的结算款会结算到商户结算账户,支付公司在银行开的账户叫备付金账户,备付金账户又分存管户,收付户,汇缴户;个人账户,企业账户;会员子账户,商户子账户,中间担保户。
所以从账户命名上我们基本就知道了这个账户是干嘛用的;就像你有10张卡,一张是放工资的你叫他工资卡,一张是公积金的你叫公积金卡等等;所以这时候我们基于业务命名,目的是为了区分账户用途。
但是收回来我们发现,无论账户叫什么名字,都是有账户余额,账户流水,账户交易;无论卡叫什么名字都是银行卡;所以账户的本质属性不变,设计办法基本相通,唯一会有不同的是附属内容;比如支出户只能打款不能收款,中间担保户不能为负等等,权限不同,主体不同,交易特点不同.....
小样,你以为穿个马甲我就不认识你啦,你装钱的,能进能出,记得明明白白;别管你叫啥我都知道怎么设计,不管我叫你啥我都这么设计
三、账户的结构
账户结构:
账户主体:
这个账户是谁的,个人的?企业的?内部业务线的?
账户结构树:
就像会计科目,就像商品类目,由于账户可能种类繁多所以有时也需要一个结构树,比如:
账户类型:
账户的分类,比如个人账户/对公账户,结算账户/付款账户,收款账户/打款账户。
账户名称:
钱多少不重要,名字一定要有气质:陈老师全球通国际清算私房钱账户。
账户余额:
账户余额一般为了业务需要,会设计多个金额属性,比如冻结金额,可用金额,可提金额。