当前,财务数据的审计分析方法主要是传统的财务指标分析法和科目分析性复核。本文通过引入离散数学的图论概念,提出了一种新颖的财务数据分析方法并编写测试软件进行了可行性验证。 财务数据分析的现状 审计中的财务报表分析,一般通过与同行业其他公司同年同一财务指标进行横向对比,以及与本公司往年相同财务指标进行纵向分析性复核,找出某些特殊点作为审计疑点,并进一步调取相关记账凭证及附件进行分析。财务指标分析的理论相对成熟,相关单位也出现过不少基于指标分析的审计模型和方法,如广州特派办的南航审计分析模型和深圳特派办的远洋集团审计分析模型。基于指标分析的软件产品有哈尔滨特派办的央企预警系统,它通过读取企业使用的报表软件进行指标计算并与上市公司同期同类指标进行比较,利用指标值的正态分布属性,根据区间范围生成财务状况报告和疑点列表,为审计提供参考。 报表层次之下的财务数据分析方法有分析性复核,即计算某一科目连续若干年或连续若干月的发生额或余额,根据趋势判断该科目是否存在异常。这种方法容易发现有序经营中的异常波动,但是割裂了该科目和相关科目间的关联。 图论的引入 本文结合审计实践,尝试用离散数学的图论来表述借贷记账。当记账凭证只涉及一借一贷时,把借方看作终点,贷方看作始点,用借方或贷方金额作为边的权数,就可以画出包含两个顶点和一条边的最简单的有向图。如下面的凭证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环境下,路径分析还可以看出某原材料是否为某成品的组成成分。