财务系统:资金对账(一)
每月关账前,都会进行对账,每次对账都会持续一周,混乱爆肝的一周。由于公司业务多样性,交易量大,线上线下业务都有;因此目前财务系统-对账模块分为门店对账、大客户对账、资金对账、收入成本核对等。
本文主要分享资金对账,资金管理相关的内容,包括资金流水的生成及核对还有日记账的生成。资金对账,顾名思义对公司资金的核对,系统里包括应收应付实收实付,账务上则是总账和出纳管理的核对。
一、为什么要做资金对账?
- 解放出纳人力,目前集团拥有270多个银行及其他货币资金账号,出纳手工做日记账,核销业务单据,工作量巨大。
- 提升关账效率,希望通过资金对账快速核对业务账和财务账。
二、结构简介
系统模块简单划分为资金解析、日记账、应收付、对账核心,如下图:
(1)资金解析:主要是接受账单(银行账单以及微信/支付宝等其他货币资金账单)并对账单数据进行解析,因此该模块主要包含账单解析和解析账单时需要的规则。
(2)应收付模块:主要是接受财务系统结算模块的数据,并对接到的应收付数据进行格式化处理的模块;对各收支业务数据处理统一数据格式为之后的对账准备数据。
(3)对账核心:资金对账的核心,从解析模块接收实收付数据,从应收付模块接收应收付数据,并按照对账规则匹配。
(4)日记账:系统接到账单数据后生成日记账并推送金蝶K3。
三、流程简介
资金对账分为两头进行:一头业务端,有收支数据则推送对账模块准备对账;一头资金端,接账单数据,生成资金流水推送对账模块准备对账,并生成日记账。
数据核对完成后,会根据对账结果反向核对业务单据的收付款结果,减少出纳手工确认收付款的工作量(人工确认收付款功能并没有取消)。但由于核对结果受到资金流水和业务流水进入对账模块的先后顺序及付款结果可变化(退汇)等特点,导致系统自动确认收付款实际实行过程中,问题不断,这里先不展开介绍。
下面针对资金对账各子模块,进一步介绍:
四、资金解析
资金解析模块包含解析规则维护、账单上传及解析。
原始的账单包括银行账单和其他货币资金账单(微信/支付宝……)。目前系统支持财务手工上传账单和系统自动拉取账单流水两种方式。账单数据引入后,开始解析,解析就是一个系统跑规则的过程。资金解析的规则包括规则定义和规则配置两块:
规则的维护是一个庞大的工作,目前定义的有效的规则接近100条;同时还要考虑规则的优先级和规则有效范围。
有了账单数据和规则,就开始进行解析。下面以招行为例:
正常的招行账单包含的字段:交易日、交易时间、起息日、交易类型、借方金额、贷方金额、余额、摘要、流水号、流程实例号、业务名称、用途、业务参考号、业务摘要、其他摘要、收/付分行号、收/付方名称、收/付方账号、收/付方开户行、收/付方开户行地址、交易分析码等等。
解析第一步——规则匹配,账单的每条交易数据都去跑规则。例如,当招行账单一条数据的交易类型为“整存整取”时,则优先解析成汇票-扣保证金;又或者当招行账单一条数据摘要包含“结构性存款开户“时则有限解析成理财购买。
解析第二步——提取有用字段生成资金流程,账单数据跑完规则后,解析出来的数据业务类型为对应的规则名称;为解析出来的数据统一分类为其他;由于账单字段较多,并不是所有的字段都有用,因此需要提取有效字段。
还是以招行为例,提起:交易时间,交易类型,借方金额,贷方金额,余额,摘要,流水号,用途,收/付方名称。提取字段后拼接上规则生成一条资金流水,并推送对账核心同时部分类型的资金流水会生成凭证推送总账模块。
- 付款资金流水标准字段:付款公司、付款账号、付款时间、付款金额、解析分类、摘要、对方户名。
- 收款资金流水标准字段:收款公司、收款账号、收款时间、收款金额、解析分类、摘要、对方户名。
五、应收付业务流水
应收付模块包含了业务系统的应收数据和应付数据,根据事先设定好的业务分类生成收支业务流水。标准字段如下图:
应收业务流水生成节点,业务系统提交数据传到财务系统立刻生成,应收流水标准字段如下:
应收付流水生成后,推送到对账核心。
六、对账核心
对账核心为资金对账的重要模块。主要包含:接收的业务流水和资金流水,核对,反馈,调整。
首先业务流水和资金流水都会自动进入对账核心,但是由于有时间差,可能业务流水先进来,也有可能是资金流水先进来,所以要满足延后对账的需求,但是延迟对账时间不能太长,如果时间太长,可能会核销到错误的业务流水(目前是前后7天)。
例如:A员工6月1日报销1000块,L公司打款,A的收款账号为M;A员工在7月1日又报销1000块,L公司打款,收款账号仍然为M。
当7月2日,资金流水进入对账核心的时候,就有可能核对错误的业务流水。由于业务两大,公司的客户极有可能是客户,又有可能是门店或者供应商,关联交易较多,给资金对账带来了不小的挑战。
1. 核对
付款流水核对相对简单,按照付款公司、付款金额、时间(允许前后7天的时间差)、付款类型、付款账号核对;收款流水则按照收款公司主体、收款金额、收款时间(前后7天时间差)、收款类型、收款账号核对。
2. 反馈与调整
反馈及向财务系统-结算模块下发对账结果,由结算模块核销各个业务单据的收付款状态并且通知各业务系统。目前由于对账结果不能保证全部正确,所以系统自动反馈只是灰度上线了部分业务。
调整则是在系统核对错误或者未核对的情况下,提供人工介入的口子,人工可以强制修改核销结果或者配对流水,同样,人工调整的对账结果也会通知结算模块。
3. 日记账
目前日记账考虑到时效问题并没有等待核对完成后生成日记账,而是在账单流水完成解析后就生成日记账。生成的日记账推送到金蝶,直接减少了出纳手工日记账的时间,为关账提供基础数据。
以上即资金对账第一部分简要介绍。资金对账整体还包括推送到金蝶日记账和账单余额的核对监控,推送的凭证数据(带银行/其他货币资金科目)和推送日记账的核对。当当月账单的发生额等于当月推送的带银行科目等于日记账时,则为关账创造了条件。
本文由 @锅锅 原创发布于人人都是产品经理,未经作者许可,禁止转载。
题图来自Unsplash,基于CC0协议
转发了
我没怎么理解
日记账直接生成凭证给金蝶,混淆了预收和应收,到了金蝶会计还需要对一遍账并且增加了结转错误的概率,出现错误后,还要增加调账功能,总上,一步错步步错。只考虑了出纳没有考虑会计。等于白做了。
记账这个功能,一个就完事了。做多了真是负担
核销没有账期概念自然会出现核销错误的概率
主数据与业务数据混淆,没有清晰的结构,这样做的后果是浪费开发量,后面系统还得重构
很有帮助,是我财务生涯启迪读物
很有帮助
不错的知识,学习了