基于区块链的发票数据存储智能处理系统的制作方法

摘要: 本发明涉及区块链发票数据处理,尤其涉及基于区块链的发票数据存储智能处理系统。背景技术:1、随着电子发票和数电发票的广泛应用,发票数据已成为企业报销、入账、抵扣、...
基于区块链的发票数据存储智能处理系统的制作方法

本发明涉及区块链发票数据处理,尤其涉及基于区块链的发票数据存储智能处理系统。

背景技术:

1、随着电子发票和数电发票的广泛应用,发票数据已成为企业报销、入账、抵扣、归档及审计的重要电子凭证。为提高发票数据的可信性,现有技术中已有将发票哈希值、开票信息或流转记录写入区块链的方案,以实现发票数据的防篡改存证和追溯管理。

2、但是,现有区块链发票存储方法大多以整张发票为最小处理对象,通常只能记录整票是否已上链、已报销、已抵扣或已作废,难以适应发票在实际业务中的片段化使用需求。例如,同一张发票可能同时对应多个明细行、多个项目、多个部门、多个合同节点或不同价税用途,若仍以整票方式管理,容易造成部分金额已被占用而剩余金额无法准确调用,或者同一发票价值被多个业务系统重复使用。

3、同时,发票在流转过程中可能发生红冲、更正、退票、重复报销或跨系统再次调用等后续事件。现有整票级上链方式难以准确区分哪些片段已经占用、哪些片段应当失效、哪些片段需要替代承接、哪些片段应当冲突隔离,导致红冲后旧发票继续使用、更正后旧片段被错误调用、重复报销难以及时识别等问题。

技术实现思路

1、本发明提供了基于区块链的发票数据存储智能处理系统,将发票按照明细行、价税归属和业务用途边界进行片段化存储,并基于区块链持续记录各发票片段占用状态和后续状态变化的发票数据存储智能处理方法,以提高发票数据在多业务系统调用、部分占用及状态变更场景下的可控性。

2、基于区块链的发票数据存储智能处理系统,所述系统运行时执行以下:

3、接收待存储发票,将所述待存储发票按照发票明细行、价税归属和业务用途边界拆分为互不重叠的发票最小可用片段,并为每一所述发票最小可用片段生成片段存储凭证,将所述片段存储凭证与原票关联关系写入区块链,形成发票片段化存储凭证集;

4、当业务系统发起对所述待存储发票的调用请求时,依据所述发票片段化存储凭证集为本次调用匹配未被占用的发票最小可用片段,并将匹配结果写入区块链,生成发票用途占用链;所述发票用途占用链用于记录每一所述发票最小可用片段的已占用、未占用、被替代或被隔离状态;

5、当接收到针对同一待存储发票的状态变更事件或跨系统再次调用事件时,沿所述发票用途占用链定位受影响的发票最小可用片段,对未占用的发票最小可用片段执行失效封存,对已占用的发票最小可用片段生成替代承接结果或冲突隔离结果,并将所述失效封存、替代承接结果或冲突隔离结果汇总为当前可调用发票存储断面写入区块链,使后续业务系统仅依据所述当前可调用发票存储断面调用发票数据。

6、可选的,所述待存储发票为结构化数据,解析所述待存储发票的结构化数据,提取全部发票明细行以及全票的价税合计信息;针对每一发票明细行,将不含税金额与税额分离,形成价税归属子片段;依据预设的业务用途边界模板,将每一所述价税归属子片段进一步划分为若干可被单一业务事项独立占用的最小业务单元,各最小业务单元金额之和等于原价税归属子片段金额,且不同最小业务单元之间金额互斥,由此得到的全部最小业务单元共同构成所述互不重叠的发票最小可用片段,且覆盖原发票全部可用价值。

7、可选的,所述发票最小可用片段均分配有全局唯一的片段标识,提取片段属性信息,至少包括原发票代码、原发票号码、所属明细行序号、价税标志、金额、税率、税额、业务用途类别及时间戳,计算片段属性信息的数字摘要,并使用系统私钥对所述数字摘要进行签名,生成同时包括所述片段标识、属性信息、数字摘要与数字签名的片段存储凭证。

8、可选的,将所有所述发票最小可用片段的片段标识及其数字摘要组织为以原发票唯一标识为索引的默克尔树,计算默克尔根哈希,将原发票哈希与所述默克尔根哈希写入第一区块链交易;将每一所述片段存储凭证及其在所述默克尔树中的验证路径写入第二区块链交易,并在第二区块链交易中记录指向所述第一区块链交易的关联指针,形成包括全部片段存储凭证且可验证原票与片段之间归属关系的所述发票片段化存储凭证集。

