税务系统发票软件的二次开发方案与实现文档格式.docx

上传人:b****6 文档编号:16220527 上传时间:2022-11-21 格式:DOCX 页数:20 大小:172.64KB
下载 相关 举报
税务系统发票软件的二次开发方案与实现文档格式.docx_第1页
第1页 / 共20页
税务系统发票软件的二次开发方案与实现文档格式.docx_第2页
第2页 / 共20页
税务系统发票软件的二次开发方案与实现文档格式.docx_第3页
第3页 / 共20页
税务系统发票软件的二次开发方案与实现文档格式.docx_第4页
第4页 / 共20页
税务系统发票软件的二次开发方案与实现文档格式.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

税务系统发票软件的二次开发方案与实现文档格式.docx

《税务系统发票软件的二次开发方案与实现文档格式.docx》由会员分享,可在线阅读,更多相关《税务系统发票软件的二次开发方案与实现文档格式.docx(20页珍藏版)》请在冰豆网上搜索。

税务系统发票软件的二次开发方案与实现文档格式.docx

2.二维条码的特点及PDF417码的优势3

3.税务系统与二维条码的结合优势4

二、税务系统发票软件应用二维条码技术的总体设计方案5

(一)设计概述5

1.设计原则5

2.系统开发环境5

(二)税务系统发票软件的相关流程5

(三)税务系统发票软件二次开发的研究内容5

(四)税务系统发票软件二次开发的技术分析6

三、税务系统发票软件二次开发的具体实现6

(一)系统流程6

1.税务系统发票软件二次开发流程图6

2.二维条码PDF417编码和解码流程图6

(二)税务系统发票软件具体模块分解6

1.税务系统发票软件具体模块分解6

2.PDF417二维条码嵌入税务系统发票软件的流程实现6

(三)PDF417码的具体实现6

1.PDF417码的生成6

2.PDF417码的识别6

四、税务系统发票软件二次开发效果预测和总结6

参考文献7

致谢8

信息时代的到来是不以人的意志为转移的,任何部门的发展都要跟上时代。

税务系统发票软件的应用已有若干年了,在提高发票工作效率的同时,也还有一些问题没有解决。

比如发票窗口排队的问题,发票查验真伪难,操作不便的问题等等,这实质就是纸面信息数字化效率低下的问题。

通过对条码技术的了解,特别是二维条码的研究,发现如果将二维条码与发票工作结合,正能发挥二维条码纸面信息数字化效率高的特点,来解决发票管理上的难题。

一、税务系统发票软件二次开发的背景和意义

首先,我们来了解一下税务系统发票软件,以及对其二次开发的背景、意义,还有选择什么样的技术载体。

(一)税务系统发票软件及其存在的问题

发票管理是税务工作的重点之一,加强管理是十分必要的。

1.加强发票管理的必要性

众所周知,发票是商品生产和交换过程中重要的商事凭证,是最基本的会计核算原始凭证,也是税收控管和税务稽查的重要依据,与税收管理有着直接的密切的联系。

在增值税专用发票管理日趋严密的情势下,在普通发票管理中存在的问题也逐渐引起税务机关的重视。

在发票管理中,金税工程的实施,对增值税专用发票的管理日趋严密,专用发票以票控税的功能得到了强化,但对普通发票的管理力度和重视程度还远远不够,弱化了发票管理的整体严肃性。

从当前的税收征管情况来看,逃避普通发票管理,或利用普通发票进行偷逃税的现象还大量存在着。

与增值税专用发票相比,普通发票具有用户多、用量大、使用范围广等特点。

长期以来,受纳税人法制观念、消费者维权意识、税务机关管理手段和社会认知程度等因素的影响,违规使用普通发票的问题一直比较突出。

不开发票、虚开代开发票、开假发票、“大头小尾”和以收据代替发票等问题大量存在,纳税人(特别是中小企业、个体业户和商业经营企业)对开具发票的收入不申报纳税和少申报纳税的现象比较突出。

