一种基于区块链的发票报销方法、装置及可读存储介质与流程

专利2022-06-29  66


本申请涉及互联网技术领域,具体涉及一种基于区块链的发票报销方法、装置及可读存储介质。



背景技术:

随着互联网技术的发展,电子发票已经被广泛应用,电子发票与普通发票一样,由税务局统一发放给商家使用,发票的号码采用全国统一编号,发票上也采用电子税局的签名的防伪技术。当前的电子发票报销流程如下:报销人员在国税发票验证平台上通过发票号码、发票代码等发票信息对该电子发票进行验证,确认该发票的真实性之后,打印该电子发票的纸质文档和验证信息的纸质文档,并提交给发票审核人员。审核人员会对该发票及该发票再次进行核实,核实成功后确认对该发票进行报销。但是,当前的报销流程涉及人工审核的流程,审核效率低。



技术实现要素:

本申请实施例提供了一种基于区块链的发票报销方法、装置及可读存储介质,可以对报销的发票进行合法性以及报销信息的验证,简化审核的流程,提高了发票报销的效率。

第一方面,本申请实施例提供了一种基于区块链的发票报销方法,该方法应用于第一区块链节点,该方法包括:

接收用于报销第一电子票据的指令,所述指令携带所述第一电子票据、所述第一电子票据的标识、所述第一电子票据的报销信息和购买方的钱包地址;

根据所述第一电子票据的标识、所述第一电子票据的报销信息、所述第一区块链节点的当前用户的钱包地址和所述购买方的钱包地址生成报销数据,所述报销数据用于指示将所述第一电子票据从所述当前用户的钱包地址转移至所述购买方的钱包地址。

在一种可能的实现方式中,在所述接收用于报销所述第一电子票据的指令之前,所述方法还包括:

接收所述当前用户上传的电子票据;

提取上传的电子票据中的发票信息;

在区块链网络中查询到与所述发票信息匹配的交易数据的情况下,将上传的电子票据确定为第一电子票据,所述区块链网络为所述第一区块链节点对应的区块链网络。

在一种可能的实现方式中,所述方法还包括:

从所述发票信息中提取交易数据;

查询所述区块链网络中是否存在与提取的交易数据匹配的交易数据,在查询到所述区块链网络中存在与提取的交易数据匹配的交易数据的情况下,确定在所述区块链网络中查询到与所述发票信息匹配的交易数据。

在一种可能的实现方式中,所述方法还包括:

将所述第一电子票据生成数字资产转入所述当前用户的钱包地址中。

在一种可能的实现方式中,所述将所述第一电子票据生成数字资产转入所述当前用户的钱包地址中,包括:

提取所述第一电子票据的标识;

根据所述第一电子票据的标识在所述当前用户的钱包地址中生成所述第一电子票据的未花费的交易输出utxo。

第二方面,本申请实施例提供了一种基于区块链的发票报销方法,该方法应用于第二区块链节点,该方法包括:

接收来自第一区块链节点的报销数据,所述第一区块链节点与所述第二区块链节点属于同一区块链网络,所述报销数据携带第一电子票据的标识、所述第一电子票据的报销信息、所述第一区块链节点的当前用户的钱包地址和所述购买方的钱包地址,所述第一电子票据的报销信息包括所述购买方的信息,所述报销数据指示所述第一电子票据从所述当前用户的钱包地址转移至购买方的钱包地址;

获取购买方的信息;

判断获取的购买方信息与所述报销信息中的购买方的信息是否相同;

在判断所述报销信息中的购买方信息与所述购买方信息相同的情况下,对所述第一电子票据进行报销。

在一种可能的实现方式中,所述方法还包括:

验证所述第一电子票据是否能够报销;

在验证出所述第一电子票据能够报销的情况下,接收所述第一电子票据。

在一种可能的实现方式中,所述报销数据中还包括所述当前用户的公钥以及所述报销数据的签名,所述验证所述第一电子票据是否能够报销,包括:

根据所述当前用户的公钥和所述报销数据的签名判断当前报销数据是否有效;

在判断出所述当前报销数据有效的情况下,验证出所述第一电子票据能够报销。

在一种可能的实现方式中,所述方法还包括:

在判断所述报销信息中的购买方信息与所述购买方信息不相同的情况下,根据所述第一电子票据的标识、所述购买方的钱包地址和所述当前用户钱包地址生成退回数据,所述退回数据用于指示所述第一电子票据从所述购买方的钱包地址转移至所述当前用户的钱包地址。

第三方面,本申请实施例提供了一种基于区块链的发票报销装置,该装置包括:

第一接收单元,用于接收用于报销第一电子票据的指令,所述指令携带所述第一电子票据、所述第一电子票据的标识、所述第一电子票据的报销信息和购买方的钱包地址;

第一生成单元,用于根据所述第一电子票据的标识、所述第一电子票据的报销信息、所述第一区块链节点的当前用户的钱包地址和所述购买方的钱包地址生成报销数据,所述报销数据用于指示将所述第一电子票据从所述当前用户的钱包地址转移至所述购买方的钱包地址。

在一种可能的实现方式中,所述装置还包括:

第二接收单元,用于接收所述当前用户上传的电子票据;

第一提取单元,用于提取上传的电子票据中的发票信息;

确定单元,用于在区块链网络中查询到与所述发票信息匹配的交易数据的情况下,将上传的电子票据确定为第一电子票据,所述区块链网络为所述第一区块链节点对应的区块链网络。

在一种可能的实现方式中,所述装置还包括:

