SQL语句与个人所得税的审计方法(甘肃省武山县审计局)
杨鹏飞(甘肃省武山县审计局)
随着社会经济的发展,个人工资水平也得到了明显提高。按照现行税制体系,个人在中国境内有住所,或者无住所而在境内居住满一年的个人,从中国境内或境外取得的所得,均应缴纳个人所得税,其缴纳范围主要包括:工资、薪金,劳务报酬,稿酬所得等。2011年9月1日起调整后,个人所得税起征点为3500元,实行7级超额累进个人所得税税率。在实际审计工作中,笔者发现被审计单位通常是代扣代缴个人所得税。准确计算个人所得税应纳税额,避免因被审计单位计算差误而造成的少缴或多缴纳个人所得税。笔者认为,应从以下几个方面着手,通过计算机辅助审计,编写脚本语言,不但可以提高工作效率,而且可以实现对被审计单位应缴纳个人所得税的准确计算。
一、准确理解工资、薪金的含义
根据个人所得税法实施条例,工资、薪金所得,是指个人因任职或者受雇而取得的工资、薪金、奖金、年终加薪、劳动分红、津贴、补贴以及与任职或者受雇有关的其他所得。
在对某医院的审计中,审计人员发现,该单位工资实际构成为,财政部门每月按照核定基数70%发放部分工资,其余30%由本单位补发。除此之外,该单位为鼓励职工,每月按照一定基数发放岗位津贴。该单位工资实际组成为:财政70%工资+单位补发30%工资+单位津贴。从该单位采集到的工资表中有2个表,即财政工资表,70%部分和30%部分、正式工资表,实际为津贴表。
二、编写语句,进行查询分析
(一)将所有工资表导入sql数据库中(略)
(二)对工资表的处理(以1月份为例)
对上述所有工资表结构进行简单分析后发现,财政工资表是从财政部门数据库导出,而单位津贴表为单位自制,由财务人员手工输入。人员姓名分两个字和三个字,所占字符不一致,在按照姓名查找的语句中,将会出现查询结果不准确的情况,用以下语句对单位津贴表中人员姓名列进行处理,并将处理结果放入新表。
select replace(姓名,' ','') 姓名,职务,工资 ,绩效,其它, 合计应发,考勤扣款,合计实发
into 医院津贴1月份
from dbo.正式工资1月份
为避免混淆,应及时删除原表。drop table dbo.正式工资1月份
查找是否有同名同姓的职工
select 姓名,count(*) from dbo. 医院津贴1月份
group by 姓名 having count(*)>1
经查询,该医院无同名同姓的职工,故以姓名为关键字进行查询。
(三)应用关联语句计算应纳税所得额,并放入新表
SELECT dbo. 医院津贴1月份.姓名,职务
,[工资]
,[绩效]
,[其它]
,[合计],实发合计 财政工资,总收入=合计+实发合计,应纳税所得额=合计+实发合计-3500
into 应纳税所得额1月份
from dbo. 医院津贴1月份 left join dbo.财政工资1月份 on dbo. 医院津贴1月份.姓名=dbo.财政工资1月份.姓名
where 合计+实发合计-3500>0
(四)使用 case....when .....then....end 计算个人当月应纳个人所得税额
为便于查看,创建视图
create view 应纳1月份个人所得税
as
select distinct [姓名],职务
,[工资]
,[绩效]
,[其它]
,[合计],财政工资,总收入,应纳税所得额
,应纳税额=case
when 应纳税所得额<0 then 0
when 应纳税所得额<=1500 then 应纳税所得额*0.03
when 应纳税所得额>1500 and 应纳税所得额<=4500 then 应纳税所得额*0.1-105
when 应纳税所得额>4500 and 应纳税所得额<=9000 then 应纳税所得额*0.2-555
else 应纳税所得额*0.25-1005 END
from dbo. 应纳税所得额1月份
根据估算,该单位超过起征点的最高额度不高于9000元。
(五)利用数据库导出数据功能将查询结果导出生成电子表格
通过以上步骤,可对该单位应代扣代缴个人所得税额进行准确计算,并与已扣缴的部分进行核对,查看该单位是否存在少代扣或多代扣的现象。(杨鹏飞)
【关闭】 【打印】 |