另外,不法分子通过虚开农产品收购发票和废旧物资收购发票骗抵增值税税款的问题,一直是增值税管理的难点和焦点。

普通发票不仅成为滋生涉税违法行为的“温床”,造成了国家税收的大量流失,而且严重侵害了消费者和纳税人的合法权益,扰乱了正常的市场经济秩序。

2.税务系统发票软件简介

税务系统发票软件代开发票部分是通过工作人员手工录入企业的发票申请单号,然后根据企业填写的纸质发票申请,分别录入付款方名称,收款方名称等等信息,然后通过打印机输出税务发票。

界面如下图:

(二)税务系统发票软件二次开发的意义

针对上述情况,初步探讨二次开发的意义。

1.税务系统发票软件存在的问题

税务系统中发票软件模块在为纳税人代开发票时耗时长,纳税人积压排队现象一直是税务部门头疼的问题,还有在对纳税人查账过程中对发票真伪鉴别及发票金额快速累加的工作也一直没有很好解决。

因为以上工作都需要手工录入或者是凭个人经验判断。

2.税务系统发票软件二次开发的意义

本文研究的目的就是将先进的PDF417二维条码技术运用到税务普通发票的管理中来,提高发票本身的可靠性、安全性,防止伪造,使不法分子无机可乘,从而减少犯罪。

同时,还可以将信息入网,实现信息共享,进行及时准确的查验,从而大大提高管理的效率。

通过加强发票管理,强化其以票控税功能,可以准确掌握纳税人的营业行为,有利于进一步控管税源,预防和监控偷漏税款的行为,维护和巩固税基的完整,保障税收收入稳定增长。

加强发票管理是税务机关对纳税人使用的发票凭证所实施的监督管理,同时也是税务机关稽征管理工作的重要内容。

(三)二维条码简介

1.二维条码的起源

二维条形码技术是在一维条码无法满足以下实际应用需求的前提下产生的。

一方面,由于受信息容量的限制,一维条码仅仅是对物品的标识而不是对物品的描述。

所谓对物品的标识,简单地讲,就是给某物品分配一个代码,代码以条码的形式标识在物品上,用来标识该物品以便自动扫描设备的识读。

代码或一维条码本身不表示该产品的其它特定信息,因此,在一维条码的应用系统中,对商品信息如生产日期、价格等的描述只能依赖数据库的支持。

在没有预先建立商品数据库或不便联网的地方,一维条码的使用受到了较大的限制,有时甚至变得毫无意义。

另一方面,要用一维条码表示汉字和图像等信息几乎是不可能的,即使可以表示,也显得十分不便且效率很低。

当今现代高科技术的发展,迫切需要用条码在有限的几何空间表示更多的信息,以满足千变万化的信息表示的需要。

二维条形码工作流程不同于一维条码,二维条形码无需数据库的支持,真正实现了数据的便携化,而且二维条形码可以表示汉字图像等信息。

2.二维条码的特点及PDF417码的优势

目前二维条码有许多不同的编码方法,或称码制。

就这些码制的编码原理而言,通常可分为以下两种类型:

矩阵式二维条形码(又称棋盘式二维条形码),它是在一个矩形空间通过黑、白像素在矩阵中的不同分布进行编码。

在矩阵相应元素位置上,用点(方点、圆点或其他形状)的出现表示二进制“1”,点的不出现表示二进制的“0”,点的排列组合确定了矩阵式二维条形码所代表的意义。

矩阵式二维条形码是建立在计算机图像处理技术、组合编码原理等基础上的一种新型图形符号自动识读处理码制。

具有代表性的矩阵式二维条形码有:

QRCode,DataMatrix等。

Datamatrix原名DataCode,由美国国际资料公司(InternationalDataMatrix)于1989年发明。

Datamatrix是一种矩阵式二维条形码,其发展的构想是希望在较小的条码标签上存入更多的资料信息。

由于Datamatrix只需要读取资料的20%就可以精确辨认,因此适合应用在条码容易受损的场合,例如印在暴露在高温、化学清洗剂、机械剥蚀等特殊环境的零件上。

