原文:https://www.leiphone.com/category/industrynews/SX58KiGTBNx7mMr8.html
原文:https://www.leiphone.com/category/industrynews/cBzZr1qwAUEgACTg.html
搞明白了清结算,你就明白了支付业务是怎么运转的。从技术上来说,清结算并不是最难的,风控、信用,实施起来比清结算难多了。但从业务的角度来说,清结算可以说是最难理解的支付业务过程了。它牵扯到支付所有相关的概念。为了降低理解难度,我们从常见的支付行为入手,逐步分析清结算如何进行。
支付流程
先说个比较简单的支付场景,用户(姑且称他为小明)用绑定的银行卡(用宇宙第一大行工行为例)来购买某电商公司(老熊公司)的产品。小明需要先在老熊公司网站上完成银行卡绑定的操作,绑卡的过程参见之前的文档支付系统之绑卡、签约和身份验证。绑卡以后,就可以使用这个卡来购买商品。首先是挑选商品和下单,其后是执行支付。下单之前的流程不做介绍, 我们从支付开始,来说明支付过程中的清结算问题。
为了简化,我们先从比较简单的同渠道、公司内购买的场景来开始。商品也先假定为虚拟产品,比如会员卡。为了实现这个流程,有一些前置的操作需要完成:
-
老熊公司已经对接了工行的快捷支付接口。通过这个接口,可以实现绑卡(签约)、支付、退款、查单等操作。如何对接,参见文档支付系统之银行卡支付。
-
老熊公司已经按照工行的要求,在工行开了备付金账户。老熊公司通过工行接口的所有收款、退款等资金往来,都发生在这个账户上。
-
小明在老熊公司的应用中绑定了自己的一张卡,为了简化处理,小明绑定的也是工行的卡,先省略掉跨行结算的步骤。具体的绑卡流程参见支付系统之绑卡、签约和身份验证。
-
用户小明在手机或者PC Web上购买了100元的虚拟产品,比如很多公司会使用的会员卡。这里我们先从虚拟物品入手,因为实体物品情况会复杂一点,供应链和物流也是一个大课题,购买实体物品就需要考虑这个问题,而虚拟产品就可以暂不考虑。然后小明在网站上执行下单、支付操作。
-
老熊公司的支付系统接收到小明的支付操作请求后,系统首先会校验订单是否有问题,然后调用工行快捷支付接口,从用户的工行卡上扣除100元, 用户的工行卡的扣款是实时进行的,也就是说,这个操作完成后,小明查看他的工行余额和流水,会有一笔100元的交易,并且账户余额也减少了100元。 但是这个钱并不是直接就进入了老熊公司的(结算)账户上的。工行在第二天凌晨会对前天的交易进行清算和结算。在计算收入的同时,也从中扣除掉通道费用,得到最终应该划拨到结算账户上的金额。在这个例子中我们假定手续费按支付金额收费,比例为0.1%。 这里笔交易,支付给工行0.10元,公司收入99.9元。这里有个需要注意的地方。有些银行是在扣除手续费后,将前一天的余额全部划拨到结算账户上;有些银行是先全额划拨所有收入到结算账户上,然后扣除手续费。
交易流水
用户执行支付后,系统首先需要记录交易流水,流水的内容包括:
-
交易主体:即发起本次交易的出款的用户,一般是记录ID、姓名等信息。
-
交易账户:即用户购买时使用的出款的账户,这是用户在工商银行的卡,实际账户是建立在工行,但在电商系统中,为了便于结算,为这个账户建立一个代理。这个账户在系统中的ID是10001(数据本身无其他含义)
-
交易对手:即出卖虚拟产品的业务部门,一般记录部门的ID、名称等信息。
-
结算收益: 交易对手能够拿到的金额。这里是 支付金额-渠道费用,即99.9元
-
对手账户:即虚拟产品的收款账户,为了便于结算,公司一般会对每项业务设置独立的结算账户。这个账户在系统中的ID是 20001(数据本身无其他含义)。
-
交易渠道:即工商银行的快捷支付,还需要记录渠道的ID, 名称等;
-
渠道结算账号:这也是个代理账号,记录在渠道侧的交易流水。
-
渠道提交时间:请求渠道执行支付的时间;
-
渠道支付时间:渠道一般会在返回的报文中说明本次交易的执行时间。 如果没有,则使用渠道的支付接口返回时间。
-
渠道费率:渠道的手续费,这里假定工行是按支付金额收费,比例为支付金额的0.1%。
-
渠道费用:这里是支付金额*手续费率, 即0.1元。
-
发起交易日期:2016年12月12日 13:00:10,即用户提交订单后,虚拟产品业务调用支付系统接口执行支付的时间。
-
执行交易日期: 2016年12月12日 13:00:11,即支付系统接口调用时间。
-
支付截止日期:必须在此日期前完成支付。
-
订单信息:在本例子中是会员卡,一般需要记录业务方订单ID、名称、内容等信息。
-
订单金额:提交过来的原始订单的金额 100元;
-
支付金额: 用户实际支付的金额,由于没有使用优惠券、打折卡等,这里支付金额等于订单金额,都是100元。
没有使用卡券、没有和合作方分成,这两块内容暂不记录。
交易流水是在完成支付时实时生成的。这个流水信息是后续记账的依据,所以务必在流水中真实记录能收集到的所有的现场信息。 这里从:
交易主体,即掏钱的小明
交易对手,即收钱的业务方
交易渠道,即工行快捷
交易商品,即会员卡
角度来多方位全角度的描述这笔交易。大家会注意到这里有不少冗余信息。实际上对交易涉及到所有可能会被修改的信息,比如用户姓名,商品名称,商品价格,都需要在这里留一个快照,以便后续回溯和审核。
会计主体
不用说,这一笔账是老熊公司的账务,不是工行的账务,也不是小明家的账务。虽然这里会有工行和小明的信息,但记账的目的是为了了解和改进老熊公司的经营状况服务的。老熊公司不是某个大公司的分公司或者子公司,它是一家独立核算的、具有独立的资金和经营业务的单位,从会计学角度来说,他是一个独立的会计实体。
会计要素
从概念上来说,所有和钱有关的活动,买会员、用户充值、支付手续费等,都需要记账,这些活动,称之为会计对象。每个公司都有不同的会计对象,有时候同一类活动,叫法还不一样。如果直接用这些活动内容来记账,那就没法比较每个公司的情况。 比如新浪说我家微博广告收入300万,网易说我家卖猪收入了300万,到底谁家更赚钱?需要有一个记账的标准,让大家分门别类的做记录。对会计对象做规范化的管理,这就引入会计要素的概念。
会计要素是对会计对象进行的基本分类,是会计核算对象的具体化。 如果说会计对象是个Object,则会计要素是定义这个Object的Class。 不同的国家对会计要素有不同的规定。 国际会计准则委员会(IASC)在《编制和呈报财务报表的结构》将会计要素其归类为资产、负债、权益、收益和费用五个要素。美国财务会计准则委员会(FASB)在《财务会计概念公告》中将会计要素归类为资产、负债、所有者权益(净资产)、业主投资、派给业主款、综合收益、营业收入、费用、利润、损失十个要素。我国《会计准则》将会计要素归类为资产、负债、所有者权益、收入、费用和利润六个要素。其中资产、负债和所有者权益,是反应公司的财务状况的;它满足如下恒等式:
会计科目
六大会计要素指明了需要记账的scope,但毕竟粒度还是太大了。为了更详细地了解公司财务情况,引入会计科目来对会计对象进行第二层次的划分。使用IT的语言来说,会计科目其实就是一个分类体系,用来分门别类地记账。在实现上,他也是一个编号+名称,IT俗称字典表。从定义上来说,会计科目是指一个涵义明确、概念清楚、简明扼要、通俗易懂的标准名称。会计科目按照经济内容的性质不同,可以分为资产类科目、负债类科目、所有者权益类科目、损益类科目,成本类科目,有些金融企业还有资产负债共同类科目。在每一类会计科目下,还可以继续细分,详细内容可以参考2016年财政部发布的新会计准则。
会计科目和要素之间的关系:
会计科目还分为总账科目和明细科目。从IT角度,可以认为总账科目是一级分类,而明细科目则是这个一级分类下的二级、三级,甚至更多级别的详细的科目。 记账时,会同时记录到总账、明细科目。 在电商的支付系统中,一般会设置如下科目:
会计账户
账户是指对会计要素的具体内容所作的科学的分类,其包括两方面的内容:账户的名称、账户的用途与结构。会计科目是设置账户的依据,也是账户的名称。比如对银行存款这个会计科目,也会设置一个对应的银行存款账户,用来跟踪公司在银行存款的变动。在这个案例中,将设置的账户同会计科目。
记账凭证
想想在以前没有电脑的时候,去买公交卡,公交公司阿姨会认真地记录你买的卡的卡号、买卡人的姓名、卡的面值等信息,运气好的时候还会给个发票。 一般来说,阿姨会将购买记录登记到一个账册上,形成记账凭证,并在这里会登记发票号码。在现在高科技时代,这个凭证还是少不了了。先说明细账,记录内容如下:
这里详细记录每一条交易信息,当然,通过计算机系统,可以记录更多详情,包括时间、地点等。
会计分录和记账
大家经常看到的记录应该是这样的:
如上, 银行存款、服务成本、主营业务收入,属于总账科目,而工行收款、会员卡、工行手续费,属于明细科目。这里采用的是复式记账法中借贷记账法。对应的账户结构如下:
借贷复式记账法的特点是:
采用借、贷作为记账符号,建立在会计恒等式基础上,遵循有借必有贷,借贷必相等的原则。
账户基本结构是: 左侧为借,右侧为贷。
一般采用如上图所示的T行账户的形式来描述。
借贷所代表的增加、减少的含义并不固定,和账户的性质有关。
更多问题
作为清结算的入门介绍,这里介绍的是最简单的场景,以此来解释清结算相关的概念,特别是会计学一些从IT角度不容易理解的名词。实际上,这个场景还有很多问题:
严格的说,会员卡的收入,还不能立即作为公司主营业务收入。会员卡是预付款项,用户开始使用会员卡,公司需要为这个使用提供服务;用户结束使用会员卡之后,这一笔开支才算是真正落入公司主营业务收入中。
会员卡在使用期间,公司针对会员业务的各种开销,要分摊到这一段期间的会员上。将开销分摊到每张会员卡上,计算其使用成本,最终才能够计算出收益。
用户会员卡购买的款项是立即反映到备付金账户的,但并不是立即到结算账户的,一般是T+1结算,也就是第二天银行才会将清算好的资金打到公司结算账户上,这种情况应该如何记账?
如果支付过程中使用了代金券和优惠券,那又应该如何考虑?
此外,还有退款、充值等场景的清结算,这些问题都将在本系列的文章中详细介绍。本文仅介绍一些相关的概念, 欢迎大家继续关注后续内容。
上一篇文章《详解:支付清结算之基本概念和入门》还遗留很多问题,这里我们一步步详细介绍清结算中在渠道侧如何进行。这里的渠道侧,既包括银行,也包括第三方支付以及银联。
| 支付
上一篇文章中的小明通过工行在老熊公司买了一张100元的会员卡,工行按照支付金额的0.1%收取手续费, 产生了如下会计分录
借: 银行存款-工行收款 100
贷: 主营业务收入-会员卡 100
借: 服务成本-工行手续费 0.1
贷:银行存款-工行收款 0.1
这里我们详细介绍在支付时的清结算过程,分别从银行直连、第三方支付的角度来说明。
1、银行直连
用户通过工行支付的款项,在银行侧并不是直接落地到老熊公司的结算账户上,而是先到一个中间账户上。这就需要了解银行侧的账户和资金处理流程。针对第三方支付和电商直连银行, 在银行侧的账户和资金处理流程是不一样的。电商公司直连银行,不需要复杂的备付金管理。当电商公司(第三方支付公司类似)和工行签约开通支付接口后,工行会为这个接口开设一个结算账户。通过这个接口流转的资金最终会结算到这个账户上。这也是电商公司可以提现的一个账户。另外,为了方便资金清算,工行还会为电商公司开设一个收付账户,这个账户是直接对接线上资金处理的,这是工行内部账户, 电商公司无法操作这个账户,但是可以看到这个账户的收付情况。
支付时,资金在工行侧的流转流程:
-
用户提交支付请求,支付系统调用工行快捷支付接口执行支付。
-
工行服务器检查用户账户余额和状态,如果余额不足或者状态异常,则停止支付。继续检查电商公司的收款账户的状态。如果状态正常,开始执行支付。资金从用户账户转到收付账户上。
-
工行采用T+1的结算,将T日用户支付的所有款项,扣除退款,扣除手续费等费用后,将剩余资金打入电商结算账户上。
而在商户侧,对前期所述的记账流程,我们需要有调整。用户付费不能直接进入公司存款账户,而是记在应收账款下。需等待银行完成清结算后,才能将商家在该银行所有的收款转到存款中。
用户付费时,会计分录:
借: 应收账款-工行收款 99.9
服务成本-工行手续费 0.1
贷: 主营业务收入-会员卡 100
在电商侧执行日切,将当前的应收账款归集到存款上,在接收到工行对账单后,对这个日切结果也要对账。 假定当前收入为200万元,手续费为2千元,对应的会计分录为:
借: 银行存款-工行 1,998,000
贷: 应收账款-工行收款 1,998,000
通过这个会计分录,怎么知道这一笔手续费是谁付的? 要知道这只是从会计角度做的记录,在具体存储库的设计时,还需要添加更多的信息,包括交易发生的时间、会员卡号等信息。
对工行来说,这些资金都是行内流转,不涉及到跨行转账的问题。 因此在银行内部的处理也比较简单,一般就是一个内部的信息流,分别将商家账户和用户账户的资金做了增减,并无实际的资金流转。
2、第三方支付平台
对于没有直连的银行,可以通过第三方支付来收款。 第三方支付侧的资金处理,和银行的类似。以支付宝为例,当商家在支付宝开通支付接口后,支付宝为商家建立账户以及商户号。 每个业务对应一个商户号。 用户提交支付后,支付宝完成收款后,直接进行分润,扣除手续费,将剩余资金转移到商户号上。
借: 应收账款-支付宝会员账户收款 99.9
服务成本-支付宝会员手续费 0.1
贷: 主营业务收入-会员卡 100
这里记为应收账款,因为T+1后,支付宝还要将资金按照商户的要求,转移到指定银行账户上。假定这个银行账户为建行的账户,当天的 收入为200万元,手续费为2千元,对应的会计分录为:
借: 银行存款-建行 1,998,000
贷: 应收账款-支付宝会员账户收款 1,998,000
那对于这一笔收款,支付宝是如何处理?这就涉及到备付金的问题了。
| 备付金
关于备付金,建议大家详细阅读《支付机构客户备付金存管办法》全文,对备付金的使用和管理有详细的介绍。当用户在电商网站(如淘宝网)购买商品,下单后,资金并不是立即进入商家的账户上,而是暂存在第三方支付公司。当用户确认接收到商品后,资金从第三方支付公司转到商家账户上。这个资金被称为备付金。即 “指支付机构为办理客户委托的支付业务而实际收到的预收待付货币资金”。备付金由银行托管,备付金银行分为存管银行和合作银行。
-
存管银行只能有一家,负责处理备付金跨行收付,并对支付机构存放在各银行的备付金信息做归集,合并与监督。
-
合作银行可以有多家,可以办理针对本银行的备付金存取和监管。
和备付金相关的账户有三类:
-
存管账户: 可以以现金形式接收客户备付金、以银行转账方式办理客户备付金收取和支取业务的专用存款账户。针对备付金存管银行,可以一个省开设一个存管账户。 只有存管账户才能够支持跨行付款。
-
收付账户: 可以以现金形式或以银行转账方式接收客户备付金、以银行资金内部划转方式办理客户备付金支取业务的专用存款账户。在同一个备付金合作银行只能开设一个收付账户。
-
汇缴账户: 仅支持同行收款以及退款时原路退回。在备付金存管和合作银行都可以开设。 备付金银行应当于每日营业终了前,将备付金汇缴账户内的资金全额划转至支付机构的备付金存管账户或在同一备付金合作银行开立备付金收付账户。
有了收付账户,还有必要开设汇缴账户吗? 这要看交易规模了,如果规模大,那是有必要的,因为有些地方银行可以给非常低的手续费用,可以省一大笔钱。这几个账户都是备付金专用的活期存款账户。汇缴账户到收付账户的划拨,是通过银行自己行内转账进行;收付账户到存管账户,就走人行的大小额、超级网银或者同城系统进行划拨。 当然,这些接口一般第三方支付是不能直接访问的,但可以通过银行提供的接口来进行。
这样在第三方支付公司,用户支付的资金首先进入汇缴账户或者收付账户,日终后,汇缴账户的资金全部汇总到收付账户上。 在上述小明的例子中,如果小明使用的卡是招行的卡, 在有备付金支持的情况下,小明支付的100元是通过招行的内部转账直接进入了支付宝在招行的备付金收付账户或者汇缴账户。这样将跨行转账变成行内资金划拨,可以减少通道费的支出,也使得资金到账更为迅捷。 第三方支付备付金的使用和调拨是个专门的话题。这里不再详细展开。
| 充值
在爸爸公司指引下,资金沉淀成为电商公司孜孜以求的目标。用户充值既有利于提升支付体验,特别是对高频小额支付而言;由此也可以形成可观的资金沉淀,这对电商公司来说是个一举多得的好事。但此举是迈向违规的危险第一步。 接之前的场景,老熊公司在工行开设了一个对公账户,用于收款,这个账户可以用结算账户。先考虑用户小明使用工行卡充值的场景。 公司需要为每个用户开设一个账户,用来跟踪账户余额。这个账户有两种处理方式,所谓的虚户和实户。
-
虚户:指客户和商户的资金都存放在电商公司开设的对公账户上,老熊公司内部为每个实体维护一个虚拟账户。当客户给商家支付时,资金直接在虚拟账户上划拨,没有实际的资金流转,只有信息流。由于虚户是开设在电商平台上,所以也叫支付账户。大部分电商公司用的都是这种模式。
-
实户:指在银行侧为每个客户和商户在对公账户下开设二级账户。每个账户都是相互独立的。对于少数服务大客户的电商公司来说,使用这种模式也比较方便。相对支付账户,这被称为银行账户。
这里介绍虚户的情况。 使用虚户时, 电商需要为客户和商户建立内部账户。 这个内部账户,对电商公司来说,需要记录在负债上。
回到充值的案例: 用户使用工行的卡,给自己的账户充值100块钱,不考虑手续费【手续费处理方法支付】,会计分录:
借: 应收账款-工行收款 100
贷: 客户A账户 100
资金先进入应收账款,因为充值和支付一样,资金也是在清结算完成后才到账的。用户在其他行充值情况应该如何处理? 如果电商公司和这个银行有开通支付通道,那就会有对应的对公结算账户,充值款项就会在结算完成后,进入这个账户。如果电商和这个银行没有对接,需要通过其他第三方渠道,如支付宝、微信支付等来完成充值,对应的,资金也会进入第三方渠道。这和支付情况也是类似的。 不管用户用哪个卡充值,最终的钱都记录在客户A的虚拟账户上。
第三方支付在处理充值时流程和上述是类似的。但是当电商调用第三方支付接口来完成充值时,和银行不一样地方在于,这个充值是实时入账的。虽然银行并不是实时把充值的金额结算到第三方支付的银行账户上的,而是到T+1完成结算后才会到账。但对第三方支付而言,在银行接口确认成功后,就可以假定T+1银行肯定可以把钱结算给自己。因此可以实时把电商在第三方支付的账户的金额增加,也即实时到账。
| 提现
有充值,一般都需要提现。 可提现是一个危险的业务,提供资金逃离电商的途径。对充值和支付来说,就算出问题了,钱还在。而提现就麻烦了,一旦出问题,钱都没了。 对提现的账户和账务处理尤其谨慎。 电商提现的主要途径是银企直联、企业网银和第三方支付代付。
1、银企直连
对于商户和客户规模不大的公司,通过将公司内部的ERP、财务系统等业务系统和银行接口对接,实现银企直连,可以让财务人员直接通过内部业务系统来打款。
2、企业网银
一般银行都提供的企业网银接口,支持同行批量打款(代付)功能。银行将企业对公账户扣款,打到对应的个人账户上。对于个人跨行取现,本质上来说,是将对公账户的资金转账到对私账户上,目前银行侧转账需要通过人行的大小额系统和超级网银来进行。人行系统并不直接对企业开放,银行通过企业网银来封装这些接口,批发或者零售给企业使用。
-
行内清算系统:银行内部转账一般通过这系统来进行,不限金额,实时到账,手续费低。 对于同行提现,如上述案例,小明需要将零钱提现到工行账 户上,老熊公司在工行也开设了用于收付的对公账户,则可以通过工行的行内清算系统,直接100元支付给小明。
-
小额支付系统:大小额支付系统同属于央行的中国现代化支付系统(CNAPS)。5万以内的普通贷记业务可以通过央行的小额批量支付系统(BEPS)来进行,这是7*24小时运行,批量运行,收集到若干交易后统一打包处理,所以是非实时到账的,费用相对大额来说也比较低。此外,小额支付需要提供联行号,即支行信息,一般绑卡流程不会要求用户提供此类信息。
-
大额支付系统:大额实时支付系统(HVPS)每笔交易都实时发送,实时清算的,所以基本上能实时到账,跨行资金零在途。但大额系统运行的时间,仅限于工作日的 8:30 ~ 17:00运行,假节日也不运行。目前对使用大额支付系统进行转账并没有设置最低资金量的要求,也就是一块钱也会给你转过去。 但是费用较高,另外大额支付系统也需要支行信息(联行号)。
-
超级网银:全称是网上支付跨行清算系统 ,2013年10月份正式投产运行。超级网银是对大小额支付系统的一个补充,接入机构不再限于银行,第三方支付也可以接入,所以有的第三方支付给商户提供的提现代发功能就是基于超级网银做的。7*24小时实时到账,单笔上限5万元。 超级网银并不是所有的银行都支持,目前至少支持172家主要银行。此外,超级网银交易可以不需要联行号。
对电商来说,由于不能直接访问央行的这些接口,对接银行,通过银行来访问央行的接口,是主要的提现方式。 但不同的银行,针对不同的提现场景,收费不一样。所以在具体实现提现的时候,还需要有提现路由(打款路由),从费率、支持的额度、到账时间等多个维度来评估和选择提现渠道。
3、第三方支付渠道
支付宝、微信等第三方支付公司一般也都提供代付服务,可以是通过文件来实现批量代付,也可以通过接口来实现提现。
第三方支付与用户提现的银行有合作关系且银行提供实时到账接口,此类银行支持实时到账的提现操作; 如果只提供准实时到账接口(例如2小时到账),则此类合作银行只支持准实时到账提现操作(支付宝为2小时到账)。
第三方支付与用户提现的银行无合作关系,只能通过银行小额支付系统定时跑批,此类只支持2天内到账。
不管通过哪个途径来实现,提现的会计分录和充值相反,借记用户的虚拟账户,贷记对公账户存款。
借: 客户A账户 100
贷: 银行存款-工行 100
这篇文章介绍渠道侧的清结算处理,下一篇文章将详细介绍在电商侧的相关处理,包括分润、优惠券等的处理。