这是清结算系列的第四篇文章,本文重点介绍清结算中的账户和账务的处理。

请务必阅读这几篇文章以便理解这里的流程。

  • 支付清结算之基本概念和入门
  • 支付清结算之渠道侧处理
  • 支付清结算之电商侧处理

一、账户体系

在设计清结算系统前,首先需要完成账户体系的梳理。 账户是用来记录会计科目所反映的业务内容的工具,它根据会计科目来开设的。 账户有多种维度的分类。 按照经济内容来说,账户分为资产类账户、负债类账户、所有者权益类账户、损益类账户、成本类账户和共同类账户。 按照会计周期内期末是否有余额,也分为实账户和虚账户。

资产类账户

用来反映资产增加、减少以及增减变动结果的账户。和支付系统相关的主要资产类账户有: 银行存款、应收账款、预付账款、库存商品、发出商品等。 资产增加登记在借方,减少登记在贷方,期末有余额的话,一般出现在借方。 在一个会计期间,所有借方金额的累加为“借方本期发生额”,所有贷方金额的累加为“贷方本期发生额”。

资产账户的余额=借方期初余额+借方本期发生额-贷方本期发生额。

为了跟踪在每个银行的存款变更情况, 需要对公司在各个银行开通的收款账户设置对应的银行存款账户、应收账款账户。在小明购买会员卡的案例中,资产类账户包括:

  1. 银行存款:这是一个总账账户,记录电商公司在各个银行的总存款。
  2. 应收账款:这是一个总账账户,记录在银行的应收账款,这是虚账户,期末无余额。
  3. 银行存款-工行:这是一个明细账户,对应在工行的对公账户的存款变化;
  4. 应收账款-工行:这是一个明细账户,记录在工行的收款情况,这是虚账户,期末无余额。

负债类账户

负债类账户也是实账户,记账规则跟资产类相反,负债增加记为贷,负债减少记为借,期末如有余额,一般在贷方,表明期末有债务实有额,负债类账户的余额计算:

贷方期末余额=贷方期初余额+贷方本期发生额-借方本期发生额。

从支付系统的角度, 电商公司的自有账户,包括针对个人的账户和针对商户的账户,一般放在负债类账户下,此外,应付账款、预收账款、应交税费等,也是负债类账户。

所有者权益类账户

所有者权益类账户用来反映所有者权益增加、减少和变动结果的账户, 记账规则跟负债类账户一致:所有者权益增加记为贷,减少记为借。和支付系统有关的所权账户包括 本年利润、利润分配等账户。 企业取得的收入最终会使得所有者权益增加,因此收入类账户的记账方法跟所有者权益一致:增加记为贷,减少或者转销记为借,通常该账户期末无余额(因为期末收入都会转为所有者权益,如未分配利润等),属于虚账户。

损益类账户

损益类账户分为收入类和费用类账户。

收入类账户指各种收入、补贴、投资收益,如主营业务收入、其他业务收入和营业外收入等,增加记为贷,减少记为借。

企业在日常经营活动中会发生各种各样的耗费,这些耗费在会计学上称为成本费用,它们是收入的抵减项目,在抵销收入之前,可以视为一种资产,因此成本费用类账户的记账规则跟资产类一样:增加记为借,减少或者转销记为贷。费用类账户包括:主营业务成本、其他业务成本、营销费用等。

按照企业会计制度的规定,损益类账户的科目余额,应该结转入利润分配科目,期末余额为零,为虚账户。

在本案例中,损益类账户包括:

  1. 主营业务收入,这是总分类账户。
  2. 主营业务收入-会员卡,针对会员卡业务的收入。
  3. 营销费用,这是总分类账户。
  4. 营销费用-优惠券,用来跟踪优惠券相关的支出。
  5. 渠道费用,这是总分类账户。
  6. 渠道费用-工行: 用来跟踪在工行的渠道费用支出。

成本类账户

有成本核算的企业需要设立的账户,包括生产成本、劳务成本等,本文暂不涉及。

共同类账户

这是反映特殊经济业务的账户, 本文暂不涉及。

账户体系

二、账户结构

如前述文章介绍,我们采用复式借贷记账法。对于分户账,或者说明细账,如下示例:

