zoukankan      html  css  js  c++  java
  • Java生鲜电商平台-交易对账以及跟商家对账的思考

    Java生鲜电商平台-交易对账以及跟商家对账的思考

    说明:对于任何一家电商而言,资金的安全尤为重要,在资金管理过程中,涉及到交易订单的对账以及商家的对账,那i么如何来保证对账的高效与准确呢?

    公司在搭建交易平台时其实考虑过建立一套账务系统来满足记账的需求,从现在来看虽然当时考虑的比较片面,最终也只是作为客户的账户在使用。但账户的概念很好,财务的科目其实也是账户记录进进出出的流水,于是希望再次把账户系统利用起来,通过账户系统输出账单,完成对账从而减轻财务系统压力,一套以账户系统为逻辑基础的电商交易账务及对账协作方案应运而生。

    一. 账户系统的作用:

    1. 记录账户流水和余额,最基本的作用

    2. 信用额度控制,同时提供一种支付方式,这是原本有的功能

    3. 按照会计规则建立一套分户账户,提供会计核算,业务对账的基础,这是方案的核心点

    以上三点,前两点是目前账户系统就有的功能,要实现第三点功能,首先需要建立一套完备的账户体系

    二. 账户系统结构:

    我认为就电商交易来看,一套完备的账户包括:收入,成本,费用,库存,应收,应付,实收,实付几大类账户

     
    账户系统结构

    其中,实收实付类的账户可以通过支付系统直接记账,后期和财务系统核对;其他的账户的数据产生需要大量的财务记账逻辑,所以都由财务系统完成财务记账同时推送会计分录流水到账户系统,账户系统计入各个账户。账户建立完成后,下面就讲一下账户系统是如何工作的

    三. 账户系统如何记账

    下面以交易过程中几个简单的例子描述账户系统如何记账

    3.1.1 销售订单交易

     
    销售订单生命周期

    一笔销售交易订单的生命周期经理客户下单,支付,订单发货,确认完成4个关键步骤,交易系统会记录下这4个节点,账户系统完成支付相关的分户账户记账,财务系统根据业务系统交易单据完成财务记账,并同步会计分录流水进分户账户。

    3.1.2 记账过程如下:

     
    销售订单记账过程

    3.2.1 供应链交易

     
    供应链交易生命周期

    一笔采购订单交易的生命周期,具有入库,到票,支付3个关键步骤,财务系统对3个节点分别记账,并同步分录流水到账户系统

    3.2.2 记账过程如下:

     
    采购交易记账过程

    这套方案里,支付系统会控制资金流入和流出,因此实收,实付类账户可以由账户系统和财务系统分别记账,再定时对账;以订单支付为例,支付网关返回支付状态时触发记账。

     
    订单支付过程(支付系统内部流程不是很专业)

    根据交易实例会发现,账户系统更多的只是记录财务系统给到的数据;如果只是单纯记录下分录流水,那就毫无意义,因此如何界定财务系统和账户系统的关系,财务系统和账户系统相互如何协同工作,是不可避开的问题。

    四. 财务系统与账户系统的关系及如何协作

    对于账户系统来说,财务系统就是她其中的一个业务系统,会计分录流水就是账户系统的业务流水,账户系统负责储存这些数据;当需要对账时,调出对应的账户即可,不再需要财务系统和各个业务系统核对。所以财务系统不再承担对账的功能,转而由账户系统承担起所有的对账职责,一来减轻财务对账压力,而来账户系统对账更为方便。

    由此,整个系统账务及对账协作关系如下:

     
     

    整个记账&对账协作参与系统包括:

    1. 交易系统:记录业务单据

    2. 支付系统:控制资金的流出与流入

    3. 财务系统:负责财务记账

    4. 资金管理系统:负责账单数据的采集

    5. 账户系统:负责分户账户记账及对账

    五. 账户系统对账:

    对账的整体规划为:账户系统承担集团内各个系统间的对账,资金系统和支付系统会承担外部渠道对账;内部对账包括:业务账,财务账,资金账。账户系统接过对账后,由于账户天然存在期初,期末值,粗颗粒度只需要核对期初期末值是否一致;细颗粒度则只需要导出账户的账单明细与其他系统提供的明细进行核对即可

    财务对账:

    账户系统分户账户按照会计规则建立,因此每一个会计科目对应一个汇总账户,每一个会计科目不同的核算维度不同则对应一个单独的账户。财务对账就是核对会计科目余额与分户账户余额的过程,极大的减轻了财务对账麻烦程度。

    资金对账:

    流水和余额的记录是账户系统的基本功能,资金管理平台的资金流水变动都需要同步到账户系统,实时记录公司各个银行,其他货币资金账号的余额;财务凭证的挂银行科目的分录流水也会同步到账户系统,记录到对应的账户里,因此只需要比对内部的账户余额就可以完成简单的资金对账

    业务对账:

    由于交易系统业务单据的流转都会引发账户系统账户的变动,当业务系统需要对账,只需要导出账户的账单明细与业务系统提供的业务单据明细即可核对

    六. 增值服务:报表

    有了这套账户甚至可以协助完成部分报表服务,例如库存报表,仓库采购入库,销售退货入库,盘盈入库,等本期增加数以及销售出库,采购退货,盘亏等本期减少数 都能通过账户拉取账户的期末值减去期初值得到。报表的生成只需要将各个账户的名称展示在表头,账单明细展示在行上面就能形成一张报表。

    这套方案虽然没有用起来,也没有验证可行性,因此总结在这里,提供一个思路。目前做的清结算系统与这个方案系统结构大不相同,但是核心逻辑一致,都是将业务数据转化为可视化账户。从方案实施来看,文中的账户系统与财务系统互补,账户流水依赖于财务系统,重心在数据记录和对账上;而清结算系统与当前财务系统在功能上有冲突,同样的逻辑在财务系统实现一套在清结算系统实现一套,当然这里面也有公司先搭建财务系统导致财务系统承担的功能太多,后来才搭建清结算平台的历史原因。

    联系QQ:137071249

    QQ群:793305035

  • 相关阅读:
    Bundle 机制
    三次握手和四次挥手
    SparseArray
    ThreadLocal ——android消息机制handler在非主线程创建not called Looper.prepare() 错误的原因
    怎么去除重复代码
    ClassLoader
    android的四种线程池
    LeetCode#50 Pow(x, n)
    LeetCode#49 Anagrams
    LeetCode#48 Rotate Image
  • 原文地址:https://www.cnblogs.com/jurendage/p/11807383.html
Copyright © 2011-2022 走看看