第二提取单元,从所述发票信息中提取交易数据;

查询单元,用于查询所述区块链网络中是否存在与提取的交易数据匹配的交易数据,在查询到所述区块链网络中存在与提取的交易数据匹配的交易数据的情况下,确定在所述区块链网络中查询到与所述发票信息匹配的交易数据。

在一种可能的实现方式中,所述装置还包括:

第二生成单元,用于将所述第一电子票据生成数字资产转入所述当前用户的钱包地址中。

在一种可能的实现方式中,所述第一生成单元,具体用于:

提取所述第一电子票据的标识;

根据所述第一电子票据的标识在所述当前用户的钱包地址中生成所述第一电子票据的未花费的交易输出utxo。

第四方面,本申请实施例提供了一种基于区块链的发票报销装置,该装置包括:

第三接收单元,用于接收来自第一区块链节点的报销数据,所述第一区块链节点与所述第二区块链节点属于同一区块链网络,所述报销数据携带第一电子票据的标识、所述第一电子票据的报销信息、所述第一区块链节点的当前用户的钱包地址和所述购买方的钱包地址,所述第一电子票据的报销信息包括所述购买方的信息,所述报销数据指示所述第一电子票据从所述当前用户的钱包地址转移至购买方的钱包地址;

获取单元,用于获取购买方的信息;

判断单元,用于判断获取的购买方信息与所述报销信息中的购买方的信息是否相同;

报销单元,用于在判断所述报销信息中的购买方信息与所述购买方信息相同的情况下,对所述第一电子票据进行报销。

在一种可能的实现方式中,所述装置还包括:

验证单元,用于验证所述第一电子票据是否能够报销;

第四接收单元,用于在验证出所述第一电子票据能够报销的情况下,接收所述第一电子票据。

在一种可能的实现方式中,所述报销数据中还包括所述当前用户的公钥以及所述报销数据的签名,所述验证单元,具体用于:

根据所述当前用户的公钥和所述报销数据的签名判断当前报销数据是否有效;

在判断出所述当前报销数据有效的情况下,验证出所述第一电子票据能够报销。

在一种可能的实现方式中,所述装置还包括:

第三生成单元,用于在判断所述报销信息中的购买方信息与所述购买方信息不相同的情况下,根据所述第一电子票据的标识、所述购买方的钱包地址和所述当前用户钱包地址生成退回数据,所述退回数据用于指示所述第一电子票据从所述购买方的钱包地址转移至所述当前用户的钱包地址。

第五方面,本申请实施例提供了一种电子设备,该电子设备包括输出设备、输入设备、处理器、存储器和收发器,该输出设备、输入设备、处理器、存储器和收发器相互连接。该收发器用于接收来自该装置之外的其它装置的信息,以及向该装置之外的其它装置输出信息。该存储器用于存储支持该终端设备执行上述第一方面和/或第一方面任一种可能的实现方式提供的方法的计算机程序,该计算机程序包括程序指令,该处理器被配置用于调用上述程序指令,执行上述第一方面和/或第一方面任一种可能的实现方式所提供的方法。

第六方面,本申请实施例提供了一种电子设备,该电子设备包括输出设备、输入设备、处理器、存储器和收发器,该输出设备、输入设备、处理器、存储器和收发器相互连接。该收发器用于接收来自该装置之外的其它装置的信息,以及向该装置之外的其它装置输出信息。该存储器用于存储支持该终端设备执行上述第二方面和/或第二方面任一种可能的实现方式提供的方法的计算机程序,该计算机程序包括程序指令,该处理器被配置用于调用上述程序指令,执行上述第二方面和/或第二方面任一种可能的实现方式所提供的方法。

第七方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令当被处理器执行时使该处理器执行上述第一方面和/或第一方面任一种可能的实现方式所提供的方法。

第八方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令当被处理器执行时使该处理器执行上述第二方面和/或第二方面任一种可能的实现方式所提供的方法。

在本申请实施例中,用于报销第一电子票据的指令,所述指令携带所述第一电子票据、所述第一电子票据的标识、所述第一电子票据的报销信息和购买方的钱包地址;根据所述第一电子票据的标识、所述第一电子票据的报销信息、所述第一区块链节点的当前用户的钱包地址和所述购买方的钱包地址生成报销数据,所述报销数据用于指示将所述第一电子票据从所述当前用户的钱包地址转移至所述购买方的钱包地址。由此可见,在进行发票报销时,通过将发票以数字资产的形式转移至发票上的购买方,并且区块链对发票的合法性以及报销的对象进行验证,不需要人工审核,大大提升了发票报销的效率,简化了发票报销的流程,并且由于发票报销以数字资产的形式进行转移,因此在区块链网络中的其他区块链节点均能查看到该转移信息,从而保证了发票报销的公开透明。

附图说明

为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的一种基于区块链的发票报销方法的系统架构图;

图2是本申请实施例提供的一种基于区块链的发票报销方法的流程示意图;

图3是本申请实施例提供的一种基于区块链的发票报销方法的场景应用图;

图4a是本申请实施例提供的一种基于区块链的发票报销方法的界面示意图;

图4b是本申请实施例提供的一种基于区块链的发票报销方法的界面示意图;

图4c是本申请实施例提供的一种基于区块链的发票报销方法的界面示意图;

图5是本申请实施例提供的一种基于区块链的发票报销装置的结构示意图;

图6是本申请实施例提供的另一种基于区块链的发票报销装置的结构示意图;

图7是本申请实施例提供的电子设备的结构示意图;

