党的十九届五中全会明确了“十四五”时期我国社会保障事业发展的蓝图,要求加快健全覆盖全民、统筹城乡、公平统一、可持续的多层次社会保障体系。这也是以习近平同志为核心的党中央对我国社会保障体系建设提出的最新要求。在国家经济稳步增长的过程中,社会保障事业不断发展,社保业务领域不断扩大,对审计机关的社保审计工作也提出了更多更高的挑战。作为社会保险基金审计重点之一的养老保险基金,具有种类多,资金规模大,业务领域广等特点,使用传统的审计方法不仅工作量大,效率低,也易出错。随着数据信息化的普及,数据分析在审计中发挥的作用也日益突显。
一、财务数据的采集
以企业职工养老保险为例,财务软件是用友安易5e,提供给审计的备份数据是access格式,财务数据要导入AO,需要先在SQL中进行处理、查询以及整理。部分步骤如下:
先在SQL数据库中新建一个数据库,可以命名为“企业职工养老保险财务数据”,右击任务,导入数据,数据源选择Microsoftaccess,在浏览中选中要导入的文件,复制一个或多个表或视图的数据。接着要在数据库中处理三张表。
update科目余额表set科目名称=a.kmmcfrom科目表where科目余额表.科目代码=a.kmdm
-----处理科目表----
selectkmdm,kmmc,kmxz
intokmb
fromdbo.a_km
orderbykmdm
查询科目表:
select*fromkmb
------处理科目余额表-----
selecta.kmdm科目代码,b.kmmc科目名称,a.ncjfye借方余额,a.ncdfye贷方余额
intoyeb
fromdbo.a_kmyea,kmbb
wherea.kmdm=b.kmdm
查询余额表:
selectSUM(借方余额),sum(贷方余额)fromyeb
whereLEN(科目代码)=4
----处理记账凭证表----
select*fromdbo.a_pzbody
处理记账凭证表:
select
left(pzh,2)凭证类型,
right(pzh,2)凭证号,
seq分录号,
pzrq凭证日期,
zy摘要,
kmdm科目代码,
j_je借方金额,
d_je贷方金额
intopzb
fromdbo.a_pzbody
查询记账凭证表:
select*frompzborderby凭证日期,凭证号,分录号
selectsum(借方金额),SUM(贷方金额)frompzb
企业养老保险数据导入AO,注意凭证号需要拆分。
二、审计思路及数据分析
(一)审查养老保险个人账户沉淀资金清退情况,揭示是否存在已死亡一年以上个人账户未转移清退的问题。
Sql语句:SELECT*FROMSJ.ZGYL02
WHERE死亡日期isnotnulland个人账户余额>0
anddatediff(year,CONVERT(date,[死亡日期]),'20201130')>=1
orderby死亡日期desc
(二)审查养老保险个人账户沉淀资金清退情况,揭示是否存在已达退休年龄个人账户未转移清退的问题。
审计思路:以企业职工养老保险为例,筛查出男性已达60岁和女性已达55岁人员信息表。
1.企业职工养老保险女性55岁以上人员明细表:
Sql语句:select*from#职工养老保险参保人员信息
wheresubstring(社会保障号码,17,1)in('0','2','4','6','8')
andlen(社会保障号码)=18
andlen(出生日期)=8
andSUBSTRING(社会保障号码,7,2)>=19
andSUBSTRING(社会保障号码,11,2)<=12
andSUBSTRING(社会保障号码,13,2)<=31
and出生日期<>'19000000'
andsubstring(出生日期,1,4)<2020
anddatediff(year,CONVERT(date,[出生日期]),'20201130')>55
2.企业职工养老保险男性60岁以上人员明细表:
wheresubstring(社会保障号码,17,1)in('1','3','5','7','9')
andsubstring(社会保障号码,7,2)>=19
andsubstring(社会保障号码,11,2)<=12
andsubstring(社会保障号码,13,2)<=31
andsubstring(社会保障号码,11,2)<>00
andsubstring(社会保障号码,13,2)<>00
anddatediff(year,convert(date,[出生日期]),'20201130')>60
审计思路:通过身份证件号码,在待遇支付明细表中,对职工养老保险、机关事业养老保险待遇发放数据进行险种内和险种间比对,筛选出同一人、同一时段重复参保的问题线索。
Sql语句:select*fromSJ.JGYL02where当前个人职业年金账户余额<>0and当前基本养老保险个人账户余额=0
select*fromSJ.JGYL02where离退休类别isnulland当前基本养老保险个人账户余额<>0
select*fromSJ.JGYL02where离退休类别isnulland当前个人职业年金账户余额<>0
selectdistincta.*,b.个人缴费状态代码into机关事业人员参保信息表from(select*fromSJ.JGYL02where离退休类别isnulland当前个人职业年金账户余额<>0)a,SJ.JGYL03bwherea.人员编码=b.人员编码andb.个人缴费状态代码='1'
select*fromSJ.ZGYL02where离退休类别isnulland实际缴费月数<>0
selectdistincta.*,b.个人缴费状态代码into企业职工人员参保信息表from(select*fromSJ.ZGYL02where离退休类别isnulland实际缴费月数<>0)a,SJ.ZGYL03bwherea.人员编码=b.人员编码andb.个人缴费状态代码='1'
selecta.*,b.*fromdbo.机关事业人员参保信息表a,dbo.企业职工人员参保信息表bwherea.证件号码=b.证件号码
审计思路:通过身份证件号码,在待遇支付明细表中,对职工养老保险、机关事业养老保险待遇发放数据进行险种内和险种间比对,筛选出同一人、同一时段重复领取养老金问题线索。
Sql语句:selecta.*,b.姓名,证件号码,经办机构名称into企业职工发放汇总表from(select人员编码,sum(待遇金额)待遇金额fromSJ.ZGYL06_20201210
groupby人员编码)a,SJ.ZGYL02bwherea.人员编码=b.人员编码
selecta.*,b.姓名,证件号码,经办机构名称into机关事业职工发放汇总表from(select人员编码,sum(待遇金额)待遇金额fromSJ.JGYL06
groupby人员编码)a,SJ.JGYL02bwherea.人员编码=b.人员编码
select*from企业职工发放汇总表
select*from机关事业职工发放汇总表
selecta.*,b.*from企业职工发放汇总表a,机关事业职工发放汇总表bwherea.证件号码=b.证件号码
select*fromSJ.ZGYL02where人员编码='12676109'证件号码='34*********'
select*fromSJ.ZGYL06_20201210where人员编码='12676109'and待遇年月='202010'