CN110349322B - 一种发票数据验证方法、装置及设备 - Google Patents
一种发票数据验证方法、装置及设备 Download PDFInfo
- Publication number
- CN110349322B CN110349322B CN201910643576.2A CN201910643576A CN110349322B CN 110349322 B CN110349322 B CN 110349322B CN 201910643576 A CN201910643576 A CN 201910643576A CN 110349322 B CN110349322 B CN 110349322B
- Authority
- CN
- China
- Prior art keywords
- transaction
- data
- transaction data
- invoice
- node
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/389—Keeping log of transactions for guaranteeing non-repudiation of a transaction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/04—Billing or invoicing
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07D—HANDLING OF COINS OR VALUABLE PAPERS, e.g. TESTING, SORTING BY DENOMINATIONS, COUNTING, DISPENSING, CHANGING OR DEPOSITING
- G07D7/00—Testing specially adapted to determine the identity or genuineness of valuable papers or for segregating those which are unacceptable, e.g. banknotes that are alien to a currency
- G07D7/004—Testing specially adapted to determine the identity or genuineness of valuable papers or for segregating those which are unacceptable, e.g. banknotes that are alien to a currency using digital security elements, e.g. information coded on a magnetic thread or strip
- G07D7/0047—Testing specially adapted to determine the identity or genuineness of valuable papers or for segregating those which are unacceptable, e.g. banknotes that are alien to a currency using digital security elements, e.g. information coded on a magnetic thread or strip using checkcodes, e.g. coded numbers derived from serial number and denomination
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Development Economics (AREA)
- Computer Security & Cryptography (AREA)
- Economics (AREA)
- Marketing (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种发票数据验证方法、装置及设备,所述发票数据验证方法包括:获取交易数据;从所述交易数据中获取交易商品编号,将所述交易商品编号与预先存储的第一备案商品编号进行对比;基于所述对比的结果,对所述交易数据进行验证,获得验证结果。本发明实现对交易数据真实性的判断,进而确保基于该交易数据生成的发票的真实性。
Description
技术领域
本发明涉及发票数据处理技术领域,具体而言,涉及一种发票数据验证方法、装置及设备。
背景技术
发票是指一切单位和个人在购销商品、提供或接受服务以及从事其他经营活动中,由卖方向买方签发的文本,内容包括向买方提供产品或服务的名称、质量、协议价格。发票作为税务征收的凭证,其真实性和准确性是关键。
目前,发票生成通常由税务机关根据交易信息直接生成,因此,交易信息的真实性对发票的真实性有直接性影响。然而,税务机关通常不会也无法对交易信息的真实性进行验证,因而也无法识别交易信息虚假导致的发票虚假问题。
发明内容
本发明解决的问题是如何对发票对应交易信息进行真实性验证。
为解决上述问题,本发明提供一种发票数据验证方法,包括:
获取交易数据;
从所述交易数据中获取交易商品编号,将所述交易商品编号与预先存储的第一备案商品编号进行对比;
基于所述对比的结果,对所述交易数据进行验证,获得验证结果。
可选地,所述获取交易数据的步骤包括:
获取第一节点广播的第一交易数据;
获取第二节点广播的第二交易数据,其中,所述第一节点和所述第二节点为同一交易的交易双方节点,所述第一交易数据和所述第二交易数据对应所述同一交易。
可选地,所述从所述交易数据中获取交易商品编号,将所述交易商品编号与预先存储的第一备案商品编号进行对比的步骤包括:
从所述交易数据中获取卖方交易数据和买方交易数据;
判断所述卖方交易数据和所述买方交易数据是否对应一致;
若对应一致,则将所述卖方交易数据和所述买方交易数据中的交易商品编号与所述第一备案商品编号进行对比。
可选地,所述基于所述对比的结果,对所述交易数据进行验证,获得验证结果的步骤包括:
获取第三方节点发送的验证数据,其中,所述验证数据为所述第三方节点基于所述交易数据,确定所述交易数据中的交易商品编号,并基于所述交易商品编号与预先存储的第二备案商品编号生成的;
基于所述验证数据和所述对比的结果,对所述交易数据进行验证,获得验证结果。
可选地,所述基于所述对比的结果,对所述交易数据进行验证,获得验证结果的步骤之后包括:
基于所述验证结果确定所述交易数据通过验证时,将基于所述交易数据生成的发票信息存储至预置的发票地址。
可选地,所述预置的发票地址为正在创建的区块的地址。
可选地,所述基于所述对比的结果,对所述交易数据进行验证,获得验证结果的步骤之后包括:
将所述验证结果加密广播至其他节点。
可选地,所述基于所述对比的结果,对所述交易数据进行验证,获得验证结果的步骤之后包括:
检测到开票申请后,从所述开票申请中获得交易标识;
基于所述交易标识在区块链上查询,获得存储所述交易标识对应交易信息的目标区块;
从所述目标区块中获取所述交易标识对应交易信息,基于所述交易标识对应交易信息生成发票区块。
可选地,所述发票区块包括区块头和区块体,所述区块体包含节点标识、交易详情以及所述验证结果,其中,所述节点标识包含所述交易标识对应的交易数据的验证节点标识和生成节点标识,所述交易详情包括交易时间、交易商品编号、交易金额中的至少一个。
本发明还提出一种发票数据验证装置,包括:
获取单元,所述获取单元用于获取交易数据;
对比单元,所述对比单元用于从所述交易数据中获取交易商品编号,将所述交易商品编号与预先存储的第一备案商品编号进行对比;
验证单元,所述验证单元用于基于所述对比的结果,对所述交易数据进行验证,获得验证结果。
本发明还提出一种发票数据验证设备,包括:存储有计算机程序的计算机可读存储介质和处理器,所述计算机程序被所述处理器读取并运行时,实现如上所述的发票数据验证方法。
本发明还提出一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器读取并运行时,实现如上所述的发票数据验证方法。
通过获取交易数据,从交易数据中获取交易商品编号,将交易商品编号与预先存储的第一备案商品编号进行对比,基于对比的结果,对交易数据进行验证,获得验证结果,可实现对交易商品是否真实的判断,进而实现对交易数据真实性的判断,进而确保基于该交易数据生成的发票的真实性。
附图说明
图1为本发明发票数据验证方法一实施例的流程示意图;
图2为本发明发票数据验证方法一实施方式的流程示意图;
图3为图1中步骤S10细化后的一实施例流程示意图;
图4为图1中步骤S20细化后的一实施例流程示意图;
图5为图1中步骤S30的一实施例中细化流程示意图;
图6为本发明发票数据验证方法另一实施方式的流程示意图;
图7为本发明发票数据验证方法另一实施例的流程示意图;
图8为本发明发票数据验证装置的一实施例结构示意图;
图9为本发明发票数据验证设备的一实施例结构示意图。
附图标记说明:
101-获取单元,102-对比单元,103-验证单元,201-计算机可读存储介质,202-处理器。
具体实施方式
为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
本发明提出一种发票数据验证方法。
在下述各实施例中,节点是指参与到一个系统中的虚拟模块或物理设备,在使用区块链技术实现本发明时,基于区块链技术建立分布式发票系统,节点作为分布式发票系统的组成节点参与构成发票系统,节点组成的分布式系统可以等效为一个对等的分布式通信网络,每一个通信节点可以接收和发送数据,并且采用对等的广播通信机制。
图1为本发明发票数据验证方法一实施例的流程示意图。
如图1,所述发票数据验证方法包括:
步骤S10,获取交易数据;
交易数据,指交易商品的数量、单价、类型、时间、商品编号等销售信息。在交易发生时或交易发生后,可由交易买方和/或交易卖方手动将交易数据上传至发票系统,也可在交易费用交换设备(如收银设备)上配置发票系统的通信接口,在收取费用的同时,将采集的交易数据自动传输至发票系统。
发票数据验证终端,可直接从发票系统共享的交易数据库中,获取交易数据,也可以直接接收由交易买方和/或交易卖方主动发送的交易数据,还可以接收由中转节点发送的交易数据。发票数据验证终端可以为工商局端设备,也可以为其他存储第一备案商品编号的设备,其作为验证节点参与到发票系统(下称验证节点)。
一实施方式中,基于区块链技术建立发票系统,交易卖方、交易买方以及验证节点均作为节点参与到发票系统中,作为发票系统中的数据存储、数据收发以及数据处理节点,交易数据由卖方节点和/或买方节点广播至发票系统的其他节点,验证节点作为发票系统中的节点,可接收卖方节点和/或买方节点广播的交易数据。
步骤S10中的交易数据,指任意一次交易涉及的交易数据。在交易数据首次传输至发票系统之后,可为该交易分配唯一标识,用以将该交易与其他交易区分开来。
步骤S20,从所述交易数据中获取交易商品编号,将所述交易商品编号与预先存储的第一备案商品编号进行对比;
正规商品在生产前,生产厂家均会首先向工商局申请批准生产商品,并获得工商局分配的生产批号,可以将该生产批号作为备案商品编号,也可基于该生产批号生成对应的备案商品编号,在商品生产后,为各个商品分配备案商品编号,并将分配了商品编号的商品流向市场,因此交易商品编号可唯一标识某个商品。交易商品编号可以通过扫描商品包装上的条形码或二维码获得。而对于非正规商品,其可能没有商品编号或具有与备案编号不同的商品编号。
验证节点在获得交易数据后,在交易数据中查询商品编号字段,若商品编号字段为空,则无需进行后续对比,直接判定交易数据验证不通过,若商品编号字段不为空,则直接获得交易商品编号。
第一备案商品编号,指工商局已发放的产品批号,为预先存储的多个商品编号。通过将获得的交易商品编号与第一备案商品编号进行对比,判断交易商品编号是否属于已备案商品编号,若第一备案商品编号中包含与交易商品编号相同的编号,则判定交易商品编号属于已备案商品编号,反之,若第一备案商品编号中不包含与交易商品编号相同的编号,则判定交易商品编号不属于已备案商品编号;可选地,在另一实施方式中,若第一备案商品编号中包含与交易商品编号对应的编号,则判定交易商品编号属于已备案商品编号,若第一备案商品编号中不包含与交易商品编号对应的编号,则判定交易商品编号不属于已备案商品编号,其中的对应,指第一备案商品编号与交易商品编号之间存在的一一对应的关系,可预置具体对应规则,例如,将一个第一备案商品编号的部分数字或符号删减,将删减后的保留字符作为交易商品编号,则可直接判断交易商品编号是否与第一备案商品编号的部分字符是否一致,以确定交易商品编号与第一备案商品编号之间的对应关系。
一实施方式中,基于区块链技术建立发票系统,第一备案商品编号分布式存储在发票系统各节点的区块链上。
步骤S30,基于所述对比的结果,对所述交易数据进行验证,获得验证结果。
在交易商品编号与第一备案商品编号的对比结果基础上,对交易数据进行验证。一实施方式中,若交易商品编号属于已备案商品编号,则说明交易商品为正规产品,则确认交易数据通过验证,反之,若交易商品编号不属于已备案商品编号,则确认交易数据未通过验证;另一实施方式中,若交易商品编号不属于已备案商品编号,则确认交易数据未通过验证,若交易商品编号属于已备案商品编号,则进一步将从多个节点获得的交易数据进行对比,例如,验证节点分别接收买方节点发送的交易数据和卖方节点发送的交易数据,将买卖双方发送的交易数据进行对比,判断二者是否对应一致,基于二者是否对应一致的判断结果,对交易数据进一步验证:一致则通过验证,不一致则不通过验证。
一实施方式中,如图2,步骤S30之后包括:步骤S311,将所述验证结果加密广播至其他节点。
基于区块链技术建立发票系统,在获得验证结果,将验证结果加密广播至发票系统的其他节点,可采用Hash 256公钥加密算法对交易数据进行加密。使得保证验证结果安全性的同时,还便于其他有权限的节点按需获取验证结果。
可选地,该其他节点包含信息节点,信息节点用于基于交易数据生成发票信息,并由信息节点判断是否将基于所述交易数据生成的发票信息存储至预置的目标区块地址中,以供卖方节点或买方节点基于交易数据中的交易标识查找目标区块地址,并基于目标区块地址中存储的发票信息生成所需发票。
通过获取交易数据,从交易数据中获取交易商品编号,将交易商品编号与预先存储的第一备案商品编号进行对比,基于对比的结果,对交易数据进行验证,获得验证结果,可实现对交易商品是否真实的判断,进而实现对交易数据真实性的判断,进而确保基于该交易数据生成的发票的真实性。
可选地,如图3,基于区块链技术建立发票系统,步骤S10包括:
步骤S11,获取第一节点广播的第一交易数据;
步骤S12,获取第二节点广播的第二交易数据,其中,所述第一节点和所述第二节点为同一交易的交易双方节点,所述第一交易数据和所述第二交易数据对应所述同一交易。
第一节点和第二节点,均为发票系统中的节点,第一节点、第二节点为交易双方节点,即某交易的买方节点和卖方节点,因任一交易均有唯一交易标识,所以,第一节点和第二节点对应同一交易标识,第一节点广播的第一交易数据与第二节点广播的第二交易数据均对应同一交易标识。
第一节点/第二节点,在产生交易数据后,将产生的交易数据广播至发票系统中的其他节点,为保证交易数据的安全性以及保证数据的私密性,在广播前,将交易数据加密,可采用Hash 256公钥加密算法对交易数据进行加密。
验证节点作为发票系统中的一个节点,可接收第一节点广播的第一交易数据,以及第二节点广播的第二交易数据,且验证节点具有解密所述第一交易数据和第二交易数据的权限,可基于私钥Hash 256解密算法对接收的第一交易数据、第二交易数据进行解密,以获取第一交易数据、第二交易数据的具体数据内容。
通过应用区块链技术建立发票系统,使得第一节点、第二节点广播的交易数据,可广播至对等的分布式数据库中,数据透明,便于发票系统中各节点的数据调用和查看,也提高了交易数据的安全性。
可选地,如图4,步骤S20包括:
步骤S21,从所述交易数据中获取卖方交易数据和买方交易数据;
买方所需发票对应的交易内容,通常为买方与卖方之间的交易内容,然而,卖方可能因故意或无意提供与买方交易无关的交易数据,即,符合买方发票需求的交易数据与卖方实际提供的交易数据可能存在差异,为降低因这种差异导致对同一交易进行验证的反复几率,验证节点将卖方交易数据和买方交易数据共同作为验证基础数据。
可选地,由验证节点直接从交易数据库中获得卖方交易数据和买方交易数据,可选地,可基于区块链技术实现本发明发票数据验证方法,通过接收发票系统中其他节点广播的卖方交易数据和买方交易数据,并对卖方交易数据和买方交易数据进行解密,获得具体数据内容。
步骤S22,判断所述卖方交易数据和所述买方交易数据是否对应一致;
判断卖方交易数据和买方交易数据是否对应一致,其中,卖方交易数据与买方交易数据包含的项目数量可能不同,例如,卖方交易数据包含数量、单价、类型、时间、商品编号这五项内容,而买方交易数据包含商品编号、类型这两项内容,则直接将卖方交易数据中的商品编号和类型与买方交易数据中对应的商品编号和类型进行对比,判断前者与后者的商品编号、类型是否对应一致。
可选地,卖方交易数据与买方交易数据包含的项目数量也可能不同。
步骤S23,若对应一致,则将所述卖方交易数据和所述买方交易数据中的交易商品编号与所述第一备案商品编号进行对比。
如果对应一致,则可初步确定交易数据在交易双方无异议,在此基础上,进一步基于确定无异议的交易数据进行后续验证。如果不对应一致,例如,卖方交易数据中的商品编号与买方交易数据中的商品编号不一样,则说明交易数据在交易双方存在异议,则无需进行后续的验证(如将卖方交易数据和所述买方交易数据中的交易商品编号与所述第一备案商品编号进行对比的后续验证)直接判定交易数据验证不通过,并输出验证不通过的结果到相关节点,此处相关节点指卖方节点和/或买方节点、以及信息节点等,也可将验证不通过的结果保存到结果数据库,以供相关节点进行查询调用,可选地,在基于区块链技术实现本发明时,可由作为验证节点的验证节点将验证不通过的结果广播至其他节点。
通过从交易数据中获取卖方交易数据和买方交易数据,判断卖方交易数据和买方交易数据是否对应一致,若对应一致,则将卖方交易数据和买方交易数据中的交易商品编号与第一备案商品编号进行对比,可确保进行后续验证的交易数据为买方和卖方共同确认的交易数据,初步确定该交易数据的正确性,进而确保基于该交易数据生成的发票的准确性,使得基于该交易数据生成的发票为买方所需发票。
可选地,如图5,步骤S30包括:
步骤S31,获取第三方节点发送的验证数据,其中,所述验证数据为所述第三方节点基于所述交易数据,确定所述交易数据中的交易商品编号,并基于所述交易商品编号与预先存储的第二备案商品编号生成的;
为防止通信过程中的信息丢失或失真导致的验证失误,设置第三方节点进行同步验证,基于第三方节点生成的验证数据进行交易数据完整性、交易数据准确性验证。
第三方节点可以为商品生产厂家节点,也可以为其他具有某一个或多个商品生产厂家的备案商品编号的平台节点,第三方节点可获得预先存储的第二备案商品编号,第二备案商品编号指工商局已发放的产品批号,为预先存储的多个商品编号,可与第一备案商品编号指代存储在同一数据库中相同的备案商品编号,也可指代存储在不同数据库中相同的备案商品编号。第三方节点也为发票系统的节点之一。
一实施方式中,基于区块链技术实现本发明,在交易数据被广播时,第三方节点接收到交易数据,并具有解密交易数据的权限,第三方节点可获得交易数据的具体数据内容,并基于交易数据的具体数据内容执行相应操作,生成验证数据,其中,验证数据可包含交易数据的具体数据内容。具体地,由第三方节点获取交易数据中的交易商品编号,将交易商品编号与第二备案商品编号进行对比,判断交易商品编号是否属于第二备案商品编号对应的备案商品编号,并将判定结果也作为验证数据。
可选地,第三方节点存储有卖方节点具有的商品类型、库存数量以及商品编号等信息,在基于交易数据确定交易商品编号属于第二备案商品编号对应的备案商品编号时,注销该交易商品编号,并调整卖方节点的商品库存数量,以实现实时更新商品销售情况,供其将商品销售情况实时反馈至商品生产厂家节点,以便商品生产厂家节点基于商品销售情况确认是否触发生产提醒信息。
步骤S32,基于所述验证数据和所述对比的结果,对所述交易数据进行验证,获得验证结果。
验证节点在获取验证数据后,根据验证数据和所述对比的结果,对所述交易数据进行验证,具体可将验证数据中的交易数据与验证节点接收到的交易数据进行一致性对比,一实施方式中,首先基于验证数据中验证是否通过的结果数据与对比结果进行初级验证,若验证数据中为验证通过的结果,且对比结果也为交易商品编号属于已备案商品编号,则继续将验证数据中的交易数据与验证节点接收到的交易数据进行一致性对比,若二者一致,则判定交易数据通过验证,反之,则判定交易数据未通过验证,若验证数据中为验证未通过的结果,或对比结果为交易商品编号不属于已备案商品编号,则判定交易数据未通过验证。
通过获取第三方节点发送的验证数据,其中,所述验证数据为所述第三方节点基于所述交易数据,确定所述交易数据中的交易商品编号,并基于所述交易商品编号与预先存储的第二备案商品编号生成的,基于所述验证数据和所述对比的结果,对所述交易数据进行验证,获得验证结果,可对交易数据的准确性进行验证,避免因信息失真或丢失导致的验证错误。
可选地,如图6,步骤S30之后包括:
步骤S301,基于所述验证结果确定所述交易数据通过验证时,将基于所述交易数据生成的发票信息存储至预置的发票地址。
可由发票数据验证设备执行步骤S301,也可以由其他设备(称为发票数据生成设备)执行步骤S301。
一实施方式中,由其他设备执行步骤S301,在普通的分布式系统中,验证节点将验证结果存储在预设的结果数据库中,则发票数据生成设备可主动从结果数据库中获取验证结果,或者验证节点直接将验证结果发送至发票数据生成设备。
在基于区块链技术实现本发明时,发票数据生成设备作为发票系统的信息节点,验证节点将验证结果广播至发票系统的其他节点,信息节点接收验证结果,并享有解密验证结果的权限,因此,在接收验证结果后,获取验证结果内容,包括但不限于:交易数据的验证结果、验证结果所基于的交易数据具体内容。
预置的发票地址为存放已生成的发票信息的地址,在卖方或买方节点发起发票开具请求时,从该预置的发票地址中获取发票信息生成最终的电子发票。因此,若将生成的发票信息存储至预置的发票地址,则有利于后续生成最终的电子发票时顺利获得发票数据,若没有将生成的发票信息存储至预置的发票地址,则在卖方或买方节点发起发票开具请求时,无从获得发票信息,发票生成失败。
可选地,发票信息可以在信息节点接收到验证结果之后,基于验证结果确定是否生成发票信息,以及是否将发票信息存储至预置的发票地址;或者,信息节点在获取到交易数据(主动从交易数据库获取或接收卖方/买方/其他节点发送的交易数据或接收广播的交易数据)后,就基于获取的交易数据进行发票信息的生成,在接收到验证结果后,就基于验证结果确定是否将发票信息存储至预置的发票地址。
可选地,基于验证结果确定交易数据通过验证时,即可将发票信息存储至预置的发票地址,因为交易数据通过验证,说明交易数据的真实性已验证通过,基于交易数据生成的发票信息也为真实的发票信息。反之,若基于验证结果确定交易数据未通过验证,则说明交易数据的真实性存疑,暂不将发票信息存储至预置的发票地址。
通过获取所述验证结果,基于所述验证结果确定是否将发票信息存储至预置的发票地址,可以在验证结果为交易数据不通过验证时,不将发票信息存储至预置的发票地址,进而使得发票生成失败,使得交易数据真实性存疑的交易数据无法开具对应的发票,避免虚假发票的情况存在,也减少无用数据的存储,节约存储资源。
可选地,信息节点生成发票信息所基于的交易数据可能与验证节点所基于的交易数据不同。获取所述验证结果所基于的交易数据,获取所述发票信息所基于的交易数据;将所述验证结果所基于的交易数据与所述发票信息所基于的交易数据进行对比,判断二者是否对应一致;若是,则在基于所述验证结果确定所述交易数据通过验证时,将所述发票信息存储至所述预置的发票地址。
因通信过程中的数据失真或丢失,验证节点所基于的交易数据可能与发票信息所基于的交易数据存在差异,为便于描述,将验证节点所基于的交易数据称为验证用交易数据,将发票信息所基于的交易数据称为信息用交易数据,验证用交易数据和信息用交易数据的差异,可能导致验证结果的不准确,或者发票信息的不准确。
将验证用交易数据和信息用交易数据进行对比,判断二者是否对应一致,对应一致是指共同具有的项目的数据内容是否一致,例如,验证用交易数据和信息用交易数据都包含商品编号、商品数量,则对比二者的商品编号、商品数量是否一致,若是,则可判定二者对应一致,若不是,则判定二者不一致,不将发票信息存储至所述预置的发票地址,可删除发票信息,广播判定结果至其他节点或发送判定结果给结果数据库。
若验证用交易数据和信息用交易数据对应一致,且基于所述验证结果确定所述交易数据通过验证,则将发票信息存储至预置的发票地址。
通过获取所述验证结果所基于的交易数据,获取所述发票信息所基于的交易数据,将所述验证结果所基于的交易数据与所述发票信息所基于的交易数据进行对比,判断二者是否对应一致,若是,则在基于所述验证结果确定所述交易数据通过验证时,将所述发票信息存储至所述预置的发票地址,可避免因数据失真或丢失导致验证用交易数据和信息用交易数据的差异,进而避免由此导致的验证结果不准确,或者发票信息不准确。
可选地,在基于区块链技术实现本发明时,预置的发票地址为正在创建的区块的地址。
在基于区块链技术实现本发明时,数据存储以区块链结构存储,预置的发票地址也为当前时段下对应创建的区块的地址,即在确定将发票信息存储至预置的发票地址时,将发票信息广播,由发票系统的各个节点将发票信息存储在分布式的区块账本中,该区块账本为广播发票信息的时段对应的区块。
通过将预置的发票地址设置为正在创建的区块的地址,可将发票信息分布式存储,使得发票信息方便各需要的节点调用和查看,以及生成最终的电子发票,且数据采用分布式对等架构组合,每一个节点均拥有完整的发票信息副本,即使部分节点的本地发票信息副本遭到破坏,依旧可以通过下载更新相邻节点的数据修复本地数据库,从而提高了发票信息的健壮性和安全性。
可选地,如图7,步骤S30之后包括:
步骤S321,检测到开票申请后,从所述开票申请中获得交易标识;
在基于区块链技术实现本发明时,可由买方节点或卖方节点或其他有权限开具发票的节点,通过各自的节点设备发起发票开具请求,即开票申请。交易标识为唯一标识某一交易的标识符号,解析开票申请可获得。
步骤S322,基于所述交易标识在区块链上查询,获得存储所述交易标识对应交易信息的目标区块;
查询区块链,可基于区块链的区块头查询记载/存储所述交易标识对应交易信息的目标区块,交易标识对应交易信息,可包含有关该交易标识对应交易的所有信息,如节点标识,即节点ID,用于标明参与该交易标识对应交易数据生成、验证的节点主体,可包括买方、卖方、验证节点、信息节点、第三方节点,该交易标识对应交易信息还包括验证结果、以及某些节点或环节出现的额外数据信息以及其他各节点广播的有关该交易标识对应交易的所有信息。
因各节点广播的有关该交易标识对应交易的信息可能发生在不同时间点,因而,可能存储在不同的区块中,所以,目标区块可能有多个,可遍历查询某时间段内(可为自该交易标识对应交易的商品编号产生的时间节点起)的所有区块,以获得所有的目标区块。
步骤S323,从所述目标区块中获取所述交易标识对应交易信息,基于所述交易标识对应交易信息生成发票区块。
从目标区块中获取交易标识对应交易信息,将所述交易信息存储在一个区块中,该区块即为发票区块。
在生成发票区块后,发起发票开具请求的节点从该发票区块中下载对应的发票信息,生成电子发票。
可选地,所述发票区块包括区块头和区块体,所述区块体包含节点标识、交易详情以及所述验证结果,其中,所述节点标识包含所述交易标识对应的交易数据的验证节点标识和生成节点标识,所述交易详情包括交易时间、交易商品编号、交易金额中的至少一个。
为便于理解本方案,提出本发明发票数据验证方法另一实施例,应用于区块链系统,包括卖方节点、买方节点、第三方节点、验证节点、信息节点,所述发票数据验证方法包括:
(1)由第三方节点向验证节点申请商品备案,获得备案商品编号,其中,可将各个备案商品编号附着在对应商品上,可采用二维码或条形码等附着方式。
(2)卖方节点与买方节点进行交易,并由卖方节点将交易数据加密广播至区块链系统的其他节点,交易数据包括交易时间、交易商品编号、商品类型、交易价格等;其中,可由卖方节点设备在扫描商品二维码或条形码收银时,自动采集商品编号、交易价格以及交易时间、交易数量等交易数据,并将采集的交易数据通过区块链系统的通信接口传输至区块链系统。
(3)买方节点在收货后,可由买方节点设备确认收货,并将收到的商品信息,如商品数量、商品编号等交易数据加密广播至区块链系统的其他节点。
(4)卖家节点交易出的商品均从第三方节点获得,第三方节点存储有卖家节点交易的所有商品的商品编号。第三方节点接收卖家节点/买家节点加密广播的交易数据,解密后即可获得交易数据内容,从解密后的交易数据中获得交易商品编号、交易商品数量等信息,基于获得的交易商品编号、交易商品数量等信息对卖家节点广播的本次交易进行验证,具体包括:判断交易商品编号是否属于已存储的备案商品编号,以验证交易商品是否为正品。若判定交易商品编号属于已存储的备案商品编号,则将该判定结果以及接收的交易数据作为验证数据加密广播。此外,还可包括将卖方节点加密广播的交易数据与买方节点加密广播的交易数据进行对比,将该判定结果、接收的交易数据以及对比结果加密广播。
(5)验证节点接收并存储卖方节点和买方节点加密广播的交易数据,验证节点具有交易数据的解密权限,在接收到交易数据后,验证节点即基于预先设定好的智能合约执行对应的验证操作,具体包括:从交易数据中获取交易商品编号,将交易商品编号与预先存储的第一备案商品编号进行对比,基于所述对比的结果,对所述交易数据进行验证,获得验证结果;
此外,还可包括将卖方节点加密广播的交易数据与买方节点加密广播的交易数据进行对比,判断二者是否对应一致,对应一致是指:交易商品编号、交易数量、交易价格等分别对应一致,基于该对应一致的判断结果、以及所述对比的结果,对所述交易数据进行验证,获得验证结果;
此外,为避免因信息丢失或失真导致的验证失误,可解密第三方节点广播的验证数据,结合验证数据以及验证节点的所述对比的结果、交易一致性结果等验证过程,进行双重验证,使获得的验证结果更为准确;
其中,验证节点可为税务局节点;
验证节点在获得验证结果后,将验证结果加密广播至其他节点。
若验证结果为交易数据不通过验证,则卖家节点和/或买家节点面向用户的前端应用给出验证不通过的提示信息,以提醒用户重新从卖家节点和/或买家节点上传交易数据。
(6)信息节点接收交易数据,一实施方式中,信息节点接收验证节点广播的验证结果后,基于验证结果确定是否基于交易数据生成发票号、应缴税率以及纳税金额等发票信息,若交易数据未通过验证,则不生成发票信息,若交易数据通过验证,则生成发票信息,并将发票信息广播;另一实施方式中,信息节点在接收到交易数据后,基于交易数据中的交易类型、交易商品的数量和金额等信息生成发票信息,在接收到验证节点广播的验证结果后,再基于验证结果确定是否将生成的发票信息广播至其他节点,若交易数据未通过验证,则不广播发票信息,若交易数据通过验证,则将发票信息广播;在又一实施方式中,信息节点接收验证节点广播的验证结果后,基于接收的交易数据和验证结果,判断接收的交易数据与验证节点进行验证所基于的交易数据是否对应一致,若一致,且交易数据通过验证节点的验证,则生成发票信息,或者将预先生成的发票信息广播。
(7)在发票信息广播后,即可由买方节点或卖方节点或其他有权限开具发票的节点,通过各自的节点设备发起发票开具请求。在一实施方式中,在发票信息广播后,区块链系统生成发票区块,用于存储对应交易涉及的区块链系统节点标识、交易数据信息、验证信息、交易形式以及交易时间,发起发票开具请求的节点从发票区块中下载对应的发票信息,生成电子发票。
可选地,买方节点或卖方节点在收到电子/纸质发票后,扫描发票二维码即可获得验证节点、第三方节点和/或信息节点对本次交易的验证数据。若买方节点或卖方节点对发票内容有异议,例如实际交易的商品信息与缴税登记的商品信息(即已验证的交易数据中的商品信息)不一致,则可通过自己的节点设备提出异议,并广播正确的商品信息,由验证节点重新进行验证操作。
可选地,所述区块链系统还包括报销单位节点。报销单位可接收纸质发票,并基于纸质发票(扫描发票二维码)在区块链系统中查询报销数据与需要报销的费用、商品类型、交易时间、开票卖方节点、验证节点等是否一致,如果一致且符合报销规定,则给与报销,并广播注销发票号的信息,若不一致,则不予报销。
本发明还提出一种发票数据验证装置。
图8为本发明发票数据验证装置的一实施例结构示意图。
所述发票数据验证装置包括:
获取单元101,所述获取单元101用于获取交易数据;
对比单元102,所述对比单元102用于从所述交易数据中获取交易商品编号,将所述交易商品编号与预先存储的第一备案商品编号进行对比;
验证单元103,所述验证单元103用于基于所述对比的结果,对所述交易数据进行验证,获得验证结果。
可选地,所述获取单元101还用于获取第一节点广播的第一交易数据;获取第二节点广播的第二交易数据,其中,所述第一节点和所述第二节点为同一交易的交易双方节点,所述第一交易数据和所述第二交易数据对应所述同一交易。
可选地,所述对比单元102还用于从所述交易数据中获取卖方交易数据和买方交易数据;判断所述卖方交易数据和所述买方交易数据是否对应一致;若对应一致,则将所述卖方交易数据和所述买方交易数据中的交易商品编号与所述第一备案商品编号进行对比。
可选地,所述验证单元103还用于获取第三方节点发送的验证数据,其中,所述验证数据为所述第三方节点基于所述交易数据,确定所述交易数据中的交易商品编号,并基于所述交易商品编号与预先存储的第二备案商品编号生成的;基于所述验证数据和所述对比的结果,对所述交易数据进行验证,获得验证结果。
可选地,所述发票数据验证装置还可包括:
生成单元,所述生成单元用于基于所述验证结果确定所述交易数据通过验证时,将基于所述交易数据生成的发票信息存储至预置的发票地址。
其中,所述生成单元可以为发票数据验证装置中的一个功能模块,在获得验证结果后,即可直接在基于验证结果确定所述交易数据通过验证时,将基于所述交易数据生成的发票信息存储至预置的发票地址。
可选地,所述生成单元可以独立于所述发票数据验证装置的一个节点,在发票数据验证装置生成验证结果后,将验证结果发送至生成单元,或者将验证结果存储至结果数据库,由生成单元从结果数据库中获取验证结果,或者在基于区块链技术实现本发明时,由发票数据验证装置将验证结果广播至其他节点,生成单元作为其中一个节点在接收到验证结果,即基于接收的验证结果执行所述基于所述验证结果确定所述交易数据通过验证时,将基于所述交易数据生成的发票信息存储至预置的发票地址的步骤。
可选地,所述预置的发票地址为正在创建的区块的地址。
可选地,所述发票数据验证装置还包括:
广播单元,所述广播单元用于将所述验证结果加密广播至其他节点。
可选地,所述发票数据验证装置还包括:
区块创建单元,所述区块创建单元用于检测到开票申请后,从所述开票申请中获得交易标识;基于所述交易标识在区块链上查询,获得存储所述交易标识对应交易信息的目标区块;从所述目标区块中获取所述交易标识对应交易信息,基于所述交易标识对应交易信息生成发票区块。
可选地,所述发票区块包括区块头和区块体,所述区块体包含节点标识、交易详情以及所述验证结果,其中,所述节点标识包含所述交易标识对应的交易数据的验证节点标识和生成节点标识,所述交易详情包括交易时间、交易商品编号、交易金额中的至少一个。
本发明还提出一种发票数据验证设备。
图9为本发明发票数据验证设备的一实施例结构示意图。
所述发票数据验证设备包括存储有计算机程序的计算机可读存储介质201和处理器202,所述计算机程序被所述处理器202读取并运行时,实现如上述发票数据验证方法。
本发明还提出一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器读取并运行时,实现如上述发票数据验证方法。
虽然本公开披露如上,但本公开的保护范围并非仅限于此。本领域技术人员在不脱离本公开的精神和范围的前提下,可进行各种变更与修改,这些变更与修改均将落入本发明的保护范围。
Claims (11)
1.一种发票数据验证方法,其特征在于,包括:
获取交易数据;
从所述交易数据中获取交易商品编号,将所述交易商品编号与预先存储的第一备案商品编号进行对比;
基于所述对比的结果,对所述交易数据进行验证,获得验证结果;
所述基于所述对比的结果,对所述交易数据进行验证,获得验证结果的步骤包括:
获取第三方节点发送的验证数据,其中,所述验证数据为所述第三方节点基于所述交易数据,确定所述交易数据中的交易商品编号,并基于所述交易商品编号与预先存储的第二备案商品编号生成的;
基于所述验证数据和所述对比的结果,对所述交易数据进行验证,获得验证结果;
所述第三方节点为商品生产厂家节点或具有某一个或多个商品生产厂家的备案商品编号的平台节点。
2.如权利要求1所述的发票数据验证方法,其特征在于,所述获取交易数据的步骤包括:
获取第一节点广播的第一交易数据;
获取第二节点广播的第二交易数据,其中,所述第一节点和所述第二节点为同一交易的交易双方节点,所述第一交易数据和所述第二交易数据对应所述同一交易。
3.如权利要求1所述的发票数据验证方法,其特征在于,所述从所述交易数据中获取交易商品编号,将所述交易商品编号与预先存储的第一备案商品编号进行对比的步骤包括:
从所述交易数据中获取卖方交易数据和买方交易数据;
判断所述卖方交易数据和所述买方交易数据是否对应一致;
若对应一致,则将所述卖方交易数据和所述买方交易数据中的交易商品编号与所述第一备案商品编号进行对比。
4.如权利要求1至3中任一项所述的发票数据验证方法,其特征在于,所述基于所述对比的结果,对所述交易数据进行验证,获得验证结果的步骤之后包括:
基于所述验证结果确定所述交易数据通过验证时,将基于所述交易数据生成的发票信息存储至预置的发票地址。
5.如权利要求4所述的发票数据验证方法,其特征在于,所述预置的发票地址为正在创建的区块的地址。
6.如权利要求1至3中任一项所述的发票数据验证方法,其特征在于,所述基于所述对比的结果,对所述交易数据进行验证,获得验证结果的步骤之后包括:
将所述验证结果加密广播至其他节点。
7.如权利要求1至3中任一项所述的发票数据验证方法,其特征在于,所述基于所述对比的结果,对所述交易数据进行验证,获得验证结果的步骤之后包括:
检测到开票申请后,从所述开票申请中获得交易标识;
基于所述交易标识在区块链上查询,获得存储所述交易标识对应交易信息的目标区块;
从所述目标区块中获取所述交易标识对应交易信息,基于所述交易标识对应交易信息生成发票区块。
8.如权利要求7所述的发票数据验证方法,其特征在于,所述发票区块包括区块头和区块体,所述区块体包含节点标识、交易详情以及所述验证结果,其中,所述节点标识包含所述交易标识对应的交易数据的验证节点标识和生成节点标识,所述交易详情包括交易时间、交易商品编号、交易金额中的至少一个。
9.一种发票数据验证装置,其特征在于,包括:
获取单元(101),所述获取单元(101)用于获取交易数据;
对比单元(102),所述对比单元(102)用于从所述交易数据中获取交易商品编号,将所述交易商品编号与预先存储的第一备案商品编号进行对比;
验证单元(103),所述验证单元(103)用于基于所述对比的结果,对所述交易数据进行验证,获得验证结果;其具体还用于获取第三方节点发送的验证数据,其中,所述验证数据为所述第三方节点基于所述交易数据,确定所述交易数据中的交易商品编号,并基于所述交易商品编号与预先存储的第二备案商品编号生成的;基于所述验证数据和所述对比的结果,对所述交易数据进行验证,获得验证结果;所述第三方节点为商品生产厂家节点或具有某一个或多个商品生产厂家的备案商品编号的平台节点。
10.一种发票数据验证设备,其特征在于,包括:存储有计算机程序的计算机可读存储介质(201)和处理器(202),所述计算机程序被所述处理器(202)读取并运行时,实现如权利要求1-8任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器读取并运行时,实现如权利要求1-8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910643576.2A CN110349322B (zh) | 2019-07-17 | 2019-07-17 | 一种发票数据验证方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910643576.2A CN110349322B (zh) | 2019-07-17 | 2019-07-17 | 一种发票数据验证方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110349322A CN110349322A (zh) | 2019-10-18 |
CN110349322B true CN110349322B (zh) | 2021-02-26 |
Family
ID=68175778
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910643576.2A Active CN110349322B (zh) | 2019-07-17 | 2019-07-17 | 一种发票数据验证方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110349322B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112711565B (zh) * | 2019-10-25 | 2024-04-12 | 航天信息股份有限公司 | 一种基于区块链的票单管理方法、系统、装置及存储介质 |
CN112419021B (zh) * | 2020-10-21 | 2023-11-03 | 西安电子科技大学 | 电子发票验证方法、系统、存储介质、计算机设备、终端 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101136101A (zh) * | 2007-04-02 | 2008-03-05 | 四川亚元防伪科技有限公司 | “核量控票、核票控税”“数据大跟踪”税控方法、系统构建和操作方法 |
CN104268758B (zh) * | 2014-09-15 | 2017-12-19 | 周刚 | 一种基于发票和第三方电子商务平台的商品防伪系统 |
CN109976969A (zh) * | 2017-12-27 | 2019-07-05 | 航天信息股份有限公司 | 一种电子发票信息的监控方法、装置、设备及介质 |
CN109087115A (zh) * | 2018-08-22 | 2018-12-25 | 浪潮软件集团有限公司 | 一种基于电子发票的商品质量追溯和质量保证方法 |
CN109359485A (zh) * | 2018-09-18 | 2019-02-19 | 深圳壹账通智能科技有限公司 | 基于区块链的发票数据共享系统以及方法 |
CN109242500B (zh) * | 2018-09-20 | 2021-07-02 | 百度在线网络技术(北京)有限公司 | 区块链交易有效性验证方法、装置及存储介质 |
CN109544160B (zh) * | 2018-11-20 | 2020-06-30 | 杭州呯嘭智能技术有限公司 | 一种基于区块链和智能合约的交易真实性验证方法及系统 |
CN109816323A (zh) * | 2018-12-12 | 2019-05-28 | 上海点融信息科技有限责任公司 | 用于区块链网络的交易审核方法、计算设备、存储介质 |
-
2019
- 2019-07-17 CN CN201910643576.2A patent/CN110349322B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110349322A (zh) | 2019-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110400188B (zh) | 电子票据生成方法、装置、存储介质和计算机设备 | |
CN109544160B (zh) | 一种基于区块链和智能合约的交易真实性验证方法及系统 | |
US10693632B1 (en) | Autonomous devices | |
US10862671B2 (en) | Global ownership registry | |
CN105956923B (zh) | 资产交易系统以及资产的数字化认证和交易方法 | |
CN110601856B (zh) | 一种基于区块链网络的数据交互方法及装置 | |
US20220311599A1 (en) | Digital Ledger For Unique Item IDs With Ownership | |
CN109858852B (zh) | 一种基于区块链与零知识证明的仓单验证方法 | |
CN110428293A (zh) | 关于电子票据的数据处理方法、装置、存储介质和设备 | |
CN112163954B (zh) | 基于区块链的交易方法及装置 | |
CN104615939A (zh) | 单据生成方法、验证方法、装置和系统 | |
US11304059B2 (en) | Techniques for determining authenticity of an item | |
CN110349322B (zh) | 一种发票数据验证方法、装置及设备 | |
CN115760082B (zh) | 数字化支付处理方法、装置、设备、系统及介质 | |
CN110599270A (zh) | 电子票据生成方法、装置和计算机设备 | |
CN110599322B (zh) | 一种基于区块链网络的数据审核方法及装置 | |
CN111597562B (zh) | 基于区块链的链上数据验证方法、装置、设备和存储介质 | |
US20230334609A1 (en) | Information management method and non-transitory, computer readable, tangible storage medium storing information management program | |
CN115131037A (zh) | 用于对商品窜货进行检测的方法及装置 | |
WO2017012427A1 (zh) | 一种借助于商户购物清单打印机实现对商户管理的方法及购物清单打印机 | |
CN114298698A (zh) | 一种交易结算方法及装置 | |
CN114531260A (zh) | 基于联盟链系统的信息处理方法及相关设备 | |
TW201837797A (zh) | 透過執行區塊鏈技術的具可追蹤功能的供應鏈記錄方法 | |
CN111882335A (zh) | 基于区块链的标的物防伪溯源方法及装置 | |
US10685316B2 (en) | Simple and easy method for securely outputting electronic delivery waybill, and recording medium |
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 |