图8是本申请实施例提供的另一电子设备的结构示意图。

具体实施方式

下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

为了更好地理解本申请实施例提供的一种监控方法、电子设备及计算机可读存储介质,下面先对本申请实施例使用的网络架构进行描述。请参见图1,是本申请提供的一种网络架构示意图。如图1所示,该网络架构可以包括区块链网络,其中区块链网络中包含多个电子设备,每个电子设备分别对应于区块链网络中的一个区块链节点,实际上,区块链网络中的每个区块链节点都可以对应于多个电子设备,此处仅以一个区块链节点对应于1个电子设备为例进行本申请的说明。当某个区块链节点对应于多个电子设备时,多个电子设备可以用于共同处理该区块链节点不同的电子票据报销的数据,以减轻该区块链节点的对电子票据报销处理的负担。图1所示的区块链4个区块链节点仅为代表,分别可以接收来自商家上传的交易数据、用户发起的发票报销的请求、以及购买方通过区块链网络接收到报销的发票以及根据验证,区块链节点也能接收购买方发起的发票退回的请求。

具体的,税局发行发票给商家使用,商家按照交易发生的时间上传交易数据至区块链网络,区块链节点设备对商家上传的交易数据的格式进行验证,在验证通过后保存交易数据,并且开具发票给用户,用户在接收到纸质或者电子票据之后,若是纸质的票据可以通过拍摄照片或者上传电子扫描件的形式将电子票据的文件上传至区块链网络中,区块链节点设备对用户上传的发票进行验证,通过将商家上传的交易数据与电子票据中包含的交易信息进行匹配,在确定商家上传的交易信息中有与用户上传的电子票据的发票信息匹配的情况下,确定用户上传的发票合法有效。

进一步的,接收用户发起的发票报销指令,通过将该发票提取出的报销信息以及该发票的标识以及购买方的钱包地址生成报销数据,并将报销数据签名并使用用户的公钥加密,并广播在区块链网络中,该报销数据则经过广播被区块链节点中的节点设备接收并对该交易进行验证,当有至少6个区块链节点验证该交易合法后,区块链网络根据报销数据将发票从用户的钱包地址转移至购买方的钱包地址。当购买方接收到发票后,可以将报销数据中的报销信息中包含该发票的购买方信息与获取到的购买方信息进行比较,其中购买方信息可以是购买方对应的区块链节点本地存储的,在确定报销信息中的购买方信息与获取到的购买方信息一致的情况下,对该发票进行报销。否则,将生成退回的数据,退回数据是根据该发票、该用户的钱包地址、购买方的钱包地址生成的,在生成之后广播在区块链网络中,该退回数据用于指示将该发票从购买方的钱包地址转移至用户的钱包地址中,则发票不能进行报销,退回至用户。

在本申请实施例中,用于报销第一电子票据的指令,上述指令携带上述第一电子票据、上述第一电子票据的标识、上述第一电子票据的报销信息和购买方的钱包地址;根据上述第一电子票据的标识、上述第一电子票据的报销信息、上述第一区块链节点的当前用户的钱包地址和上述购买方的钱包地址生成报销数据,上述报销数据用于指示将上述第一电子票据从上述当前用户的钱包地址转移至上述购买方的钱包地址。由此可见,在进行发票报销时,通过将发票以数字资产的形式转移至发票上的购买方,并且区块链对发票的合法性以及报销的对象进行验证,不需要人工审核,大大提升了发票报销的效率,简化了发票报销的流程,并且由于发票报销以数字资产的形式进行转移,因此在区块链网络中的其他区块链节点均能查看到该转移信息,从而保证了发票报销的公开透明。

请参见图2,是本申请提供的一种基于区块链的发票报销方法的流程示意图,如图2所示,上述方法可以包括:

201、接收用于报销第一电子票据的指令,上述指令携带上述第一电子票据、上述第一电子票据的标识、上述第一电子票据的报销信息和购买方的钱包地址。

具体的,上述第一电子票据可以是由用户通过客户端上传的票据,在上传票据的同时可以接收用户输入的发票信息,或者从用户上传的电子票据中提取到有关该发票的信息,第一区块链节点可以在区块链中查询该第一电子票据匹配的交易数据,当查询到该第一电子票据匹配的交易数据在商家上传的交易数据中时,则确定该第一电子票据为合法票据,否则确定第一电子票据不为合法票据。其中,可以根据发票信息生成与交易数据格式匹配的交易数据,并在区块链网络对应的数据库中去查询是否包含该交易数据,数据库为增量更新区块链网络中的数据的数据库。由此看来,通过商家上传真实有效的交易数据,将用户上传的发票与交易数据进行匹配,确保了用户上传至区块链网络中的发票真实合法。

请一并参阅图3,图3是本申请实施例提供的一种基于区块链的发票报销方法的场景应用图,如图3所示,第一区块链节点在确定用户上传的发票为真实合法的发票的情况下,生成交易单,如图3中左边的交易单所示:交易id:000,“输入”为该发票的来源,这里是用户上传的发票,索引是0,标识是指当前第一电子票据的唯一标识,如图3中的0001,脚本为使用用户的公钥锁定该第一电子票据的锁定脚本,锁定脚本的作用是设定只有用户才能使用这张标识为0001的发票,接收者公钥为当前用户的公钥,用户上传发票并验证通过的操作相当于在区块链网络中发行了一张标识为0001的发票,则将该交易单在区块链网络中进行广播。

