会计软件自从1979年长春第一汽车制造厂采用以来,已走过近20年的历史,在这20年里会计软件有了长足发展。它经历了两个阶段:第一阶段是80年代,当时国内的会计软件都是基于DOS平台,运用C语言、BASIC、FORTAIN、PASCAL等作为开发工具对DBASE、FOXBASE等数据库进行软件开发设计。那时软件的特点是面向程序化,往往开发一个软件一年或几年时间,且软件的二次开发性较低,通用性较差,程序设计好再做变动就很困难;90年代以后随着WINDOWS操作系统的问世,会计软件也随之发生巨大变化。此阶段软件都基于WINDOWS平台,运用VB、VC、VF、POWERBUILD等对象化语言作为开发工具,对ACCESS、ORACLE、SYBASE等数据库进行软件开发设计,并已向网络化方向发展。第二代软件的特点是面向对象化,软件开发期显著缩短,大部分软件的二次开发性较强,通用性较好。即软件的伸缩性较好,功能模块化。随着软件功能的强大,二次开发能力的提高,软件的审计也日趋复杂化。现有软件公司为了实现规模经济,开发出来的软件往往只是一个通用软件原型或工具,然后,单位再根据本企业的生产经营特点在此基础上或用二次开发工具来重新设帐户、设凭证、设帐簿、设报表等。这样的软件使软件通用性与各个企业自身特点相联系,是软件发展的一大进步。但正是这些二次开发工具和模块却隐藏着计算机舞弊的可能。
现有会计软件都设有一个临时帐,到一定时间将临时帐复核后转入正式帐。而有些企业却拿此作手脚。如有些业务本应立即在正式帐上体现,而企业迟迟挂在临时帐上(如推迟销售收人的实现)。若审计人员来查,就显示临时帐,而不显示正式帐(假如审计人员不知有此秘密,要想查出实属不易)。还有的业务,企业绕过临时帐直接登记正式帐(如提前确认费用)。若外人来查就显示临时帐而不显示正式帐(造成好象无提前确认的费用),但实际它已登在帐上。现有软件还有套帐功能,软件套帐设计原本是为了企业内不同会计主体而设置不同帐而用的。但有些企业却利用这一点,对同一会计主体的业务设两套帐甚至三、四套帐。无论哪个单位来查,只要调用对付那个单位的帐即可,而不调企业真正的帐。这样从外表看不出什么毛病。有时即使审计人员坐在录入人员旁边看录入人员录人数据,但此时,只要录入人员按几个键就可以造成明为登此帐实际登另一个帐的假象,而审计人员却毫无察觉。这主要因为软件的运行分前台和后台。人只能看到前台录入、输出窗口,而录入的数据到哪里,经过哪些环节与操作,到哪一个帐上,输出的数据又是从哪个帐上来等等工作都是在后台完成。审计人员根本无法从前台看到后台程序的运行与处理。还有的企业根据不同模块间的组合也可造成做假帐的行为。所有这些都为审计带来了新的难度。而这些问题在第一代会计软件中的存在机率很小。新事物带来的新问题更加复杂化。
针对这种情况审计人员应采取哪些措施来对付新问题呢?笔者就此提出一些看法:
(1) 由于现在大部分企业都已实现电算化,并且在不久的将来必然全面上电脑。审计机关不得不对此有所准备。因现有的绝大部分审计人员对计算机并非很熟,可聘请计算机系统工程师作顾问,加强此方面的能力。由系统工程师检查程序的各种功能是否合法合规,运用逻辑分析方法比较是否有效,程序逻辑对错通过检查数据记录的结果就能分析出来。这种分析大则可以对会计软件设计原则进行分析,如权责发生制、配比原则、收益与资本支出、借贷平衡原则,小则可以对系统中一个计算公式,一个会计分录功能进行测试分析。将软件分解成模块、将模块分解为功能。对每一细小功能都要检查,特别是可能发生舞弊的功能与模块要重点测试。
(2)要求任何软件必须自带记录审计痕迹的功能,实际上就是软件运行日志。此日志记录着每天在什么时间、什么人、对哪些模块或功能进行了哪些操作或修改。根据这个带有审计痕迹的日志,审计人员能够很容易地找出程序变动的原因,从而核实变动是否经过批准,是否合法合规。
(3)运行程序与原程序比较方法。此法较晚,即将企业目前正在运行的会计软件与企业上一次已经审计无误的原程序进行比较。看程序是否有变动(只需比较字节是否一致即可)。在DOS下用DISCOMPARE命令就可比较。用其他高级软件如NORTON还可查出变动大概是在程序的哪一部分。针对软件的变动,审计人员应询问有关负责人,核实变动是否经过审批、是否有记录、是否合法。
(4)审计软件测试法。此法是指审计人员用符合会计、审计准则的审计软件对被审单位已处理过的业务进行重新处理(尤其对企业年末、年初两个月的帐要额外重点审查)。应用此法将审计软件的输出结果与被审单位的处理结果对比,若两者间有出入,则说明存在问题。如果被审单位又不能提出合理的解释,那就应以此为线索继续分析检查,找出问题所在及可能带来的全部后果。
(5)模拟数据输入审查。此法是将审计单位虚拟的两套业务数据输入到被审单位的会计软件系统里(最好将被审单位所在用的会计软件原封不动地复制一份,然后在此复制份上做检测)。其中一套是正常业务数据,另一套则包含非法数据。若对合法数据的处理结果与审计事先算的结果不一致,则说明里面有问题,要顺藤摸瓜详查到底。如果企业会计软件对非法数据无反应反而以政党方式处理,则说明此软件有缺陷,而不法分子也就可能利用这此缺陷做出舞弊行为。
除以上介绍的方法外,还有一些计算机审计技术方法如跟踪程序法、还原手工法、数据传输转换法等。现在的审计趋势使绕过计算机审计越发显得单薄无力,尤其新一代软件的特点及其强大的功能使得审计方法不得改进以对付新问题。但最主要的还是要提高审计人员自身的计算机知识水平。