zoukankan      html  css  js  c++  java
  • 手把手教学之如何设计财务对账系统

    在设计一个对账系统前,我们先想清楚,对账目的、方式、对账场景、使用对象。其次就是和财务了解一下,他们所期望的效果,毕竟他们是使用方。财务对账是一个琐碎而复杂的工作,极需要工作耐心和细心,还要求对账人员对对账系统要十分熟悉。

    可能有些小伙伴是初次接触财务领域,对于对账还是比较陌生的。

    首先,我们为啥要对账呢?企业的结算业务大部分是要通过银行进行结算的,但由于企业与银行的账务处理和入账时间不一致,这样就可能导致双方账目不一致的情况。即所谓的“未达账项”。为了能够准确的掌握银行存款的实际余额,了解实际可以动用的货币资金数额,防止企业在记账报税工作中出现错误,企业必须定期与银行进行账单核对,并编制银行存款余额调节表。

    其次,对账的方式是哪些?

    • 账证核对,是将账簿记录与记账凭证进行核对,这里是记账凭证是指日常经济活动的书面证明。 例如,我们超市购物的小票、购买商品的发票、银行卡的收款转账记录,都是记账凭证。

    • 账账核对,是把有相互关系的多个账簿记录进行核对。有相互关系的账簿记录,包括总分类账簿间核对,明细账簿间核对等多种类型。例如:公司业务总支出和自由币、优惠券、商品采购、商家结算等支出的核对,是总分类帐薄核对;各收款账户的收支明细和总入账、总支出的核对,是明细帐薄的核对。

    • 账实核对,是各项资产物资的记录数值与实际真实数额间的核对。例如:我们使用记账 APP 记录购买了一台手机,我发现自己手里确实有一台手机,这就是账实核对。

    1SJLbMqe9G78fNy2MSKsE

    然后,对账场景常见的有同银行、支付宝、微信等第三方支付平台进行对账、每个平台的特性也会有不同,在下面会详细说明。

    最后,对账的系统的使用对象无外乎是三种:决策层、业务人员、财务。他们所关注的点也会不同,建议分别收集诉求,然后求同存异。 这个过程是很多产品都会犯错的,但是我想说的是,并不是把一个对账系统做成“大杂烩”,而是分别从操作到数据呈现,整个过程流程化。

    对账大致可分为5步进行,本文提供一些设计思路以供参考。

    下面,我将从财务日常对账过程为大家说明。

    1. 数据准备

    数据准备即记账,主要是获取对账所需的信息,例如获取银行流水。这些对账文件的格式也会存在一些区别。 比如支付宝对账文件格式为 csv,而微信的对账文件格式为 txt,另外有些渠道为 xml,xls。

    注意:对账方式的不同,在数据准备上也有差异,此处以账证核对为例,除了流水外,还需要相应的单据(凭证),例如报销单据。

    2CFMBRNUjmOwFVZsxGZad

    下面是有几点是在数据准备阶段需要注意和考虑的:

    • 每种渠道的账户可能都不止一个账户,那么在每天都有交易的情况下,系统设计时候需要考虑到多份对账文件处理的情况。

    • 对账文件会有重复下载的情况,渠道的对账文件一旦生成,就不会改变。但是第三方渠道也可能发生异常,导致我方收到对账文件数据不完整。 这种情况下,需要人工介入可以重新下载解析入库,或者提供人工导入流水的环节。

    • 每个第三方渠道下载文件时间都不一样,这点是需要结合对账考虑的。

    2. 数据清洗

    顾名思义,即对准备好的数据进行清洗,以便针对数据分类,提取可用字段。

    3XeXsqL5aJqjSd6rO0Z9g

    前期拿到的字段不一定都是对账所需的,我们只需要提取必要字段即可,无需将整行数据信息都提取出来。一般来说只要需要提取交易时间,对方账户、本方账户、金额,交易订单号,流水号、交易类型等。在上一期,我讲过对账时间一般有t+1、T+0、N+7等,此处就以t+1为例,每天只需要针对前一天的交易数据进行处理即可。可对数据进行合并、排除无用数据。
    这个过程中可能会遇到需要对流水进行处理,部分渠道拿到的流水号是会重复的,甚至需要进行拆分。例如,财付通的流水支出和交易都在一条流水中体现,但是我们需要通过一定的规则将流水拆分,并且保证流水号不会重复。

    3. 数据核对

    数据核对是对账的核心,对账的主逻辑; 一般对账有两种,即对明细账和对总账,对总账一般包括总金额和总条目

    我们取某一天的同一个账户的数据,分别记录账户期初、期末以及发生数据。

    先校验是否缺失流水:

    1、期初是否等于前一天期末。

    2、期末=期初+发生(加)-发生(减),校验这个公式是否相等。

    其次,看分别用流水和单据(凭证)进行匹配,匹配方式可参考金额、交易双方、时间等。

    一般会出现4种差异情况,如下:

    4NWT0VRekXUkWfVZt6On3

    最后,分别展示已经匹配的和未匹配核对结果数据,方便后期统计以及为业务提供能力。

    4. 差异处理

    在一般系统中,差错处理分为两种,一种人工来处理,一种系统自动来处理。当然, 差异也分为可优化差异和合理差异,合理差异是可以忽略的(但是前提是你知道差异原因,以及并不会对资产造成损失哦),后期可通过调节表进行调整,可优化差异是必须要进行处理的。

    系统自动处理一般为:自动补单,即通过一定的规律和标准的规则系统会自动生成单据(凭证),差异自动对平。

    人工处理,常见的就是缺少单据(凭证),需要人工填单环节。也有金额不等的情况,这个一般出现在手续费和汇率换算上。

    在这个环节中,经常会遇到“乱账”,处理起来比较耗时。

    我举个例子:一个公司下会经营不同的业务,考虑到经济、社会等风险,可能会成立不同的子公司,不同子公司下挂有不同的业务;这样的话,不同的业务的收款账户可以是不同的。 展现给用户的就是,我在A地点买了一件商品,付款给了A公司;在B地点卖了一件商品,付款给了B公司;虽然A地点和B地点同属于一个集团,但付款给了不同公司,收款进了不同账户。

    所以,我们做了一件事情是,统一收款至一个公司,再由此公司进行内部分账;这样对于顾客来说,我不管在哪里购物,付款给了同一个公司,收款进了同一个账户。 除了分账,做好企业内部账户管理也是非常重要的准备工作,可以减少很多不必要的麻烦。

    5. 结果统计

    对账结果往往是个容易忽视的环节,但是在系统设计中,这个必不可少。一方面可以财务提供统计相关信息,另外一方面,可以为公司高层提供战略性参考。

    对于财务来说,他们需要看到整个对账的总览,如对账账户、对账完成时间(对账耗时)、对账是否成功、汇总差异结果、对账进度、差异处理结果等。 当然,他们还需要一个资产负债表和损益表。

    对于管理者来说,对账耗时、差异数量、差异处理等是他们所关心的。

    结合这些切入点,可以自行发挥,设计统计图表。

    好了,今天的分享就到这里,如果想看真实设计案例,记得留言告诉我哦~

    5PBc8hq77ELSQyj6MfPxY

    一个有料、会聊、更有趣的90后产品小姐姐等你来撩~

    福禄ICH·ERP项目部 福久久
  • 相关阅读:
    leetcode53. Maximum Subarray(动态规划)
    MinGW中没有gdb.exe解决办法
    POJ
    POJ 3614 (贪心)
    bzoj 1057 (悬线法求最大子矩阵)
    bzoj1 218 激光炸弹(二位前缀和)
    POJ 2299(归并求逆序对)
    HDU 1394(归并求逆序对)
    POJ1523 Targin求关节点
    HDU6299 贪心
  • 原文地址:https://www.cnblogs.com/fulu/p/13666273.html
Copyright © 2011-2022 走看看