进一步的,在验证该第一电子票据合法有效后,生成一个标识由该发票的未使用的交易输出(unspenttransactionoutputs,utxo),并存储在用户的钱包地址中。用户可以通过客户端查看该第一电子票据和发起对该第一电子票据的报销指令,第一区块链节点接收用户通过客户端发起的第一电子票据的报销指令,当用户触发报销第一电子票据的指令时,第一电子票据可以是用户上传的合法票据中的任一票据。在第一区块链节点接收到该指令时,则创建一笔交易,该交易包括1个输入、1个输出(发票不存在找零),需要知道的是,在本申请实施例中不考虑发票报销进行交易的交易费,则第一区块链节点生成一个报销数据,即在区块链网络中的“交易单”以对第一电子票据进行报销。

202、根据上述第一电子票据的标识、上述第一电子票据的报销信息、上述第一区块链节点的当前用户的钱包地址和上述购买方的钱包地址生成报销数据。

具体的,其中,第一区块链节点根据第一电子票据的标识、第一电子票据的报销信息、第一区块链节点的当前用户的钱包地址和购买方的钱包地址生成报销数据,即新的交易单,该交易单用于指示将发票从用户的钱包地址转移至购买方的钱包地址,这里的购买方是指发票票面上的购买方对应的钱包地址,可以是企业也可以是个人还可以是机构等等,这里不做限制。这里的报销信息可以是用户一并填写的类似“报销单”的信息,具体需要包括购买方名称、纳税人识别号、可选的,可以包括购买方的地址、电话以及开户行及账号的信息、销售方的名称、纳税人识别号、地址、电话以及开户行及账号的信息,以及收款人、复核人、以及开票人等等。

如图3所示,生成的交易id:001,交易单中的输入为“上一笔交易的输出”、“脚本”、“发送者公钥”,主要体现该第一电子票据的来源,如图3所示的可以是“引用交易id:000输出索引:0的交易输出”,这个可以追溯到交易id为000的交易中,确认交易输入的来源,第一区块链节点可以遍历用户的所有交易记录,确保该第一电子票据是可以去支付当前交易,因为用户之前得到了第一电子票据utxo,因此是可以支付当前交易的,所以交易可以进行,则在交易的输出中填写第一电子票据的接收方,包括索引、标识、脚本以及接受者公钥,索引引用前面交易的0,标识为发票的标识0001,脚本为购买方的锁定脚本,表示只能由购买方使用该标识为0001的发票,以及接收者的公钥为购买方的公钥。在生成了交易id为001的交易单之后,在区块链网络中进行广播,则其他区块链节点可以对该交易单进行验证,当至少6个区块链节点验证通过时,则交易生成,该第一电子票据转移至购买方。

其中,区块链节点在接收到交易单后,可以验证用户是否使用的是用户自身的发票utxo。具体的,可以根据交易id为001的交易单中的解锁脚本,该解锁脚本包括用户对上一笔交易输出的签名以及公钥,则可以通过用户的公钥以及签名进行验证是否使用的是用户自身的utxo。

203、接收来自第一区块链节点的报销数据,上述报销数据携带第一电子票据的标识、上述第一电子票据的报销信息、上述第一区块链节点的当前用户的钱包地址和上述购买方的钱包地址,上述第一电子票据的报销信息包括上述购买方的信息。

具体的,第二区块链节点和上述第一区块链节点为处于同一个区块链网络中的两个不同的节点,第二区块链节点接受来自第一区块链节点的报销数据,即先可以通过上述第一区块链的广播接收到的报销数据,即交易单,根据交易单可以对当前交易做验证,用解锁脚本中用户对上一笔交易输出的签名以及公钥进行验证,当验证通过后,确认上述第一电子票据可以报销,并继续在区块链节点中广播,直到区块链网络中每一个节点都接收到这个交易单。

进一步的,第二区块链节点可以对报销的购买方信息进行验证,由此看来,本申请实施例提供的一种基于区块链的发票报销方法不仅可以保证报销发票的真实合法,也能对是否正常报销进行验证,即验证报销的对象是否为发票上的购买方对应的对象。

204、获取购买方的信息。

具体的,第二区块链节点可以从区块链网络中获取购买方的信息,也可以从本地存储的购买方信息中获取,这里不做限定。可以理解的是,第二区块链对应的购买方需要接收报销的电子票据的抬头为自己的票据,则第二区块链节点在接收在交易生成之后,对接收到的第一电子票据的报销信息中包含的购买方信息做验证。

205、判断获取的购买方信息与上述报销信息中的购买方的信息是否相同。

在一种可能的实现方式中,通过将报销信息中的购买方信息与获取到的购买方信息进行比对,在比对购买方信息一致的情况下,才能进行报销,若比对购买方信息不一致的情况下,则再次生成一个退回数据,即新的交易单,将该第一电子票据退回给用户。其中,比对报销信息中的购买方信息与获取到的购买方信息可以是通过比对文本相似度的方法进行比对,这里不做限定。

206、在判断上述报销信息中的购买方信息与上述购买方信息相同的情况下,对上述第一电子票据进行报销。

