利用多方数据开展社保资金缴纳及待遇支付真实性审计
肖敏(审计署重庆办)
【发布时间:2012年07月25日】
字号:【大】 【中】 【小】
    近期,我们在社保资金审计中积极探索计算机审计技术方法,加强数据比对分析,对社保资金缴纳和待遇支付真实性予以重点关注,充分利用公安、工商、地税、房管局、车管所、公积金管理中心等多方数据关联标准表查询分析存在的违法违规问题线索,取得较好效果。具体做法如下:

    一、数据准备

    1.公安部门人口管理数据:姓名、身份证号、性别、户籍、家庭住址、是否死亡、死亡时间。
    2.民政部门人口死亡登记数据:姓名、身份证号、死亡时间。
    3、计生部门人口死亡登记数据:姓名、身份证号、死亡时间。
    4.工商部门企业注册登记数据:所在区县、企业名称、企业性质、工商营业执照号码、注册资本、工商营业发照日期、工商营业执照有效期限、法定代表人姓名、法定代表人身份证号、其他自然人股东姓名、其他自然人股东身份证号、营业状态。
    5.地税部门个人所得税缴纳数据:区县名称、姓名、身份证号、纳税年月、收入额、实际应纳税额、扣缴义务人名称、纳税状态。
    6.房管部门房屋管理登记数据:业务编号、业务大类、业务小类、权利人、身份证号、登记时间、档案号、地房籍号、座落、房屋产别、房屋结构、房屋建筑面积、房屋套内面积、房屋用途、证号。
    7.车管部门车辆登记数据:区县名称、机动车所有人姓名、身份证号、车辆号牌号码、车辆号牌种类、车辆品牌、车辆型号、车辆初次登记日期。
    8.公积金管理部门公积金缴存数据:序号、姓名、身份证号码、单位名称、所在区县、缴费年月、月工资、单位实缴金额、个人实缴金额、缴存状态。
    9.标准表数据:社会保险基金应缴实缴明细数据、社会保险基金待遇支付明细数据、低保发放明细数据、低保家庭信息数据。

    二、数据分析思路及步骤

    (一)领取低保待遇人员个人月收入大于规定收入。

    1.审计思路。
    首先提取出领取低保待遇的人员信息(领取低保人员所在区县、姓名、身份证号、户主身份证号、低保类型、领取月份),与地税部门个人所得税缴纳信息表中的个人纳税信息进行比对,查找出在同一时间段内领取低保待遇并缴纳个人所得税的可疑记录,发现违规领取低保待遇的问题线索。
    2.参考查询语句。
    select b.区县名称,a.家庭编号,a.户主姓名,a.户主身份证号,a.低保证号,a.低保金,a.发放时间 as 低保金发放时间,c.个人所得税纳税人姓名,c.个人所得税纳税人身份证号,c.个人所得税纳税时间,c.收入额,c.实际应纳税额,c.扣缴义务人名称,c.纳税状态 
    from ([v_低保发放明细_民政提供] as a,重庆市行政区划对应表 as b,个人所得税缴纳明细表 as c, [v_低保家庭信息_民政提供] as d 
    where a.行政区划代码=b.行政区划代码 and a.家庭编号=d.家庭编号 and (a.户主身份证号=c.个人所得税纳税人身份证号 or d.其他家庭成员身份证号1=c.个人所得税纳税人身份证号 or d.其他家庭成员身份证号2=c.个人所得税纳税人身份证号 or d.其他家庭成员身份证号3=c.个人所得税纳税人身份证号 or d.其他家庭成员身份证号4=c.个人所得税纳税人身份证号 or d.其他家庭成员身份证号5=c.个人所得税纳税人身份证号 or d.其他家庭成员身份证号6=c.个人所得税纳税人身份证号) and rtrim(a.发放时间)=rtrim(c.个人所得税纳税时间) and c.纳税状态= '正常';

    (二)领取低保待遇人员拥有机动车辆。

    1.审计思路。
    首先提取出领取低保待遇的人员信息(领取低保人员所在区县、姓名、身份证号、户主身份证号、低保类型、领取月份),与车辆管理部门机动车管理信息表中的机动车登记信息进行比对,查找出领取低保待遇的人员拥有机动车辆的可疑记录,发现违规领取低保待遇的问题线索。
    2.参考查询语句:
    select b.区县名称,a.家庭编号,a.户主姓名,a.户主身份证号,a.低保证号,a.低保金,a.发放时间 as 低保金发放时间,c.机动车所有人姓名,c.身份证号 as 机动车所有人身份证号,c.车辆号牌号码,c.车辆号牌种类,c.车辆品牌,c.车辆型号,c.车辆初次登记日期
    from ([v_低保发放明细_民政提供] as a,重庆市行政区划对应表 as b,机动车辆登记信息表 as c, [v_低保家庭信息_民政提供] as d 
    where a.行政区划代码=b.行政区划代码 and a.家庭编号=d.家庭编号 and (a.户主身份证号=c.身份证号 or d.其他家庭成员身份证号1=c.身份证号 or d.其他家庭成员身份证号2=c.身份证号 or d.其他家庭成员身份证号3=c.身份证号 or d.其他家庭成员身份证号4=c.身份证号 or d.其他家庭成员身份证号5=c.身份证号 or d.其他家庭成员身份证号6=c.身份证号);

    (三)领取低保待遇人员拥有2套以上住房。

    1.审计思路。
    首先提取出领取低保待遇的人员信息(领取低保人员所在区县、姓名、身份证号、户主身份证号、低保类型、领取月份),与房屋管理部门房屋管理信息表中的房屋产权登记信息进行比对,查找出领取低保待遇的人员拥有2套以上住房的可疑记录,发现违规领取低保待遇的问题线索。
    2.参考查询语句:
    select b.区县名称,a.家庭编号,a.户主姓名,a.户主身份证号,a.低保证号,sum(a.低保金)/ count(distinct c.证号) as 领取低保金总额,count(distinct a.发放时间) as 领取低保金月份数,count(distinct c.证号) as 拥有房屋套数
    from ([v_低保发放明细_民政提供] as a,重庆市行政区划对应表 as b,房屋管理登记信息表 as c, [v_低保家庭信息_民政提供] as d 
    where a.行政区划代码=b.行政区划代码 and a.家庭编号=d.家庭编号 and (a.户主身份证号=c.身份证号 or d.其他家庭成员身份证号1=c.身份证号 or d.其他家庭成员身份证号2=c.身份证号 or d.其他家庭成员身份证号3=c.身份证号 or d.其他家庭成员身份证号4=c.身份证号 or d.其他家庭成员身份证号5=c.身份证号 or d.其他家庭成员身份证号6=c.身份证号)
    group by b.区县名称,a.家庭编号,a.户主姓名,a.户主身份证号,a.低保证号
    having count(c.证号)>=2;

    (四)死亡人员违规冒领低保、养老保险等社保资金。

    1.审计思路。
    首先提取出已领取低保、养老保险、失业保险等社保资金待遇的人员信息,其次对人员身份证号字段进行整理、统一转换为15位编码方式,再次分别与公安、民政、计生等部门死亡人员信息比对发现在死亡期后继续领取低保、养老保险等社保资金的可疑记录,最后按区县、单位名称等字段汇总,发现死亡人员违规冒领社保资金的问题线索。
    2.参考查询语句:
    由于上述几类社保资金的审查思路基本一致,现以职工养老保险为例具体说明参考查询语句。
    (1)按月汇总职工养老保险待遇支付明细。
    select XZMC,XZQHDM,DWBH,RYBH,JFDYNY,SUM(DYHJ) as 当月领取待遇合计金额,SUM(YLJ_JC) as 当月领取基础养老金金额
    into  [sj_企业职工基本养老保险待遇支付]
    from dbo.SJ_ZF_ZGYL_2011_RSTG
    where SFBZ='1'
    group by XZMC,XZQHDM,DWBH,RYBH,JFDYNY;
    (2) 关联查询出职工养老保险待遇人员信息。
    alter table [sj _企业职工基本养老保险待遇支付] add 姓名 varchar(64),性别 varchar(2),身份证号 varchar(64),身份证号转换 varchar(15);
    update [sj_企业职工基本养老保险待遇支付] set 姓名=b.XM,性别=b.XB,身份证号=b.ZJHM
    from [sj_企业职工基本养老保险待遇支付] as a, SJ_GRXX_RSTG as b
    where rtrim(a.XZQHDM)=rtrim(b.XZQHDM) and RTRIM(a.dwbh)=RTRIM(b.dwbh) and rtrim(a.RYBH)=rtrim(b.RYBH) and rtrim(b.SYXZ) like '%11%' and a.姓名 is null;
    (3) 整合公安、民政、计生等部门死亡人员登记信息。
    Select 姓名,身份证号码,死亡时间,’公安登记’ as 死亡登记来源  
    Into [死亡人口登记信息表]
    From [公安人口管理信息表]  
    Where 是否死亡=’是’ ;
       Insert into [死亡人口登记信息表]
       Select 姓名,身份证号码,死亡时间,’计生登记’ as 死亡登记来源
       From [计生死亡人口登记信息表];
       Insert into [死亡人口登记信息表]
       Select 姓名,身份证号码,死亡时间,’民政登记’ as 死亡登记来源
       From [民政死亡人口登记信息表];
    (4) 整理人员信息身份证号码字段。
    update [sj_企业职工基本养老保险待遇支付] set 身份证号转换=case len(身份证号)
     when 18 then substring(身份证,1,6)+substring(身份证号,9,9) 
    when 15 then 身份证号 
       else 'err' 
      end;
    alter table [死亡人口登记信息表] add 身份证号转换 varchar(15);
    update [死亡人口登记信息表] set 身份证号转换=case len(身份证号)
     when 18 then substring(身份证,1,6)+substring(身份证号,9,9) 
    when 15 then 身份证号 
       else 'err' 
      end;
    (5)查询出领取基础养老金人员已死亡的记录。
    alter table  [sj_企业职工基本养老保险待遇支付] add  死亡时间 nvarchar(64),死亡登记姓名 nvarchar(64),死亡登记来源 nvarchar(64),可疑标志 varchar(2),死亡登记身份证号码  nvarchar(64);
    update [sj_企业职工基本养老保险待遇支付] set  死亡时间=b.死亡时间,死亡登记姓名=b.姓名,死亡登记身份证号码=b.身份证号码, 死亡登记来源=b.死亡登记来源
    from  [sj_企业职工基本养老保险待遇支付]  as a , [死亡人口登记信息表] as b
    where a.身份证号转换=b.身份证号转换 and a.姓名=b. 姓名 and b.死亡时间 is not null  and a.死亡时间is null and a.身份证号转换<>'err';
    (6)查询出死亡期后继续领取基础养老金的可疑记录。
    update dbo.[sj_企业职工基本养老保险待遇支付] set 可疑标志='1'
    where 
    ((LEFT(jfdyny,4)>LEFT(死亡时间,4))
    or
    (LEFT(jfdyny,4)=LEFT(死亡时间,4) and cast(SUBSTRING(jfdyny,5,2) as int)>cast(SUBSTRING(死亡时间,5,2) as int)))
    and 死亡时间<>'';
    (7)汇总查询出已死亡人员死亡期后累计多领取的基础养老金数额。
    select 区县名称,RYBH as 人员编号,XZMC as 险种名称,姓名,性别,身份证号,死亡登记来源,死亡登记身份证号码,死亡登记姓名,死亡时间,SUM(当月领取待遇合计金额) as [死亡期后已领取待遇合计],SUM(当月领取基础养老金金额) as [死亡期后已领取基础养老金合计],MIN(jfdyny) as 开始领取年月,MAX(jfdyny) as 截止开始领取年月,COUNT(*) as 领取月份数
    into [已死亡人员领取养老保险疑点表]
    from dbo.[sj_企业职工基本养老保险待遇支付] as a inner join dbo.重庆市行政区划对应表 as b on a.XZQHDM=b.行政区划代码
    where 可疑标志='1' 
    group by 区县名称,RYBH,XZMC,姓名,性别,身份证号,死亡登记来源,死亡登记身份证号码,死亡登记姓名,死亡时间
    having SUM(当月领取基础养老金金额)>0;

    (五)正常营业企业未参加职工养老保险等五类社会保险。

    1.审计思路。
    首先关联查询社会保险基金单位应缴实缴明细表和单位基本信息表,提取出单位缴纳社会保险的相关信息(单位名称、工商注册登记号、组织机构代码、缴费年月、单位实缴金额等),其次对单位名称和工商注册登记号字段进行整理、清除无效字符,最后通过单位名称和工商注册登记号关联查询工商部门企业注册登记信息表,发现正常营业企业未缴纳社会保险的问题线索。
    2.参考查询语句:
    (1)查询出单位参保基本信息。
    SELECT a.SYXZ AS 本表适用险种, a.XZQHDM AS 行政区划代码, a.DWBH AS 单位编号, a.KSNY AS 开始年月,a. ZZNY AS 终止年月, a.XZLX AS 险种类型, a.DWCBZT AS 单位参保状态, a.DWCBJFZT AS 单位参保缴费状态, b. DWMC as 单位名称,b. GSDJH as 工商执照登记号 
    Into [单位参保基本信息表]
    from [SJ_DWCBXX_RSTG] as a join  SJ_DWXX_RSTG as b on a.DWBH=b. DWBH;
    (2)对单位名称字段进行整理,去除“()”中的内容。
    Alter table [单位参保基本信息表] add单位简称varchar(255);
    Update [单位参保基本信息表] set 单位简称= SUBSTRING(单位名称,charindex('(',单位名称),charindex(')',单位名称)-charindex('(',单位名称)+1), REPLACE(单位名称,SUBSTRING(单位名称,charindex('(',单位名称),charindex(')',单位名称)-charindex('(',单位名称)+1),'');
    (3)筛选正常营业企业未参加社会保险的情况。
    Select a.* 
    from ([工商登记企业营业执照数据] as a left join 单位参保基本信息表 as b on (a. 企业名称 like '%'+b. 单位简称+'%' or b.工商执照登记号=a.工商营业执照号)
    where b.单位编号 is null;

    (六)缴纳公积金的人员未参加职工养老保险等五类社会保险。

    1.审计思路。
    首先查询公积金缴存信息表,查询出正常缴存公积金的人员基本信息(单位名称、姓名、身份证号、缴存年月、月工资、实缴金额等),其次对社会保险基金个人基本信息表进行整理、统一将身份证号字段转换为15位编码方式,再次用身份证号字段关联查询正常缴存公积金人员信息表、发现正常缴存公积金人员未参加社会保险的可疑记录,最后按单位汇总未参加社会保险的人数、发现应保未保的问题线索。
    2.参考查询语句:
    (1)查询正常缴存住房公积金人员信息。
    Create view v_正常缴存住房公积金人员信息 as 
    select 姓名,身份证号,单位名称,所在区县,缴存年月,月工资,单位实缴金额,个人实缴金额,case len(身份证号) 
     when 18 then substring(身份证号,1,6)+substring(身份证号,9,9) 
     when 15 then 身份证号
     end as 身份证号转换 from [公积金缴存信息表] where 缴存状态='正常';
    (2)对参保人员身份证号字段进行整理,统一采用15位编码方式。
    Create view v_人员基本信息 as 
    select  SYXZ AS 本表适用险种, XZQHDM AS 行政区划代码, RYBH AS 人员编号, DWBH AS 单位编号, XM AS 姓名,ZJHM AS 身份证号,case len(身份证号) 
     when 18 then substring(身份证号,1,6)+substring(身份证号,9,9) 
     when 15 then 身份证号
     end as 身份证号转换
     from [SJ_GRXX_RSTG];
    (3)筛选公积金缴费人员未参加社会保险的情况。
    select a.* 
    into 公积金缴费人员未保养老情况
    from  (公积金缴存信息表 as a left join v_人员基本信息 as b on a.身份证号转换=b.身份证号转换 and a. 姓名=b. 姓名) left join V_个人参保信息_人社提供 c 
    on b.人员编号=c.人员编号
    where b.身份证号转换 is null
    or
    a.缴存年月> left(c.终止日期,4);
    (4)单位人数汇总。
    Select 所在区县,单位名称,COUNT(*) 未参加社会保险人数
    from 公积金缴费人员未保养老情况
    group by 所在区县,单位名称
    order by COUNT(*) desc;
    (肖敏)
【关闭】    【打印】