2009年,海南省审计厅企业处对某市农村信用合作社联合社(以下简称某农信社)资产负债损益情况进行审计。审计组利用计算机辅助审计技术,在海量数据中,准确定位和发现问题,提高了审计效率,取得一定的成果。 一、计算机辅助审计的过程 (一)审前调查 1.可行性分析。经调查,某农信社是海南省农村信用社联合社的二级法人社,计算机普及和运用较早,其存贷款业务是以计算机系统为平台来操作,其业务流程、业务结果的载体均为电子数据,符合计算机辅助审计的条件。 2.了解农信社的基本情况。电子数据环境:主要是了解农信社数据库及其结构和字段所代表的含义,了解数据库及其结构是为了数据的转换和采集,了解字段含义是为了提取审计所需资料和设计AO查询语句;业务:主要是了解农信社的业务操作流程和各业务环节的控制情况,一是查阅农信社制定的各种规章、制度,掌握业务性质,二是要求农信社授权设立虚拟用户,通过虚拟账户实地操作业务,了解农信社的业务流程和重要环节,了解各个不同授权人员的控制情况;以往的审计情况:通过查阅各种审计报告、检查报告和内部通报等资料,了解以前年度各种检查、审计情况,直接掌握存在问题和现象。 (二)数据准备 1.提出数据要求。首先,根据我省农信社业务数据的存储模式、结构、字段含义和数据大小等基本情况,向省农信社提出审计所需数据库的明细要求,主要有贷款人姓名、性别、贷款日期、贷款形态等字段、时间期限和涉及市县等要求。其次,到某农信社进行现场审计时,要求某农信社提供在职职工、下岗职工和退休职工的姓名、职务、身份证号等基本情况。最后,梳理农信社提供的各种电子资料,将其分文别类,以方便AO软件的衔接。 2.获取数据。审计人员将从省联社和某农信社获取的电子数据,导入AO审计软件中,形成符合进行计算机辅助审计的存款和贷款业务数据库和人员信息库。同时,再根据对数据的不同需求,通过相关语句设计,分别形成不同子数据库。 3.数据整理。在数据审核过程中,发现某农信社贷款业务数据录入基础较差,存在数据缺失、逻辑错误、格式不规范等问题,经计算机检索,截至2008年12月,某农信社约有XX万条(部分数据为重复出错)存、贷款记录存在缺失与遗漏、逻辑错误和格式不规范等问题。 (三)数据核对。审计人员对经AO审计软件生成的贷款数据进行审核。截至2008年12月底,贷款数据库中电子业务数据与纸质财务数据合计数相吻合;存款数据库中电子业务数据与纸质财务数据合计数相差XX亿元,相差2%,考虑到此次审计重点为贷款业务数据,根据重要性原则,2%的误差属于可接受范围。 (四)审计查询、分析和核实结果 1.查找信用社系统职工贷款情况,提供内部职工贷款情况。利用“个人贷款数据库”和“在职职工信息库”、“退休职工信息库”、“下岗职工信息库”,发现某农信社存在系统内部职工贷款,且部分职工贷款长期未归还利息和本金的问题。 语句:select[姓名]、[证件号]、[贷款金额]、[贷款余额]、[贷款日期]、[到期日期]、[贷款形态]from[个人贷款数据库]where[证件号]in(select[证件号]from[在职职工(退休职工、下岗职工)信息库]) 2.查找重复发放贷款情况,提供一人多次取得贷款情况。利用“某农信社个人贷款数据库”,根据数据库中“证件号”为条件,发现某农信社重复发放贷款给郑某某等139人,共计308笔,累计发放贷款XX万元,余额XX万元。经抽查档案和汇总数据,发现这些贷款已有189笔为呆滞或逾期贷款,占贷款发放总额的22%,发放笔数的61%。 语句:(1)Select[姓名],[证件号],count([证件号])as贷款次数,sam([金额])as累计发放贷款金额,sum([余额])as贷款余额From[个人贷款数据库]where len([证件号])=15orlen([证件号])=18 GROUPBY[姓名],[证件号]HAVING count([证件号])>1,生成重复贷款辅助数据库; (2)Select[重复贷款辅助数据库].[姓名],[重复贷款辅助数据库].[证件号],[贷款次数],[贷款累计发放金额],[贷款余额],[开户机构],[贷款形态]From[重复贷款辅助数据库]inner join[个人贷款数据库]on[个人贷款数据库].[证件号]=[重复贷款辅助数据库].[证件号] 3.查找在职职工开户情况,提供账外资金和存款业务的违规违纪问题线索。利用“个人存款数据库”和“在职职工信息库”,重点关注二级法人社主任、信贷员和会计等重要岗位的职工开立的账户,生成“在职职工开户情况表”。审计人员再从表中抽查部分账户,并打印其账户资金流水明细,着重核实金额大的资金或存取款频率较高的账户,发现某市各农信社普遍存在将客户还本付息资金存入职工私人账户,金额大小不一,且发生较为频繁,以及某分社将房屋出租收入、单位水电费收入存入职工私人账户等情况。 语句:Select[在职职工信息库].[姓名],[身份证号码],[现任职务],[余额],[开户日期],[开户机构]From[个人存款数据库]inner join[在职职工信息库]on[在职职工信息库].[身份证号码]=[个人存款数据库].[证件号]where[证件号]in(select[身份证号码]from[在职职工信息库]where[现任职务]in(′主任′,′副主任′,′信贷员′,′会计′))