具体的,在判断上述报销信息中的购买方信息与上述购买方信息相同的情况下,则确定校验通过,则对上述第一电子票据进行报销。在判断出上述报销信息中的购买方信息与上述购买方信息相同的情况下,则确定该第一电子票据不能向该购买方进行报销,则生成退回数据,即生成一个新的交易单,用于将该第一电子票据退回至用户。如图3所示,在右边的交易单中,交易id:002,同样包括交易的“输入”以及“输出”,“输入”包括:上一笔交易的输出:引用交易id:001输出索引:0的交易输出,脚本为包含有购买方公钥以及签名的解锁脚本,以及发送者公钥,即购买方公钥。“输出”包括:索引:0,标识:0001以及锁定脚本和接收者公钥。则第二区块链节点在生成了交易单之后,同样在区块链网络中进行广播,区块链中的节点对该交易单进行验证,具体验证方法与上述验证交易id为001的方法一致,这里不再赘述,在6个或6个以上的区块链节点验证通过后,可以生成交易,则上述第一电子票据退回到用户的钱包地址中。则该标识为001的发票不会被购买方报销,直到向该购买方一致的购买方发起报销,才能被报销。

请一并参阅图4a-图4c,图4a-图4c为本申请实施例提供的一种基于区块链的发票报销方法的界面示意图,图4a-图4c是为该发票的报销界面为用户的操作界面,其中,该发票报销的程序可以是应用程序,也可以集成在即时通讯应用程序(如微信、qq等)中的小程序,还可以是通过微信公众号进行报销,这里不做限定。本申请实施例以微信发票报销的小程序为例进行讲解,如图4a所示,可以在界面中显示上传发票以及发票查验的按钮,用于上传需要报销的发票以及通过扫描发票的二维码查询发票是否被报销,其中,当用户点击“上传发票”后,前端接收用户上传的发票,后端可以将发票通过区块链节点上传至区块链上并进行验证,进一步的,可以在上传发票文件后,输入报销信息,即报销单。可选的,还可以显示“我的发票”即用户当前可以报销的发票,以及已经报销的发票以及报销记录,用户通过点击报销发票编号为0001的发票,则后台通过区块链节点设备对编号为0001进行报销,用户在界面中可以查看到报销成功的信息,如图4b所示,以及显示当前发票的报销的信息。并且在返回到微信发票报销界面中时,可以通过报销记录查看对编号为0001的发票的报销,如图4c所示。

在本申请实施例中,用于报销第一电子票据的指令,上述指令携带上述第一电子票据、上述第一电子票据的标识、上述第一电子票据的报销信息和购买方的钱包地址;根据上述第一电子票据的标识、上述第一电子票据的报销信息、上述第一区块链节点的当前用户的钱包地址和上述购买方的钱包地址生成报销数据,上述报销数据用于指示将上述第一电子票据从上述当前用户的钱包地址转移至上述购买方的钱包地址。由此可见,在进行发票报销时,通过将发票以数字资产的形式转移至发票上的购买方,并且区块链对发票的合法性以及报销的对象进行验证,不需要人工审核,大大提升了发票报销的效率,简化了发票报销的流程,并且由于发票报销以数字资产的形式进行转移,因此在区块链网络中的其他区块链节点均能查看到该转移信息,从而保证了发票报销的公开透明。

请参见图5,图5是本发明实施例提供的一种基于区块链的发票报销装置5000的结构示意图。如图5所示,上述发票报销装置5000包括:

第一接收单元501,用于接收用于报销第一电子票据的指令,上述指令携带上述第一电子票据、上述第一电子票据的标识、上述第一电子票据的报销信息和购买方的钱包地址;

第一生成单元502,用于根据上述第一电子票据的标识、上述第一电子票据的报销信息、上述第一区块链节点的当前用户的钱包地址和上述购买方的钱包地址生成报销数据,上述报销数据用于指示将上述第一电子票据从上述当前用户的钱包地址转移至上述购买方的钱包地址。

在一种可能的实现方式中,上述装置5000还包括:

第二接收单元503,用于接收上述当前用户上传的电子票据;

第一提取单元504,用于提取上传的电子票据中的发票信息;

确定单元505,用于在区块链网络中查询到与上述发票信息匹配的交易数据的情况下,将上传的电子票据确定为第一电子票据,上述区块链网络为上述第一区块链节点对应的区块链网络。

在一种可能的实现方式中,上述装置5000还包括:

第二提取单元506,从上述发票信息中提取交易数据;

查询单元507,用于查询上述区块链网络中是否存在与提取的交易数据匹配的交易数据,在查询到上述区块链网络中存在与提取的交易数据匹配的交易数据的情况下,确定在上述区块链网络中查询到与上述发票信息匹配的交易数据。

在一种可能的实现方式中,上述装置5000还包括:

第二生成单元508,用于将上述第一电子票据生成数字资产转入上述当前用户的钱包地址中。

在一种可能的实现方式中,上述第一生成单元508,具体用于:

提取上述第一电子票据的标识;

根据上述第一电子票据的标识在上述当前用户的钱包地址中生成上述第一电子票据的未花费的交易输出utxo。

有关上述第一接收单元501、生成单元502、第二接收单元503、第一提取单元504、确定单元505、第二提取单元506、查询单元507以及第一生成单元508详细的描述可以直接参考上述图2至图4c所示的方法实施例中的相关描述直接得到,这里不加赘述。

在本申请实施例中,一种基于区块链的发票报销装置接收用于报销第一电子票据的指令,上述指令携带上述第一电子票据、上述第一电子票据的标识、上述第一电子票据的报销信息和购买方的钱包地址;根据上述第一电子票据的标识、上述第一电子票据的报销信息、上述第一区块链节点的当前用户的钱包地址和上述购买方的钱包地址生成报销数据,上述报销数据用于指示将上述第一电子票据从上述当前用户的钱包地址转移至上述购买方的钱包地址。由此可见,在进行发票报销时,通过将发票以数字资产的形式转移至发票上的购买方,并且区块链对发票的合法性以及报销的对象进行验证,不需要人工审核,大大提升了发票报销的效率,简化了发票报销的流程,并且由于发票报销以数字资产的形式进行转移,因此在区块链网络中的其他区块链节点均能查看到该转移信息,从而保证了发票报销的公开透明。

