电子发票生成方法、系统、计算机设备和存储介质与流程

文档序号:15079434发布日期:2018-08-03 12:05阅读:442来源:国知局

本发明涉及计算机技术领域,尤其涉及一种电子发票生成方法、系统、计算机设备和存储介质。



背景技术:

电子发票是指在购销商品、提供或者接受服务以及从事其他经营活动中,开具、收取的以电子方式存储的收付款凭证。电子发票应具备纸质发票的相关法律属性,以及符合档案管理的基本属性,需要满足相关的法律法规的要求。根据以上要求,电子发票采用带有税务局和开票方电子印章的版式数据文件的展现形式,保证电子发票的真实性、完整性。

当前市场发票数据的监控主要针对的是企业开发的数据采集监控管理系统,拥有POS系统和后台MIS数据库管理系统,还存在多种增值税税控发票系统。但缺乏自动获取发票数据或者只获取一种发票系统中的数据,并且只能依赖用户选择,才能识别当前正在使用的税控系统。税控系统主要应用于增值税领域,其税控系统是由四个子系统构成,分别为税务发行子系统、企业发行子系统、防伪开票子系统和认证报税子系统。税务发行子系统是对下级税务发行子系统、下级企业发行子系统及下级认证报税子系统进行发行,企业发行子系统是对企业开票子系统进行初始发行和向企业发售专用发票,认证报税子系统是接收企业的抄税数据并对发票的真伪进行辨别。而税控发票是通过税控收款机系列产品打印,并带有税控码等要素内容的发票。当前的税控发票系统,无法实现自动抓取发票数据或者只抓取一种发票系统数据的作用,并且不能自动识别当前正在使用的税控系统,仅仅只能依赖于用户选择,才能识别当前正在使用的税控系统。



技术实现要素:

本发明目的在于提出一种电子发票生成方法、系统、计算机设备和存储介质,以解决上述背景技术中的缺乏自动获取发票数据或者只获取一种发票系统中的数据后只能依赖用户选择,才能识别当前正在使用的税控系统的不足之处。

为了实现上述目的,本发明提供如下技术方案:

一种电子发票的生成方法,其特征在于,包括以下步骤:

获取待开发票的数据;将所述待开票数据存储到数据库缓存;

从所述数据库缓存中存储的所述待开票数据中提取目标开票数据;

调用税控设备开具所述目标开票数据对应的目标发票。

在其中一个实施例中,所述从所述数据库缓存中存储的所述待开票数据中提取目标开票数据具体包括:按设定的采集时间间隔,以定期轮询的方式采集所述待开票数据,并提取目标开票数据。

在其中一个实施例中,所述从所述数据库缓存中存储的所述待开票数据中提取目标开票数据之后,还包括将数据结果格式化为JSON格式并加密保存。

在其中一个实施例中,所述方法还包括利用RSA公钥加密算法生成在所述目标发票上的唯一交易水印,所述RSA公钥算法具体为:

获取公钥中的N,随机取两个不同的素数,p和q,N=p*q;

求出L的值为(p-1)和(q-1)的最小公倍数,L=lcm((p-1),(q-1));

求出一个随机的公钥E,即求出一个与L互质的数E,有gcd(E,L)=1;

求出一个随机密钥D,密钥D应满足(D*E)mod L=1。

在其中一个实施例中,所述方法还包括:将所述目标发票的报送数据上传至税务局的后台服务器,税务局的后台服务器根据接收到的报送数据,对与该税控服务器相对应的管理信息进行更新,并将新的管理信息返回至税控服务器,以供业务查询。

在其中一个实施例中,所述方法还包括采用向税务系统发送JSON格式报文的方式进行电子发票的冲销。

基于相同的技术构思,本发明还提供一种电子发票的生成系统,所述电子发票的生成系统,包括:获取模块,用于获取待开发票的数据;存储模块,用于将所述待开票数据存储到数据库缓存;提取模块,用于从所述数据库缓存中存储的所述待开票数据中提取目标开票数据;开票模块,用于调用税控设备开具所述目标开票数据对应的目标发票。

在其中一个实施例中,所述提取模块还用于:按设定的采集时间间隔,以定期轮询的方式采集所述待开票数据,并提取目标开票数据。

基于相同的技术构思,本发明还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述电子发票生成方法的步骤。

基于相同的技术构思,本发明还提供一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述电子发票生成方法的步骤。