QRCode码是日本Denso公司于1994年9月研制的一种矩阵二维条形码符号,它除具有一维条码及其他二维条形码所具有的一般特点外,还具有信息容量大、可靠性高、可表示汉字及图像多种文字信息、保密防伪性强等优点。

堆叠式二维条形码(又称堆积式二维条形码),其编码原理是建立在一维条码基础之上,按需要堆积成二行或多行。

它在编码设计、校验原理、识读方式等方面继承了一维条码的一些特点,识读设备与条码印刷与一维条码技术兼容。

但由于行数的增加,需要对行进行判定,其译码算法与软件也不完全相同于一维条码。

有代表性的行排式二维条形码有:

codel6K,code49,PDF417等。

为了在相同的条码面积内装入更多的信息,符号设计专家DavidAllals博士提出了一种称为Code49的二维条形码,它实际上是把一维条码的高度截短并按照行堆积,由2到8行构成,5位数字用3个字符表示,使用2字符为码字,是一种多行连续型且长度可变的条码,可使用现有的条码阅读设备和打印设备。

Code49具有信息容量大和使用灵活等优点而受到重视,开创了二维条形码研究的先河。

Code16K码近似Code49码,由2到16行组成,分隔条分离各行,利用UPC码和128码字符集,最大信息长度可达77个ASCII字符。

PDF417(PortabledataFile)是美国符号科技有限公司(SymbolTechnologies,Inc.)发明的一种二维条形码,发明人是台湾赴美学者王寅君博士。

它不仅具有错误侦测能力,且可从受损的条码中读回完整的资料,亦即“错误复原能力”,其错误复原率最高可达50%。

PDF417是一个公开码,任何人皆可用其演算法而不必付费,因此是一个开放的条码系统。

PDF417的PDF为可携性资料档(PortableDataFile)的缩写,取其条码类似一个资料档,可储存较多资料,且可随身携带或随产品走而得名。

PDF417条码是一种高密度、高信息含量的便携式数据文件,是实现证件及卡片等大容量、高可靠性信息自动存储、携带并可用机器自动识读的理想手段。

它是一种堆叠式二维条码,目前在我国应用广泛。

PDF417是一个多行、连续性、可变长、包含大量数据的符号标识。

每个条码有3-90行,每一行有一个起始部分、数据部分、终止部分。

它的字符集包括所有128个字符,可以表示数字、字母或二进制数据,也可表示汉字。

1个PDF417条码最多可容纳1850个字符或1108个字节的二进制数据,本身可存储大量数据。

PDF417条码具有如下特点:

①信息容量大。

根据不同的条空比例每平方英寸可以容纳250到1100个字符。

在国际标准的证卡有效面积上(相当于信用卡面积的2/3),PDF417条码可以容纳1848个字母字符或2729个数字字符,约500个汉字信息。

这种二维条码比普通条码信息容量高几十倍。

②编码范围广。

PDF417条码可以将照片、指纹、掌纹、签字、声音、文字等凡可数字化的信息进行编码。

③保密、防伪性能好。

PDF417条码具有多重防伪特性,它可以采用密码防伪、软件加密及利用所包含的信息如指纹、照片等进行防伪,因此具有极强的保密防伪性能。

④译码可靠性高。

普通条码的译码错误率约为百万分之二左右,而PDF417条码的误码率不超过千万分之一,译码可靠性极高。

⑤修正错误能力强。

PF417条码采用了世界上最先进的数学纠错理论,如果破损面积不超过50%,条码由于沾污、破损等所丢失的信息,可以照常破译出丢失的信息。

⑥容易制作且成本低。

利用现有的点阵、激光、喷墨、热敏/热转印、制卡机等打印技术,即可在纸张、卡片、PVC、甚至金属表面上印出PDF417二维条码。

由此所增加的费用仅是油墨的成本,因此人们又称PDF417是“零成本”技术。

⑦条码符号的形状可变。