请参见图6,图6是本发明实施例提供的另一种基于区块链的发票报销装置6000的结构示意图,如图6所示,上述发票报销装置6000包括:

第三接收单元601,用于接收来自第一区块链节点的报销数据,上述第一区块链节点与上述第二区块链节点属于同一区块链网络,上述报销数据携带第一电子票据的标识、上述第一电子票据的报销信息、上述第一区块链节点的当前用户的钱包地址和上述购买方的钱包地址,上述第一电子票据的报销信息包括上述购买方的信息,上述报销数据指示上述第一电子票据从上述当前用户的钱包地址转移至购买方的钱包地址;

获取单元602,用于获取购买方的信息;

判断单元603,用于判断获取的购买方信息与上述报销信息中的购买方的信息是否相同;

报销单元604,用于在判断上述报销信息中的购买方信息与上述购买方信息相同的情况下,对上述第一电子票据进行报销。

在一种可能的实现方式中,上述装置6000还包括:

验证单元605,用于验证上述第一电子票据是否能够报销;

第四接收单元606,用于在验证出上述第一电子票据能够报销的情况下,接收上述第一电子票据。

在一种可能的实现方式中,上述报销数据中还包括上述当前用户的公钥以及上述报销数据的签名,上述验证单元605,具体用于:

根据上述当前用户的公钥和上述报销数据的签名判断当前报销数据是否有效;

在判断出上述当前报销数据有效的情况下,验证出上述第一电子票据能够报销。

在一种可能的实现方式中,上述装置6000还包括:

第三生成单元607,用于在判断上述报销信息中的购买方信息与上述购买方信息不相同的情况下,根据上述第一电子票据的标识、上述购买方的钱包地址和上述当前用户钱包地址生成退回数据,上述退回数据用于指示上述第一电子票据从上述购买方的钱包地址转移至上述当前用户的钱包地址。

有关上述第三接收单元601、获取单元602、判断单元603、报销单元604、验证单元605、第四接收单元606和第三生成单元607详细的描述可以直接参考上述图2至图4c所示的方法实施例中的相关描述直接得到,这里不加赘述。

在本申请实施例中,一种基于区块链的发票报销装置接收来自第一区块链节点的报销数据,上述第一区块链节点与上述第二区块链节点属于同一区块链网络,上述报销数据携带第一电子票据的标识、上述第一电子票据的报销信息、上述第一区块链节点的当前用户的钱包地址和上述购买方的钱包地址,上述第一电子票据的报销信息包括上述购买方的信息,上述报销数据指示上述第一电子票据从上述当前用户的钱包地址转移至购买方的钱包地址;获取购买方的信息;判断获取的购买方信息与上述报销信息中的购买方的信息是否相同;在判断上述报销信息中的购买方信息与上述购买方信息相同的情况下,对上述第一电子票据进行报销。由此可见,在进行发票报销时,通过将发票以数字资产的形式转移至发票上的购买方,并且区块链对发票的合法性以及报销的对象进行验证,不需要人工审核,大大提升了发票报销的效率,简化了发票报销的流程,并且由于发票报销以数字资产的形式进行转移,因此在区块链网络中的其他区块链节点均能查看到该转移信息,从而保证了发票报销的公开透明。

请参阅图7,图7是本发明实施例提供的一种电子设备的结构示意图。如图7所示,该电子设备7000可以包括:

一个或多个处理器701、输入设备702、输出设备703、存储器704、收发器705。上述处理器701、输入设备702、输出设备703、存储器704、收发器705通过总线连接。其中,输入设备702可以包括触控屏、键盘、麦克风等,输出设备703可以包括显示屏、音响等,收发器705用于接收和发送数据。存储器704用于存储计算机程序,该计算机程序包括程序指令,处理器701用于执行存储器704存储的程序指令,其中,处理器701被配置用于调用程序指令执行以下步骤:

接收用于报销第一电子票据的指令,上述指令携带上述第一电子票据、上述第一电子票据的标识、上述第一电子票据的报销信息和购买方的钱包地址;

根据上述第一电子票据的标识、上述第一电子票据的报销信息、上述第一区块链节点的当前用户的钱包地址和上述购买方的钱包地址生成报销数据,上述报销数据用于指示将上述第一电子票据从上述当前用户的钱包地址转移至上述购买方的钱包地址。

在一种可能的实现方式中,在上述接收用于报销上述第一电子票据的指令之前,上述处理器701还被调用执行如下步骤:

接收上述当前用户上传的电子票据;

提取上传的电子票据中的发票信息;

在区块链网络中查询到与上述发票信息匹配的交易数据的情况下,将上传的电子票据确定为第一电子票据,上述区块链网络为上述第一区块链节点对应的区块链网络。

在一种可能的实现方式中,上述处理器701还被调用执行如下步骤:

从上述发票信息中提取交易数据;

查询上述区块链网络中是否存在与提取的交易数据匹配的交易数据,在查询到上述区块链网络中存在与提取的交易数据匹配的交易数据的情况下,确定在上述区块链网络中查询到与上述发票信息匹配的交易数据。

在一种可能的实现方式中,上述处理器701还被调用执行如下步骤:

将上述第一电子票据生成数字资产转入上述当前用户的钱包地址中。