上述电子发票生成方法、系统、计算机设备和存储介质,获取待开发票的数据,将所述待开票数据存储到数据库缓存,按设定的采集时间间隔,以定期轮询的方式采集所述数据库缓存中存储的所述待开票数据,并提取目标开票数据,调用税控设备开具所述目标开票数据对应的目标发票,能动态控制数据采集的时间点和数据量,无需用户选择,实现用户的零感知,数据采集采用多维度动态控制,完成多个税控系统数据的格式统一化。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。

图1为本发明一个实施例中提供的电子发票生成方法的实施环境图;

图2为本发明一个实施例中计算机设备的内部结构框图;

图3为本发明一个实施例中便携式设备相关的手机的部分结构框图;

图4为本发明一个实施例中电子发票生成方法的流程图;

图5为本发明一个实施例中电子方面生成系统的结构框图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。

图1为一个实施例中提供的电子发票生成方法的实施环境图,如图1所示,在该实施环境中,包括开票端以及税务端,在开票端设置有两台服务器,服务器101,服务器102,服务器101安装了电子发票生成系统,另一台服务器102可安装电子印章系统(数字证书UKey,电子图章),在另外一个实施例中提供的实施环境两台服务器可合二为一,电子发票生成系统生成电子发票后PDF文件后,通过网络传递给电子印章系统,电子印章系统对该PDF文件加盖企业电子发票专用章后,再回传给电子发票开票系统。电子发票开票系统通过互联网络,采用加密方式把带企业电子发票专用章的PDF文件安全传递到税局端。

在税务端设置有两台服务器,服务器103和服务器104,服务器103可安装有税局端电子发票管理系统,服务器104可安装税局端电子印章系统,在另外一个实施例中提供的实施环境两台服务器可合二为一,税局端电子发票管理系统接收到企业上传的电子发票PDF文件后,先用企业数字证书公钥验证PDF文件电子印章,验证无误后把该电子发票PDF文件通过网络传递给税务端的电子印章系统,电子印章系统对该PDF文件加盖税务局的电子发票监制章,然后回传给电子发票管理系统进行归档保存。

税局端电子发票管理系统在互联网上提供带税务局、企业双方电子印章的电子发票PDF文件查询和下载链接,开票方和受票方经过授权后可使用计算机设备105和便携式移动设备106查询、下载该电子发票PDF文件,在查阅该电子发票PDF文件时,系统自动用税务局和开票企业的公钥验证该文件是否被篡改,并在系统界面上自动显示验证结果。

图2为一个实施例中计算机设备的内部结构框图。如图2所示,该计算机设备包括通过系统总线连接的处理器、非易失性存储介质、存储器和网络接口。其中,该计算机设备的非易失性存储介质存储有操作系统、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器执行时,可使得处理器实现查询、下载和验证电子发票。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该计算机设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行查询、下载和验证电子发票。该计算机设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图2中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

图3示出的是一个实施例提供的便携式设备相关的手机的部分结构的框图。参考图3,手机包括:基带处理模块210、存储器220、输入单元230、显示单元240、传感器250、音频电路260、无线保真(Wireless Fidelity,WiFi)模块270、处理器280、以及电源290等部件。本领域技术人员可以理解,图3中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

基带处理模块210可用于合成即将发射的基带信号,或对接收到的基带信号进行解码。存储器220可用于存储软件程序以及模块,处理器280通过运行存储在存储器220的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器220可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。输入单元230可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元230可包括触控面板231以及其他输入设备232。显示单元240可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元240可包括显示面板241,可选的,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板241。手机还可包括至少一种传感器250,比如光传感器、运动传感器以及其他传感器。音频电路260、扬声器261,传声器262可提供用户与手机之间的音频接口。WiFi属于短距离无线传输技术,手机通过WiFi模块270可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图3示出了WiFi模块270,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。处理器280是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器220内的软件程序和/或模块,以及调用存储在存储器220内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。手机还包括给各个部件供电的电源290(比如电池)。尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。该设备终端所包括的处理器280可以执行实现查询、下载和验证电子发票。

作为一个较好的实施例,如图4所示,一种电子发票的生成方法,包括如下步骤:

S301,获取待开发票的数据;

获取待开发票的销售单数据集和销售单明细数据集,所述销售单数据集包括销售单金额、含税标志和开票限额,所述销售单明细数据集包括多个商品明细行,每个商品明细行包括商品名称、单价、数量、金额和税率。

S302,将待开票数据存储到数据库缓存;

将接收到的待开票数据统一存储到数据库缓存,以方便不同税控设备的调用。

