IP Library Granted Patent US 11,049,115
Granted Patent B2
US 11,049,115 · App. 16/783,075 · Granted Jun 29, 2021

Blockchain-based bill write-off method, apparatus, electronic device, and storage medium

Inventors: Xueqing Yang (Hangzhou, CN); Longsheng Qing (Hangzhou, CN); Zhen Sun (Hangzhou, CN); Ge Jin (Hangzhou, CN); Zhenzhong Meng (Hangzhou, CN); Yu Chu (Hangzhou, CN)
Assignee: Advanced New Technologies Co., Ltd.
G06Q30/0185G06F16/2379G06Q10/10G06Q30/04G06Q40/02
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,049,115
App. No.
16/783,075
Granted
Jun 29, 2021
Kind
B2
Abstract

A target transaction to write off a target e-bill is received. In response to the target transaction, a write-off logic declared in a smart contract published on a blockchain is invoked. A bill number of the target e-bill is obtained, and whether the bill number matches an e-bill number segment maintained in a blockchain account corresponding to a bill issuer of the target e-bill is checked. In response to determining that the bill number matches the e-bill number segment maintained in the blockchain account corresponding to the bill issuer of the target e-bill, a validity check is performed on bill content of the target e-bill. After the validity check succeeds, generating a write-off completion event corresponding to the target e-bill is generated and published to the blockchain for storage.

Claims (88)

1. A computer-implemented method, comprising:

receiving, by a blockchain node of a blockchain from a bill issuer, an electronic-bill (e-bill) number application transaction that applies for an e-bill number issued by an official authority and has a one-to-one mapping to an e-bill, wherein:

the blockchain comprises a plurality levels of accounts for maintaining e-bill number segments, each of the e-bill number segments comprises one or more e-bill numbers that each correspond to a respective e-bill,

an e-bill number segment maintained by an account is a portion of an e-bill number segment maintained in an upper-level account of the account, and

the e-bill number application transaction comprises an account identifier of a blockchain account of the bill issuer;

in response to the e-bill number application transaction, invoking an e-bill number application logic declared in a smart contract published on the blockchain;

determining an upper-level account of the blockchain account of the bill issuer based on the account identifier of the blockchain account of the bill issuer;

allocating an e-bill number to the bill issuer from an e-bill number segment maintained in the upper-level account of the blockchain account of the bill issuer; and

adding the e-bill number to an e-bill number segment maintained in the blockchain account of the bill issuer;

receiving a target transaction to write off a target e-bill issued by the bill issuer, wherein writing off the target e-bill comprises verifying the target e-bill;

in response to the target transaction, invoking, by the blockchain node, a write-off logic declared in the smart contract published on the blockchain;

obtaining a target bill number of the target e-bill;

determining whether the target bill number is within the e-bill number segment maintained in the blockchain account of the bill issuer of the target e-bill;

in response to determining that the target bill number is within the e-bill number segment maintained in the blockchain account of the bill issuer of the target e-bill, performing validity check on bill content of the target e-bill, wherein the bill content of the target e-bill comprises a bill amount, and the performing validity check on bill content of the target e-bill comprises:

determining whether the bill amount of the target e-bill matches an entry amount of the target e-bill, wherein the blockchain node is connected to a server of a billing supervisor of the e-bill using an oracle machine; and the determining whether the bill amount of the target e-bill matches an entry amount of the target e-bill comprises:

obtaining a result of comparison between the bill amount of the target e-bill and the entry amount of the target e-bill from the server of the billing supervisor using the oracle machine; and

in response to determining that the validity check succeeds, generating a write-off completion event corresponding to the target e-bill and publishing the write-off completion event to the blockchain for storage.

2. The computer-implemented method according to claim 1 , wherein the official authority comprises a financial office of a province, a city, a district, or a county.

3. The computer-implemented method according to claim 1 , wherein the performing validity check on bill content of the target e-bill further comprises:

in response to determining that the bill amount of the target e-bill matches the entry amount of the target e-bill, determining that the validity check succeeds.

4. The computer-implemented method according to claim 1 , wherein

the determining whether the bill amount of the target e-bill matches an entry amount of the target e-bill further comprises:

determining that the bill amount matches the entry amount if the result of comparison is that the bill amount is consistent with the entry amount.

5. The computer-implemented method according to claim 1 , wherein the obtaining a result of comparison between the bill amount of the target e-bill and the entry amount of the target e-bill from the server of the billing supervisor using the oracle machine comprises:

generating a check success event for the target bill number after determining, through checking, that the target bill number is within the e-bill number segment maintained in the blockchain account of the bill issuer of the target e-bill, wherein the check success event causes the server of the billing supervisor to compare the bill amount recorded in the check success event with the entry amount and return the result of comparison using the oracle machine.