在一种可能的实现方式中,上述将上述第一电子票据生成数字资产转入上述当前用户的钱包地址中,包括:

提取上述第一电子票据的标识;

根据上述第一电子票据的标识在上述当前用户的钱包地址中生成上述第一电子票据的未花费的交易输出utxo。

应当理解,在一些可行的实施方式中,上述处理器701可以是中央处理单元(centralprocessingunit,cpu),该处理器701还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

该存储器704可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器704的一部分还可以包括非易失性随机存取存储器。

具体实现中,上述电子设备7000可通过其内置的各个功能模块执行如上述图2至图4c中各个步骤所提供的实现方式,具体可参见上述各个步骤所提供的实现方式,在此不再赘述。

在本申请实施例中,一种基于区块链的发票报销装置接收用于报销第一电子票据的指令,上述指令携带上述第一电子票据、上述第一电子票据的标识、上述第一电子票据的报销信息和购买方的钱包地址;根据上述第一电子票据的标识、上述第一电子票据的报销信息、上述第一区块链节点的当前用户的钱包地址和上述购买方的钱包地址生成报销数据,上述报销数据用于指示将上述第一电子票据从上述当前用户的钱包地址转移至上述购买方的钱包地址。由此可见,在进行发票报销时,通过将发票以数字资产的形式转移至发票上的购买方,并且区块链对发票的合法性以及报销的对象进行验证,不需要人工审核,大大提升了发票报销的效率,简化了发票报销的流程,并且由于发票报销以数字资产的形式进行转移,因此在区块链网络中的其他区块链节点均能查看到该转移信息,从而保证了发票报销的公开透明。

请参阅图8,图8是本发明实施例提供的另一种电子设备的结构示意图。如图8所示,该电子设备8000可以包括:

一个或多个处理器801、输入设备802、输出设备803、存储器804、收发器805。上述处理器801、输入设备802、输出设备803、存储器804、收发器805通过总线连接。其中,输入设备802可以包括触控屏、键盘、麦克风等,输出设备803可以包括显示屏、音响等,收发器805用于接收和发送数据。存储器804用于存储计算机程序,该计算机程序包括程序指令,处理器801用于执行存储器804存储的程序指令,其中,处理器801被配置用于调用程序指令执行以下步骤:

接收来自第一区块链节点的报销数据,上述第一区块链节点与上述第二区块链节点属于同一区块链网络,上述报销数据携带第一电子票据的标识、上述第一电子票据的报销信息、上述第一区块链节点的当前用户的钱包地址和上述购买方的钱包地址,上述第一电子票据的报销信息包括上述购买方的信息,上述报销数据指示上述第一电子票据从上述当前用户的钱包地址转移至购买方的钱包地址;

获取购买方的信息;

判断获取的购买方信息与上述报销信息中的购买方的信息是否相同;

在判断上述报销信息中的购买方信息与上述购买方信息相同的情况下,对上述第一电子票据进行报销。

在一种可能的实现方式中,上述处理器801被配置用于调用程序指令执行以下步骤:

验证上述第一电子票据是否能够报销;

在验证出上述第一电子票据能够报销的情况下,接收上述第一电子票据。

在一种可能的实现方式中,上述报销数据中还包括上述当前用户的公钥以及上述报销数据的签名,上述验证上述第一电子票据是否能够报销,包括:

根据上述当前用户的公钥和上述报销数据的签名判断当前报销数据是否有效;

在判断出上述当前报销数据有效的情况下,验证出上述第一电子票据能够报销。

在一种可能的实现方式中,上述处理器801被配置用于调用程序指令执行以下步骤:

在判断上述报销信息中的购买方信息与上述购买方信息不相同的情况下,根据上述第一电子票据的标识、上述购买方的钱包地址和上述当前用户钱包地址生成退回数据,上述退回数据用于指示上述第一电子票据从上述购买方的钱包地址转移至上述当前用户的钱包地址。

应当理解,在一些可行的实施方式中,上述处理器801可以是中央处理单元(centralprocessingunit,cpu),该处理器801还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

该存储器804可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器804的一部分还可以包括非易失性随机存取存储器。

具体实现中,上述电子设备8000可通过其内置的各个功能模块执行如上述图2至图4c中各个步骤所提供的实现方式,具体可参见上述各个步骤所提供的实现方式,在此不再赘述。

在本申请实施例中,一种基于区块链的发票报销装置接收来自第一区块链节点的报销数据,上述第一区块链节点与上述第二区块链节点属于同一区块链网络,上述报销数据携带第一电子票据的标识、上述第一电子票据的报销信息、上述第一区块链节点的当前用户的钱包地址和上述购买方的钱包地址,上述第一电子票据的报销信息包括上述购买方的信息,上述报销数据指示上述第一电子票据从上述当前用户的钱包地址转移至购买方的钱包地址;获取购买方的信息;判断获取的购买方信息与上述报销信息中的购买方的信息是否相同;在判断上述报销信息中的购买方信息与上述购买方信息相同的情况下,对上述第一电子票据进行报销。由此可见,在进行发票报销时,通过将发票以数字资产的形式转移至发票上的购买方,并且区块链对发票的合法性以及报销的对象进行验证,不需要人工审核,大大提升了发票报销的效率,简化了发票报销的流程,并且由于发票报销以数字资产的形式进行转移,因此在区块链网络中的其他区块链节点均能查看到该转移信息,从而保证了发票报销的公开透明。

