张春瑜
(陕西财经职业技术学院 会计学院, 咸阳 712000)
我国税收收入总量随着高速发展的社会经济而呈上升趋势,在双创的大背景下,各种类型的企业不断发展起来,类型多样的企业使相关税收管理工作的难度不断提升,传统的税收管理方式存在着信息化程度低、工作效率不高等劣势已难以有效满足现阶段的税收管理工作需求。自从金税三期税收系统上线运营以来,使办理税收业务的难度得以显著降低,提高了税收管理的现代化水平,但信息自动化办税流程还存在很大的优化空间,进一步提升开展税务工作管的自动化、智能化水平是目前研究的重点之一,本文结合税务工作的实际需求,针对可能存在的风险问题及日常工作中税务人员易出现的疏漏,完成了基于Oracle数据库的税收监控控制系统的设计,以期提高税务相关工作的管理、监控及考核的质量和效率。
目前在日常工作中税务人员需通过“金税三期”(统一推广运营)系统相关登记、缴税、开票等工作,因此本文在设计税收监控控制系统时,以目前的“金税三期”税收管理系统为依据。在业务办理过程中由于税务业务存在复杂性、时延性等特点,导致易出现误时、差错等问题,因此需结合业务实际对税务人员的工作数据通过有效的税收监控系统进行校验(依据国家相关法律法规),并对其中存在的问题进行检测,给出相关监控预警提示,以确保操作及管理的规范化进行。
系统对纳税人生产经营过程中的财务报表等通过自动定期调度相关监控预警指标完成检查过程,查找出相关数据风险(包括要超期的税收业务、不规范操作),据此实现风险监控功能,并在此基础上完成实时监控风险特征库的构建,为建立并完善监控预警指标体系提供基础(预警指标可以反映办理相关业务的标准规范),系统在此基础上能够将具体业务问题筛选出来并同相应的指标对应,提供较为具体准确的提示。税收监控控制系统以构建指标体系作为有效运转的基础,据此还需完成风险库的构建,主要包括个人风险(指办理某项税收业务时税务人员处理不当导致)和部门风险(指部门处理税收业务时导致的风险)。接收到预警提示信息后,税务人员需到“金税三期”系统中完成相应处理(根据风险产生的来源)。实际工作中由于指标的不完善及特殊税收业务,导致系统可能存在误抓风险,为不断提升系统的科学性与准确性,需人工对其进行标记识别及排除,并据此对相应指标做出进一步修改完善[1]。
构建指标体系时需综合国家相关法律法规及实际税务工作完成,指标体系中的指标根据税收业务的需要在具体划分时需按扫描时间类别进行,在此基础上对各类指标进行分别调度,以确保指标的科学性及可行性。指标可划分为涉及纳税人税费、涉及税务人员行为等(根据执法产生的风险类型),或根据风险重要性及办理优先性等进行划分,本文对指标做出的分类如表1所示(同指标类中的相应字段属性分别对应)[2]。
表1 指标类相关分类字段
指标本身具有特定含义,据此对单个指标的数据抓取标准进行定义,对相关数据做出相应筛选。需对最终抓取的风险信息进行综合考虑的基础上,完成对指标取数口径的定义,为在对预警风险必要信息进行综合考虑的同时降低定义取数口径复杂度,本文定义指标取数口径(QSKJ 字段)为:预警信息表主键(抓取后写入的)由SYS_GUID()表示;该指标的指标代码为‘00001’指标名称为‘变更法人代表预警’;事务抓取的时间戳由SYSDATE表示,DJXH代表纳税人的唯一性编号(据此了获取纳税人相关信息);纳税人存在的税收风险问题由YJTS进行描述;为该户纳税人办理业务时,操作人员在数据来源系统中由CZYBM表示,由CZYBMBM 表示所在部门;在数据来源系统中,风险事务(指原业务表中)的相关业务主键由YWZJ表示,是区分风险的唯一性标识[3]。具体表示如下:
SELECT SYS_GUID(),
‘00001’,
‘变更法人代表预警’,
SYSDATE,
DJXH,
CZYBM,
YWZJ
FROM(SELECT DJXH,LRR_DM CZYBM,SJGSDQ CZYBMBM,BGDJMXUUID YWZJ,
在预警信息表中存入通过指标的调度抓取完预警监控信息,对各时间类别指标进行设计时为减少抓取过程代码量,共用一个抓取过程,多次调度,区分参数为时间类别,天、月、季、半年、年分别由0、1、2、3、4表示,其调度过程如下[4]。
PROCEDURE FXYJ
PURPOSE:每天凌晨自动调度
SQLERROR(256);
BEGIN
INSERT INTO TA_HT_RUNLOG
(LOGID,PROCNAME,LOGTEXT,RUNSTATES,RUNTIME)
VALUES
((SEQ_RUNLOG.NEXTVAL,20,‘0’),
SYSDATE,
‘P_FXYJ_AUTORUN’,
‘风险预警自动调度开始执行’,);
PRO_FXYJ_RUN(0);
IF(SYSDATE)=(SYSDATE,‘mm’)THEN月初
PRO_FXYJ_RUN(1);
END IF;
IF(SYSDATE)= (‘Q’)THEN季初
PRO_FXYJ_RUN(2);
END IF;
IF TRUNC(SYSDATE)= ADD_MONTHS(TRUNC(SYSDATE,‘y’), 6) THEN 半年
PRO_FXYJ_RUN(3);
END IF;
IF SYSDATE = SYSDATE,‘y’THEN年初
END IF;
INSERT INTO TA_HT_RUNLOG
VALUES
(LPAD(SEQ_RUNLOG.NEXTVAL,20,‘0’),
SYSDATE,
‘P_FXYJ_AUTORUN’,
‘自动调度执行完毕’,
‘正常’);
COMMIT;
WHEN OTHERS THEN
ROLLBACK ;
INSERT INTO (LOGID, RUNTIME, PROCNAME, LOGTEXT,RUNSTATES)
VALUES
(LPAD(NEXTVAL, 20, ‘0’),
SYSDATE,
‘P_FXYJ_AUTORUN’,
‘执行失败’|| V_SQLERROR,‘异常’);
END;
需多次向TA_HT_RUNLOG(用于对抓取预警信息的运行情况进行记录)中插入数据,抓取过程的运行阶段及状态均可在此处查看,为后期调试及维护提供支持,通过PRO_FXYJ_RUN(抓取过程)对时间类别中各个指标进行依次调度,然后在TA_HT_FXSBB中插入监控预警信息。先暂存指标取数口径(使用游标),再逐一调度,在此基础上对相应监控预警及纳税人信息进行更新(根据指标代码、纳税人登记序号),考虑到繁多税收业务数据量,为提升数据库的负荷及效率,将当期要处理的数据存放至TA_HT_FXSBB(以扫描时间类型为准的最近时间的数据),而对于历史预警信息数据通过所设计的历史表进行存放[5]。
税收监控系统流程如图1所示。
图1 税收监控流程
在系统页面将抓取的预警信息直接展现给税务操作人员,税务局人员登录系统后,即可对风险预警提示信息进行查询,点击打开从即可看到预警说明的详细内容,在此基础上采取相应操作即可;操作人员对于系统误判的当前风险预警信息可在完成标记后,提交给领导进行二次审核甄别后确属误判,则以后不再推送,否则仍需税务人员采取正常应对措施[6]。
系统采用IIS发布网站,并选用.Net+Oracle数据库架构,具体开发和运行环境如表2[7]所示。
数据库的查询效率在数据量累积到一定量后会降低,通过在相应数据表上建立索引以避免这一问题,主要在TA_HT_FXSBB和历史信息表中建立索引。采用独立数据库的预警系统在对远程数据库进行数据抽取时,可通过Oracle中的DataBase Link完成通过使用Oracle定时计划,完成Job的建立,实现数据的定时抓取,每天凌晨调度核心语句如下[8]。
表2 开发和运行环境
DECLARE
JOB.SUBMIT(job => JOB,
what => ‘PKG_FKHT_FXYJ.P_FXYJ_AUTORUN ;’,
NEXT_DATE => TRUNC(SYSDATE) + 1,
INTERVAL => ‘TRUNC(SYSDATE)+1’);
COMMIT;
快速发展和完善的网络信息为税务工作提供了技术支撑,相应软件系统逐渐得到普及使用,这就需要在软件系统中加入以往的部分机外流程,实际业务工作的扩展使软件系统所需处理的业务范围不断扩大,为提高对各类业务管理及监控的质量和效率,更好的满足对工作情况的考核需求,本文主要对税收监控控制系统关键技术进行了研究,在分析税收相关业务及工作需求的基础上,完成了基于Oracle数据库的税收监控控制系统的设计,对在实际工作中税务人员可能存在的风险通过数据库技术的应用完成自动抓取并提醒的过程,从而提升了征管数据质量和效率,使税务相关工作的管理、监控及考核得以有效实现,为税收监控提供参考。