手把手教学之如何设计财务对账系统

2023-11-06 04:38

本文主要是介绍手把手教学之如何设计财务对账系统,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

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

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

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

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

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

  • 账实核对,是各项资产物资的记录数值与实际真实数额间的核对。例如:我们使用记账 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后产品小姐姐等你来撩~

这篇关于手把手教学之如何设计财务对账系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/354507

相关文章

C#实现系统信息监控与获取功能

《C#实现系统信息监控与获取功能》在C#开发的众多应用场景中,获取系统信息以及监控用户操作有着广泛的用途,比如在系统性能优化工具中,需要实时读取CPU、GPU资源信息,本文将详细介绍如何使用C#来实现... 目录前言一、C# 监控键盘1. 原理与实现思路2. 代码实现二、读取 CPU、GPU 资源信息1.

在C#中获取端口号与系统信息的高效实践

《在C#中获取端口号与系统信息的高效实践》在现代软件开发中,尤其是系统管理、运维、监控和性能优化等场景中,了解计算机硬件和网络的状态至关重要,C#作为一种广泛应用的编程语言,提供了丰富的API来帮助开... 目录引言1. 获取端口号信息1.1 获取活动的 TCP 和 UDP 连接说明:应用场景:2. 获取硬

JAVA系统中Spring Boot应用程序的配置文件application.yml使用详解

《JAVA系统中SpringBoot应用程序的配置文件application.yml使用详解》:本文主要介绍JAVA系统中SpringBoot应用程序的配置文件application.yml的... 目录文件路径文件内容解释1. Server 配置2. Spring 配置3. Logging 配置4. Ma

2.1/5.1和7.1声道系统有什么区别? 音频声道的专业知识科普

《2.1/5.1和7.1声道系统有什么区别?音频声道的专业知识科普》当设置环绕声系统时,会遇到2.1、5.1、7.1、7.1.2、9.1等数字,当一遍又一遍地看到它们时,可能想知道它们是什... 想要把智能电视自带的音响升级成专业级的家庭影院系统吗?那么你将面临一个重要的选择——使用 2.1、5.1 还是

高效管理你的Linux系统: Debian操作系统常用命令指南

《高效管理你的Linux系统:Debian操作系统常用命令指南》在Debian操作系统中,了解和掌握常用命令对于提高工作效率和系统管理至关重要,本文将详细介绍Debian的常用命令,帮助读者更好地使... Debian是一个流行的linux发行版,它以其稳定性、强大的软件包管理和丰富的社区资源而闻名。在使用

Ubuntu系统怎么安装Warp? 新一代AI 终端神器安装使用方法

《Ubuntu系统怎么安装Warp?新一代AI终端神器安装使用方法》Warp是一款使用Rust开发的现代化AI终端工具,该怎么再Ubuntu系统中安装使用呢?下面我们就来看看详细教程... Warp Terminal 是一款使用 Rust 开发的现代化「AI 终端」工具。最初它只支持 MACOS,但在 20

windows系统下shutdown重启关机命令超详细教程

《windows系统下shutdown重启关机命令超详细教程》shutdown命令是一个强大的工具,允许你通过命令行快速完成关机、重启或注销操作,本文将为你详细解析shutdown命令的使用方法,并提... 目录一、shutdown 命令简介二、shutdown 命令的基本用法三、远程关机与重启四、实际应用

Debian如何查看系统版本? 7种轻松查看Debian版本信息的实用方法

《Debian如何查看系统版本?7种轻松查看Debian版本信息的实用方法》Debian是一个广泛使用的Linux发行版,用户有时需要查看其版本信息以进行系统管理、故障排除或兼容性检查,在Debia... 作为最受欢迎的 linux 发行版之一,Debian 的版本信息在日常使用和系统维护中起着至关重要的作

Python中的可视化设计与UI界面实现

《Python中的可视化设计与UI界面实现》本文介绍了如何使用Python创建用户界面(UI),包括使用Tkinter、PyQt、Kivy等库进行基本窗口、动态图表和动画效果的实现,通过示例代码,展示... 目录从像素到界面:python带你玩转UI设计示例:使用Tkinter创建一个简单的窗口绘图魔法:用

什么是cron? Linux系统下Cron定时任务使用指南

《什么是cron?Linux系统下Cron定时任务使用指南》在日常的Linux系统管理和维护中,定时执行任务是非常常见的需求,你可能需要每天执行备份任务、清理系统日志或运行特定的脚本,而不想每天... 在管理 linux 服务器的过程中,总有一些任务需要我们定期或重复执行。就比如备份任务,通常会选在服务器资