您当前的位置
您当前的位置: 首页 / 审计之窗 / 审计研究

企业SAP ERP数据采集与凭证运用

发布日期:2023-12-11 19:46
访问量:
来源:自治区审计厅
【字体:
打印当前页 打印

现在,越来越多的大型企业在使用SAPERP进行采购销售等业务的管理,为其带来了物流、人流、资金流与信息流的高度融合,使企业的财务信息与业务信息紧密结合。但在审计过程中,我们也面对着数据难以采集,SAPERP客户端使用不便、无法有效统计的困难。接下来,我将从SAPERP简介、数据采集、凭证数据结构、凭证分析等四个方面进行讲解。

一、SAPERP简介

SAP,为“SystemApplicationsandProducts”的简称,是SAP公司的产品——企业管理解决方案的软件名称。SAP软件能够集中管理数据,为不同业务部门提供统一且真实的数据视图,让不同部门的员工能够轻松获取企业范围内的实时洞察,从而更有效地管理复杂的业务流程。

ERP是“企业资源规划”的简称。ERP软件涵盖所有核心业务领域,如采购、生产、物料管理、销售、市场营销、财务和人力资源。

SAPERP将多领域的智能ERP产品集成于统一的平台之上,可满足用户多方位的业务需求,帮助用户革新业务流程;系统可根据客户所处行业、领域针对性地提出个性化的解决方案,满足客户实际需求。

二、SAPHANA数据采集

在对某集团公司进行审计时,发现该集团公司使用的是SAPERP系统,数据库为HANA内存数据库,采用列式存储。我们将以该系统为例,对数据采集过程进行介绍。

目前有两套方案,其一是使用国内财务数据采集软件,如江苏税软软件科技有限公司的财务数据采集软件P8,可将数据采集到SQLServer中,生成需要的财务数据,但需要购买;其二是让被审计单位使用SAP的ETL工具,将数据采集到SQLSERVER中,方便审计人员对数据进行统计分析。下面,我将以SAP的ETL工具采集数据为例进行讲解。

1.准备系统数据表。

SAP的模块很多,如BSEG(会计凭证行项目表)、BKPF(会计凭证头表)、KNA1(客户主数据表)、LFA1(供应商主数据表)等。采集前,需要准备好SAP系统数据表,非标准数据要用ABAP(SAP的开发者用于开发SAPR/3平台上的编程语言)建表存数据,用于后面的数据采集。

2.准备SAPDataServices环境。

SAPDataServices是通过SAPHANA认证的ETL工具,其主要功能就是将数据从多个业务系统中抽取出来,进行必要的处理,如转换、合并、过滤、清洗,然后加载到BW系统或者HANA。

3.使用SAPDataServices配置数据库。

确保有SQLSERVER的驱动程序,并建立对应的连接。

建立SAP数据仓库连接。

4.建立工作Job。

连接SAP源数据表到SQLServer目标数据表。

5.建立目标表字段映射关系。

6.执行任务。

7.等待任务执行成功。

完成时,会提示Job<NC_ZTJT63>iscompletedsuccessfully。

三、SAP凭证数据结构

企业凭证数据结构与采集数据时准备的SAP数据表有关,为了使用方便,我们需要企业凭证数据中包含客户、供应商、材料等信息。

1.凭证表主要结构。

后面的数据分析将依托于该表进行。

2.主要字段编码说明。

借方贷方标识:S是借方,H是贷方。

科目类型:A是资产,D是客户,K是供应商,M是物料,S是总分类帐科目。

特殊总账主要标志:特殊总账是SAP中的说法,是指应收应付账款之外的其他的应收应付项目。

凭证主要类型:

四、凭证分析

数据采集到SQLSERVER后,可以对凭证中的客户、供应商、物料、总账、特殊总账等问题进行数据的统计和分析。

1.供应商应付款分析。

在分析各个年度、会计月,供应商借贷发生额时,需要注意下面几个问题:

●科目类型选择K表示供应商;

●过滤掉冲销凭证,只选择冲销凭证号为空的数据;

●特别总账标识选择空,表示处理应收应付账款;

●反记帐标志中是X的,需要进行抵减;

●贷方记账一般为负数。

SELECT年度,公司代码,公司名称,供应商编号,供应商名称,

CAST(月份ASINT)会计期间,

