发票验真方法及发票验真系统与流程

文档序号:12825960阅读:1042来源:国知局
发票验真方法及发票验真系统与流程

本发明涉及发票验证领域,具体地,涉及一种验证发票真实性的方法及实现该方法的发票验真系统。



背景技术:

在进行发票报销的过程中,首先需要检验发票的真伪。而传统的发票验真只能在pc端上面执行,查询界面繁杂,需要查询字段不能确定,查询结果不能保存到自己的业务系统中。而且各省市的国税、地税查询系统网址不明显,难以被找到并使用,没有一个统一的门户入口。发票往往是用在财务报销中作为原始凭证使用,但在原始凭证电子化过程,需要人工通过扫描仪对票据进行扫描得到电子化文档,这个过程工作量烦重,并且在实际报销过程中需要报销人输入每张发票的消费过程,包括:时间,地点,金额等信息作为明细数据进行报销。输入过程繁琐,验证后无法与原始凭证关联,且不能形成相应的电子化存档。

尽管有一些省市的国税局、地税局已经推出了移动app查询应用,但是每个省市的应用各不相同。假如各省市都有一个自己的app应用,那么用户查询发票时就要装几十个这样的应用才能完成发票查询工作。在现有的互联网+时代下,移动应用已经非常普遍,因此,设计一款集各省市国税、地税票据验真接口为一体的发票查询app是很有必要的。



技术实现要素:

本发明的主要目的是提供一种集各省市国税、地税票据验真接口为一体,实现票据信息电子化的发票验真方法。

本发明的另一目的是提供一种集各省市国税、地税票据验真接口为一体,实现票据信息电子化的发票验真系统。

为实现上述的主要目的,本发明提供的发票验真方法包括票据采集步骤,通过移动设备获取发票的原始图像数据,并通过图像处理,将发票图像数据从原始图像数据中提取出来,根据发票图像数据进行发票数据采集;票据验真步骤,根据票据采集步骤采集的发票数据确定发票的归属地,并配置对应的查询字段渲染查询界面,通过webview方式嵌入form表单,动态根据发票号码确认调用接口的服务地址和验证地址,并通过javascript代码抓取查询结果数据;验真结果处理步骤,将抓取到的查询结果数据展示在验真结果界面,并解析结果,生成报销明细数据,将所述报销明细数据及所述发票图像数据发送到云端服务器,用于报销查询调用。

由上述方案可见,本发明提供的发票验真方法主要包括三个步骤:票据采集步骤、票据验真步骤以及验真结果处理步骤。票据采集步骤得到发票图像数据后,提取出发票数据,票据验真步骤根据发票数据调用查询接口,调用各省市的国税、地税发票查询系统,实现将所有省市国地税发票查询系统集为一体,并从发票查询系统中得到查询结果数据,验真结果处理步骤把查询结果数据生成报销系统相关的报销明细数据并传送到云端服务器保存。此外,验真结果处理步骤还生成与原始纸质票据相同比例的高清电子化图像数据,并上传到云端服务器,而无需再进行票据的扫描。方便报销查询时调用。

一个方案中,票据采集步骤包括在移动设备获取原始图像数据后执行发票图像获取步骤,将原始图像数据进行图像处理,将发票图像数据从原始图像数据中分离。

由上述方案可见,由于移动设备获取的原始图像数据中除了包含有发票图像数据外,还包含有发票图像周围的环境图像数据,为了获得发票图像数据,需利用图片压缩、均值漂移图像分割算法、二值化处理、自动检测阀值以及边缘检测算法对原始图像进行预处理,最终再通过投影变换,图片裁剪得到发票图像,将发票图像数据分离出来。

进一步的方案中,票据采集步骤还包括执行发票图像获取步骤后执行发票模板定位步骤,利用查找椭圆的方法在发票图像数据中确认发票专用章,并根据发票专用章匹配发票模板。

由此可见,由于同一类型的发票使用是相同大小的椭圆印章,通过查找椭圆的方法可获取发票专用章的类型及大小,通过印章大小以及图像的分辨率,可通过比例换算得出真实发票的物理尺寸,进而匹配该类型发票的模板。

更进一步的方案中,票据采集步骤还包括执行发票模板定位步骤后执行发票数据提取步骤,根据发票模板,定位发票图像数据中各个待验证项目的所在位置,再通过ocr技术提取出所述待验证项目的文字信息数据。优选的,发票数据为包括发票代码、发票号码、纳税人识别号、地点、金额和发票日期的信息数据。

由此可见,由于发票模板中已经定义好了各发票上面项目的位置、大小等信息,通过比例换算就可以定位各项目在发票图像上面的相对位置。从发票图像中把各项目所在位置的图像截取出来,再通过ocr技术提取出项目的文字信息。从而获得包括发票代码、发票号码、纳税人识别号、地点、金额和发票日期的信息数据,以便利用这些数据进行验真查询。

