CN110599272B - 一种开具电子发票的方法和相关产品 - Google Patents

一种开具电子发票的方法和相关产品 Download PDF

Info

Publication number
CN110599272B
CN110599272B CN201910894705.5A CN201910894705A CN110599272B CN 110599272 B CN110599272 B CN 110599272B CN 201910894705 A CN201910894705 A CN 201910894705A CN 110599272 B CN110599272 B CN 110599272B
Authority
CN
China
Prior art keywords
invoice
service provider
spv node
node
spv
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910894705.5A
Other languages
English (en)
Other versions
CN110599272A (zh
Inventor
郑罗海
张建俊
陈湖佳
莫洋
郭明远
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910894705.5A priority Critical patent/CN110599272B/zh
Publication of CN110599272A publication Critical patent/CN110599272A/zh
Application granted granted Critical
Publication of CN110599272B publication Critical patent/CN110599272B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/04Billing or invoicing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/10Tax strategies

Landscapes

  • Business, Economics & Management (AREA)
  • Development Economics (AREA)
  • Accounting & Taxation (AREA)
  • Engineering & Computer Science (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Economics (AREA)
  • Theoretical Computer Science (AREA)
  • Technology Law (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本发明实施例公开了一种开具电子发票的方法,包括:接收服务商SPV节点发送的开票请求,根据所述服务商SPV节点标识,获取与所述服务商SPV节点标识对应的发票数据;分别对所述发票数据以及所述服务商SPV节点的消费金额进行校验;当所述发票数据以及所述服务商SPV节点的消费金额校验通过,则将所述发票数据以及所述服务商SPV节点的消费金额对应存储在各共识节点以及税局SPV节点上;根据所述发票数据和所述消费金额生成电子发票,并将所述电子发票发送至所述服务商SPV节点,以响应所述开票请求。通过该手段,根据服务商SPV节点标识获取相应的发票数据,并根据消费金额直接生成电子发票,十分方便,且数据安全、可靠、有保障,用户体验好。

Description

一种开具电子发票的方法和相关产品
技术领域
本发明涉及计算机技术领域,尤其涉及一种开具电子发票的方法和相关产品。
背景技术
目前,开具电子发票是消费者在商家进行相应消费后,通过商家进而获取相应发票,消费者无法自己向税局请求获取发票,然而商家有时候较忙,等待开具发票时间比较久,因此十分不方便。
发明内容
本申请实施例提供一种开具电子发票的方法和相关产品,能够提高获取发票的效率。
本申请实施例的第一方面提供了一种开具电子发票的方法,应用于区块链系统,包括:
接收服务商SPV节点发送的开票请求,所述开票请求携带所述服务商SPV节点标识和消费金额,所述开票请求用于指示获取与所述服务商SPV节点标识匹配的电子发票;
根据所述服务商SPV节点标识,获取与所述服务商SPV节点标识对应的发票数据;
分别对所述发票数据以及所述服务商SPV节点的消费金额进行校验;
当所述发票数据以及所述服务商SPV节点的消费金额校验通过,则将所述发票数据以及所述服务商SPV节点的消费金额对应存储在各共识节点以及税局SPV节点上;
根据所述发票数据和所述消费金额生成电子发票,并将所述电子发票发送至所述服务商SPV节点,以响应所述开票请求。
可选的,所述发票数据包括发票代码,所述根据所述服务商SPV节点标识,获取与所述服务商SPV节点标识对应的发票数据,包括:
根据所述服务商SPV节点标识获取所述服务商SPV节点对应的位置信息;
获取与所述位置信息匹配的代码;
将所述代码记为所述服务商SPV节点对应的发票代码。
可选的,所述发票数据还包括发票号码,所述将所述代码记为所述服务商SPV节点对应的发票代码之后,还包括:
从发票库中获取与所述发票代码相同的M个票据,其中,M为正整数;
获取所述M个票据中未开具电子发票的N个票据,其中,N为正整数;
获取所述N个票据的号码;
从所述N个票据的号码中获取第K个号码,并将所述第K个号码记为所述服务商SPV节点对应的发票号码,其中,K为正整数。
可选的,所述从所述N个票据的号码中获取第K个号码,包括:
将所述N个票据的号码按照大小顺序进行排序,其中,所述第K个号码为排序所得的N个号码中最小的号码;
或者,所述第K个号码为排序所得的N个号码中最大的号码;
或者,获取所述服务商SPV节点标识对应的节点等级,根据所述节点等级获取所述排序所得的N个号码中的第K个,其中所述节点等级与所述号码一一对应。
可选的,所述对所述发票数据进行校验,包括:
获取已开发票库中已开发票的发票代码与所述服务商SPV节点对应的发票代码相同的电子发票,并将所得结果记为第一电子发票;
获取所述第一电子发票的发票号码;
确认所述第一电子发票的发票号码中是否包含所述服务商SPV节点对应的发票号码。
可选的,所述对所述服务商SPV节点的消费金额进行校验,包括:
获取所述服务商SPV节点标识对应的服务商SPV节点在预设时间内的支付成功信息;
从所述支付成功信息中获取支付金额;
确认所述消费金额是否与所述支付金额一致。
本申请实施例的第二方面提供了一种开具电子发票的系统,包括:
接收开票请求模块,用于接收服务商SPV节点发送的开票请求,所述开票请求携带所述服务商SPV节点标识和消费金额,所述开票请求用于指示获取与所述服务商SPV节点标识匹配的电子发票;
获取发票数据模块,用于根据所述服务商SPV节点标识,获取与所述服务商SPV节点标识对应的发票数据;
信息校验模块,用于分别对所述发票数据以及所述服务商SPV节点的消费金额进行校验;
数据存储模块,用于当所述发票数据以及所述服务商SPV节点的消费金额校验通过,则将所述发票数据以及所述服务商SPV节点的消费金额对应存储在各共识节点以及税局SPV节点上;
发送发票模块,用于根据所述发票数据和所述消费金额生成电子发票,并将所述电子发票发送至所述服务商SPV节点,以响应所述开票请求。
可选的,所述发票数据包括发票代码,所述获取发票数据模块,用于:
根据所述服务商SPV节点标识获取所述服务商SPV节点对应的位置信息;获取与所述位置信息匹配的代码;将所述代码记为所述服务商SPV节点对应的发票代码。
本申请实施例的第三方面提供了一种终端,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行所述的方法。
本申请实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现所述的方法。
实施本申请实施例,至少具有如下有益效果:
通过本申请实施例,通过接收服务商SPV节点发送的开票请求,根据服务商SPV节点标识,获取与所述服务商SPV节点标识对应的发票数据;通过对所述发票数据以及所述服务商SPV节点的消费金额进行校验;当校验通过,则将发票数据以及消费金额对应存储在各共识节点以及税局SPV节点上,进而根据所述发票数据和所述消费金额生成电子发票。通过该手段,根据服务商SPV节点标识获取相应的发票数据,并根据消费金额直接生成电子发票,十分方便,且数据安全、可靠、有保障,用户体验好。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
其中:
图1A为本发明实施例提供的一种数据共享系统的示意图;
图1B为本发明实施例提供的一种区块链的示意图;
图1C为本发明实施例提供的一种区块链生成的过程的示意图;
图2是本发明实施例提供的一种开具电子发票的方法的交互示意图;
图3是本发明实施例提供的一种开具电子发票的方法的流程示意图;
图4是本发明实施例提供的一种开具电子发票的方法的流程示意图;
图5是本发明实施例提供的一种终端的结构示意图;
图6是本发明实施例提供的一种开具电子发票的系统的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本申请所描述的实施例可以与其它实施例相结合。
本发明实施例的相关技术提及:区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
其中,SPV是“Simplified Payment Verification”(简单支付验证)的缩写。简单支付验证(SPV)充分利用了区块的结构信息及默克树的强大搜索能力,从而能实现对交易信息的快速定位。
参见图1A所示的数据共享系统,数据共享系统100是指用于进行节点与节点之间数据共享的系统,该数据共享系统中可以包括多个节点101,多个节点101可以是指数据共享系统中各个客户端。每个节点101在进行正常工作可以接收到输入信息,并基于接收到的输入信息维护该数据共享系统内的共享数据。为了保证数据共享系统内的信息互通,数据共享系统中的每个节点之间可以存在信息连接,节点之间可以通过上述信息连接进行信息传输。例如,当数据共享系统中的任意节点接收到输入信息时,数据共享系统中的其他节点便根据共识算法获取该输入信息,将该输入信息作为共享数据中的数据进行存储,使得数据共享系统中全部节点上存储的数据均一致。
对于数据共享系统中的每个节点,均具有与其对应的节点标识,而且数据共享系统中的每个节点均可以存储有数据共享系统中其他节点的节点标识,以便后续根据其他节点的节点标识,将生成的区块广播至数据共享系统中的其他节点。每个节点中可维护一个如下表所示的节点标识列表,将节点名称和节点标识对应存储至该节点标识列表中。其中,节点标识可为IP(Internet Protocol,网络之间互联的协议)地址以及其他任一种能够用于标识该节点的信息,表1中仅以IP地址为例进行说明。
表1
节点名称 节点标识
节点1 117.114.151.174
节点2 117.116.189.145
节点N 119.123.789.258
数据共享系统中的每个节点均存储一条相同的区块链。区块链由多个区块组成,参见图1B,区块链由多个区块组成,创始块中包括区块头和区块主体,区块头中存储有输入信息特征值、版本号、时间戳和难度值,区块主体中存储有输入信息;创始块的下一区块以创始块为父区块,下一区块中同样包括区块头和区块主体,区块头中存储有当前区块的输入信息特征值、父区块的区块头特征值、版本号、时间戳和难度值,并以此类推,使得区块链中每个区块中存储的区块数据均与父区块中存储的区块数据存在关联,保证了区块中输入信息的安全性。
在生成区块链中的各个区块时,参见图1C,区块链所在的节点在接收到输入信息时,对输入信息进行校验,完成校验后,将输入信息存储至内存池中,并更新其用于记录输入信息的哈希树;之后,将更新时间戳更新为接收到输入信息的时间,并尝试不同的随机数,多次进行特征值计算,使得计算得到的特征值可以满足下述公式:
SHA256(SHA256(version+prev_hash+merkle_root+ntime+nbits+x))<TARGET其中,SHA256为计算特征值所用的特征值算法;version(版本号)为区块链中相关区块协议的版本信息;prev_hash为当前区块的父区块的区块头特征值;merkle_root为输入信息的特征值;ntime为更新时间戳的更新时间;nbits为当前难度,在一段时间内为定值,并在超出固定时间段后再次进行确定;x为随机数;TARGET为特征值阈值,该特征值阈值可以根据nbits确定得到。
这样,当计算得到满足上述公式的随机数时,便可将信息对应存储,生成区块头和区块主体,得到当前区块。随后,区块链所在节点根据数据共享系统中其他节点的节点标识,将新生成的区块分别发送给其所在的数据共享系统中的其他节点,由其他节点对新生成的区块进行校验,并在完成校验后将新生成的区块添加至其存储的区块链中。
本方案为了解决目前开具电子发票是消费者在商家进行相应消费后,通过商家进而获取相应发票,商家有时候较忙,等待开具发票时间比较久。消费者却无法自己向税局请求获取发票,由于消费者独自向税局发送获取发票请求时,相关数据的真实性没有保障,因此十分不方便的问题,为此提出了一种开具电子发票的方法,应用于区块链系统,其中,该区块链系统包括共识节点,还包括税局SPV节点等,其中,税局SPV节点可管辖对应区域范围的服务商SPV节点。上述税局SPV节点可以代表不同地方的税局,上述服务商SPV节点可以为不同商家或者消费者。
请参阅图2,图2为本申请实施例提供了一种开具电子发票的方法的交互示意图。如图2所示,其可包括区块链管理装置,该区块链管理装置可以是用于报税的服务器等,该区块链管理装置包括若干共识节点101和若干税局SPV节点102,该交互还包括服务商SPV节点103。其中,区块链管理装置接收服务商SPV节点103发送的开票请求,所述开票请求携带所述服务商SPV节点标识和消费金额,所述开票请求用于指示获取与所述服务商SPV节点标识匹配的电子发票;所述区块链管理装置根据所述服务商SPV节点标识,获取与所述服务商SPV节点标识对应的发票数据;所述区块链管理装置分别对所述发票数据以及所述服务商SPV节点103的消费金额进行校验;当所述发票数据以及所述服务商SPV节点的消费金额校验通过,则所述区块链管理装置将所述发票数据以及所述服务商SPV节点103的消费金额对应存储在各共识节点101以及税局SPV节点102上;所述区块链管理装置根据所述发票数据和所述消费金额生成电子发票,并将所述电子发票发送至所述服务商SPV节点103,以响应所述开票请求。本申请通过接收服务商SPV节点发送的开票请求,根据服务商SPV节点标识,获取与所述服务商SPV节点标识对应的发票数据;通过对所述发票数据以及所述服务商SPV节点的消费金额进行校验;当校验通过,则将发票数据以及消费金额对应存储在各共识节点以及税局SPV节点上,进而根据所述发票数据和所述消费金额生成电子发票。通过该手段,根据服务商SPV节点标识获取相应的发票数据,并根据消费金额直接生成电子发票,十分方便,且数据安全、可靠、有保障,用户体验好。
请参阅图3,图3为本申请实施例提供了一种开具电子发票的方法的流程示意图。如图3所示,应用于区块链系统,该区块链系统包括共识节点,还包括税局SPV节点等,其中,税局SPV节点可管辖对应区域范围的服务商SPV节点。上述税局SPV节点可以代表不同地方的税局,上述服务商SPV节点可以为不同消费者等。该方法可包括步骤301-305,具体如下:
301、接收服务商SPV节点发送的开票请求,所述开票请求携带所述服务商SPV节点标识和消费金额,所述开票请求用于指示获取与所述服务商SPV节点标识匹配的电子发票;
上述服务商SPV节点可以包括消费者终端,进一步也可以为商家终端等。
区块链管理装置接收服务商SPV节点发送的开票请求。其中,区块链管理装置可以是用于开具电子发票的服务器等。
上述节点标识可为IP地址,或者其他任一种能够用于标识该节点的信息。
302、根据所述服务商SPV节点标识,获取与所述服务商SPV节点标识对应的发票数据;
其中,上述服务商SPV节点标识可携带相应的位置信息,或者发起请求的时间信息,或者请求的发票的类型信息等等。
发票数据即为电子发票上原本的数字信息,如可包括发票代码。其中发票代码可以为12位阿拉伯数字。可选的,该12位数字从左至右排列:第1位为国家税务局、地方税务局代码,1为国家税务局、2为地方税务局,0为总局。第2、3、4、5位为地区代码(地、市级),以全国行政区域统一代码为准,总局为0000。第6、7位为年份代码(例如2004年以04表示)。(印刷年份可以跨年使用)第8位为统一的行业代码,其中,国税行业划分:1工业、2商业、3加工修理修配业、4收购业、5水电业、6其他;地税行业划分:1交通运输业、2建筑业、3金融保险业、4邮电通信业、5文化体育业、6娱乐业、7服务业、8转让无形资产、9销售不动产、0表示其他。第9、10、11、12位为细化的发票种类代码,按照保证每份发票编码唯一的原则,由省、自治区、直辖市和计划单列市国家税务局、地方税务局自行编制。
作为一种可选的实施例,所述发票数据包括发票代码,所述根据所述服务商SPV节点标识,获取与所述服务商SPV节点标识对应的发票数据,包括:
根据所述服务商SPV节点标识获取所述服务商SPV节点对应的位置信息;
获取与所述位置信息匹配的代码;
如可根据位置信息设定不同的代码。
将所述代码记为所述服务商SPV节点对应的发票代码。
进一步,发票数据还包括发票号码,其中,发票号码可以为8位阿拉伯数字。其中,将所述代码记为所述服务商SPV节点对应的发票代码之后,还包括:
从发票库中获取与所述发票代码相同的M个票据,其中,M为正整数;
上述票据包括已开电子发票的票据和未开具电子发票的票据。
获取所述M个票据中未开具电子发票的N个票据,其中,N为正整数;
获取所述N个票据的号码;
从所述N个票据的号码中获取第K个号码,并将所述第K个号码记为所述服务商SPV节点对应的发票号码,其中,K为正整数。
其中,所述从所述N个票据的号码中获取第K个号码,包括:
将所述N个票据的号码按照大小顺序进行排序,其中,所述第K个号码为排序所得的N个号码中最小的号码;
或者,所述第K个号码为排序所得的N个号码中最大的号码;
或者,获取所述服务商SPV节点标识对应的节点等级,根据所述节点等级获取所述排序所得的N个号码中的第K个,其中所述节点等级与所述号码一一对应。
当然,此处也可不限制具体的票据,第K个票据可以是任意的。
303、分别对所述发票数据以及所述服务商SPV节点的消费金额进行校验;
获取到发票数据后,则需要对发票数据以及所述服务商SPV节点的消费金额进行校验。其中,可采用多数服从少数的共识机制进行校验,即多数节点验证通过,则确认校验通过。
具体的,对发票数据得校验,可以是各共识节点根据上述发票数据确认已开发票中是否不包含上述发票数据。对于消费金额的校验,可以是对于该消费金额数值的真实性进行校验。如可通过第三方平台获取支付信息,进而来确认该消费金额。
304、当所述发票数据以及所述服务商SPV节点的消费金额校验通过,则将所述发票数据以及所述服务商SPV节点的消费金额对应存储在各共识节点以及税局SPV节点上;
其中,存储在对应的税局SPV节点上,可包括:
根据所述服务商SPV节点标识,获取与所述服务商SPV节点的税局SPV节点;
将所述发票数据以及所述服务商SPV节点的消费金额存储在所述税局SPV节点。
305、根据所述发票数据和所述消费金额生成电子发票,并将所述电子发票发送至所述服务商SPV节点,以响应所述开票请求。
根据获取的发票数据和所述消费金额,则可得到对应的电子发票,然后将该电子发票发送至所述服务商SPV节点,以响应上述开票请求。
通过本申请实施例,通过接收服务商SPV节点发送的开票请求,根据服务商SPV节点标识,获取与所述服务商SPV节点标识对应的发票数据;通过对所述发票数据以及所述服务商SPV节点的消费金额进行校验;当校验通过,则将发票数据以及消费金额对应存储在各共识节点以及税局SPV节点上,进而根据所述发票数据和所述消费金额生成电子发票。通过该手段,根据服务商SPV节点标识获取相应的发票数据,并根据消费金额直接生成电子发票,十分方便,且数据安全、可靠、有保障,用户体验好。
请参阅图4,图4为本申请实施例提供了一种开具电子发票的方法的流程示意图。如图4所示,应用于区块链系统,其可包括步骤401-410,具体如下:
401、接收服务商SPV节点发送的开票请求,所述开票请求携带所述服务商SPV节点标识和消费金额,所述开票请求用于指示获取与所述服务商SPV节点标识匹配的电子发票;
其中,区块链管理装置接收服务商SPV节点发送的开票请求,所述开票请求携带所述服务商SPV节点标识和消费金额。上述节点标识可为IP地址,或者其他任一种能够用于标识该节点的信息,如位置信息,或者节点编号信息等等。
402、根据所述服务商SPV节点标识,获取与所述服务商SPV节点标识对应的发票数据;
上述发票数据包括发票代码以及发票号码。其中,发票代码可根据位置信息等进行确定,同一发票代码可对应多个电子发票。发票号码为任意的数字,可随机得到。
对于发票数据,每一个电子发票由发票代码以及发票号码确定其唯一性。即不存在两个电子发票的发票代码以及发票号码均完全相同,其中,可以存在两个电子发票的发票代码或者发票号码中的一个相同。
上述获取发票代码的方法,可包括:根据所述服务商SPV节点标识获取所述服务商SPV节点对应的位置信息;获取与所述位置信息匹配的代码;如可根据位置信息设定不同的代码,将所述代码记为所述服务商SPV节点对应的发票代码。
上述获取发票号码的方法,可包括:
从发票库中获取与所述发票代码相同的M个票据,其中,M为正整数。上述票据包括已开电子发票的票据和未开具电子发票的票据。然后获取所述M个票据中未开具电子发票的N个票据,其中,N为正整数。
作为一种可选的实现方式,可获取所述N个票据的号码,并从所述N个票据的号码中获取第K个号码,将所述第K个号码记为所述服务商SPV节点对应的发票号码,其中,K为正整数。
作为另一种可选的实现方式,可获取所述N个票据的号码,从所述N个票据的号码中获取预设数量的号码,如可以是连续的100个号码,然后将上述获取的预设数量的号码记为所述服务商SPV节点对应的发票号码。
403、获取已开发票库中已开发票的发票代码与所述服务商SPV节点对应的发票代码相同的电子发票,并将所得结果记为第一电子发票;
获取到发票号码后,则需要进行共识校验。其中,通过将获取的发票号码分别与已开发票的发票代码进行比对,可仅获取发票代码相同的电子发票,以便进行发票号码的比对。
404、获取所述第一电子发票的发票号码;
405、确认所述第一电子发票的发票号码中是否包含所述服务商SPV节点对应的发票号码;
上述第一电子发票可以是多个电子发票。其中,分别获取每个第一电子发票的发票号码。并将每个第一电子发票的发票号码分别与获取的发票代码相同的电子发票的发票号码进行比对,以确认第一电子发票的发票号码中是否包含所述服务商SPV节点对应的发票号码。
406、获取所述服务商SPV节点标识对应的服务商SPV节点在预设时间内的支付成功信息;
其中,还包括对消费金额的校验,可获取服务商SPV节点在预设时间内的支付成功信息,上述预设时间可以是当前请求时刻前的任意时间,优选的,该预设时间可以为当前时刻前5分钟之内等。
上述支付成功信息可以是支付成功的页面信息。
407、从所述支付成功信息中获取支付金额;
408、确认所述消费金额是否与所述支付金额一致;
通过将消费金额与支付金额进行一致性确认,以确保数据的可靠性。
409、当所述发票数据以及所述服务商SPV节点的消费金额校验通过,则将所述发票数据以及所述服务商SPV节点的消费金额对应存储在各共识节点以及税局SPV节点上;
具体地,其中,当获取预设数量的发票号码时,则可从中获取其中一个发票号码,并将该发票号码以及获取的发票代码作为上述消费金额对应的发票数据。对于其他的发票号码以及获取的发票代码,则分别获取相应的发票数据,并进行相应的存储。
其中,通过根据所述服务商SPV节点标识,获取与所述服务商SPV节点的税局SPV节点;然后将所述发票数据以及所述服务商SPV节点的消费金额存储在所述税局SPV节点。
410、根据所述发票数据和所述消费金额生成电子发票,并将所述电子发票发送至所述服务商SPV节点,以响应所述开票请求。
其中,本方案中步骤402-408均可通过调用在共识节点中设置的智能合约来进行相应处理。通过在确定了发票代码和发票号码后,对共识节点进行共识操作,使得共识节点知道上述发票代码和发票号码已被使用。该实施例通过一次分配多个发票号码,使得在产生发票号码的过程中,可以减少共识节点的共识次数,以降低共识节点的损耗。
通过本申请实施例,通过接收服务商SPV节点发送的开票请求,根据服务商SPV节点标识,获取与所述服务商SPV节点标识对应的发票数据;通过对所述发票数据以及所述服务商SPV节点的消费金额进行校验;当校验通过,则将发票数据以及消费金额对应存储在各共识节点以及税局SPV节点上,进而根据所述发票数据和所述消费金额生成电子发票。通过该手段,根据服务商SPV节点标识获取相应的发票数据,并根据消费金额直接生成电子发票,十分方便,且数据安全、可靠、有保障,用户体验好。
与上述实施例一致的,请参阅图5,图5为本申请实施例提供的一种终端的结构示意图,如图所示,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,上述程序包括用于执行以下步骤的指令;
接收服务商SPV节点发送的开票请求,所述开票请求携带所述服务商SPV节点标识和消费金额,所述开票请求用于指示获取与所述服务商SPV节点标识匹配的电子发票;
根据所述服务商SPV节点标识,获取与所述服务商SPV节点标识对应的发票数据;
分别对所述发票数据以及所述服务商SPV节点的消费金额进行校验;
当所述发票数据以及所述服务商SPV节点的消费金额校验通过,则将所述发票数据以及所述服务商SPV节点的消费金额对应存储在各共识节点以及税局SPV节点上;
根据所述发票数据和所述消费金额生成电子发票,并将所述电子发票发送至所述服务商SPV节点,以响应所述开票请求。
通过本申请实施例,通过接收服务商SPV节点发送的开票请求,根据服务商SPV节点标识,获取与所述服务商SPV节点标识对应的发票数据;通过对所述发票数据以及所述服务商SPV节点的消费金额进行校验;当校验通过,则将发票数据以及消费金额对应存储在各共识节点以及税局SPV节点上,进而根据所述发票数据和所述消费金额生成电子发票。通过该手段,根据服务商SPV节点标识获取相应的发票数据,并根据消费金额直接生成电子发票,十分方便,且数据安全、可靠、有保障,用户体验好。
上述主要从方法侧执行过程的角度对本申请实施例的方案进行了介绍。可以理解的是,终端为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所提供的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对终端进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
与上述一致的,请参阅图6,图6为本申请实施例提供了一种开具电子发票的系统的结构示意图。其包括接收开票请求模块601、获取发票数据模块602、信息校验模块603、数据存储模块604和发送发票模块605,具体如下:
接收开票请求模块601,用于接收服务商SPV节点发送的开票请求,所述开票请求携带所述服务商SPV节点标识和消费金额,所述开票请求用于指示获取与所述服务商SPV节点标识匹配的电子发票;
获取发票数据模块602,用于根据所述服务商SPV节点标识,获取与所述服务商SPV节点标识对应的发票数据;
信息校验模块603,用于分别对所述发票数据以及所述服务商SPV节点的消费金额进行校验;
数据存储模块604,用于当所述发票数据以及所述服务商SPV节点的消费金额校验通过,则将所述发票数据以及所述服务商SPV节点的消费金额对应存储在各共识节点以及税局SPV节点上;
发送发票模块605,用于根据所述发票数据和所述消费金额生成电子发票,并将所述电子发票发送至所述服务商SPV节点,以响应所述开票请求。
可以看出,通过本申请实施例,通过接收服务商SPV节点发送的开票请求,根据服务商SPV节点标识,获取与所述服务商SPV节点标识对应的发票数据;通过对所述发票数据以及所述服务商SPV节点的消费金额进行校验;当校验通过,则将发票数据以及消费金额对应存储在各共识节点以及税局SPV节点上,进而根据所述发票数据和所述消费金额生成电子发票。通过该手段,根据服务商SPV节点标识获取相应的发票数据,并根据消费金额直接生成电子发票,十分方便,且数据安全、可靠、有保障,用户体验好。
其中,所述发票数据包括发票代码,所述获取发票数据模块,用于:
根据所述服务商SPV节点标识获取所述服务商SPV节点对应的位置信息;获取与所述位置信息匹配的代码;将所述代码记为所述服务商SPV节点对应的发票代码。
本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任何一种开具电子发票的方法的部分或全部步骤。
本申请实施例还提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,该计算机程序使得计算机执行如上述方法实施例中记载的任何一种开具电子发票的方法的部分或全部步骤。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在申请明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。
所述集成的单元如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器、随机存取器、磁盘或光盘等。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (8)

1.一种开具电子发票的方法,其特征在于,应用于区块链系统,所述区块链系统包括服务商SPV节点和税局SPV节点,所述服务商SPV节点为消费者对应的SPV节点,所述税局SPV节点为不同地方税务局的SPV节点;所述方法包括:
接收所述服务商SPV节点发送的开票请求,所述开票请求携带所述服务商SPV节点标识和消费金额,所述开票请求用于指示获取与所述服务商SPV节点标识匹配的电子发票;
根据所述服务商SPV节点标识,获取与所述服务商SPV节点标识对应的发票数据;
分别对所述发票数据以及所述服务商SPV节点的消费金额进行校验;其中,对所述服务商SPV节点的消费金额进行校验,包括:获取所述服务商SPV节点标识对应的服务商SPV节点在预设时间内的支付成功信息,从所述支付成功信息中获取支付金额,确认所述消费金额是否与所述支付金额一致;
当所述发票数据以及所述服务商SPV节点的消费金额校验通过,则将所述发票数据以及所述服务商SPV节点的消费金额对应存储在各共识节点以及所述税局SPV节点上;
根据所述发票数据和所述消费金额生成电子发票,并将所述电子发票发送至所述服务商SPV节点,以响应所述开票请求;
其中,所述发票数据包括发票代码和发票号码,每一个电子发票由所述发票代码以及所述发票号码确定唯一性,所述获取与所述服务商SPV节点标识对应的发票数据包括:
从发票库中获取与所述发票代码相同且未开具电子发票的N个票据的号码;
将所述N个票据的号码按照大小顺序进行排序;
获取所述排序所得的N个号码中最小的号码作为第K个号码,其中,N和K为正整数;或者,获取所述排序所得的N个号码中最大的号码作为第K个号码;或者,获取所述服务商SPV节点标识对应的节点等级,根据所述节点等级获取所述排序所得的N个号码中的第K个号码,所述节点等级与所述号码一一对应;
将所述第K个号码记为所述服务商SPV节点对应的发票号码。
2.根据权利要求1所述的方法,其特征在于,所述根据所述服务商SPV节点标识,获取与所述服务商SPV节点标识对应的发票数据,还包括:
根据所述服务商SPV节点标识获取所述服务商SPV节点对应的位置信息;
获取与所述位置信息匹配的代码;
将所述代码记为所述服务商SPV节点对应的发票代码。
3.根据权利要求1所述的方法,其特征在于,所述从发票库中获取与所述发票代码相同且未开具电子发票的N个票据的号码,包括:
从发票库中获取与所述发票代码相同的M个票据,其中,M为正整数;
获取所述M个票据中未开具电子发票的N个票据,其中,N为正整数;
获取所述N个票据的号码。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述对所述发票数据进行校验,包括:
获取已开发票库中已开发票的发票代码与所述服务商SPV节点对应的发票代码相同的电子发票,并将所得结果记为第一电子发票;
获取所述第一电子发票的发票号码;
确认所述第一电子发票的发票号码中是否包含所述服务商SPV节点对应的发票号码。
5.一种开具电子发票的系统,其特征在于,所述系统包括服务商SPV节点和税局SPV节点,所述服务商SPV节点为消费者对应的SPV节点,所述税局SPV节点为不同地方税务局的SPV节点,包括:
接收开票请求模块,用于接收所述服务商SPV节点发送的开票请求,所述开票请求携带所述服务商SPV节点标识和消费金额,所述开票请求用于指示获取与所述服务商SPV节点标识匹配的电子发票;
获取发票数据模块,用于根据所述服务商SPV节点标识,获取与所述服务商SPV节点标识对应的发票数据;
信息校验模块,用于分别对所述发票数据以及所述服务商SPV节点的消费金额进行校验;
所述信息校验模块在对所述服务商SPV节点的消费金额进行校验时,具体用于:获取所述服务商SPV节点标识对应的服务商SPV节点在预设时间内的支付成功信息,从所述支付成功信息中获取支付金额,确认所述消费金额是否与所述支付金额一致;
数据存储模块,用于当所述发票数据以及所述服务商SPV节点的消费金额校验通过,则将所述发票数据以及所述服务商SPV节点的消费金额对应存储在各共识节点以及所述税局SPV节点上;
发送发票模块,用于根据所述发票数据和所述消费金额生成电子发票,并将所述电子发票发送至所述服务商SPV节点,以响应所述开票请求;
其中,所述发票数据包括发票代码和发票号码,每一个电子发票由所述发票代码以及所述发票号码确定唯一性,所述获取发票数据模块,具体用于:
从发票库中获取与所述发票代码相同且未开具电子发票的N个票据的号码;
将所述N个票据的号码按照大小顺序进行排序;
获取所述排序所得的N个号码中最小的号码作为第K个号码,其中,N和K为正整数;或者,获取所述排序所得的N个号码中最大的号码作为第K个号码;或者,获取所述服务商SPV节点标识对应的节点等级,根据所述节点等级获取所述排序所得的N个号码中的第K个号码,所述节点等级与所述号码一一对应;
将所述第K个号码记为所述服务商SPV节点对应的发票号码。
6.根据权利要求5所述的系统,其特征在于,所述获取发票数据模块,还用于:
根据所述服务商SPV节点标识获取所述服务商SPV节点对应的位置信息;获取与所述位置信息匹配的代码;将所述代码记为所述服务商SPV节点对应的发票代码。
7.一种终端,其特征在于,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求1至4任一项所述的方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现权利要求1至4任意一项所述的方法。
CN201910894705.5A 2019-09-20 2019-09-20 一种开具电子发票的方法和相关产品 Active CN110599272B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910894705.5A CN110599272B (zh) 2019-09-20 2019-09-20 一种开具电子发票的方法和相关产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910894705.5A CN110599272B (zh) 2019-09-20 2019-09-20 一种开具电子发票的方法和相关产品

Publications (2)

Publication Number Publication Date
CN110599272A CN110599272A (zh) 2019-12-20
CN110599272B true CN110599272B (zh) 2024-05-14

Family

ID=68861986

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910894705.5A Active CN110599272B (zh) 2019-09-20 2019-09-20 一种开具电子发票的方法和相关产品

Country Status (1)

Country Link
CN (1) CN110599272B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111178995B (zh) * 2019-12-31 2023-12-01 航天信息股份有限公司企业服务分公司 一种基于云端票据系统进行票据处理的方法及系统

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105550911A (zh) * 2015-12-21 2016-05-04 浪潮软件集团有限公司 一种发票管理方法、装置及系统
CN106504046A (zh) * 2016-12-08 2017-03-15 用友网络科技股份有限公司 电子发票的生成方法、生成装置、终端和服务平台
CN106611359A (zh) * 2016-12-27 2017-05-03 百望电子发票数据服务有限公司 一种电子发票开具方法及其系统
CN106934673A (zh) * 2015-12-30 2017-07-07 航天信息股份有限公司 一种电子发票系统
CN109034924A (zh) * 2018-08-16 2018-12-18 腾讯科技(深圳)有限公司 电子票据生成方法、装置、存储介质和计算机设备
CN109191219A (zh) * 2018-08-13 2019-01-11 腾讯科技(深圳)有限公司 关于电子票据的数据处理方法、装置、存储介质和设备
CN109345194A (zh) * 2018-09-12 2019-02-15 北京东港瑞宏科技有限公司 一种电子票据流转系统
CN109949111A (zh) * 2019-03-06 2019-06-28 深圳市智税链科技有限公司 电子票据标识分配方法、电子票据生成方法、装置及系统
CN110060112A (zh) * 2018-12-13 2019-07-26 阿里巴巴集团控股有限公司 基于区块链的发票创建方法及装置、电子设备

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105550911A (zh) * 2015-12-21 2016-05-04 浪潮软件集团有限公司 一种发票管理方法、装置及系统
CN106934673A (zh) * 2015-12-30 2017-07-07 航天信息股份有限公司 一种电子发票系统
CN106504046A (zh) * 2016-12-08 2017-03-15 用友网络科技股份有限公司 电子发票的生成方法、生成装置、终端和服务平台
CN106611359A (zh) * 2016-12-27 2017-05-03 百望电子发票数据服务有限公司 一种电子发票开具方法及其系统
CN109191219A (zh) * 2018-08-13 2019-01-11 腾讯科技(深圳)有限公司 关于电子票据的数据处理方法、装置、存储介质和设备
CN109034924A (zh) * 2018-08-16 2018-12-18 腾讯科技(深圳)有限公司 电子票据生成方法、装置、存储介质和计算机设备
CN109345194A (zh) * 2018-09-12 2019-02-15 北京东港瑞宏科技有限公司 一种电子票据流转系统
CN110060112A (zh) * 2018-12-13 2019-07-26 阿里巴巴集团控股有限公司 基于区块链的发票创建方法及装置、电子设备
CN109949111A (zh) * 2019-03-06 2019-06-28 深圳市智税链科技有限公司 电子票据标识分配方法、电子票据生成方法、装置及系统

Also Published As

Publication number Publication date
CN110599272A (zh) 2019-12-20

Similar Documents

Publication Publication Date Title
CN109034840B (zh) 基于清洁能源产生的绿证交易方法和系统
CN108200203A (zh) 基于双层网络的区块链系统
CN108229926B (zh) 业务结算方法及相关装置
CN109598504A (zh) 基于区块链的交易处理方法及装置、电子设备
CN109598598A (zh) 基于区块链的交易处理方法及装置、电子设备
CN108734028A (zh) 基于区块链的数据管理方法、区块链节点及存储介质
CN111507717B (zh) 数据处理方法、装置、区块节点及计算机可读存储介质
CN110728494A (zh) 不动产业务的办理方法、不动产权信息系统及装置
CN112101942A (zh) 基于区块链的交易请求处理方法、系统、装置及设备
CN109034818A (zh) 生成支付标记、利用支付标记进行验证的方法及装置
CN110570179B (zh) 订单显示方法、装置、设备及存储介质
CN104732431A (zh) 一种电子票据平台及在其上执行的电子票据处理方法
CN110874742A (zh) 一种基于区块链和智能合约的支付方法及装置
CN110910000A (zh) 一种区块链资产管理方法和装置
CN106899548A (zh) 一种ip地址修正方法和装置
CN113706313A (zh) 基于区块链的融资方法、系统及计算机可读存储介质
CN109948370A (zh) 一种基于区块链的业务处理方法、装置和电子设备
CN110941840B (zh) 一种数据处理方法、系统及终端
WO2018210097A1 (zh) 交易模式的分类执行方法及装置
CN110599272B (zh) 一种开具电子发票的方法和相关产品
CN111222963A (zh) 基于区块链的招标信息处理方法及装置
CN115705601A (zh) 数据处理方法、装置、计算机设备及存储介质
CN115619395A (zh) 基于区块链的数据处理方法及相关设备
CN110598479A (zh) 一种数据处理方法、装置以及计算机可读存储介质
KR102494873B1 (ko) 일반 연산 검증용 영지식 증명 서킷 기반 가상머신을 구현하기 위한 거래 수행장치

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant