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

Java生鲜电商平台-交易对账以及跟商家对账的思考的更多相关文章

  1. Java生鲜电商平台-商家支付系统与对账系统架构实战

    Java生鲜电商平台-商家支付系统与对账系统架构实战 说明:关于生鲜电商平台,支付系统是连接消费者.商家(或平台)和金融机构的桥梁,管理支付数据,调用第三方支付平台接口,记录支付信息(对应订单号,支付 ...

  2. Java生鲜电商平台-生鲜售后系统的退款架构设计与代码分享

    Java生鲜电商平台-生鲜售后系统的退款架构设计与代码分享 说明:任何一个电商行业都涉及到退货与退款的问题,但是生鲜电商行业还设有一个显著的特点,那就是换货.在人性面前,各种各样的退货,退款,换货的售 ...

  3. Java生鲜电商平台-生鲜系统中商品订单系统售后系统设计

    Java生鲜电商平台-生鲜系统中商品订单系统售后系统设计(服务订单履约系统) 说明: 电商之下,我们几乎能从电商平台上买到任何我们日常需要的商品,但是对于很多商品来说,用户购买发货后,只是整个交易流程 ...

  4. Java生鲜电商平台-会员积分系统的设计与架构

    Java生鲜电商平台-会员积分系统的设计与架构 说明:互联网平台积分体系主要用于激励和回馈用户在平台的消费行为和活动行为,一个良好的积分体系可以很好的提升用户的粘性及活跃度. 一.互联网平台积分体系设 ...

  5. Java生鲜电商平台-生鲜系统中微服务架构设计与分析实战

    Java生鲜电商平台-生鲜系统中微服务架构设计与分析实战 说明: Java生鲜系统中微服务的拆分应该如何架构设计与分析呢?以下是我的实战中的设计与经验分析. 目录 1. 微服务简介2. 当前现状3. ...

  6. Java生鲜电商平台-生鲜电商中商品类目、属性、品牌、单位架构设计与实战

    Java生鲜电商平台-生鲜电商中商品类目.属性.品牌.单位架构设计与实战 说明:Java生鲜电商平台-生鲜电商中商品类目.属性.品牌.单位架构设计与实战经验分享 凡是涉及到购物,必然是建立在商品的基础 ...

  7. Java生鲜电商平台-高可用微服务系统如何设计?

    Java生鲜电商平台-高可用微服务系统如何设计? 说明:Java生鲜电商平台高可用架构往往有以下的要求: 高可用.这类的系统往往需要保持一定的 SLA,7*24 时不间断运行不代表完全不挂,而是有一定 ...

  8. Java生鲜电商平台-商城优惠券设计要点复盘与总结

    Java生鲜电商平台-商城优惠券设计要点复盘与总结 Java生鲜电商平台本文将从优惠券设计用户端,需求端,业务流程全方案解析优惠券设计方案 为什么要设计优惠券 设计优惠券的核心:拉新和促活 新产品上线 ...

  9. Java生鲜电商平台-电商虚拟币的充值与消费思考

    Java生鲜电商平台-电商虚拟币的充值与消费思考 项目背景 最近由于项目业务原因,需要为系统设计虚拟币的充值及消费功能.公司内已经有成熟的支付网关服务,所以重点变成了如何设计项目内虚拟币的充值流程,让 ...

随机推荐

  1. css应用视觉设计

    应用视觉设计:创建一个 CSS 线性渐变 HTML元素的背景色并不局限于单色.css还提供了颜色过渡,也就是渐变.可以通过background里面的linear-gradient()来实现线性渐变,下 ...

  2. 暴力破解( Hydra | Medusa)

    暴力破解 By : Mirror王宇阳 笔者告知 : 暴力破解的结果是运气和速度的结晶,开始暴力破解前烧一炷香也是必要的! 引用张炳帅的一句话:"你的运气和管理员的安全意识成正比" ...

  3. 【数据库】SQLite3常用命令

    版权声明:本文为博主原创文章,转载请注明出处. https://www.cnblogs.com/YaoYing/ 打开SQLite3文件 sqlite3 student.db //打开student. ...

  4. Docker系列之原理简单介绍

    目录 1.1.Docker架构简介 1.2.Docker 两个主要部件 1.3.虚拟机和Docker对比: 1.4.Docker内部结构 Docker系列之原理简单介绍 @ Docker是一个开源的应 ...

  5. react中报错Failed to set an indexed property on 'CSSStyleDeclaration': Index property setter is not supported

    产生这个报错的原因是我当时将样式写到了less文件,我在div中使用的使用应该是使用className = ,而我误写了一个style = .style里面当然没有自定义的className,所以产生 ...

  6. BlockStack常见词语

    Browser: 用户用来浏览并使用基于 blockstack 网络开发的 app. CLI: Cli 工具用来管理个人的 blockstack id. blockstack.js (and othe ...

  7. English: Class logogram

    IT # this is a IT type ISP ANOTHER # following is another logogram LCD PDA

  8. iPhone 启动页尺寸

    iPhone 启动页尺寸 4 640*960 5 640*1136 6 750*1334 6p 1242*2208

  9. MySQL删除大表时潜在的问题(drop table,truncate table)

    来源于:https://www.cnblogs.com/CtripDBA/p/11465315.html,侵删,纯截图,避免吸引流量之嫌 case1,删除大表时,因为清理自适应hash索引占用的内容导 ...

  10. Appium(一):java环境、AndroidSDK环境

    1. java环境 java的下载和安装可以看我以前写的Java基础:<java下载和安装>. 2. AndroidSDK环境 2.1 AndroidSDK下载 我们进入:https:// ...