6. The computer-implemented method according to claim 1 , wherein the obtaining a result of comparison between the bill amount of the target e-bill and the entry amount of the target e-bill from the server of the billing supervisor by using the oracle machine comprises:

sending a request for obtaining the result of comparison between the bill amount and the entry amount to the server of the billing supervisor using the oracle machine to the server of the billing supervisor for comparing the bill amount with the entry amount of the target e-bill; and

receiving the result of comparison returned by the server of the billing supervisor using the oracle machine.

7. The computer-implemented method according to claim 1 , wherein the blockchain comprises a consortium chain, and consortium members of the consortium chain comprise one or more levels of financial institutions serving as billing supervisors, and one or more bill institutions serving as bill issuers.

8. A computer-implemented system for blockchain-based bill write-off, comprising:

one or more computers; and

one or more computer memory devices interoperably coupled with the one or more computers and having tangible, non-transitory, machine-readable media storing one or more instructions that, when executed by the one or more computers, perform one or more operations comprising:

receiving, by a blockchain node of a blockchain from a bill issuer, an electronic-bill (e-bill) number application transaction that applies for an e-bill number issued by an official authority and has a one-to-one mapping to an e-bill, wherein:

the blockchain comprises a plurality levels of accounts for maintaining e-bill number segments, each of the e-bill number segments comprises one or more e-bill numbers that each correspond to a respective e-bill,

an e-bill number segment maintained by an account is a portion of an e-bill number segment maintained in an upper-level account of the account, and

the e-bill number application transaction comprises an account identifier of a blockchain account of the bill issuer;

in response to the e-bill number application transaction, invoking an e-bill number application logic declared in a smart contract published on the blockchain;

determining an upper-level account of the blockchain account of the bill issuer based on the account identifier of the blockchain account of the bill issuer;

allocating an e-bill number to the bill issuer from an e-bill number segment maintained in the upper-level account of the blockchain account of the bill issuer; and

adding the e-bill number to an e-bill number segment maintained in the blockchain account of the bill issuer;

receiving a target transaction to write off a target e-bill issued by the bill issuer, wherein writing off the target e-bill comprises verifying the target e-bill;

in response to the target transaction, invoking, by the blockchain node, a write-off logic declared in the smart contract published on the blockchain;

obtaining a target bill number of the target e-bill;

determining whether the target bill number is within the e-bill number segment maintained in the blockchain account of the bill issuer of the target e-bill;

in response to determining that the target bill number is within the e-bill number segment maintained in the blockchain account of the bill issuer of the target e-bill, performing validity check on bill content of the target e-bill, wherein the bill content of the target e-bill comprises a bill amount, and the performing validity check on bill content of the target e-bill comprises:

determining whether the bill amount of the target e-bill matches an entry amount of the target e-bill, wherein the blockchain node is connected to a server of a billing supervisor of the e-bill using an oracle machine; and the determining whether the bill amount of the target e-bill matches an entry amount of the target e-bill comprises:

obtaining a result of comparison between the bill amount of the target e-bill and the entry amount of the target e-bill from the server of the billing supervisor using the oracle machine; and

in response to determining that the validity check succeeds, generating a write-off completion event corresponding to the target e-bill and publishing the write-off completion event to the blockchain for storage.

9. The computer-implemented system according to claim 8 , wherein comprises a financial office of a province, a city, a district, or a county.

10. The computer-implemented system according to claim 8 , wherein the performing validity check on bill content of the target e-bill further comprises:

in response to determining that the bill amount of the target e-bill matches the entry amount of the target e-bill, determining that the validity check succeeds.

11. The computer-implemented system according to claim 8 , wherein

the determining whether the bill amount of the target e-bill matches an entry amount of the target e-bill further comprises:

determining that the bill amount matches the entry amount if the result of comparison is that the bill amount is consistent with the entry amount.

12. The computer-implemented system according to claim 8 , wherein the obtaining a result of comparison between the bill amount of the target e-bill and the entry amount of the target e-bill from the server of the billing supervisor using the oracle machine comprises:

generating a check success event for the target bill number after determining, through checking, that the target bill number is within the e-bill number segment maintained in the blockchain account of the bill issuer of the target e-bill, wherein the check success event causes the server of the billing supervisor to compare the bill amount recorded in the check success event with the entry amount and return the result of comparison using the oracle machine.

13. The computer-implemented system according to claim 8 , wherein the obtaining a result of comparison between the bill amount of the target e-bill and the entry amount of the target e-bill from the server of the billing supervisor by using the oracle machine comprises:

sending a request for obtaining the result of comparison between the bill amount and the entry amount to the server of the billing supervisor using the oracle machine to the server of the billing supervisor for comparing the bill amount with the entry amount of the target e-bill; and