在这个实例中, 账户中账务相关的结构包括:

  • 账户名称:如上述的“应收账款-工行收款”
  • 会计分录: 除了登记借方金额、贷方金额,还需更新账户余额
  • 期末借方余额、期末贷方余额、期末余额:按期定时计算。在日切时,计算日发生额和余额。在按月、季度和年作为会计周期时也采用类似的方法处理。 除了日切是必须的,其它时间段的处理是根据财务需要来实现。

在实现上,账户的各个属性更新时间并不一致,所以在设计账户表的时候,可以按照更新时机来划分表。

在存储上,账务相关信息一般是和账户其他信息相互独立处理,处理账务相关信息的子系统被称为账务子系统或者记账子系统。

三、支付流程

接着之前的小明购买会员卡的案例,不考虑优惠券和卡采购的情况,会计分录:

借:

  • 应收账款-工行收款 100-100*0.1% = 99.9
  • 服务成本-工行手续费 100*0.1% = 0.1

贷: 主营业务收入-会员卡 100

在线上的实时处理流程如下:

  1. 用户购买会员卡,提交订单,会员卡向订单系统请求生成订单,订单系统向支付系统发出支付请求;
  2. 支付系统生成支付记录,并向银行发出请求;
  3. 银行实时从小明的银行卡账户上扣款100元,通知支付系统小明支付成功;
  4. 支付系统账务子系统在自己的账户体系中记录小明的这一笔消费支出,给会员卡业务账户增加对应的资金,通知会员卡系统发送卡给小明。
  5. 支付系统发送消息异步通知会计系统进行记账。

这5个步骤都是线上的流程,在此过程中,各个子系统之间的交互如下图所示。 我们逐步分析这里涉及到的对象。

四、支付订单

这个流程中,首先生成的是支付订单。这是一个比较简单的订单,仅涉及到一个商家和一个商品。 在比较复杂的电商场景中,一个订单会涉及到多个商家、多种商品以及对应的优惠活动。也就是,一个总订单会被拆分为多个子订单。这部分内容将在后续的订单系统设计一文中详细介绍。 而订单中和资金相关的内容,都需要在账户体系中建立对应的科目和账户。在请求支付时,只会将总订单提交支付,拆分子订单是在订单系统中完成的。

针对上述场景,为了简化处理,假定老熊公司当天总共完成了三笔会员卡交易,支付订单如下:

五、支付记录

在这个流程中,订单系统向支付系统请求支付时,支付系统将产生支付记录(支付订单)。 支付记录内容比较多,这些数据是后续进行记账的基础。

上述的三个订单,两笔通过工行支付,一笔通过支付宝支付,其产生的支付记录如下,此处省略了其他和记账无关的字段内容:

这里需要注意的几个属性:

  1. 订单号: 这是总订单号。支付系统不再对订单进行拆分。 订单拆分是订单系统的功能。
  2. 支付流水号:在支付记录中,针对每个(总)订单号,会有对应的支付流水号。 如果用户使用组合支付,如上述场景,小明使用余额支付了20元,使用银行卡支付了剩余的80元,那这将产生2个支付流水号。为了避免洗钱风险,简化订单处理,包括淘宝在内,现在一般都不再提供组合支付的支持。
  3. 支付方式和支付渠道: 用户选择的支付方式和实际执行支付的渠道可以是不一样的。比如用户选择了广发信用卡来支付,但实际上电商公司没有直接对接农行,而是通过支付宝来对接, 那对应的支付渠道就是支付宝。
  4. 本条记录在支付成功后,会产生记账凭证和对账凭证。 这一条记录将产生多条会计分录,记账凭证是关联这些会计分录和支付记录的字段。对账凭证是根据对账周期来分配的。在日切后,对账凭证号相应的也会做更新。

在产生支付记录后,在上述流程的第5步通过消息机制来异步触发记账流程。账务系统接收到记账消息后,开始更新账户信息。记账分为两个阶段:

  1. 支付记账,针对线上的账户实时更新的需求,需要让用户及时看到账户余额和订单状态,账务信息记录到用户和商户上,采用单边账的形式。
  2. 会计记账,采用复式记帐法,满足会计记账需求,记录会计分录和余额,为对账和清结算提供支持。

六、支付记账

支付记账是在支付流程中完成的,目的是让用户完成购买后,能够立即看到支付结果和账户余额。为了提升性能,支付记账一般采用单边账的形式,即将会计分录登记在用户侧或者商户侧。