此外,这里需要指出的是:本申请还提供了一种计算机可读存储介质,且上述计算机可读存储介质中存储有前文提及的电子设备所执行的计算机程序,且上述计算机程序包括程序指令,当上述处理器执行上述程序指令时,能够执行前文图2-图4c所对应实施例中对上述数据验证方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。

本申请的权利要求书和说明书及附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置展示该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。


技术特征:

1.一种基于区块链的发票报销方法,所述方法应用于第一区块链节点,其特征在于,包括:

接收用于报销第一电子票据的指令,所述指令携带所述第一电子票据、所述第一电子票据的标识、所述第一电子票据的报销信息和购买方的钱包地址;

根据所述第一电子票据的标识、所述第一电子票据的报销信息、所述第一区块链节点的当前用户的钱包地址和所述购买方的钱包地址生成报销数据,所述报销数据用于指示将所述第一电子票据从所述当前用户的钱包地址转移至所述购买方的钱包地址。

2.根据权利要求1所述的方法,其特征在于,在所述接收用于报销所述第一电子票据的指令之前,所述方法还包括:

接收所述当前用户上传的电子票据;

提取上传的电子票据中的发票信息;

在区块链网络中查询到与所述发票信息匹配的交易数据的情况下,将上传的电子票据确定为第一电子票据,所述区块链网络为所述第一区块链节点对应的区块链网络。

3.根据权利要求2所述的方法,其特征在于,所述方法还包括:

从所述发票信息中提取交易数据;

查询所述区块链网络中是否存在与提取的交易数据匹配的交易数据,在查询到所述区块链网络中存在与提取的交易数据匹配的交易数据的情况下,确定在所述区块链网络中查询到与所述发票信息匹配的交易数据。

4.根据权利要求2所述的方法,其特征在于,所述方法还包括:

将所述第一电子票据生成数字资产转入所述当前用户的钱包地址中。

5.根据权利要求4所述的方法,其特征在于,所述将所述第一电子票据生成数字资产转入所述当前用户的钱包地址中,包括:

提取所述第一电子票据的标识;

根据所述第一电子票据的标识在所述当前用户的钱包地址中生成所述第一电子票据的未花费的交易输出utxo。

6.一种基于区块链的发票报销方法,所述方法应用于第二区块链节点,其特征在于,包括:

接收来自第一区块链节点的报销数据,所述第一区块链节点与所述第二区块链节点属于同一区块链网络,所述报销数据携带第一电子票据的标识、所述第一电子票据的报销信息、所述第一区块链节点的当前用户的钱包地址和所述购买方的钱包地址,所述第一电子票据的报销信息包括所述购买方的信息,所述报销数据指示所述第一电子票据从所述当前用户的钱包地址转移至购买方的钱包地址;

获取购买方的信息;

判断获取的购买方信息与所述报销信息中的购买方的信息是否相同;

在判断所述报销信息中的购买方信息与所述购买方信息相同的情况下,对所述第一电子票据进行报销。

7.一种基于区块链的发票报销装置,其特征在于,包括:

第一接收单元,用于接收用于报销第一电子票据的指令,所述指令携带所述第一电子票据、所述第一电子票据的标识、所述第一电子票据的报销信息和购买方的钱包地址;

生成单元,用于根据所述第一电子票据的标识、所述第一电子票据的报销信息、所述第一区块链节点的当前用户的钱包地址和所述购买方的钱包地址生成报销数据,所述报销数据用于指示将所述第一电子票据从所述当前用户的钱包地址转移至所述购买方的钱包地址。

8.一种基于区块链的发票报销装置,其特征在于,包括:

第三接收单元,用于接收来自第一区块链节点的报销数据,所述第一区块链节点与所述第二区块链节点属于同一区块链网络,所述报销数据携带第一电子票据的标识、所述第一电子票据的报销信息、所述第一区块链节点的当前用户的钱包地址和所述购买方的钱包地址,所述第一电子票据的报销信息包括所述购买方的信息,所述报销数据指示所述第一电子票据从所述当前用户的钱包地址转移至购买方的钱包地址;

获取单元,用于获取购买方的信息;

判断单元,用于判断获取的购买方信息与所述报销信息中的购买方的信息是否相同;

报销单元,用于在判断所述报销信息中的购买方信息与所述购买方信息相同的情况下,对所述第一电子票据进行报销。

9.一种电子设备,其特征在于,包括处理器和存储器,所述处理器和存储器耦合,其中,所述存储器用于存储计算机指令,所述处理器用于执行所述计算机指令,以使所述数据处理装置实现如权利要求1-6任一项所述的方法。

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一条或多条第一指令,所述一条或多条第一指令适于由处理器加载并执行如权利要求1-6任一项所述的基于区块链的发票报销方法。

技术总结
本申请公开了一种基于区块链的发票报销方法、装置以及计算机可读存储介质,该方法包括:接收用于报销第一电子票据的指令,所述指令携带所述第一电子票据、所述第一电子票据的标识、所述第一电子票据的报销信息和购买方的钱包地址;根据所述第一电子票据的标识、所述第一电子票据的报销信息、所述第一区块链节点的当前用户的钱包地址和所述购买方的钱包地址生成报销数据,所述报销数据用于指示将所述第一电子票据从所述当前用户的钱包地址转移至所述购买方的钱包地址。采用本申请,可以简化发票报销的流程,提高发票报销的效率。

技术研发人员:戴传兵
受保护的技术使用者:腾讯科技(深圳)有限公司
技术研发日:2020.01.09
技术公布日:2020.06.05

转载请注明原文地址: https://bbs.8miu.com/read-50127.html

最新回复(0)