本文主要是介绍手把手教学之如何设计财务对账系统,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在设计一个对账系统前,我们先想清楚,对账目的、方式、对账场景、使用对象。其次就是和财务了解一下,他们所期望的效果,毕竟他们是使用方。财务对账是一个琐碎而复杂的工作,极需要工作耐心和细心,还要求对账人员对对账系统要十分熟悉。
可能有些小伙伴是初次接触财务领域,对于对账还是比较陌生的。
首先,我们为啥要对账呢?企业的结算业务大部分是要通过银行进行结算的,但由于企业与银行的账务处理和入账时间不一致,这样就可能导致双方账目不一致的情况。即所谓的“未达账项”。为了能够准确的掌握银行存款的实际余额,了解实际可以动用的货币资金数额,防止企业在记账报税工作中出现错误,企业必须定期与银行进行账单核对,并编制银行存款余额调节表。
其次,对账的方式是哪些?
账证核对,是将账簿记录与记账凭证进行核对,这里是记账凭证是指日常经济活动的书面证明。例如,我们超市购物的小票、购买商品的发票、银行卡的收款转账记录,都是记账凭证。
账账核对,是把有相互关系的多个账簿记录进行核对。有相互关系的账簿记录,包括总分类账簿间核对,明细账簿间核对等多种类型。例如:公司业务总支出和自由币、优惠券、商品采购、商家结算等支出的核对,是总分类帐薄核对;各收款账户的收支明细和总入账、总支出的核对,是明细帐薄的核对。
账实核对,是各项资产物资的记录数值与实际真实数额间的核对。例如:我们使用记账 APP 记录购买了一台手机,我发现自己手里确实有一台手机,这就是账实核对。
然后,对账场景常见的有同银行、支付宝、微信等第三方支付平台进行对账、每个平台的特性也会有不同,在下面会详细说明。
最后,对账的系统的使用对象无外乎是三种:决策层、业务人员、财务。他们所关注的点也会不同,建议分别收集诉求,然后求同存异。 这个过程是很多产品都会犯错的,但是我想说的是,并不是把一个对账系统做成“大杂烩”,而是分别从操作到数据呈现,整个过程流程化。
对账大致可分为5步进行,本文提供一些设计思路以供参考。
下面,我将从财务日常对账过程为大家说明。
1. 数据准备
数据准备即记账,主要是获取对账所需的信息,例如获取银行流水。这些对账文件的格式也会存在一些区别。 比如支付宝对账文件格式为 csv,而微信的对账文件格式为 txt,另外有些渠道为 xml,xls。
注意:对账方式的不同,在数据准备上也有差异,此处以账证核对为例,除了流水外,还需要相应的单据(凭证),例如报销单据。
下面是有几点是在数据准备阶段需要注意和考虑的:
每种渠道的账户可能都不止一个账户,那么在每天都有交易的情况下,系统设计时候需要考虑到多份对账文件处理的情况。
对账文件会有重复下载的情况,渠道的对账文件一旦生成,就不会改变。但是第三方渠道也可能发生异常,导致我方收到对账文件数据不完整。 这种情况下,需要人工介入可以重新下载解析入库,或者提供人工导入流水的环节。
每个第三方渠道下载文件时间都不一样,这点是需要结合对账考虑的。
2. 数据清洗
顾名思义,即对准备好的数据进行清洗,以便针对数据分类,提取可用字段。
前期拿到的字段不一定都是对账所需的,我们只需要提取必要字段即可,无需将整行数据信息都提取出来。一般来说只要需要提取交易时间,对方账户、本方账户、金额,交易订单号,流水号、交易类型等。在上一期,我讲过对账时间一般有t+1、T+0、N+7等,此处就以t+1为例,每天只需要针对前一天的交易数据进行处理即可。可对数据进行合并、排除无用数据。
这个过程中可能会遇到需要对流水进行处理,部分渠道拿到的流水号是会重复的,甚至需要进行拆分。例如,财付通的流水支出和交易都在一条流水中体现,但是我们需要通过一定的规则将流水拆分,并且保证流水号不会重复。
3. 数据核对
数据核对是对账的核心,对账的主逻辑; 一般对账有两种,即对明细账和对总账,对总账一般包括总金额和总条目 。
我们取某一天的同一个账户的数据,分别记录账户期初、期末以及发生数据。
先校验是否缺失流水:
1、期初是否等于前一天期末。
2、期末=期初+发生(加)-发生(减),校验这个公式是否相等。
其次,看分别用流水和单据(凭证)进行匹配,匹配方式可参考金额、交易双方、时间等。
一般会出现4种差异情况,如下:
最后,分别展示已经匹配的和未匹配核对结果数据,方便后期统计以及为业务提供能力。
4. 差异处理
在一般系统中,差错处理分为两种,一种人工来处理,一种系统自动来处理。当然, 差异也分为可优化差异和合理差异,合理差异是可以忽略的(但是前提是你知道差异原因,以及并不会对资产造成损失哦),后期可通过调节表进行调整,可优化差异是必须要进行处理的。
系统自动处理一般为:自动补单,即通过一定的规律和标准的规则系统会自动生成单据(凭证),差异自动对平。
人工处理,常见的就是缺少单据(凭证),需要人工填单环节。也有金额不等的情况,这个一般出现在手续费和汇率换算上。
在这个环节中,经常会遇到“乱账”,处理起来比较耗时。
我举个例子:一个公司下会经营不同的业务,考虑到经济、社会等风险,可能会成立不同的子公司,不同子公司下挂有不同的业务;这样的话,不同的业务的收款账户可以是不同的。展现给用户的就是,我在A地点买了一件商品,付款给了A公司;在B地点卖了一件商品,付款给了B公司;虽然A地点和B地点同属于一个集团,但付款给了不同公司,收款进了不同账户。
所以,我们做了一件事情是,统一收款至一个公司,再由此公司进行内部分账;这样对于顾客来说,我不管在哪里购物,付款给了同一个公司,收款进了同一个账户。 除了分账,做好企业内部账户管理也是非常重要的准备工作,可以减少很多不必要的麻烦。
5. 结果统计
对账结果往往是个容易忽视的环节,但是在系统设计中,这个必不可少。一方面可以财务提供统计相关信息,另外一方面,可以为公司高层提供战略性参考。
对于财务来说,他们需要看到整个对账的总览,如对账账户、对账完成时间(对账耗时)、对账是否成功、汇总差异结果、对账进度、差异处理结果等。 当然,他们还需要一个资产负债表和损益表。
对于管理者来说,对账耗时、差异数量、差异处理等是他们所关心的。
结合这些切入点,可以自行发挥,设计统计图表。
好了,今天的分享就到这里,如果想看真实设计案例,记得留言告诉我哦~
一个有料、会聊、更有趣的90后产品小姐姐等你来撩~
这篇关于手把手教学之如何设计财务对账系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!