9、可选的,接收业务系统发送的调用请求,所述调用请求至少包括目标发票标识、调用业务类型、所需不含税金额和所需税额,调用业务类型包括入账、报销、抵扣或归档;依据所述目标发票标识查询所述发票片段化存储凭证集,获取发票对应的全部发票最小可用片段的标识及其属性信息;遍历区块链上已记录的与所述目标发票标识关联的发票用途占用链,获得每一发票最小可用片段的当前占用状态,所述占用状态包括已占用、未占用、被替代和被隔离。

10、可选的,根据所述调用业务类型确定对应的业务用途类别,从当前状态为未占用的发票最小可用片段中,筛选出价税归属与所述所需不含税金额和所需税额相匹配的候选片段集合,其中,筛选时排除状态为已占用、被替代或被隔离的片段;

11、采用预设片段匹配策略,从所述候选片段集合中确定目标占用片段集:若存在单个未占用片段的不含税金额和税额分别与请求的所需不含税金额和所需税额相等,则直接将片段作为目标占用片段;若不存在金额完全相等的单个片段,则选取不含税金额大于所需不含税金额且差值最小的未占用片段,将其拆分为占用子片段和零头子片段,所述占用子片段金额等于所需不含税金额及对应税额,所述零头子片段作为新的未占用发票最小可用片段,并为零头子片段生成新的片段存储凭证。

12、可选的,所述目标占用片段集中涉及的每一个被占用的片段或子片段,生成占用事务,所述占用事务包括片段标识、调用业务标识、占用类型、占用金额、税额、时间戳以及基于片段前一状态记录哈希与本次占用信息所计算的状态链接哈希;

13、将所述占用事务作为区块链交易写入新区块,将被占用片段在发票用途占用链上的状态更新为已占用,将拆分产生的零头子片段状态初始化为未占用并纳入所述发票用途占用链的维护范围,使发票用途占用链持续记录每一所述发票最小可用片段的已占用、未占用、被替代或被隔离状态,且各状态记录通过状态链接哈希形成可追溯的链式结构。

14、可选的,所述状态变更事件或跨系统再次调用事件均携带原发票标识,依据原发票标识,遍历发票的发票用途占用链,获取全部发票最小可用片段的当前状态。

15、可选的,基于所述当前状态:

16、将当前状态为未占用的片段的状态变更为已失效,生成失效封存凭证,封存其全部金额不再参与后续调用;

17、对于当前状态为已占用的片段,若事件为红冲或更正,则生成对应的负值替代片段,并与原占用片段建立替代承接关系;若事件为重复报销或跨系统再次调用引发的冲突,则生成冲突隔离记录,将原占用片段标记为被隔离状态。

18、可选的,还包括汇总发票下所有状态为未占用且未失效的片段,构成当前可调用发票存储断面,并将当前可调用发票存储断面与本次状态变更的凭证一并写入区块链,作为后续业务系统调用的唯一依据。

19、本发明的有益效果:

20、本发明,通过将待存储发票从传统的整票级存证对象拆分为互不重叠的发票最小可用片段,并进一步生成发票片段化存储凭证集,使发票数据的存储粒度由整张发票细化到可被单一业务事项独立占用的片段。相较于现有技术中仅对整张发票哈希上链或仅记录发票整体状态的方式,本发明能够准确表达同一张发票中不同明细行、不同价税归属、不同业务用途之间的价值边界,避免一张发票在部分报销、部分抵扣、分项目入账或合同分期核销时只能被整体占用的问题。

21、本发明,通过建立发票用途占用链,将业务系统的入账、报销、抵扣或归档调用与发票最小可用片段的当前状态进行联动,使发票价值的使用过程能够被持续记录和精确控制。在接收到调用请求后,不再简单判断整张发票是否已使用,而是根据目标发票标识查询发票片段化存储凭证集,并结合发票用途占用链筛选当前状态为未占用的片段,再通过预设片段匹配策略确定目标占用片段集。该方式能够优先实现整片精确匹配,在无法精确匹配时通过单片拆分或多片组合实现精确占用,并将占用事务写入区块链,使每一片段的已占用、未占用、被替代或被隔离状态均具有链式追溯依据。由此有效防止同一发票金额或税额在多个业务系统中被重复报销、重复抵扣或重复归档,提高发票数据调用的准确性和财税业务处理的安全性。

22、本发明,针对红冲、更正、退票、重复报销及跨系统再次调用等发票后续状态变更事件,设置了片段级失效封存、负值替代承接、冲突隔离和当前可调用发票存储断面生成机制。对于未占用片段,系统能够在发票发生红冲、更正或退票后及时生成失效封存凭证,使剩余未使用价值不再参与后续调用;对于已占用片段,系统能够根据事件类型生成负值替代片段或冲突隔离记录,避免原占用片段在业务效力已经变化后继续作为有效凭证使用。