SUM(CASEWHEN借方贷方标识='借'AND标识_反记帐=''

THENCAST(按本位币计的金额ASDECIMAL(15,2))

ELSECASEWHEN借方贷方标识='贷'AND标识_反记帐='X'

THENCAST(按本位币计的金额ASDECIMAL(15,2))

ELSE0.0END

END)借方金额,

SUM(CASEWHEN借方贷方标识='贷'AND标识_反记帐=''

THENABS(CAST(按本位币计的金额ASDECIMAL(15,2)))

ELSECASEWHEN借方贷方标识='借'AND标识_反记帐='X'

THEN-ABS(CAST(按本位币计的金额ASDECIMAL(15,2)))

ELSE0.0END

END)贷方金额

FROMDBO.VSAPPZ

WHERE冲销凭证号=''AND科目类型='K'

AND公司代码='3050'AND年度='2022'

AND供应商名称='某石油化学物流有限责任公司'

AND特别总账标识=''

GROUPBY年度,公司代码,公司名称,供应商编号,供应商名称,月份

ORDERBY供应商名称,年度,会计期间

2.客户特别总账分析。

在分析各个年度、会计月,客户借贷发生额时,需要注意下面几个问题:

●科目类型选择D表示客户;

●过滤掉冲销凭证,只选择冲销凭证号为空的数据;

●特别总账标识选择非空,表示处理其他的应收应付项目;

●反记帐标志中是X的,需要进行抵减;

●贷方记账一般为负数。

SELECT年度,公司代码,公司名称,客户编号,客户名称,

B.说明业务,借方金额,贷方金额

FROM

(SELECT年度,公司代码,公司名称,客户编号,客户名称,科目类型,特别总账标识,

SUM(CASEWHEN借方贷方标识='借'AND标识_反记帐=''

THENCAST(按本位币计的金额ASDECIMAL(15,2))

ELSECASEWHEN借方贷方标识='贷'AND标识_反记帐='X'

THENCAST(按本位币计的金额ASDECIMAL(15,2))

ELSE0.0END

END)借方金额,

SUM(CASEWHEN借方贷方标识='贷'AND标识_反记帐=''

THENABS(CAST(按本位币计的金额ASDECIMAL(15,2)))

ELSECASEWHEN借方贷方标识='借'AND标识_反记帐='X'

THEN-ABS(CAST(按本位币计的金额ASDECIMAL(15,2)))

ELSE0.0END

END)贷方金额

FROMDBO.VSAPPZ

WHERE冲销凭证号=''AND科目类型='D'

AND公司代码='1270'AND年度='2022'

AND客户名称='某生物科技有限公司'

AND特别总账标识<>''

GROUPBY年度,公司代码,公司名称,客户编号,客户名称,科目类型,特别总账标识)A

LEFTJOIN

(SELECT*FROMDBO.特殊总账标志)B

ONA.科目类型=B.类型ANDA.特别总账标识=B.SG

ORDERBY客户名称,年度,B.说明DESC

3.购货退回业务。

部分公司将大量业务做退回处理,这时我们可以利用原因代码名称为“购货退回收到的现金”或付款原因代码为“A16”的字段编码,来分析购货退回业务。

SELECT*FROMDBO.VSAPPZ

WHERE原因代码名称='购货退回收到的现金'

ANDABS(CAST(凭证货币金额ASDECIMAL(15,2)))>=1000000.0

ANDNOT([项目文本]LIKE'%公积金%'

OR[项目文本]LIKE'%税金%'

OR[项目文本]LIKE'%保证金%'

OR[项目文本]LIKE'%社保%'

OR[项目文本]LIKE'%福利%'

OR[项目文本]LIKE'%邮递费%')

4.关联交易。

关联交易在企业中已成为一种普遍发生的行为,在带给公司以及控股股东一定利益的同时,为了获得更大利益而操纵利润、合理避税,给企业带来经营以及财务上的诸多风险。

在凭证数据中,有大量客户、供应商和企业交易的情况,这时我们可以利用Neo4j图数据库,配合工商信息数据,筛选投资和相同持股人(单位)的信息,建立客户、供应商和企业的关系图,快速发现关联交易问题。

除了关联交易,在图数据库中,查看闭合多边形结构,可以发现循环交易情况;通过关系走向,可以查看是否存在融资性贸易。具体实施方法,这里不再赘述。■

(作者单位:自治区审计厅)

Baidu
map