发票的验证方法和系统的制作方法

文档序号:6670671阅读:143来源:国知局
发票的验证方法和系统的制作方法
【专利摘要】本发明实施例提供了一种发票的验证方法和系统。该方法主要包括:将包含密文信息的二维码设置在电子版发票上,根据定位后的位置探测图形确定发票图像中的二维码的位置和方向,得到二维码图像,从二维码图像中提取出二维码的明文信息和密文信息,利用加密算法和加密密钥从密文信息中提取出发票的要素信息,根据提取出的发票的要素信息在网络发票查询数据库中进行匹配查询,根据匹配查询结果确定发票的验证结果。本发明实施例通过发票查验服务器统一对上述纸质发票的发票图像进行验证,解决了普通用户进行发票真伪验证时需要二维码扫描枪等设备,成本高昂,携带不便利的缺点。
【专利说明】发票的验证方法和系统
【技术领域】
[0001]本发明涉及计算机应用【技术领域】,尤其涉及一种发票的验证方法和系统。
【背景技术】
[0002]长期以来,发票的管理难题一直困扰着基层税务部门,对发票管理的重视程度不够,致使发票制假售假、虚开代开等问题日益凸现。为了加强和规范发票管理,国税总局提出“以票管税”理念的网络发票开具模式。网络发票开具是具有“在线开票、实时查询、票表校验、以票管税、闭环管理”功能的一种全新的发票管理模式,全面、准确记录了纳税人经营活动,确保发票流通的唯一性、真实性和安全性。发票真伪验证是发票管理模式中的重要一环,对减轻税务机关工作负担,提高纳税人鉴别真伪能力,降低发票违法案件都具有积极的意义。
[0003]目前的发票真伪验证,主要依靠人工审核和验票,无法从质量和数量上保证发票管理到位。因此,开发一种高效率的发票真伪验证方法是一个亟待解决的问题。

【发明内容】

[0004]本发明的实施例提供了一种发票的验证方法和系统,以实现对发票的真伪进行有效地验证。
[0005]一种发票的验证方法,包括:
[0006]步骤A、通过设定的加密算法和加密密钥对发票的要素信息进行加密得到密文信息,将包含所述密文信息的二维码设置在电子版发票上,将所述发票的要素信息、加密算法和加密密钥在网络发票查询数据库进行存储,将所述电子版发票进行打印得到纸质发票;
[0007]步骤B、对所述纸质发票进行拍照得到发票图像,对所述发票图像中的位置探测图形进行定位,根据定位后的位置探测图形确定所述发票图像中的二维码的位置和方向,得到二维码图像,从所述二维码图像中提取出包含明文信息和密文信息的二维码信息;
[0008]步骤C、根据所述明文信息在网络发票查询数据库中进行查询,获取对应的加密密钥和加密算法,利用所述加密算法和加密密钥对所述密文信息进行解密,得到发票的要素信息,根据所述发票的要素信息在所述网络发票查询数据库中进行匹配查询,根据匹配查询结果确定所述发票的验证结果。
[0009]一种发票的验证系统,包括:
[0010]开票终端,用于通过设定的加密算法和加密密钥对发票的要素信息进行加密得到密文信息,将包含所述密文信息的二维码设置在电子版发票上,将所述发票的要素信息、力口密算法和加密密钥传输给网络开票服务器,将所述电子版发票进行打印得到纸质发票;
[0011]发票查验客户端,用于对发票图像中的位置探测图形进行定位,所述发票图像为通过对所述纸质发票进行拍照得到的,对所述发票图像中的位置探测图形进行定位,根据定位后的位置探测图形确定所述发票图像中的二维码的位置和方向,得到二维码图像,从所述二维码图像中提取出包含密文信息和明文信息的二维码信息,将所述二维码信息发送给发票查验服务器;
[0012]发票查验服务器,用于根据所述发票查验客户端发送过来的二维码信息中的明文信息在网络发票查询数据库中进行查询,获取对应的加密密钥和加密算法,利用所述加密算法和加密密钥对所述二维码信息中的密文信息进行解密,得到发票的要素信息,根据所述发票的要素信息在所述网络发票查询数据库中进行匹配查询,根据匹配查询结果确定所述发票的验证结果。
[0013]一种发票的验证系统,包括:
[0014]开票终端,用于通过设定的加密算法和加密密钥对发票的要素信息进行加密得到密文信息,将包含所述密文信息的二维码设置在电子版发票上,将所述发票的要素信息、力口密算法和加密密钥传输给网络开票服务器,将所述电子版发票进行打印得到纸质发票;
[0015]发票查验客户端,用于获取所述纸质发票的发票图像,所述发票图像为通过对所述纸质发票进行拍照得到的,将所述发票图像发送给图像处理服务器;
[0016]图像处理服务器,用于对所述发票图像中的位置探测图形进行定位,根据定位后的位置探测图形确定所述发票图像中的二维码的位置和方向,得到二维码图像,从所述二维码图像中提取出包含明文信息和密文信息的二维码信息,将所述二维码信息发送给发票查验服务器;
[0017]发票查验服务器,用于根据所述图像处理服务器发送过来的二维码信息中的明文信息在网络发票查询数据库中进行查询,获取对应的加密密钥和加密算法,利用所述加密算法和加密密钥对所述二维码信息中的密文信息进行解密,得到发票的要素信息,根据所述发票的要素信息在所述网络发票查询数据库中进行匹配查询,根据匹配查询结果确定所述发票的验证结果。
[0018]由上述本发明的实施例提供的技术方案可以看出,本发明实施例通过将携带发票的要素信息的二维码设置在纸质发票中,由发票查验服务器统一对上述纸质发票的发票图像进行验证,解决了普通用户进行发票真伪验证时需要二维码扫描枪等设备,成本高昂,携带不便利的缺点。
【专利附图】