为了实现上述的另一目的,本发明提供的发票验真系统包括票据采集模块,通过移动设备获取发票的原始图像数据,并通过图像处理,将发票图像数据从原始图像数据中提取出来,根据发票图像数据进行发票数据采集;票据验真模块,根据票据采集步骤采集的发票数据确定发票的归属地,并配置对应的查询字段渲染查询界面,通过webview方式嵌入form表单,动态根据发票号码确认调用接口的服务地址和验证地址,并通过javascript代码抓取查询结果数据;验真结果处理模块,将查询结果数据展示在验真结果界面,并解析结果,生成报销明细数据,将报销明细数据及发票图像数据发送到云端服务器,用于报销查询调用。其中,票据采集模块包括发票图像获取模块,将所述原始图像数据进行图像处理,将所述发票图像数据从所述原始图像数据中分离;发票模板定位模块,利用查找椭圆的方法在所述发票图像数据中确认发票专用章,并根据所述发票专用章匹配发票模板;发票数据提取模块,根据所述发票模板,定位所述发票图像数据中各个待验证项目的所在位置,再通过ocr技术提取出所述待验证项目的文字信息数据。

由上述方案可见,本发明提供的发票验真系统可应用于移动设备,可移动办公,无需固定场所,只需连上互联网就能随时随地完成验真业务。该系统集成全国所有省市国税、地税发票查询系统接口,统一规范查询界面,简化操作流程,通过发票代码自动确认发票类型及发票归属地,并根据归属地调用对应的发票查询系统接口,无需像使用pc端一样,查询不同归属地的票据需要切换不同网站。该系统可通过拍照,提取发票图像,识别票据信息,自动输入查询信息,不需要手动输入,全过程只需要3秒至5秒就可以完成查询条件输入,并得到发票电子化图像。同时,验真后抓取回来的验真结果经过分析,可得到明细数据供报销查询使用。财务人员只需要进行查询调用即可,给财务人员查询发票减轻工作量。

附图说明

图1是本发明发票验真系统实施例的结构框图。

图2是本发明发票验真方法实施例的流程图。

图3是本发明发票验真方法实施例中票据采集步骤的流程图。

以下结合附图及实施例对本发明作进一步说明。

具体实施方式

如图1所示,本发明的发票验真系统包括票据采集模块1、票据验真模块5以及验真结果处理模块6,其中票据采集模块1包括发票图像获取模块2、发票模板定位模块3以及发票数据提取模块4。本发票验真系统应用于移动终端设备,优选的,移动终端设备为安卓系统的移动设备。

在需要进行发票验真时,首先利用移动设备获取原始图像数据,如利用拍照、数据传输等方式获取图像数据。由于移动设备获取的原始图像数据中除了包含有发票图像数据外,还包含有发票图像周围的环境图像数据。因此,在获得原始图像数据后,发票图像获取模块2先将图像进行缩放并把图像从4通道图像转成3通道图像。接着使用均值漂移分割算法得到平滑边界浅析的图像后,再对图像进行二值化处理,转成灰度图。再接着通过canny边缘检测算法得到图像边缘,通过查找图像边缘的所有连通区域,在得到连通区域后遍历所有连通区域,针对每一个连通区域进行分析,找到只有四个顶点的多边形,并计算四个顶点组合成的线条的夹角,夹角的cosine值在0至0.3之间则认为是直角,接着计算四边形面积,找到最大面积的矩形为目标发票图像区域。最后通过投影变换、图像裁剪得到发票图像,从而把发票图像数据从原始图像数据中抽离出来。

得到发票图像数据后,发票模板定位模块3通过查找椭圆的方法找到相应发票图像上的全国统一的发票专用章。由于同一类型的发票使用是相同大小的椭圆印章,且发票图像数据上的印章的像素尺寸和发票的实际尺寸成一个比例,通过一系列换算可以得到发票的实际物理尺寸,从而可匹配出该类型发票对应的模板。

由于发票模板中已经定义好了各发票上面项目的位置、大小等信息,发票信息提取模块4通过比例换算就可以定位各项目在发票图像上面的相对位置。从发票图像中把各项目所在位置的图像截取出来,再通过ocr技术提取出项目的文字信息。从而获得包括发票代码、发票号码、纳税人识别号、地点、金额和发票日期的信息数据,即发票数据,以便利用这些数据进行验真查询。

在发票数据提取模块4获取到发票数据后,在客户端已经配置好的全国各省市的发票城市代码、调用服务地址、验证码地址、查询条件字段定义、服务网站反馈结果抓取javascript代码以及发票类型等基础上,票据验真模块5通过比对抽取的发票代码的字符可得到城市代码,从而得到发票的归属地。例如:发票代码244041507030,其中第1位数字1代表国税,数字2代表地税;第2、3位数字合起来代表省份,44即代表广;第4、5位数字合起来代表市区,04即代表珠海。