S303,从数据库缓存中存储的待开票数据中提取目标开票数据;

从数据库缓存中提取该目标税控设备对应的待开票数据作为目标开票数据,基于mat文件形式的数据缓存功能,将缓存文件存储到硬盘,形成缓存文件管理系统,突破了内存缓存的容量限制。而且,将标准的矩阵数据缓存到mat文件,减少了数据加工转换的过程,节省了数据计算和存储的资源,大幅提升使用效率。

S304,调用税控设备开具目标开票数据对应的目标发票。

调用税控设备集中开票,发票类型支持增值税专用发票、增值税普通发票、机动车销售统一发票和货物运输业增值税专用发票四种发票。导入接口格式是指开票软件可接收的待开具发票信息的数据格式;导出接口格式是指开票软件导出已开具发票信息的数据格式。

在一个实施例中,从数据库缓存中存储的待开票数据中提取目标开票数据具体包括:按设定的采集时间间隔,以定期轮询的方式采集待开票数据,并提取目标开票数据。

根据采集时间间隔,启动定时器,由定时器触发采数动作,调用当前税控系统的API进行数据采集,每次采集的数据量由服务器参数控制。对数据采集进行多维度动态控制,即客户端借助于采集数量和采集时间间隔这两个参数进行,将采集数据和采集时间间隔这两个参数在后管平台服务器进行配置,通过客户端从服务器下载,或在服务器修改的方式,对数据采集进行动态控制。而采集数量、采集时间间隔和采集的数据之间的关系具体表现为采集数量越大,一次采集的数据越多;采集的时间间隔越短,采集的次数越多。

在一个实施例中,从数据库缓存中存储的待开票数据中提取目标开票数据之后,还包括将数据结果格式化为JSON格式并加密保存。

将数据结果格式化为JSON格式并加密保存,同时生成该更新文件对应的hash值校验码,如果生成的hash值校验码与本地已经存在的数据文件hash值校验码相同,则不替换更新文件,若生成的hash值校验码不同则将保存并替换各分体系最新更新文件,保存hash值校验码。JSON格式,全称是Java Script Object Notation,是一种轻量级的数据交换格式。JSON是给予ECMAScript的一个子集,采用完全独立于编程语言的文本格式来存储和表述数据,Jason格式,让读写更加容易,易于机器的解析和生成,能够通过JavaScript中eval函数解析JSON,支持多语言包括Action Script, C, C#, ColdFusion, E, Java, JavaScript, ML, Objective CAML, Perl, PHP, Python, Rebol, Ruby和 Lua。与与XML相比,JSON更加的简洁,方便检查排错,JSON更加轻量级,不管是编写,传输,还是解析都更加高效,JSON在传输过程中采用了压缩技术,更加的节省宽带,支持众多的语言,如javascript,python,C,C++等主流语言都支持。

在一个实施例中,还包括利用RSA公钥加密算法生成在目标发票上的唯一交易水印。

通过RSA公钥加密算法(RSA公钥加密算法基于一个十分简单的数论事实:将两个大素数相乘十分容易,但是想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。RSA密钥长度随着保密级别提高,增加很快)在新电子发票上生成唯一的交易水印,以保证其不可抵赖性,RSA算法的过程为:

N=p*q,其中p和q是素数,L为(p-1)和(q-1)的公倍数,L=lcm((p-1),(q-1))(由欧拉函数得出)。E为与L互质的随机数,D是使得(D*E)mod L =1的数。M为明文,E为加密后的密文,{E,N}为公钥,可以公开,{D,N}为私钥由自己保管。甲向乙发送自己的公钥,乙用公钥加密后,将密文发送给甲,甲用私钥解密,得到密文。

加密算法为:E=ME mod N。

解密算法为:M=ED mod N。

其中有M与E小于N,均大于0。

在一个实施例中,还包括:将目标发票的报送数据上传至税务局的后台服务器,税务局的后台服务器根据接收到的报送数据,对与该税控服务器相对应的管理信息进行更新,并将新的管理信息返回至税控服务器,以供业务查询。

税控服务器生成报送数据,并将报送数据写入纳税人的报税盘中;税务局将报税盘中的报送数据写入其后台服务器;税务局通过其后台服务器根据接收到的报送数据,对与该税控服务器相对应的管理信息进行更新,并将新的管理信息写入报税盘中;将报税盘中的新的管理信息写入纳税人的税控服务器中。这种情况对应于未开展网络报税的地区,即纳税人可以通过线下的方式进行报税。另外,需要说明的是,税务局除了会将新的管理信息写入报税盘之外,还会写入新的空白发票段、时间校准因子等其它信息。