在上述案例中,第6步处理,在服务器上与银行侧同步登记一笔从小明银行卡的支出,并在会员业务账户上登记一笔收入。 如果使用的是零钱支付,这一个步骤就很重要,从零钱账户上扣除费用计算余额,添加对应的消费记录,是在一个事务中完成。

七、会计记账

会计记账采用复式记账,不同业务记账方式也不一样。小明买卡的案例中,需要记录的条目有:

  • 在工行收款账户下,登记 99.9的借记 条目
  • 在工行手续费的账户下,登记0.1元的借记条目
  • 在主营业务收入-会员卡的账户下,登记100元的贷记条目。

这3条记录是通过事务处理一次生成。当天发生的三笔交易,产生的记账内容如下:

实际实现上,科目一列,使用账号ID来替代。 每个账户的本期发生额,可以在另一个表中单独异步计算。

八、对账

在会计上,对账分三个部分:账证核对、账账核对和账实核对,做到账证相符、账账相符和账实相符。在电商支付系统中,需要完成的对账工作包括内部对账、外部对账和资金对账。 其中外部对账又分为和支付渠道的对账、和商户的对账以及和用户的对账。 这里简单介绍每个对账流程以及对记账的影响,详细的对账和轧账流程,将在下一篇文章中说明。

内部对账

内部对账的内容包括:

  1. 核实账户系统中的账务与支付记录的一致性;
  2. 核实会计系统中的账务与支付记录的一致性。

这是后续账账核对和账实核对的基础,也是对外对账的基础。 这两个对账任务一般是在后台定时运行(5分钟运行一次),除非系统有bug或者发生故障,内部对账一般不会出现差错。如有差错,也需要人工处理。

渠道对账

一般银行、第三方支付提供T+1的对账单,这是执行渠道对账的依据。 在上述案例中,支付系统每天拉取工行前一天的对账单,核对交易流水。与此同时,按照从工行获取的对账单,记录资金归集的账务。

接收到工行对账单后,按照对账单生成凭证:

注意上述的日期、凭证号,以及借贷关系。

账账核对

完成渠道对账后,需要进行日结和试算平衡:

  1. 总分类账各账户本期借方发生额合计与贷方余额合计是否相等;
  2. 总分类账各账户借方余额合计与贷方发生额合计是否相符;
  3. 核对各种明细账及现金、银行存款日记账的本期发生额及期末余额同总分类账中有关账户的余额是否相等。

从科目维度,计算:

  • 科目期初余额+科目当日发生额=科目期末余额
  • 下级科目余额总和=上级科目余额(科目总分检查)

账实核对

对电商公司来说,最重要的账实核对,是验证银行存款的变化和实际资金流向是一致的。一般是需要登录到银行网银系统中来人工核实。 如果对接的银行多,银行提供网银对账单,也可以自动进行,查询出入款总额。

详细的对账和轧账流程,将在下一篇文章中说明。

结束语

本文主要介绍支付清结算中的账户和账务的处理。 在此期间,有不少同学询问是否可以详细介绍某一个记账或者账户应该如何设计,希望能够针对某一主题做进一步说明。清结算是一个很专业的话题,这个专业不是计算机专业,而是会计专业。 每个公司的账户和账务处理都有自己的要求和特点。

这一系列文章,主要是从软件开发的角度来协助大家梳理清结算相关的基础知识,让大家和会计同学对话的时候有一个基础,或者说共同语言。具体的账户、账务、会计处理流程,需要和公司会计详细沟通。关于清结算系统的设计和实现,将在支付系统设计系列中介绍。