同样的信息量,PDF417条码的形状可以根据载体面积及美工设计等进行自我调整。

从符号学的角度讲,二维条码和一维条码都是信息表示、携带和识读的手段。

但从应用角度讲,尽管在一些特定场合我们可以选择其中的一种来满足我们的需要,但它们的应用侧重点是不同的:

一维条码是对“物品”的标识,二维条码是对“物品”的描述。

3.税务系统与二维条码的结合优势

税务系统的前台,也就是窗口往往效率低下,实质上是纸面信息数字化效率低。

计算机信息系统是个高速系统,而无论是手工填写的发票,还是电脑打印的发票,在任何地方对发票进行查验目前都要人工来完成,通过手工录入计算机信息系统。

这本身就产生效率的不匹配,当发票数量增多时,显的由为突出。

通过税务系统与二维条码的结合,即能用二维条码对发票进行加密防伪,又能提高纸面信息数字化的速度,工作效率会大大提高。

二、税务系统发票软件应用二维条码技术的总体设计方案

一个软件的开发是需要总体设计方案的,以下内容通过四部分详细介绍税务系统发票软件二次开发的总体设计方案。

(一)设计概述

任何软件的设计都要遵循一些基本原则,而软件的运行都是需要具体环境的支持。

以下两部分将逐一介绍。

1.设计原则

系统设计需要考虑的因素主要包括:

用户需求、现有应用基础、技术支撑条件、系统水平以及性能定位、开发费用、开发周期、未来趋势等。

其中有些因素相互促进,有些是相互制约的。

必须处理好各种因素之间的关系,为此开发发本系统时应遵循以下开发原则:

①规范性。

在普通发票防伪系统的设计过程中,凡是设计到有关PDF417二维条码的技术均要严格遵循PDF417二维条码的国家标准,即GBT/17172一1997《四一七条码》,确保规范性设计。

②实用性。

充分考虑到税务系统的基础和现状,以高起点从上到下整体规划,从实际出发自下而上分步实施,保证系统的可使用性、可维护性和可扩充性。

在进行系统模块结构设计时,应遵循使模块“相对独立、功能单一”的原则,也就是划分模块的原则是使模块有尽可能高的内聚和尽可能低的耦合。

2.系统开发环境

考虑到该系统执行效率和可移植性的要求,因此,软件开发工具选择采用MicrosoftVisualBasic6.0,操作系统环境为微软公司的windowsXP操作系统。

(二)税务系统发票软件的相关流程

发票的开具流程:

1、企业填写开具发票申请单,开具发票申请单上写明企业要求开具发票的票面具体内容,2、税务窗口根据开具发票申请单上写明的内容录入税务系统发票软件,并开具发票。

发票的查验流程:

1、企业将自己开具的发票原件带到税务窗口,税务局工作人员根据发票的信息,手工录入税务系统发票软件,通过目测检查发票的真伪和开具是否符合规定。

(三)税务系统发票软件二次开发的研究内容

针对发票的开具,由于税务局窗口对于一个地区上万的企业来说还是属于一对多的服务,而且这个“一”与“多”相差还是很悬殊的,再加上需要手工录入企业递交的开具发票申请单,窗口为一个企业的服务时间耗费是很多的。

通过自助式开票企业信息录入生成软件,来让企业自助填写开具发票的信息,通过生成的PDF417二维条码纸条在窗口快速录入,快速打印发票,能节约很多时间和人力,同时并没有暴露税务系统的数据库,保证了税务数据的安全。

针对发票查验软件:

当众多企业拿着发票到税务窗口查验时,窗口的工作人员只要通过普通的二维条码设备扫描发票上的PDF417二维条码就既能识别发票的真伪,又快速的统计和查验的发票上的数据。

SymbolDS6708二维条码扫描器

Metrologic美国码捷MS1690MS-1690二维条码扫描器

(四)税务系统发票软件二次开发的技术分析

技术难点:

1、掌握PDF417二维条码的生成算法,2、二维条码的打印。

3、二维条码识别设备对PDF417二维条码的识别。

