电商账务系统设计方法和要点

1. 梳理交易类型和账户结构

  1. 和业务侧确认各类交易流程,从中抽象出结构化的原子交易类型,需考虑正向、逆向、异常处理流程;
  2. 根据交易流程和类型,根据我国企业会计制度要求(最新版本为2016年会计科目表),和业财会计确认会计科目结构:在科目下开设平台账户、用户账户,不同角色的用户,根据用户允许交易的类型(充、付、退、提),以及资金流的中间状态(待清算、待审核、待结算等),设立不同的账户。

2. 账户表字段设置

公共字段:创建时间,角色类型(平台,商户,分销商,买家),user_id,币种,余额,可用余额,冻结余额,是否实名,状态等;
付款类:是否允许付款,付款密码,限额额度
退款类:退款密码
提现类:是否允许提现,提现额度,提现账号(第三方或银行卡),授权方式(密码,手机号)
其他类:

客户账户不多时,可统一储存在一张宽表;用户账户很多时,可按科目给客户账户分表,甚至可以把热点账户单独分表。

账户余额最好每日日切记录余额快照,以方便追溯记录和对账。

3. 账户流水

和小学作文四要素“时间地点人物事件”类似,账户流水需要包含:
交易类型,交易账户,对手账户,交易金额,交易时间,业务单据号(如退款单号,在该交易类型下保持唯一),原始单据号(如订单号,根据需要判断是否保持唯一),以及其他有需要的交易要素信息;
如果需要对账,还需要加上是否对账,会计日期等字段。

3. 交易接口

  1. 账务系统向相关系统,按照各类交易类型,开放不同交易接口;
  2. 接口字段必须包括业务单据号,账务系统对此单据号维护幂等性;
  3. 业务方调用不同交易接口,传入交易要素字段,账务系统先需要做基本的核对,核对成功才能入账;
    需校验的内容:单据是否唯一,账户是否存在且状态正常,金额是否充足,以及其他该交易类型需满足的条件。
  4. 校验通过后,记录账务流水。对于外部资金流入或内部资金流出类交易(充值退款提现等),记录一条流水;对于资金在内部账户流动,记录一对或者一组(偶数条)流水,更新对应账户余额。
  5. 记录一对或者一组流水时需保证事务性,即这一串操作需要全部成功,才算账务处理成功,否则有一个失败,则需要全部失败。

4. 对账规则

账务系统主要功能就是记录各个业务方,对账户资金的调拨,因此对账的主要目的:

  1. 账务系统和外部系统间的数据一致性
    对于外部资金流入或内部资金流出类交易(充值退款提现等),每条流水需要和上游业务侧的业务单据,进行一对一的轧帐。单据的金额、交易账户、单据号都对得上时,账务流水可标注为已对账或对账成功。
    如果账务流水少了,检查业务侧调用账务失败日志;如果账务流水多了,可能是业务方单据状态未同步,可能需要补单或更新状态。
    比如账务系统订单交易入账流水,和支付系统支付单对账,或者结算系统的结算单,与账务系统分账明细流水度对账。因为都是内部系统对账,频次可以设置得比较高,比如每10分钟一次。

对于资金在内部流动的交易类型,账务系统也需要和上游系统(如结算系统入账)按照单据对账,可能是一条业务单据(如结算单)对多条账务流水(分账)对账。一对多对账时,业务单据中给到每个账户的分账金额,与出金账户出账流水核对,金额、交易账户、单据号都对得上时,账务流水可标注为已对账或对账成功。

  1. 账务处理时事务完整性校验
    资金在平台内部账户间流动时,出金账户和入金账户都会分别记录一条流水。出金账户流水已于业务系统对账成功,入金账户流水则需要与出金账户流水对账,以保证一一对应。
    如果是复式记账法,将分户流水与会计分录轧帐(记账凭证对应),同时会计分录进行平衡性对账,即可核对平衡;
    如果是单边账,即只有分户流水,可以按照每种交易类型(限资金内部流动交易),取交易双方账户或科目的流水进行轧帐,交易单据、交易金额、账户编号(或uid)相同则对账成功,可将入金账户流水标注为已对账。

因为账务流水比较多,一般采取异步同步流水后,定时使用独立的对账服务器单元执行对账任务。

  1. 余额对账
    为确保余额快照的准确性,需要将每个账户当期余额-上期余额,与当日流水轧差核对。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,319评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,801评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,567评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,156评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,019评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,090评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,500评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,192评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,474评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,566评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,338评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,212评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,572评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,890评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,169评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,478评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,661评论 2 335