在一个实施例中,还包括采用向税务系统发送JSON格式报文的方式进行电子发票的冲销。

通过利用RSA公钥加密算法在新电子交易发票上生成唯一的交易水印,从而能够保证电子发票的不可抵赖性,而采用向税务系统发送JSON格式报文的方式进行电子发票的冲销则是通过商家退货后利用一定格式的报文向税务系统冲销相应电子发票,从而能够保证电子发票上权利存续的确定性,避免权利被滥用,也有利于国家对电子发票的监管。

基于相同的技术构思,本发明还提供一种电子发票的生成系统,如图5所示,所述电子发票的生成系统包括:获取模块,用于获取待开发票的数据;存储模块,用于将所述待开票数据存储到数据库缓存;提取模块,用于从所述数据库缓存中存储的所述待开票数据中提取目标开票数据;开票模块,用于调用税控设备开具所述目标开票数据对应的目标发票。

在一个实施例中,所述提取模块还用于:按设定的采集时间间隔,以定期轮询的方式采集所述待开票数据,并提取目标开票数据。

在一个实施例中,所述从所述数据库缓存中存储的所述待开票数据中提取目标开票数据之后,还包括将数据结果格式化为JSON格式并加密保存。

在一个实施例中,所述转化模块还用于:利用RSA公钥加密算法生成在所述目标发票上的唯一交易水印。

基于相同的技术构思,本发明还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行所述计算机程序时实现以下步骤:获取待开发票的数据,将所述待开票数据存储到数据库缓存,从所述数据库缓存中存储的所述待开票数据中提取目标开票数据,调用税控设备开具所述目标开票数据对应的目标发票。

在一个实施例中,从数据库缓存中存储的待开票数据中提取目标开票数据包括:按设定的采集时间间隔,以定期轮询的方式采集待开票数据,并提取目标开票数据。

在一个实施例中,所述从所述数据库缓存中存储的所述待开票数据中提取目标开票数据之后,还包括将数据结果格式化为JSON格式并加密保存。

在一个实施例中,还包括利用RSA公钥加密算法生成在目标发票上的唯一交易水印,所述RSA公钥算法具体为:

获取公钥中的N,随机取两个不同的素数,p和q,N=p*q;

求出L的值为(p-1)和(q-1)的最小公倍数,L=lcm((p-1),(q-1));

求出一个随机的公钥E,即求出一个与L互质的数E,有gcd(E,L)=1;

求出一个随机密钥D,密钥D应满足(D*E)mod L=1。

在一个实施例中,还包括:将目标发票的报送数据上传至税务局的后台服务器,税务局的后台服务器根据接收到的报送数据,对与该税控服务器相对应的管理信息进行更新,并将新的管理信息返回至税控服务器,以供业务查询。

在一个实施例中,还包括采用向税务系统发送JSON格式报文的方式进行电子发票的冲销。

基于相同的技术构思,本发明还提供一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行以下步骤:获取待开发票的数据,将所述待开票数据存储到数据库缓存,从所述数据库缓存中存储的所述待开票数据中提取目标开票数据,调用税控设备开具所述目标开票数据对应的目标发票。

在一个实施例中,从数据库缓存中存储的待开票数据中提取目标开票数据包括:按设定的采集时间间隔,以定期轮询的方式采集待开票数据,并提取目标开票数据。

在一个实施例中,还包括利用RSA公钥加密算法生成在目标发票上的唯一交易水印,所述RSA公钥算法具体为:

获取公钥中的N,随机取两个不同的素数,p和q,N=p*q;

求出L的值为(p-1)和(q-1)的最小公倍数,L=lcm((p-1),(q-1));

求出一个随机的公钥E,即求出一个与L互质的数E,有gcd(E,L)=1;

求出一个随机密钥D,密钥D应满足(D*E)mod L=1。

在一个实施例中,还包括:将目标发票的报送数据上传至税务局的后台服务器,税务局的后台服务器根据接收到的报送数据,对与该税控服务器相对应的管理信息进行更新,并将新的管理信息返回至税控服务器,以供业务查询。

在一个实施例中,还包括采用向税务系统发送JSON格式报文的方式进行电子发票的冲销。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器 (ROM ,Read Only Memory) 、随机存取存储器 (RAM ,Random Access Memory)、磁盘或光盘等。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明一些示例性实施例,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

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