[提要] 传统内部控制审计在海量数据处理方面存在局限性,针对内部控制审计过程中可能出现的数据提取困难、相关指标设定不充分适当以及审计报告质量有待提升等问题,Python在数据采集、清洗、分析等方面的优势能够准确爬取到相关数据,筛选出有效部分进行分析和展示,及时反映内控制度的执行情况,为内控审计工作提供便利,弥补内控审计在数据处理方面的缺陷。
关键词:内部控制审计;大数据;Python
中图分类号:F239.43 文献标识码:A
收录日期:2022年11月25日
一、Python与内部控制审计结合的必要性
如今,科技飞速发展,数据呈现爆炸式增长,想要在海量数据中准确获取有效信息,对于传统内部控制审计来说非常困难,随着科技的进一步发展,这个问题也会愈加明显。值得一提的是,Python能够在一定程度上弥补传统内部控制审计无法进行海量数据处理的劣势。如果能够将Python与内部控制审计结合,将会极大提高审计人员的数据处理和分析能力,也能够提高审计工作的效率。
近几年,许多行业都引进了大数据技术,Python语言的运用也越来越广泛。防控新冠肺炎疫情所使用的“大数据+网格化”模式就是一个很好的例子,通过这个模式,可以让中央做出的决策、制定的方针以最快的速度、最高的质量落实到基层,建立起网络疫情防控体系。这个模式对审计工作来说也有着借鉴作用,并且此时的内部控制审计面临疫情问题和科技发展的双重压力,如何正确地与大数据相融合,对于内部控制审计来说是不容忽视的事。可以说,Python语言是内部控制审计进一步发展的有效手段。Python的应用范围十分广泛,如设计软件的GUI、大数据分析等,它具有面向对象、交互性强、解释性强等优势。在内部控制审计工作中,Python的优势则体现在数据的抓取和处理方面。
将Python应用到内部控制审计中非常有必要,这是因为Python能够通过开源的代码库准确、便捷地处理内控中复杂的数据。例如,Python的数据分析库功能齐全,并且具有较强的数据抓取、筛选以及分析的能力,能够针对具体对象进行解释分析。很多公司内部控制的漏洞掩藏在大量的数据背后,仅仅依靠人力对这些数据进行筛选和分析需要的时间成本非常高,还会大大降低审计工作的效率,增加审计人员的工作成本。如果我们能够有效运用Python设计思想,将其与内部控制审计结合起来,提高数据处理的质量与效率,将庞大的数据产生的影响降到最低,那么将会提高审计工作的效率。
二、Python与内部控制审计结合的可行性
(一)内部控制审计计划阶段
1、提高获取审计数据的精确度。审计范围的扩大会给审计人员带来巨大的数据处理难题。对于中小企业来说,其内部权力过于集中,内部控制制度不够完善,将会提高企业风险出现的概率。此时,扩大审计证据的收集范围成为了内部控制审计过程中的必要环节,以此来降低风险评估的成本。对于大型企业来说,内部控制制度、业务流程等数据的体量会更加庞大,审计人员需要审计的范围会相应扩大,相关数据的处理难度也会上升。
利用Python可以对内控数据进行采集、清洗,有利于提高获取审计数据的精确度,提高审计工作质量。在内部控制审计计划阶段,Python的功能具体体现为对内控数据的抓取与识别,利用公司主营业务的利润及其占总利润的比例等数据,Python可以精准抓取数据,进而确定拟执行的内部控制审计的工作方式,合理分配审计资源。
2、提高识别重要账户的能力。审计人员对账户的重要性水平进行认定时,识别重要账户不全面成为一个普遍的问题。对于已经被确定为异常变动的项目来说,审计人员应当考虑它在未来造成重大错报风险的可能性。审计人员还要关注财务报表项目的变动率,一旦超过重要性水平标准,就需要给予高度重视;同时,应该结合公司的实际生产经营情况,将变动率可能被显著低估的账户划分为重要账户。
审计人员可以利用Python的建模、数据处理功能来简化账户风险评估的程序和步骤。Python可以依据具体的重要性水平计算指标,通过对相关数据的提取与计算,判断其重要性水平。通过对公司内部控制数据进行采集,Python能够对众多的数据信息进行深度的分析,利用模型预测来进行报表项目的重要性水平认定,判断其变动率是否超过规定标准,还能够辅助审计人员对报表项目执行分析性程序。它大大降低了内控数据处理的复杂程度,也提高了审计人员在一定时间内能够处理的信息数量。
(二)内部控制审计实施阶段
1、提高公司层面内控测试的有效性。注册会计师至少从COSO五要素方面对被审计单位公司层面的内部控制进行测试。随着大数据技术的发展,庞大、复杂的内控数据让审计人员对公司层面的内部控制进行测试的难度加大。企业内控数据的体量愈加庞大,错综复杂的市场环境和往来交易也让公司内部数据愈加复杂,这些都会使审计人员对信息获取的准确性降低。随着大数据的影响范围不断扩大,海量的数据信息虽然会降低审计人员获取数据的难度,但是想要精准获取到想要的数据并不是一件简单的事。
审计人员在与被审计单位进行沟通时,Python对于数据采集的优势可以使审计人员提前得知对方的基本信息以及业务结构,这简化了收集数据的程序,为双方的良好沟通提供保障,提高审计工作效率。
利用Python对数据进行处理,审计人员能够在最短时间内将部门规章、审批流程等信息抓取,借助Python的优势可以让提取过程更加简便、数据更加准确,还可以在众多数据信息中对可能存在的错误或漏洞进行识别。不但如此,对于复杂数据的分析,Python也能够为审计人员汇总信息碎片,缩短时间成本与人工成本。
2、提高业务层面内控测试的有效性。对主要业务流程进行内部控制测试时,样本选取的适当性成为衡量测试有效性的关键指标之一。审计人员在执行控制测试的过程中,需要关注获取样本的途径和样本的数量,二者都会影响测试的准确性和有效性。在实际操作过程中,审计人员需要借助相关标准来确定控制测试的样本量。Python可以严格依据控制测试的抽样标准,确定最小样本规模,对样本数据进行采集、清洗、分析,确保抽样程序符合审计工作标准。它还可以根据审计人员的具体抽样要求,针对特定项目进行数据采集与清洗,减少审计人员的工作量,提高审计工作质量。
业务活动的完成需要多个部门的合作,跨部门的数据获取流程增加了审计工作的步骤和难度。内部控制审计人员想要获取完整的业务数据、评价内部控制的有效性,需要从多方获取数据,不仅要取得经济信息,还要取得业务执行情况的数据。内部控制数据往往与财务数据联系紧密,特别是在销售链和财务链的数据存在问题时,Python可以通过客户信息比对、购买渠道比对以及购买习惯等大数据的分析,找出财务数据与销售数据间的差异,帮助审计人员缩短审计工作时间,从而更有效地开展内部控制审计工作。
数据分析的结果受样本数据的相关性和准确性影响,大量、冗杂的内控数据给数据分析提出难题。对于内部控制审计来说,无论是大、中、小企业,内部控制数据都是庞大的,而大部分中小企业没有建立相关的内部控制数据库。在这种情况下,Python能够扩大内部控制审计的工作范围,通过对不同维度的内控数据进行比对,识别所需要的结构化数据、非结构化数据,降低数据分析的难度。
(三)内部控制审计完成阶段
1、提高内控缺陷程度认定水平。在对已识别的内部控制缺陷进行评价时,需要设置不同维度的对照标准,审计人员仅靠与公司管理层的沟通来认定内部控制缺陷程度不具有说服力。除此之外,在评价多项内部控制缺陷组合的影响程度时,审计人员需要对企业补偿性控制的有效性进行评价。
Python的加入能够为其提供数据处理工具、流程追踪体系以及反馈机制等。Python不但能够抓取企业的银行资金信息(需要一定的授权),还能够对既有的数据进行深度剖析,进而确定内部控制缺陷的影响程度。由于对数据处理的限制,传统的公司内部控制审计很难发现造假流程较完整的财务舞弊行为,但Python恰好弥补了它这方面的劣势。无论是确认缺陷与相关财务报表的关联性,还是分析补偿性控制的有效性,Python都能在数据处理方面发挥作用。
2、提高内部控制审计报告质量。审计人员在与公司管理层进行内部控制缺陷的沟通过程中,容易出现双方意见不统一的情况,存在影响内部控制审计报告质量的可能性。Python可以为沟通双方提供准确的缺陷指标和数据,还可以对数据进行可视化展示,有利于提高信息透明度。审计人员与公司管理层的信息差会进一步缩小,提高沟通效率,进而提高内部控制审计报告质量。
三、Python与内部控制审计结合优化路径
科技的发展加快了各行业优胜劣汰进程,内部控制审计需要紧跟科技发展的步伐。科技能够带来爆炸式增长的庞大数据信息,传统内部控制审计在数据处理方面有所欠缺,而Python在获取、处理数据信息方面具有显著优势,这使得将传统内部控制审计与Python结合成了必行之举。
(一)数据采集。利用Python对公司内部控制数据进行抓取的流程并不复杂,它会通过网络对公司网页或内部数据库发送请求,进行信息识别与分析。如果没有响应请求,那么数据采集过程结束;如果响应了请求,Python会根据不同数据的获取标准,例如内部控制制度中的部门职责划分、销售业务和对应的财务数据等,提取相应的信息,对所获得的企业信息进行筛选、归类,进而对其进行保存。
值得一提的是,Python的内置标准库或第三方库可以识别非结构化数据。非结构化数据具有多样性,因此这样的数据拥有非常多的存在格式,并且它们普遍存在于公司的财务数据中。例如,承载会计信息和数据的各类报表、图片,记录公司内控制度的文档,公司会议的音频、视频资料等。在传统的公司内控审计中,很难对这些数据进行准确的识别、分类和检索。但Python的这些代码库可以很轻松地识别非结构化数据,特别是在智能检索方面,Python的优势尤为明显。
(二)数据清洗。数据清洗是对公司原始的内控数据进行的,其可能存在数据缺失、错误和重复的问题,此时的内控数据被称为脏数据。对于异常数据和重复数据进行检测,并对其进行导出,以便进行再次确认,最终导出满足质量要求的数据。
针对公司内部控制中可能出现的部门职责划分不明确、内控监督制度不完善、业务信息不完整等数据缺失问题,Python可以把这类的企业信息过滤出来,汇总成Excel表格提交给审计人员;对于数据错误问题,大数据的加入能够识别公司部门间信息传递时的日期、金额等方面的误差;对于数据重复问题,例如职责重叠部分等,可以将公司的相关数据内容导出,使得存在的问题更加清晰地展露出来。同时,Python也可以针对公司内部控制审计的不同需求,对特定数据进行过滤,把无用数据去除。对于内控制度数据来说,业务发生的时间和地点就属于无用数据,具体的规章制度才是符合筛选质量要求的数据。
(三)数据分析。基于Python对公司内、外部数据进行爬取,并对其进行数据分析。首先,将提取的数据分为结构化数据和非结构化数据两类,以便进行数据展示;其次,按照公司的部门、业务、客户、供应商等不同维度对部门责任是否明确、业务环节是否合理、业务数据是否一致等问题进行分析,明确数据的完整度及合理性;最后,对处理后的数据进行可视化展示。
(四)数据可视化。在可视化数据展示部分,可以借助Power BI软件对结构化数据进行呈现,对于非结构化数据的展示则可以选择Tableau软件。利用Power BI软件,导入Excel表格数据,可以得到对象数据的图表信息,针对审计人员对数据的变化量、变化率等方面的不同需求,可以切换不同的图表格式;Tableau软件除对公司内部已有数据进行可视化,还能在虚拟状态下对数据进行预测分析,并结合图片、表格的形式呈现。
这些可视化数据展示软件都提供Python数据代码接口,与Python兼容度较高,它们可以很好地将处理和分析的数据进行可视化展示。其原理和操作非常简单,利用Python对数据处理完成后,可以编辑一个接口程序将其与可视化展示平台对接,而Power
BI和Tableau软件可以直接获取Python程序中的数据,无需做端口对接程序,更加适合内部控制审计人员使用。
四、总结
Python在数据处理方面的优势是传统内部控制审计所不具备的,它能够提高审计人员对内控数据核算的精确度和真实性,提高数据的透明度。未来,公司内控数据的体量会越来越庞大,审计工作的复杂程度也会上升,而Python能够提高数据处理的效率,所以在内部控制审计中引进Python技术势在必行。但仅靠Python来完成审计工作是不现实的,在科技发展大变革的时代,技术的更迭非常频繁,如何正确地将Python设计思想与内部控制审计结合起来,还需要复合型人才进行更加深入的研究。
(作者单位:兰州财经大学会计学院)
主要参考文献:
[1]高飞.会计信息化对单位内部控制审计的影响及对策的分析[J].现代商业,2019(13).
[2]余珂,范锦萍,周芷行,杨娟.疫情防控视角下社区网格化治理模式研究——以张家界市鲤鱼桥社区为例[J].智能建筑与智慧城市,2022(07).
[3]王照.Python语言编程特点及应用[J].电脑编程技巧与维护,2021(03).
[4]熊诗丽.大数据对中小企业内部控制审计的影响及对策[J].现代营销,2019(12).
|