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. IT兄弟连 HTML5教程 响应式网站的内容设计

    基于响应式开发网站,除了页面的布局是我们设计的重点,网站中显示的图片和文字也是我们不能轻视的内容. 1  响应式图片显示内容设计 真正具有响应性的Web设计是完全调整网站以满足访问者的设备.我们需要在 ...

  2. [JZOJ A组]球 题解

    球(ball) [问题描述] 小 T 有 n 个桶和 2n − 1 个球,其中第 i 个桶能装前 2i − 1 个球.每个桶只能装一个球. 现在小 T 取了 m 个桶和 m 个球,并将这些球各自放在 ...

  3. 通过 Drone Rest API 获取构建记录日志

    Drone是一款CICD工具,提供rest API,简单介绍下如何使用API 获取构建日志. 获取token 登录进入drone,点头像,在菜单里选择token 复制token即可 API 介绍 Dr ...

  4. vue中点击屏幕其他区域关闭自定义div弹出框

    直接上代码: mounted: function () { let that = this; $(document).on('click', function (e) { let dom = $('. ...

  5. 2019icpc上海站 打星体验,首次感想 D K代码

    暑期训练以来首次参赛,体验还行吧,过程有些战战兢兢. 刚开始以为是正式队,热身赛只过了一题,有很大的压力,正赛前一天晚上才知道是打星队,有点如释重负的感觉.也幸好都是打星队,不然真的有可能打铁,虽然实 ...

  6. Java描述设计模式(14):解释器模式

    本文源码:GitHub·点这里 || GitEE·点这里 一.解释器模式 1.基础概念 解释器模式是对象的行为模式.给定一个语言之后,解释器模式可以定义出其文法的一种表示,并同时提供一个解释器.客户端 ...

  7. bbbbbb

    Blazor 机制初探以及什么是前后端分离,还不赶紧上车? 标签: Blazor .Net 上一篇文章我发了一个 BlazAdmin 的尝鲜版,这一次主要聊聊 Blazor 是如何做到用 C# 来写前 ...

  8. Vue-cli项目部署到Nginx

    项目环境: 0. Nginx使用 以windows版为例,下载niginx压缩包并解压到任意目录,双击nginx.exe,在浏览器中访问http://localhost,如果出现Welcome to ...

  9. C lang:Pointer operation

    Xx_Pointer opteration Do not dereference initialized Pointers Ax_Code #include<stdio.h> int ma ...

  10. C language bit byte and word

    bit:The smallest storage unit of a computer byte:Common computer storage unit word:Computer natural ...