美文网首页支付结算产品学习
电商账务系统设计方法和要点

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

作者: 熊大锅 | 来源:发表于2020-10-05 17:34 被阅读0次

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

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

2. 账户表字段设置

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

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

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

3. 账户流水

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

3. 交易接口

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

4. 对账规则

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

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

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

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

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

  1. 余额对账
    为确保余额快照的准确性,需要将每个账户当期余额-上期余额,与当日流水轧差核对。

相关文章

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

    1. 梳理交易类型和账户结构 和业务侧确认各类交易流程,从中抽象出结构化的原子交易类型,需考虑正向、逆向、异常处理...

  • 电商分账(计费/清算/返点)系统设计方法和要点

    所谓分账,或者叫做计费/清算,底层都是资金的再分配。 资金的再分配,需要有业务单据作为凭证。例如电商订单货款的再分...

  • 电商系统账务中心架构演化

    随着电商类的在线交易平台越来越多,涉及到资金操作相关逻辑也惨杂其中。然而大多数的程序员并不具备账务领域的专业知识,...

  • 第九章 账务处理子系统设计

    第九章 账务处理子系统设计 第一节 账务处理子系统概述 [if !supportLists]一、[endif]账务...

  • 核心银行系统 之十七 批量任务

    批量任务 账务处理子系统作为核心银行系统的系统内核,这使得账务处理子系统的设计和实现成为商业银行核心业务系统构建过...

  • 账务系统设计

    更多支付内容请移步个人站:YKBLog.top 背景 账务系统是什么 账务系统是采用一些会计理论(复式记账和会记科...

  • 电商后台设计要点

    管理后台之账号管理(一):http://www.woshipm.com/pd/580997.html 电商后台系统...

  • 蚂蜂窝Java职位JD

    工作内容/职位描述: 1、负责马蜂窝电商核心业务系统架构设计及优化,进行系统改造和升级 2、优化电商交易平台架构,...

  • 干货贴:B2C电商系统整体功能和流程设计总结

    干货贴:B2C电商系统整体功能和流程设计总结 | 人人都是产品经理 B2C电商系统涉及到多操作端整合和多用户角色交...

  • 商品库存系统--浅谈

    实习设计了一个家具模型入库的后台系统,和电商后台系统的商品发布很类似。就去查了一部分电商后台系统的资料来看看,希望...

网友评论

    本文标题:电商账务系统设计方法和要点

    本文链接:https://www.haomeiwen.com/subject/tjuauktx.html