票据验真模块5定位到发票归属地后,可得到相应的发票类型以及相应的查询字段、查询服务地址,通过动态创建查询字段,可得到查询界面。票据验真模块5接着通过webview方式嵌入form表单,动态根据发票号码确认调用接口的服务地址和验证地址,并抓取查询结果数据。票据验真过程如下:首先初始化webview组件并加载本地html,如果有验证码的查询,webview组件先加载内置的yzm.html以显示验证码,并注册android回调接口用于查询结果抽取。在查询的时候,webview组件通过loadurl加载内置的query.html并调用query.html中已经定义好的query(url)接口,提交查询服务地址,query函数负责动态创建form表单和设置action地址,并向对应的省市的国税、地税发票查询网站提交服务请求。第一次查询的时候先通过http请求服务得到服务器返回的jsessionid,用于验证。在webview组件向对应的省市的国税、地税发票查询网站的服务器提交服务请求且网页页面加载完毕后,通过调用注册的回调接口,利用动态抓取javascript代码,从由服务器端返回的html中抓取相应查询结果数据。

票据验真模块5抓取到相应查询结果数据后,验真结果处理模块6通过分析,得到包括发票代码、发票号码、纳税人识别号、地点、金额和发票日期的信息数据,并按规则生成报销系统所需要的明细数据传送到云端服务器。此外,验真结果处理模块6还将发票图像数据生成与原始纸质票据相同比例的高清电子化图像数据,并上传到云端服务器,从而无需再进行票据的扫描。方便报销查询时调用。

下面结合图2和图3对本发明提供的发票验真系统的工作过程进行描述。在利用本系统对发票进行验真时,首先需要获取发票图像数据,可利用移动设备的拍照以及数据传输等方式获取原始图像数据,在票据采集模块1获得原始图像数据后执行票据采集步骤s1。在票据采集模块1中,首先发票图像获取模块2执行发票图像获取步骤s4,发票图像获取模块2先将图像进行缩放,接着对原始图像数据进行均值漂移图像分割算法处理,再接着对图像进行二值化处理,将图像灰度化,接着计算图像直方图,得到图像边缘检测的最高阀值和最低阀值,再通过边缘检测算法找到发票上各个多边形连通区域,从查找出来的多边形连通区域数组中,通过矩形近似的方法,计算找出4个角度为90度的夹角,并通过计算多边形的面积,在多边形面积中最大的多边形为需要查找的目标,即发票图像区域。最后通过投影变换、图像裁剪得到发票图像,从而把发票图像数据从原始图像数据中抽离出来。

得到发票图像数据后,发票模板定位模块3执行发票模板定位步骤s5,通过查找椭圆的方法找到相应发票图像上的全国统一的发票专用章。由于同一类型的发票使用是相同大小的椭圆印章,且发票图像数据上的印章的像素尺寸和发票的实际尺寸成一个比例,通过一系列换算,可以得到发票的实际物理尺寸,从而可匹配出该类型发票对应的模板。

在确定发票模板后,发票数据提取模块4执行发票数据提取步骤,由于发票模板中已经定义好了各发票上面项目的位置、大小等信息,通过比例换算就可以定位各项目在发票图像上面的相对位置。再通过ocr技术提取出各项目的文字信息数据。以便利用这些数据进行验真查询。

根据票据采集模块采集的发票数据,票据验真模块5执行票据验真步骤s2,确定发票的归属地,并配置对应的查询字段渲染查询界面,通过webview方式嵌入form表单,动态根据发票号码确认调用接口的服务地址和验证地址,并通过javascript代码抓取查询结果数据。

最后,验真结果处理模块6执行验真结果处理步骤s3,将票据验真模块5抓取查询结果数据展示在验真结果界面,并解析结果,生成报销明细数据,同时,把票据电子化图像数据和明细数据上传到云端服务器,供报销系统查询调用。

从上述的实施例中可以看到,本发明提供的发票验真系统可应用于移动设备,可移动办公,无需固定场所,只需连上互联网就能随时随地完成验真业务。该系统集成全国所有省市国税、地税发票查询系统接口,统一规范查询界面,简化操作流程,通过发票代码自动确认发票类型及发票归属地,并根据归属地调用对应的发票查询系统接口,无需像使用pc端一样,查询不同归属地的票据需要切换不同网站。该系统可通过拍照,提取发票图像,识别票据信息,自动输入查询信息,不需要手动输入,全过程只需要3秒至5秒就可以完成查询条件输入,并得到发票电子化图像。同时,验真后抓取回来的验真结果经过分析,可得到明细数据供报销查询使用。财务人员只需要进行查询调用即可,给财务人员查询发票减轻工作量。

需要说明的是,以上仅为本发明的优选实施例,但发明的设计构思并不局限于此,凡利用此构思对本发明做出的非实质性修改,也均落入本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1