【附图说明】
[0019]为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0020]图1为本发明实施例一提出的一种发票的验证方法的实现原理图;
[0021]图2为本发明实施例一提出的一种发票的验证方法的具体处理流程图;
[0022]图3为本发明实施例一提出的一种二维码的范例示意图;
[0023]图4为本发明实施例一提出的一种位置探测图形的模块序列示意图;
[0024]图5为本发明实施例一提出的一种确定位置探测区域的中心点的坐标的方法的原理示意图;
[0025]图6为本发明实施例一提出的一种确定二维码图像的方向的原理示意图;
[0026]图7为本发明实施例一提出的一种查验用户通过发票查验客户端对发票进行验证的处理流程图;
[0027]图8为本发明实施例二提出的一种发票的验证系统的具体结构图;
[0028]图9为本发明实施例二提供的另一种发票的验证系统的结构图。
【具体实施方式】
[0029]为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。由于二维码中在发票领域使用最广泛的是QR-C0DE,因此在本发明中使用QR-CODE举例,本方法也适用于其他码制的二维码。
[0030]实施例一
[0031]本发明实施例基于图像和二维码定位识别技术相结合,在发票上印刷含有发票代码和发票号码等相关信息的二维码,结合后台的发票管理与防伪监控平台,以实现对发票的真伪进行有效监控。该实施例提出了一种发票的验证方法,该方法的实现原理图如图1所示,具体处理流程如图2所示,包括如下的处理步骤:
[0032]步骤21、开票终端将发票的要素信息和明文信息设置在二维码中,将上述二维码印刷在发票的指定位置。
[0033]二维码是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的,在代码编制上巧妙地利用构成计算机内部逻辑基础的“O”、“I”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理。
[0034]该实施例提供的一种二维码的范例如图3所示,二维码具有如下的特点:
[0035]1、高密度编码,信息容量大,可容纳多达1850个大写字母或2710个数字或1108个字节,或500多个汉字,比普通条码信息容量约高几十倍。
[0036]2、编码范围广:该条码可以把图像、声音、文字、签字、指纹等可以数字化的信息进行编码,用条码表示出来;可以表示多种语言文字;可表示图像数据。
[0037]3、容错能力强,具有纠错功能:这使得二维条码因穿孔、污损等引起局部损坏时,照样可以正确得到识读,损毁面积达50%仍可恢复信息。
[0038]当需要给用户开具发票时,开票员通过开票终端利用加密密钥和加密算法将发票的要素信息进行加密后,通过编码设置在二维码中,再将上述二维码设置在发票的指定位置。上述加密密钥是开票员通过注册流程获取的,开票员在首次使用开票终端时需要注册流程,与发票开票服务器进行交互,包括进行身份授权及获取加密密钥。获取加密密钥后,开票终端就可以加密生成二维码信息并打印有二维码图片的纸质发票。
[0039]上述二维码是由两部分构成的,第一部分是明文信息,主要包括开票方的信息,包括开票方识别号,分机号(用于解密密钥获取使用),加密算法标记。第二部分是密文信息,主要包括加密的发票的要素信息,包括发票代码,发票号码,金额,开票方税号,防伪码,开票类型,付款单位,开票时间等信息。
[0040]开票员通过开票终端将上述发票的明文信息、要素信息、加密算法和加密密钥和电子票传输给税局的网络开票服务器,该网络开票服务器将上述发票的明文信息、要素信息、加密算法和加密密钥和电子票在网络发票生产数据库中进行关联存储,然后,开票终端给用户打印纸张发票。
[0041]本发明在服务器端设置发票查证服务器和网络发票查询数据库,该网络发票查询数据库和上述网络发票生产数据库需要按照设定的时间间隔进行同步。在网络发票查询数据库中还要存储发票的缴销状态信息、开票信息和开具状态等信息。
[0042]步骤22、当查验用户需要验证上述纸质发票的真伪时,使用成像设备(如摄像头等)获取包含二维码信息的纸质发票的发票图像。
[0043]步骤23、发票查验客户端获取上述发票图像,发票查验客户端首先验证查验用户的身份,如果发现查验用户没有查验权限则直接向查验用户反馈“没有发票查验权限”;如果查验用户的身份验证通过,则判断发票查验客户端中是否设置图像处理模块,如果是,执行步骤24;否则,执行步骤25。
[0044]步骤24、本发明可以在发票查验客户端中设置图像处理模块,该图像处理模块需要对上述发票图像进行预处理、二维码定位和二维码信息提取操作。
[0045]上述预处理过程如下:由于受拍照环境和光照等的影响,获得的图像数据或受到噪声污染,或图像模糊,亮度偏暗,或几何上有角度倾斜,上述发票查验客户端需要对上述图像进行相关预处理,以便于二维码的识别。
[0046]对上述图像进行格式的转换,一般获得的图像都是jpg或jpeg等压缩的数据格式,需要将其转换成无压缩的bmp格式。其次,如果是彩色图像,还需要进行灰值化处理,将读入的图像都统一转换成bmp格式的灰度图像,便于后续算法的处理。
[0047]然后,对上述发票图像进行除噪处理,上述成像设备获得的图像一般会受到噪声的污染,影响图像数据的正确读取,因此需要对图像进行除噪,在二维码除噪中比较常用的方法是中值滤波去噪,采用5X5的矩形窗口。
[0048]最后,对上述发票图像进行二值化处理,灰度图像的二值化处理就是讲图像上的点的灰度置为O或255,也就是讲整个图像呈现出明显的黑白效果。即将256个亮度等级的灰度图像通过适当的阀值选取而获得仍然可以反映图像整体和局部特征的二值化图像。上述二值化处理可以减少上述图像中的不必要的元素,有利于二维码的识别,二值化方法可以采用自适应亮度法等。
[0049]发票查验客户端中的图像处理模块对所述发票图像中的位置探测图形进行定位,根据定位后的位置探测图形确定所述发票图像中的二维码的位置和方向。
[0050]如图3所示,在二维码的左上角、右上角、左下角处有3个相同的用于位置定位的位置探测图形,每个位置探测图形可以看作是由3个重叠的同心正方形组成,每个位置探测图形的模块序列示意图如图4所示,由一个深色-浅色-深色-浅色-深色次序构成,分别为7X7个深色模块、5X5个浅色模块和3X3个深色模块,各模块相对宽度的比例是1:1:3:1: 1,模块的宽度允许偏差为0.5 (即单个模块的方块的尺寸允许范围为0.5?1.5,3个模块宽度的方块的宽度允许尺寸范围为2.5?3.5)。
[0051]发票查验客户端中的图像处理模块对图像进行水平和垂直方向的检测,根据上述二维码中的位置探测图形的图形特点获取所述发票图像中的3个位置探测区域,并标注所述3个位置探测区域的中心点的坐标。确定位置探测区域的中心点的坐标的方法的原理示意图如图5所示,具体过程如下:针对上述每个位置探测区域中的最内层的正方形,在水平方向记录该正方形最外层的像素线,在垂直方向记录该正方形最外层的像素线,得到四条直线,取所围成的矩形的中心即探测图形的中心点。
[0052]利用上述处理过程可以分别获取3个位置探测图形的中心点坐标,在对位置探测图形定位后,根据3个位置探测图形的中心点坐标通过计算可以得到二维码图像的中心坐标。确定二维码图像的方向的原理示意图如图6所示,根据3个位置探测图形中心点的连线的水平、垂直方向的偏转角度可以确定二维码的偏转角度,从而确定二维码图像的方向。若二维码图像有几何上的形变,可以利用双线性变换插值法,对二维码图像进行几何旋转矫正。
[0053]根据所述二维码图像的中心点的坐标和所述二维码图像的方向,从所述发票图像中提取出二维码图像。然后,从二维码图像中提取出二维码信息。首先,读入二维码格式信息和版本信息,消除掩码,然后进行纠错检查,如果需要纠错,进行纠错操作,而后进行数据码译码操作,最后输出译码结果即二维码信息。所述的二维码信息是包含密文信息和明文信息(主要包括开票方的信息)的二维码。
[0054]发票查验客户端将上述二维码信息发送给发票查验服务器。
[0055]执行步骤26。
[0056]步骤25、在服务器端设置图像处理服务器,发票查验客户端将上述包含二维码信息的纸质发票的图像发送给图像处理服务器,该图像处理服务器和上述发票查验客户端中的图像处理模块一样,对上述图像进行上述步骤24中的预处理、二维码定位和二维码信息提取操作,获取二维码图像,从该二维码图像中提取出包含明文信息和密文信息的二维码信息。
[0057]图像处理服务器将上述二维码信息发送给发票查验服务器。执行步骤26。
[0058]步骤26、发票查验服务器根据接收到的二维码信息中的明文信息在网络发票查询数据库中进行查询,获取网络发票查询数据库中存储的发票的加密密钥和加密密钥。
[0059]发票查验服务器根据预先设定的加密算法以及获取的加密密钥对二维码信息中的密文信息进行解密。如果发票解密错误说明二维码信息是错误的,那么就认定为异常发票;如果发票解密正确,可得到发票的要素信息,包括发票代码,发票号码,金额,开票方税号,防伪码,开票类型,付款单位,开票时间等。
[0060]步骤27、发票查验服务器根据解密得到的发票的要素信息在所述网络发票查询数据库中进行匹配查询,根据所述匹配查询结果和所述网络发票查询数据库中存储的所述发票的缴销状态信息、开票信息和开具状态信息,确定所述发票是否为正常发票确定所述发票的验证结果。
[0061]查验用户通过发票查验客户端对发票进行验证的处理流程如图7所示,具体处理过程如下:
[0062]第一,对发票代码和发票号码进行匹配查询,根据解密得到的发票的要素信息中的发票代码和发票号码在网络发票查询数据库中进行匹配查询,如果查询到对应的发票代码和发票号码,则匹配成功,说明发票发售信息中有这张发票信息,跳转到第二步;如果匹配失败,则说明网络开具系统没有该发票的发售信息,认定此发票为异常发票,并转到发票信息真伪处理过程。
[0063]第二,根据查询到的网络发票查询数据库中的该发票的缴销状态信息,查询判断是否属于流失、丢失被盗等失控票,如果是失控发票,跳转到发票信息真伪反馈处理过程,显示查询发票状态(流失等),并标记为异常发票;否则转到第三步。
[0064]第三,根据查询到的网络发票查询数据库中的该发票的开票信息,判断开票信息是否已采集,也就是该张发票是否已经开具成功,如果该张发票还没有开具,则跳转到发票信息真伪反馈处理过程,显示发售信息,提示开票信息未采集,并标记为异常发票;否则转到第四步。
[0065]第四,根据查询到的网络发票查询数据库中的该发票的开具状态信息,判断发票开具状态是否为正常填开。由于填开作废发票和空白废票是不能作为报销凭证的。所以当发现查询的发票开具状态异常时,跳转到发票信息真伪反馈处理过程,显示发票开具状态(填用作废、空白作废等),并标记为异常发票;否则转到发票信息真伪反馈处理过程,并且根据不同的票种显示查询发票的详细票面信息。
[0066]上述发票信息真伪反馈处理过程的处理过程包括:
[0067]如果发票匹配查询成功将发票的详细信息发送给发票信息真伪反馈模块,如果发票匹配失败,则在网络查验数据库中标记假票信息,以备税局处理。
[0068]发票信息真伪反馈模块反馈发票真伪结果。根据二维码发票信息查验的结果,分两种情况进行反馈:
[0069]第一,如果发票查验成功(即二维码发票信息查验模块第四步判断标记为“是”的分支),则从上述网络发票查询数据库中提取该发票的详细的电子票面信息,用户将反馈的电子票信息和纸质票面信息比对。
[0070]如果电子票信息和纸质票面信息完全一致,则说明发票为正常发票。
[0071]如果电子票信息和纸质票面信息不一致,用户可以进行举报。系统将标记此发票为异常发票,并发送到(发票监控系统),待税务人员处理。
[0072]第二,如果发票查验失败,则直接反馈用户相应的错误信息。同事标记发票为异常发票,并发送到(发票监控系统),待税务人员处理。
[0073]实施例二
[0074]该实施例提供了一种发票的验证系统,其具体结构如图8所示,包括如下的单元:
[0075]开票终端81,用于通过设定的加密算法和加密密钥对发票的要素信息进行加密得到密文信息,将包含所述密文信息的二维码设置在电子版发票上,将所述发票的要素信息、加密算法和加密密钥传输给网络开票服务器,将所述电子版发票进行打印得到纸质发票;
[0076]发票查验客户端82,用于对发票图像中的位置探测图形进行定位,所述发票图像为通过对所述纸质发票进行拍照得到的,对所述发票图像中的位置探测图形进行定位,根据定位后的位置探测图形确定所述发票图像中的二维码的位置和方向,得到二维码图像,从所述二维码图像中提取出包含密文信息和明文信息的二维码信息,将所述二维码信息发送给发票查验服务器;
[0077]发票查验服务器83,用于根据所述发票查验客户端发送过来的二维码信息中的明文信息在网络发票查询数据库中进行查询,获取对应的加密密钥和加密算法,利用所述加密算法和加密密钥对所述二维码信息中的密文信息进行解密,得到发票的要素信息,根据所述发票的要素信息在所述网络发票查询数据库中进行匹配查询,根据匹配查询结果确定所述发票的验证结果。
[0078]具体的,所述的开票终端81,还用于当需要给用户开具发票时,通过和网络开票服务器进行信息交互确定加密算法和加密密钥,利用所述加密算法和加密密钥对发票的要素信息进行加密得到密文信息,通过编码将所述密文信息设置在二维码中,在所述二维码中还设置明文信息,该明文信息中包括发票的开票方的信息,将所述二维码设置在发票的指定位置;
[0079]与网络开票服务器进行交互,将所述发票的电子票、明文信息、要素信息、加密算法和加密密钥传输给所述网络开票服务器,给用户打印纸张发票。
[0080]具体的,所述的发票查验客户端82可以包括:
[0081]预处理模块821,用于当需要验证包含二维码的纸质发票的真伪时,使用成像设备获取所述纸质发票的发票图像,对所述发票图像进行预处理,该预处理包括将所述发票图片转换成无压缩格式的灰度图像,对所述灰度图像进行除噪处理和二值化处理;
[0082]二维码图像定位模块822,用于对所述发票图像进行水平和垂直方向的检测,根据设定的二维码中的位置探测图形的图形特点获取所述发票图像中的3个位置探测区域,并标注所述3个位置探测区域的中心点的坐标;
[0083]根据所述3个位置探测区域的位置和中心点的坐标通过计算得到二维码图像的中心点的坐标,根据所述3个位置探测图形的中心点的连线的水平、垂直方向的偏转角度确定二维码图像的方向;
[0084]二维码信息提取模块823,根据所述二维码图像的中心点的坐标和所述二维码图像的方向,从所述发票图像中提取出二维码图像。然后,从二维码图像中提取二维码的信息。首先,读入二维码格式信息和版本信息,消除掩码,然后进行纠错检查,如果需要纠错,进行纠错操作,而后进行数据码译码操作,最后输出译码结果即二维码信息。所述的二维码信息是包含密文信息和明文信息的二维码。将所述二维码信息发送给发票查验服务器。
[0085]具体的,所述的发票查验服务器83可以包括:
[0086]二维码信息解密模块831,用于根据所述发票查验客户端发送过来的二维码信息中的明文信息在网络发票查询数据库中进行查询,获取对应的加密密钥和加密算法,利用所述加密算法和加密密钥对所述二维码信息中的密文信息进行解密,获取发票的要素信息;
[0087]发票信息查询模块832,用于根据所述发票的要素信息中的发票代码在所述网络发票查询数据库中进行匹配查询,根据所述匹配查询结果和所述网络发票查询数据库中存储的所述发票缴销状态信息、开票信息和开具状态信息,确定所述发票的验证结果,判断所述发票是否为正常发票;
[0088]所述的发票信息查询模块,具有用于将所述发票的要素信息中的发票代码在所述网络发票查询数据库中进行匹配查询,若能查询到相匹配的发票代码和发票号码,则执行步骤A ;否则,确定所述发票的发票代码匹配失败;
[0089]步骤A、根据查询到的网络发票查询数据库中的所述发票的缴销状态信息,判断所述发票是否属于失控发票,如果不是,则执行步骤B ;否则,确定所述发票的发票代码匹配失败;
[0090]步骤B、根据查询到的网络发票查询数据库中的所述发票的开票信息,判断所述发票的开票信息是否已经采集,如果是,则执行步骤C ;否则,确定所述发票的开票信息没有采集;[0091]步骤C、根据查询到的网络发票查询数据库中的所述发票的开具状态信息,判断所述发票的开具状态是否为正常填开,如果是,则确定所述发票为正常发票;否则,确定所述发票的开票信息没有采集。
[0092]发票信息真伪反馈模块833,用于在所述发票信息查询模块确定所述发票的发票代码匹配失败或者所述发票属于失控发票或者所述发票的开票信息没有采集或者所述发票的开具状态不是正常填开后,确定所述发票为异常发票,向查验用户反馈相应的错误信息;在所述发票信息查询模块确定所述发票为正常发票后,将所述网络发票查询数据库中存储的所述发票的电子票发送给所述发票查验客户端,以使得所述查验用户通过所述发票查验客户端将所述发票的电子票和所述发票的纸质票进行对比。
[0093]该实施例提供的另一种发票的验证系统的结构如图9所示,包括如下的单元:
[0094]开票终端91,用于通过设定的加密算法和加密密钥对发票的要素信息进行加密得到密文信息,将包含所述密文信息的二维码设置在电子版发票上,将所述发票的要素信息、加密算法和加密密钥传输给网络开票服务器,将所述电子版发票进行打印得到纸质发票;
[0095]还用于当需要给用户开具发票时,通过和网络开票服务器进行信息交互确定加密算法和加密密钥,利用所述加密算法和加密密钥对发票的要素信息进行加密得到密文信息,通过编码将所述密文信息设置在二维码中,在所述二维码中还设置明文信息,该明文信息中包括发票的开票方的信息,将所述二维码设置在发票的指定位置;与网络开票服务器进行交互,将所述发票的电子票、明文信息、要素信息、加密算法和加密密钥传输给所述网络开票服务器,给用户打印纸张发票。
[0096]发票查验客户端92,用于获取所述纸质发票的发票图像,所述发票图像为通过对所述纸质发票进行拍照得到的,将所述发票图像发送给图像处理服务器;
[0097]图像处理服务器93,用于对所述发票查验客户端发送过来的发票图像中的位置探测图形进行定位,根据定位后的位置探测图形确定所述发票图像中的二维码的位置和方向,得到二维码图像,从所述二维码图像中提取出包含明文信息和密文信息的二维码信息,将所述二维码信息发送给发票查验服务器;
[0098]发票查验服务器94,用于根据所述图像处理服务器发送过来的二维码信息中的明文信息在网络发票查询数据库中进行查询,获取对应的加密密钥和加密算法,利用所述加密算法和加密密钥对所述二维码信息中的密文信息进行解密,得到发票的要素信息,根据所述发票的要素信息在所述网络发票查询数据库中进行匹配查询,根据匹配查询结果确定所述发票的验证结果。
[0099]具体的,所述的图像处理服务器93可以包括:
[0100]预处理模块931,用于对所述发票图像进行预处理,该预处理包括将所述发票图片转换成无压缩格式的灰度图像,对所述灰度图像进行除噪处理和二值化处理;
[0101]二维码图像定位模块932,用于对所述发票图像进行水平和垂直方向的检测,根据设定的二维码中的位置探测图形的图形特点获取所述发票图像中的3个位置探测区域,并标注所述3个位置探测区域的中心点的坐标;
[0102]根据所述3个位置探测区域的位置和中心点的坐标通过计算得到二维码图像的中心点的坐标,根据所述3个位置探测图形的中心点的连线的水平、垂直方向的偏转角度确定二维码图像的方向;[0103]二维码信息提取模块933,根据所述二维码图像的中心点的坐标和所述二维码图像的方向,从所述发票图像中提取出二维码图像。然后,从二维码图像中提取二维码的信息。首先,读入二维码格式信息和版本信息,消除掩码,然后进行纠错检查,如果需要纠错,进行纠错操作,而后进行数据码译码操作,最后输出译码结果即二维码内容。将所述二维码信息发送给发票查验服务器。
[0104]具体的,所述的发票查验服务器94可以包括:
[0105]二维码信息解密模块941,用于根据所述图像处理服务器发送过来的二维码信息中的明文信息在网络发票查询数据库中进行查询,获取对应的加密密钥和加密算法,利用所述加密算法和加密密钥对所述密文信息进行解密,得到发票的要素信息;
[0106]发票信息查询模块942,用于根据所述发票的要素信息中的发票代码在所述网络发票查询数据库中进行匹配查询,根据所述匹配查询结果和所述网络发票查询数据库中存储的所述发票的缴销状态信息、开票信息和开具状态信息,确定所述发票的验证结果,判断所述发票是否为正常发票。
[0107]将所述发票的要素信息中的发票代码在所述网络发票查询数据库中进行匹配查询,若能查询到相匹配的发票代码和发票号码,则执行步骤A ;否则,确定所述发票的发票代码匹配失败;
[0108]步骤A、根据查询到的网络发票查询数据库中的所述发票的缴销状态信息,判断所述发票是否属于失控发票,如果不是,则执行步骤B ;否则,确定所述发票的发票代码匹配失败;
[0109]步骤B、根据查询到的网络发票查询数据库中的所述发票的开票信息,判断所述发票的开票信息是否已经采集,如果是,则执行步骤C ;否则,确定所述发票的开票信息没有米集;
[0110]步骤C、根据查询到的网络发票查询数据库中的所述发票的开具状态信息,判断所述发票的开具状态是否为正常填开,如果是,则确定所述发票为正常发票;否则,确定所述发票的开票信息没有采集。
[0111]发票信息真伪反馈模块943,用于在所述发票信息查询模块确定所述发票的发票代码匹配失败或者所述发票属于失控发票或者所述发票的开票信息没有采集或者所述发票的开具状态不是正常填开后,确定所述发票为异常发票,向查验用户反馈相应的错误信息;在所述发票信息查询模块确定所述发票为正常发票后,将所述网络发票查询数据库中存储的所述发票的电子票发送给所述发票查验客户端,以使得所述查验用户通过所述发票查验客户端将所述发票的电子票和所述发票的纸质票进行对比。
[0112]用本发明实施例的系统进行发票验证的具体过程与前述方法实施例类似,此处不再赘述。
[0113]本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
[0114]本领域普通技术人员可以理解:实施例中的设备中的模块可以按照实施例描述分布于实施例的设备中,也可以进行相应变化位于不同于本实施例的一个或多个设备中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
[0115]本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random AccessMemory, RAM)等。
[0116]综上所述,本发明实施例通过将携带发票的要素信息的二维码设置在纸质发票中,由发票查验服务器统一对上述纸质发票的发票图像进行验证,解决了普通用户进行发票真伪验证时需要二维码扫描枪等设备,成本高昂,携带不便利的缺点。
[0117]本发明实施例的发票验证方法具有操作方便简单,不必安装图像识别驱动,二维码识别率高,纠错能力强,适用性强等特性。普通用户只需要有通用的摄像头,或者截图软件获取到发票图像,将发票图像发送到发票查验服务器即可对发票真伪进行验证。降低了发票验证专用设备的购置成本,减轻普通用户的负担,加快发票防伪的推广。
[0118]以上所述,仅为本发明较佳的【具体实施方式】,但本发明的保护范围并不局限于此,任何熟悉本【技术领域】的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
【权利要求】
1.一种发票的验证方法,其特征在于,包括: 步骤A、通过设定的加密算法和加密密钥对发票的要素信息进行加密得到密文信息,将包含所述密文信息的二维码设置在电子版发票上,将所述发票的要素信息、加密算法和加密密钥在网络发票查询数据库进行存储,将所述电子版发票进行打印得到纸质发票; 步骤B、对所述纸质发票进行拍照得到发票图像,对所述发票图像中的位置探测图形进行定位,根据定位后的位置探测图形确定所述发票图像中的二维码的位置和方向,得到二维码图像,从所述二维码图像中提取出包含明文信息和密文信息的二维码信息; 步骤C、根据所述明文信息在网络发票查询数据库中进行查询,获取对应的加密密钥和加密算法,利用所述加密算法和加密密钥对所述密文信息进行解密,得到发票的要素信息,根据所述发票的要素信息在所述网络发票查询数据库中进行匹配查询,根据匹配查询结果确定所述发票的验证结果。
2.根据权利要求1所述的发票的验证方法,其特征在于,所述的步骤A具体包括: 当需要给用户开具发票时,开票终端通过和网络开票服务器进行信息交互确定加密算法和加密密钥,所述开票终端利用所述加密算法和加密密钥对发票的要素信息进行加密得到密文信息,通过编码将所述密文信息设置在二维码中,在所述二维码中还设置明文信息,该明文信息中包括发票 的开票方的信息,将所述二维码设置在发票的指定位置; 所述开票终端与网络开票服务器进行交互,将所述发票的电子票、明文信息、要素信息、加密算法和加密密钥传输给所述网络开票服务器,利用所述网络开票服务器将所述发票的电子票、明文信息、要素信息、加密算法和加密密钥在网络发票查询数据库中进行关联存储,然后,所述开票终端给用户打印纸张发票。
3.根据权利要求2所述的发票的验证方法,其特征在于,当在发票查验客户端中设置图像处理模块时,所述的步骤B具体包括: 当需要验证包含二维码的纸质发票的真伪时,使用成像设备获取所述纸质发票的发票图像; 发票查验客户端获取所述发票图像,发票查验客户端中的图像处理模块对所述发票图像进行预处理,该预处理包括将所述发票图片转换成无压缩格式的灰度图像,对所述灰度图像进行除噪处理和二值化处理; 所述图像处理模块对所述发票图像进行水平和垂直方向的检测,根据设定的二维码中的位置探测图形的图形特点获取所述发票图像中的3个位置探测区域,并标注所述3个位置探测区域的中心点的坐标; 所述图像处理模块根据所述3个位置探测区域的位置和中心点的坐标通过计算得到二维码图像的中心点的坐标,根据所述3个位置探测图形的中心点的连线的水平、垂直方向的偏转角度确定二维码图像的方向; 所述图像处理模块根据所述二维码图像的中心点的坐标和所述二维码图像的方向,从所述发票图像中提取出二维码图像,从所述二维码图像中提取出包含密文信息和明文信息的二维码信息,所述发票查验客户端将所述二维码信息发送给发票查验服务器。
4.根据权利要求2所述的发票的验证方法,其特征在于,当在服务器端设置图像处理服务器时,所述的步骤B具体包括: 当需要验证包含二维码的纸质发票的真伪时,使用成像设备获取所述纸质发票的发票图像; 发票查验客户端获取所述发票图像,将所述发票图像发送给图像处理服务器,所述图像处理服务器对所述发票图像进行预处理,该预处理包括将所述发票图片转换成无压缩格式的灰度图像,对所述灰度图像进行除噪处理和二值化处理; 所述图像处理服务器对所述发票图像进行水平和垂直方向的检测,根据设定的二维码中的位置探测图形的图形特点获取所述发票图像中的3个位置探测区域,并标注所述3个位置探测区域的中心点的坐标; 所述图像处理服务器根据所述3个位置探测区域的位置和中心点的坐标通过计算得到二维码图像的中心点的坐标,根据所述3个位置探测图形的中心点的连线的水平、垂直方向的偏转角度确定二维码图像的方向; 所述图像处理服务器根据所述二维码图像的中心点的坐标和所述二维码图像的方向,从所述发票图像中提取出二维码图像,从所述二维码图像中提取出包含密文信息和明文信息的二维码信息; 所述图像处理服务器将所述二维码信息发送给发票查验服务器。
5.根据权利要求3或4所述的发票的验证方法,其特征在于,所述的步骤C包括: Cl、所述发票查验服务器根据接收到的二维码信息中的明文信息在网络发票查询数据库中进行查询,获取对应的 加密密钥和加密算法; C2、所述发票查验服务器根据获取的加密密钥和加密算法对所述二维码的密文信息进行解密,得到所述发票的要素信息; C3、根据所述发票的要素信息,在所述网络发票查询数据库中进行匹配查询,若能查询到相匹配的票据信息,则确定所述发票的验证结果为真,否则确定所述发票的验证结果为假。
6.根据权利要求5所述的发票的验证方法,其特征在于,所述的步骤C3包括: C31、所述发票查验服务器将所述发票的要素信息中的发票代码在所述网络发票查询数据库中进行匹配查询,若能查询到相匹配的发票代码,则执行步骤C32 ;否则,确定所述发票为异常发票; C32、所述发票查验服务器根据查询到的网络发票查询数据库中的该发票的缴销状态信息,判断所述发票是否属于失控发票,如果不属于失控发票,则执行步骤C32 ;否则,确定所述发票为异常发票; C33、所述发票查验服务器根据查询到的网络发票查询数据库中的该发票的开票信息,判断所述发票的开票信息是否已经采集,如果是,则执行步骤C34 ;否则,确定所述发票为异常发票,所述开票信息包括:开票方税号、防伪码、开票类型和开票时间; C34、所述发票查验服务器根据查询到的网络发票查询数据库中的该发票的开具状态,判断所述发票的开具状态是否为正常填开,如果是,则确定所述发票的验证验证结果为真;否则,确定所述发票为异常发票。
7.根据权利要求6所述的发票的验证方法,其特征在于,所述的步骤C还包括: 所述发票查验服务器将所述网络发票查询数据库中存储的所述发票的电子票发送给所述发票查验客户端,以使得所述查验用户通过所述发票查验客户端将所述发票的电子票和所述发票的纸质票进行对比。
8.—种发票的验证系统,其特征在于,包括: 开票终端,用于通过设定的加密算法和加密密钥对发票的要素信息进行加密得到密文信息,将包含所述密文信息的二维码设置在电子版发票上,将所述发票的要素信息、加密算法和加密密钥传输给网络开票服务器,将所述电子版发票进行打印得到纸质发票; 发票查验客户端,用于对发票图像中的位置探测图形进行定位,所述发票图像为通过对所述纸质发票进行拍照得到的,对所述发票图像中的位置探测图形进行定位,根据定位后的位置探测图形确定所述发票图像中的二维码的位置和方向,得到二维码图像,从所述二维码图像中提取出包含密文信息和明文信息的二维码信息,将所述二维码信息发送给发票查验服务器; 发票查验服务器,用于根据所述发票查验客户端发送过来的二维码信息中的明文信息在网络发票查询数据库中进行查询,获取对应的加密密钥和加密算法,利用所述加密算法和加密密钥对所述二维码信息中的密文信息进行解密,得到发票的要素信息,根据所述发票的要素信息在所述网络发票查询数据库中进行匹配查询,根据匹配查询结果确定所述发票的验证结果。
9.根据权利要求8所述的发票的验证系统,其特征在于: 所述的开票终端,还用于当需要给用户开具发票时,通过和网络开票服务器进行信息交互确定加密算法和加密密钥,利用所述加密算法和加密密钥对发票的要素信息进行加密得到密文信息,通过编码将所述密文信息设置在二维码中,在所述二维码中还设置明文信息,该明文信息中包 括发票的开票方的信息,将所述二维码设置在发票的指定位置; 与网络开票服务器进行交互,将所述发票的电子票、明文信息、要素信息、加密算法和加密密钥传输给所述网络开票服务器,给用户打印纸张发票。
10.根据权利要求8所述的发票的验证系统,其特征在于,所述的发票查验客户端包括: 预处理模块,用于当需要验证包含二维码的纸质发票的真伪时,使用成像设备获取所述纸质发票的发票图像,对所述发票图像进行预处理,该预处理包括将所述发票图片转换成无压缩格式的灰度图像,对所述灰度图像进行除噪处理和二值化处理; 二维码图像定位模块,用于对所述发票图像进行水平和垂直方向的检测,根据设定的二维码中的位置探测图形的图形特点获取所述发票图像中的3个位置探测区域,并标注所述3个位置探测区域的中心点的坐标; 根据所述3个位置探测区域的位置和中心点的坐标通过计算得到二维码图像的中心点的坐标,根据所述3个位置探测图形的中心点的连线的水平、垂直方向的偏转角度确定二维码图像的方向; 二维码信息提取模块,根据所述二维码图像的中心点的坐标和所述二维码图像的方向,从所述发票图像中提取出二维码图像,从所述二维码图像中提取出包含密文信息和明文信息的二维码信息,将所述二维码信息发送给发票查验服务器。
11.根据权利要求8或9或10所述的发票的验证系统,其特征在于,所述的发票查验服务器包括: 二维码信息解密模块,用于根据所述发票查验客户端发送过来的二维码信息中的明文信息在网络发票查询数据库中进行查询,获取对应的加密密钥和加密算法,利用所述加密算法和加密密钥对所述二维码信息中的密文信息进行解密,得到发票的要素信息; 发票信息查询模块,用于根据提取出的发票的要素信息中的发票代码在所述网络发票查询数据库中进行匹配查询,根据所述匹配查询结果和所述网络发票查询数据库中存储的所述发票的缴销状态信息、开票信息和开具状态信息,确定所述发票是否为正常发票; 发票信息真伪反馈模块,用于在所述发票信息查询模块确定所述发票的发票代码匹配失败或者所述发票属于失控发票或者所述发票的开票信息没有采集或者所述发票的开具状态不是正常填开后,确定所述发票为异常发票;在所述发票信息查询模块确定所述发票为正常发票后,将所述网络发票查询数据库中存储的所述发票的电子票发送给所述发票查验客户端,以使得所述查验用户通过所述发票查验客户端将所述发票的电子票和所述发票的纸质票进行对比。
12.根据权利要求11所述的发票的验证系统,其特征在于: 所述的发票信息查询模块,具有用于将所述发票的要素信息中的发票代码在所述网络发票查询数据库中进行匹配查询,若能查询到相匹配的发票代码和发票号码,则执行步骤A ;否则,确定所述发票的发票代码匹配失败; 步骤A、根据查询到的网络发票查询数据库中的所述发票的缴销状态信息,判断所述发票是否属于失控发票,如果不是,则执行步骤B ;否则,确定所述发票的发票代码匹配失败;步骤B、根据查询到的网络发票查询数据库中的所述发票的开票信息,判断所述发票的开票信息是否已经采集,如果是,则执行步骤C ;否则,确定所述发票的开票信息没有采集;步骤C、根据查询到的网络发票查询数据库中的所述发票的开具状态信息,判断所述发票的开具状态是否为正常填开,如果是,则确定所述发票为正常发票;否则,确定所述发票的开票信息没有采集。
13.一种发票的验证系统,其特`征在于,包括: 开票终端,用于通过设定的加密算法和加密密钥对发票的要素信息进行加密得到密文信息,将包含所述密文信息的二维码设置在电子版发票上,将所述发票的要素信息、加密算法和加密密钥传输给网络开票服务器,将所述电子版发票进行打印得到纸质发票; 发票查验客户端,用于获取所述纸质发票的发票图像,所述发票图像为通过对所述纸质发票进行拍照得到的,将所述发票图像发送给图像处理服务器; 图像处理服务器,用于对所述发票图像中的位置探测图形进行定位,根据定位后的位置探测图形确定所述发票图像中的二维码的位置和方向,得到二维码图像,从所述二维码图像中提取出包含明文信息和密文信息的二维码信息,将所述二维码信息发送给发票查验服务器; 发票查验服务器,用于根据所述图像处理服务器发送过来的二维码信息中的明文信息在网络发票查询数据库中进行查询,获取对应的加密密钥和加密算法,利用所述加密算法和加密密钥对所述二维码信息中的密文信息进行解密,得到发票的要素信息,根据所述发票的要素信息在所述网络发票查询数据库中进行匹配查询,根据匹配查询结果确定所述发票的验证结果。
14.根据权利要求13所述的发票的验证系统,其特征在于: 所述的开票终端,还用于当需要给用户开具发票时,通过和网络开票服务器进行信息交互确定加密算法和加密密钥,利用所述加密算法和加密密钥对发票的要素信息进行加密得到密文信息,通过编码将所述密文信息设置在二维码中,在所述二维码中还设置明文信息,该明文信息中包括发票的开票方的信息,将所述二维码设置在发票的指定位置; 与网络开票服务器进行交互,将所述发票的电子票、明文信息、要素信息、加密算法和加密密钥传输给所述网络开票服务器,给用户打印纸张发票。
15.根据权利要求13所述的发票的验证系统,其特征在于,所述的图像处理服务器包括: 预处理模块,用于对所述发票图像进行预处理,该预处理包括将所述发票图片转换成无压缩格式的灰度图像,对所述灰度图像进行除噪处理和二值化处理; 二维码图像定位模块,用于对所述发票图像进行水平和垂直方向的检测,根据设定的二维码中的位置探测图形的图形特点获取所述发票图像中的3个位置探测区域,并标注所述3个位置探测区域的中心点的坐标; 根据所述3个位置探测区域的位置和中心点的坐标通过计算得到二维码图像的中心点的坐标,根据所述3个位置探测图形的中心点的连线的水平、垂直方向的偏转角度确定二维码图像的方向; 二维码图像提取模块,根据所述二维码图像的中心点的坐标和所述二维码图像的方向,从所述发票图像中提取出二维码图像,从所述二维码图像中提取出包含密文信息和明文信息的二维码信息,将所述二维码信息发送给发票查验服务器。
16.根据权利要求13或14或15所述的发票的验证系统,其特征在于,所述的发票查验服务器包括: 二维码信息解密模块,用于根据所述图像处理服务器发送过来的二维码信息中的明文信息在网络发票查询数据库中进行查询,获取对应的加密密钥和加密算法,利用所述加密算法和加密密钥对所述二维码信息中的密文信息进行解密,得到发票的要素信息; 发票信息查询模块,用于 根据所述发票的要素信息中的发票代码在所述网络发票查询数据库中进行匹配查询,根据所述匹配查询结果和所述网络发票查询数据库中存储的所述发票的缴销状态信息、开票信息和开具状态信息,判断所述发票是否为正常发票; 发票信息真伪反馈模块,用于在所述发票信息查询模块确定所述发票的发票代码匹配失败或者所述发票属于失控发票或者所述发票的开票信息没有采集或者所述发票的开具状态不是正常填开后,确定所述发票为异常发票;在所述发票信息查询模块确定所述发票为正常发票后,将所述网络发票查询数据库中存储的所述发票的电子票发送给所述发票查验客户端,以使得所述查验用户通过所述发票查验客户端将所述发票的电子票和所述发票的纸质票进行对比。
17.根据权利要求16所述的发票的验证系统,其特征在于: 所述的发票信息查询模块,具有用于将所述发票的要素信息中的发票代码在所述网络发票查询数据库中进行匹配查询,若能查询到相匹配的发票代码和发票号码,则执行步骤A ;否则,确定所述发票的发票代码匹配失败;步骤A、根据查询到的网络发票查询数据库中的所述发票的缴销状态信息,判断所述发票是否属于失控发票,如果不是,则执行步骤B ;否则,确定所述发票的发票代码匹配失败;步骤B、根据查询到的网络发票查询数据库中的所述发票的开票信息,判断所述发票的开票信息是否已经采集,如果是,则执行步骤C ;否则,确定所述发票的开票信息没有采集;步骤C、根据查询到的网络发票查询数据库中的所述发票的开具状态信息,判断所述发票的开具状态是否为正常填开,如果是,则确定所述发票为正常发票;否则,确定所述发票的开票信息没有采集。
【文档编号】G07D7/20GK103793990SQ201210434420
【公开日】2014年5月14日 申请日期:2012年11月2日 优先权日:2012年11月2日
【发明者】龚勇浩, 李立宁, 王晓宇, 曹甜甜, 贾希强, 张玉魁, 尹春天 申请人:航天信息股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1