三、税务系统发票软件二次开发的具体实现

(一)系统流程

1.税务系统发票软件二次开发流程图

2.二维条码PDF417编码和解码流程图

(二)税务系统发票软件具体模块分解

以下两部分涉及到软件的具体模块。

1.税务系统发票软件具体模块分解

税务系统发票软件二次开发涉及的具体模块包括:

发票开具软件,发票查验软件。

其中发票开具软件包括税务局代开发票软件,企业自开发票软件,两个子模块。

税务局代开发票软件分为自助式开票企业信息录入生成软件和税务系统发票软件。

上图为自助式开票企业信息录入生成软件界面

上图为税务系统发票代开软件

上图为企业自助录入后生成的二维条码

上图为税务系统发票软件通过条码扫描仪接收信息后二次生成的二维条码

2.PDF417二维条码嵌入税务系统发票软件的流程实现

首先,对于发票开具软件中的税务局代开软件分为两部分,①自助式开票企业信息录入生成软件(用于企业自助录入企业申请开票的各种信息,并自动生成和打印PDF417二维条码)②税务系统发票软件(通过改造后,具有高速接收企业自助生成的PDF417二维条码,自动转换为开票信息后,打印发票,同时对发票票面信息进行加密并在备注区打印针对此发票的PDF417二维条码)

其次,对于发票开具软件中的企业自开发票软件,核心内容与税务系统发票软件基本相同。

再次,对于发票查验软件,通过二维条码识别设备,对需查验的发票上的PDF417二维条码进行识别,与后台数据库中的发售出去的发票信息进行自动比对,异常报警,通过后自动录入发票票面信息。

(三)PDF417码的具体实现

1.PDF417码的生成

'

$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

PDF417码字共036三簇,生成数组

mazi0(0)="

31111136"

mazi0

(1)="

41111144"

mazi0

(2)="

51111152"

mazi0(3)="

31111235"

mazi0(4)="

41111243"

mazi0(5)="

51111251"

mazi0(6)="

21111326"

……………………

mazi0(920)="

31513112"

mazi0(921)="

32422211"

mazi0(922)="

31513211"

mazi0(923)="

24241112"

mazi0(924)="

23332112"

mazi0(925)="

71131112"

mazi0(926)="

81111113"

mazi0(927)="

23332211"

mazi0(928)="

21514112"

$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

以上为PDF417码字,数组下标代表码字,内容是bsbsbsbs

PrivateFunctionscPDF417(ByValstAsString)AsString'

生成PDF417码的函数

Dimsc_ascAsString'

存放ASC码值的

Dimsc_ckAsString'

存放最后合成好的PDF码字的

Dimsc_ckflagAsBoolean'

存放sc_ck前一个存入的是数字和字母(ture),还是汉字(false)

Dimsc_aAsInteger

DimgaoAsInteger'

汉字asc高位

DimdiAsInteger'

汉字asc低位

sc_ck="

"

sc_a=1

DoWhile(sc_a<

=Len(st))

SelectCaseLen(RTrim(LTrim(Str(Asc(Mid(st,sc_a,1))))))'

字母和数字的asc码位数可能小于3个

sc_asc=RTrim(LTrim(Str(Asc(Mid(st,sc_a,1)))))

SelectCaseVal(sc_asc)

CaseIs>

=0'

sc_asc为数字和字母

Ifsc_ck="

Then

IfLen(sc_asc)=1Then

sc_ck="

927"

&

Chr(48)&

sc_asc

sc_ckflag=True

EndIf

IfLen(sc_asc)=2Then

IfLen(sc_asc)=3Then

ElseIfsc_ckflag=TrueThen

sc_ck=sc_ck&

Else

"

CaseIs<

0'

sc_asc为汉字

gao=Int((65536+sc_asc)/256)

di=(65536+sc_asc)Mod256

928"

+LTrim(Str(gao))+LTrim(Str(di))

sc_ckflag=False

ElseIfsc_ckflag=FalseThen

gao=

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 社交礼仪

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1