receiving the result of comparison returned by the server of the billing supervisor using the oracle machine.

14. The computer-implemented system according to claim 8 , wherein the blockchain comprises a consortium chain, and consortium members of the consortium chain comprise one or more levels of financial institutions serving as billing supervisors, and one or more bill institutions serving as bill issuers.

15. A non-transitory, computer-readable medium storing one or more instructions executable by a computer system to perform operations, comprising:

receiving, by a blockchain node of a blockchain from a bill issuer, an electronic-bill (e-bill) number application transaction that applies for an e-bill number issued by an official authority and has a one-to-one mapping to an e-bill, wherein:

the blockchain comprises a plurality levels of accounts for maintaining e-bill number segments, each of the e-bill number segments comprises one or more e-bill numbers that each correspond to a respective e-bill,

an e-bill number segment maintained by an account is a portion of an e-bill number segment maintained in an upper-level account of the account, and

the e-bill number application transaction comprises an account identifier of a blockchain account of the bill issuer;

in response to the e-bill number application transaction, invoking an e-bill number application logic declared in a smart contract published on the blockchain;

determining an upper-level account of the blockchain account of the bill issuer based on the account identifier of the blockchain account of the bill issuer;

allocating an e-bill number to the bill issuer from an e-bill number segment maintained in the upper-level account of the blockchain account of the bill issuer; and

adding the e-bill number to an e-bill number segment maintained in the blockchain account of the bill issuer;

receiving a target transaction to write off a target e-bill issued by the bill issuer, wherein writing off the target e-bill comprises verifying the target e-bill;

in response to the target transaction, invoking a write-off logic declared in the smart contract published on the blockchain;

obtaining a target bill number of the target e-bill;

determining whether the target bill number is within the e-bill number segment maintained in the blockchain account of the bill issuer of the target e-bill;

in response to determining that the target bill number is within the e-bill number segment maintained in the blockchain account of the bill issuer of the target e-bill, performing validity check on bill content of the target e-bill, wherein the bill content of the target e-bill comprises a bill amount, and the performing validity check on bill content of the target e-bill comprises:

determining whether the bill amount of the target e-bill matches an entry amount of the target e-bill, wherein the blockchain node is connected to a server of a billing supervisor of the e-bill using an oracle machine; and the determining whether the bill amount of the target e-bill matches an entry amount of the target e-bill comprises:

obtaining a result of comparison between the bill amount of the target e-bill and the entry amount of the target e-bill from the server of the billing supervisor using the oracle machine; and

in response to determining that the validity check succeeds, generating a write-off completion event corresponding to the target e-bill and publishing the write-off completion event to the blockchain for storage.

16. The non-transitory, computer-readable medium according to claim 15 , wherein the official authority comprises a financial office of a province, a city, a district, or a county.

17. The non-transitory, computer-readable medium according to claim 15 , wherein the performing validity check on bill content of the target e-bill comprises:

in response to determining that the bill amount of the target e-bill matches the entry amount of the target e-bill, determining that the validity check succeeds.

18. The non-transitory, computer-readable medium according to claim 17 , wherein

the determining whether the bill amount of the target e-bill matches an entry amount of the target e-bill further comprises:

determining that the bill amount matches the entry amount if the result of comparison is that the bill amount is consistent with the entry amount.

19. The non-transitory, computer-readable medium according to claim 15 , wherein the obtaining a result of comparison between the bill amount of the target e-bill and the entry amount of the target e-bill from the server of the billing supervisor using the oracle machine comprises:

generating a check success event for the target bill number after determining, through checking, that the target bill number is within the e-bill number segment maintained in the blockchain account of the bill issuer of the target e-bill, wherein the check success event causes the server of the billing supervisor to compare the bill amount recorded in the check success event with the entry amount and return the result of comparison using the oracle machine.

20. The non-transitory, computer-readable medium according to claim 15 , wherein the obtaining a result of comparison between the bill amount of the target e-bill and the entry amount of the target e-bill from the server of the billing supervisor by using the oracle machine comprises:

sending a request for obtaining the result of comparison between the bill amount and the entry amount to the server of the billing supervisor using the oracle machine to the server of the billing supervisor for comparing the bill amount with the entry amount of the target e-bill; and

receiving the result of comparison returned by the server of the billing supervisor using the oracle machine.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 10, 2020
From: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
To: ADVANCED NEW TECHNOLOGIES CO., LTD.
Reel/Frame 053754/0625 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2020
From: ALIBABA GROUP HOLDING LIMITED
To: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
Reel/Frame 053743/0464 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 30, 2020
From: YANG, XUEQING; QING, LONGSHENG; SUN, ZHEN; JIN, GE; MENG, ZHENZHONG; CHU, YU
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 052541/0870 →