支付清结算之账户和账务处理相关推荐

  1. 支付清结算之账户和账务处理(详解)

    本文重点介绍清结算中的账户和账务的处理.正文开始前可复习<支付清结算之基本概念和入门>和<支付清结算之渠道侧处理>,以便理解这里的流程. 目录 一.账户体系 1.资产类账户 2 ...

  2. 支付清结算之渠道路由

    今天我准备从最近的一件任务谈起,主要关于支付系统中渠道路由的事情. 一. 背景 我在的这家公司是做物流领域的互联网公司,周支付交易额约在亿元人民币级别,支付这块的考核指标是在降低渠道成本,这次任务是对 ...

  3. 支付清结算之基本概念和入门

    搞明白了清结算,你就明白了支付业务是怎么运转的. 从技术上来说,清结算并不是最难的,风控.信用,实施起来比清结算难多了.但从业务的角度来说,清结算可以说是最难理解的支付业务过程了. 它牵扯到支付所有相 ...

  4. 一张小票看透支付清结算架构

    本文由作者 陈天宇宙 发布于社区 支付清结算相关的系统写了很多了,单模块介绍的也不少:虽然有几个架构性质的文章,但是有不少朋友反馈说无法串起来:今天我们就从一次美团外卖的小票来看,将支付清结算串起来会 ...

  5. 一张美团外卖的小票看透支付清结算架构!

    见字如面,我是军哥! 我很少推荐别人的公众号,因为我能看上的原创公众号并不多,让我主动推荐就更难了. 今天这位朋友叫宇宙,认识有两年了,在支付行业里非常有名气,最近闲着无聊翻了他多篇原创文章之后,我发 ...

  6. 详解互联网平台的资金系统方案 自建支付清结算系统优势明显

    场景内金融是互联网金融的发展方向.金融生态圈也会逐渐向脱媒化.去银行化演变.我们看到越来越多的平台纷纷涉足和提供金融服务,如BAT.新浪.齐家.海尔等.各家平台通过改变交易场景,优化操作的便捷性.增强 ...

  7. 支付系统的核心,账务系统都需要有哪些功能

    账务系统的学习总结 在支付公司,总是涉及到钱,不管是出金还是入金,出金在产品形态上是代付的概念,具体的场景是用户提现余额到银行卡,或者薪资代发等.入金在产品形态上就是快捷支付,协议扣款,具体的场景比如 ...

  8. 技术节系列 | 支付账务清结算系统设计

    点击「京东数科技术说」可快速关注 -- 个人支付清结算团队小伙伴们 「摘要」账务清结算系统属于京东数科支付核心系统,负责记录京东数科客户备付金出入金详情,控制交易不垫资.不挪用客户备付金,保障京东数科 ...

  9. 如何理解第三方支付清算和结算?

    以常见的电商"第三方支付"模式为例,其中就存在着典型的支付清结算场景与需求. 在电商购物时,用户选购商品后,使用第三方平台提供的账户进行货款支付,将银行卡中的钱款划拨到第三方支付平 ...

最新文章

  1. 【python】使用plt.imshow(image)显示图片一片空白,像素值有数据
  2. Linux内存使用消耗高
  3. 微信公众号内推送模板消息
  4. 新创建了用户没有计算机图标,w10我的电脑图标没了怎么办
  5. 微信停止苹果手机服务器,IOS13微信杀后台终极解决办法亲测有效
  6. Android:插值器(Interpolator)和估值器(TypeEvaluator)的理解和使用
  7. 如何记账,记录家庭收支情况
  8. 【QCM2150】WCN3680 WFA认证关于不同带宽配置
  9. Ubuntu 使用 ffmpeg 将 webm 转换为 mp4 (批量)
  10. 我带你去哪里 VIII
  11. 利用 Travis CI 把 Android 项目部署到 github
  12. 光纤传感器应力传感研究
  13. coffee编译coffee到js
  14. nginx禁用缓存_如何开启或禁用nginx缓存
  15. C#使用DirectoryEntry操作IIS创建网站和虚拟路径
  16. linux下解压war包或指定解压目录
  17. 李白计算机乐谱,天谕手游李白乐谱代码是什么-天谕手游李白乐谱代码分享_快吧手游...
  18. android 语音识别_Android语音识别教程
  19. 免费小红伞9.0在服务器中的安装办法
  20. cal命令:日期显示

热门文章

  1. SpringBoot3.0整合chatGPT
  2. window.open 禁止右键操作_电脑开机慢?加速,禁止一些软件随系统启动
  3. 防火墙导致mysql登录不上_防火墙导致MySQL无法访问的问题解决案例
  4. 9、乐趣国学—践行《弟子规》的“谨”懂得从容之道(上篇)
  5. 实现android 前后摄像头切换效果
  6. php 图片加水印文字水印
  7. java 反射 field.set_java从入门到精髓 - 反射Field
  8. M11289生鲜商城
  9. 【NIO与Netty】Netty进阶
  10. Unparseable date: “Fri Sep 02 21:22:57 CST 2022