图论算法在会计分析中的应用,本文主要内容关键词为:算法论文,会计论文,图论论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
当前,财务数据的审计分析方法主要是传统的财务指标分析法和科目分析性复核。本文通过引入离散数学的图论概念,提出了一种新颖的财务数据分析方法并编写测试软件进行了可行性验证。 财务数据分析的现状 审计中的财务报表分析,一般通过与同行业其他公司同年同一财务指标进行横向对比,以及与本公司往年相同财务指标进行纵向分析性复核,找出某些特殊点作为审计疑点,并进一步调取相关记账凭证及附件进行分析。财务指标分析的理论相对成熟,相关单位也出现过不少基于指标分析的审计模型和方法,如广州特派办的南航审计分析模型和深圳特派办的远洋集团审计分析模型。基于指标分析的软件产品有哈尔滨特派办的央企预警系统,它通过读取企业使用的报表软件进行指标计算并与上市公司同期同类指标进行比较,利用指标值的正态分布属性,根据区间范围生成财务状况报告和疑点列表,为审计提供参考。 报表层次之下的财务数据分析方法有分析性复核,即计算某一科目连续若干年或连续若干月的发生额或余额,根据趋势判断该科目是否存在异常。这种方法容易发现有序经营中的异常波动,但是割裂了该科目和相关科目间的关联。 图论的引入 本文结合审计实践,尝试用离散数学的图论来表述借贷记账。当记账凭证只涉及一借一贷时,把借方看作终点,贷方看作始点,用借方或贷方金额作为边的权数,就可以画出包含两个顶点和一条边的最简单的有向图。如下面的凭证1可以用有向图1来表示,凭证1和凭证2组成的整体可以用有向图2来表示。 当顶点的科目属于资产或成本费用时,流入表示资产或成本费用的增加,流出表示资产或成本费用的减少;当顶点科目属于负债、所有者权益或收入时,流入表示减少,流出表示增加。用这种方法表示账务,包含了借贷记账法很大的一个优点,即以相等的金额增减不同的科目,系统地反映资金运动变化的结果,方便会计信息使用者核实业务的资金使用情况。该方法的另一个优点是直观形象,不懂会计的人也能看懂资金的流向,如通过图2就容易知道有d1元的银行存款用于购买原材料。当使用ERP系统时,有向图能直观地显示出资金、原材料、半成品、成品、成本、费用、收入、利润、应收账款等科目之间的流向和金额,方便相关使用者对业务的理解。 当记账凭证是一借多贷、多借一贷或多借多贷时,需要将其拆解成多条一借一贷的凭证,才能用有向图表示。 记账凭证的拆解 经过研究,可以用下面的算法拆解非一借一贷的记账凭证。 步骤一:凭证为一借多贷的凭证。把“借:JFKM d1贷:DFKM1 c1,DFKM2 c2,…,DFKMn cn”的凭证,拆解为“借:JFKM c1贷:DFKM1 c1”“借:JFKM c2贷:DFKM2c2”…“借:JFKM.cn贷:DFKMn cn”共n张凭证。 步骤二:凭证为多借一贷的凭证,参考步骤一。 步骤三:凭证为多借多贷的凭证。 (1)对借方的每一行分录,在贷方中查找金额完全相同(若摘要相同则优先匹配)的分录。把找到的子凭证分离出来,对剩余凭证执行步骤三(1),直至匹配不到一借一贷的子凭证。 (2)若剩余凭证为一借多贷或多借一贷,执行步骤一或步骤二,结束。 (3)假设剩余凭证借方分录数为M,贷方分录数为N,则对每一借方分录C(M,1),计算贷方分录组合C(N,X)(2≤X≤N-1,X=1即是步骤三(1)的算法。由于M>1,所以X<N)的合计金额。若两者金额相等,则该借方分录和贷方分录组合构成一个一借多贷的子凭证。把该子凭证从原凭证中分解出来,对之执行步骤一。 若不存在一借多贷的子凭证,则对每一贷方分录C(N,1),计算借方分录组合C(M,X)(2≤X≤M-1)的合计金额以匹配多借一贷的子凭证,并把找到的子凭证从原凭证中分解出来执行步骤二。 若不存在多借一贷的子凭证,执行步骤三(5)。 (4)执行步骤三(2)。 (5)此步骤为经验算法,如对存在“财务费用—汇兑损益”科目的凭证,若其他科目为“应收账款”“应付账款”“银行存款”,则拆解后的每张一借一贷凭证应有一方为“财务费用-汇兑损益”,如下面的凭证3(其中d3_1≠d3_2≠c3_1≠c3_2) 借:其他应付款d3_1 银行存款—美元d3_2 贷:应收账款c3_1 财务费用—汇兑损益c3_2 借:其他应付款d3_1 贷:财务费用—汇兑损益d3_1 借:银行存款—美元d3_2 贷:财务费用—汇兑损益d3_2 借:财务费用—汇兑损益c3_1 贷:应收账款c3_1 图论概念及算法应用 简单路径。如果一条路径上的顶点除了起点和终点可以相同外,其他顶点都不相同,则称此路径为一条简单路径。起点和终点相同的简单路径称为回路或环。把这个概念应用到会计分析中,可以分析两个科目之间是否存在资金流动。当两个科目间存在回路时就有调节利润的嫌疑,应进一步查看凭证加以核实。在ERP环境下,路径分析还可以看出某原材料是否为某成品的组成成分。 生成树。若从图的某顶点出发,可以系统地访问到图中的所有顶点,则遍历时经过的边和图的所有顶点所构成的子图,称作该图的生成树。此定义不仅适用于无向图,也适用于有向图。利用生成树的概念,可以完整地构造出某成品或半成品的物料清单(BOM,Bill of Material)。 最大流问题。有向图实际上是一个带方向的网络,网络中的顶点和边都是有容量限制的。描述在一个有容量限制的网络中两个指定的顶点(分别称为“源”和“汇”)之间最多能传输多少流量,并确定达到这个最大流量的传输策略的数学模型就是网络的最大流问题。通过在会计分析中应用最大流算法,可以核对被审计单位的现金流量表。 笔者编写了具有凭证拆分、账套有向图显示及可视化分析等功能的测试软件,命名为“会计账套图形化分析”,其中就包含了求所有顶点(科目)对选定顶点(科目)的最大流算法。通过对某被审计单位2009年的用友账套进行测试,得到当年从“投资收益”一级科目到“银行存款”一级科目的最大流量为118972.38万元。被审单位当年的现金流量表中,“投资活动产生的现金流量:……取得投资收益收到的现金”公司本年数为116207.40万元,两者相差2764.98万元(实际应为相差2765.00万元,因为现金流量表以千元为单位且忽略小数导致了尾差)。 应用“会计账套图形化分析”软件分析从“投资收益”到“银行存款”的路径发现,直接从“投资收益”到“银行存款”的有111068.00万元,从“投资收益”到“应收股利”再到“银行存款”的有5139.38万元。这两条路径的权数相加就等于116207.40万元。分析发现还有一条从“投资收益”到“应付存款”(权数为2765.00万元)再到“银行存款”(权数为610947.10万元)的路径,相差的2765.00万元即由此引起。点击从“投资收益”到“应付存款”的边查看记账凭证,发现摘要为“收某公司2009年度分红款(从人民币存款中扣除)”。这是由于现金管理的要求,子公司已把收到的钱存入集团的银行账户,形成了集团对子公司的应付存款,并在分红时与集团应收子公司的股利对冲。据此发现,审计人员与被审计单位就2765.00万元是否应计入“取得投资收益收到的现金”进行了沟通。标签:图论算法论文; 审计软件论文; 会计论文; 审计方法论文; 投资收益论文; 汇兑损益论文; 财会论文; 银行存款论文;