IP Library Granted Patent US 12,423,692
Granted Patent B2
US 12,423,692 · App. 17/674,214 · Granted Sep 23, 2025

Transaction auditing using token extraction and model matching

Inventors: Michael Stark (Bellevue, WA); Jesper Lind (Bellevue, WA)
Assignee: SAP SE
G06Q20/40G06F18/24G06F40/284G06N3/02G06N3/08G06N20/00G06Q20/045G06Q20/389G06Q20/4016G06Q40/12G06T7/0002G06T7/74G06V30/224G06V30/413G06V30/414G06V30/418G06F16/24564G06T2207/20061G06T2207/30176
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 12,423,692
App. No.
17/674,214
Granted
Sep 23, 2025
Kind
B2
Abstract

The present disclosure involves systems, software, and computer implemented methods for transaction auditing. One example method includes receiving text submitted with a request. Token values are automatically extracted for selected token types from the text using a machine learning model. Tokens are identified in the text, and for each token, features and a token type of the token are determined, along with a score that indicates a likelihood that the token has the token type. A token value is extracted for the token from the text. Extracted token values are compared to request data values. A request value for the selected token type is identified in the data values for each selected token type. The extracted token value for each selected token type is compared to the request value. An audit alert is generated in response to determining that an extracted token value does not match a corresponding request value.

Claims (84)

1. A computer-implemented method for an automated compliance audit comprising:

identifying a first set of one or more selected token types that have been selected by a first reimbursing entity for validation of reimbursement requests and a second set of one or more selected token types that have been selected by a second reimbursing entity for validation of reimbursement requests, wherein the second reimbursing entity is different from the first reimbursing entity and the second set of one or more selected token types is different from the first set of one or more selected token types;

training at least one machine learning model for the first reimbursing entity using historical receipt text and historical reimbursement request data values to automatically identify and extract tokens of the first set of one or more selected token types;

training at least one machine learning model for the second reimbursing entity using historical receipt text and historical reimbursement request data values to automatically identify and extract tokens of the second set of one or more selected token types;

receiving first reimbursement request data values for a first reimbursement request associated with a first reimbursing entity;

receiving first receipt text extracted from a first receipt submitted with the first reimbursement request;

automatically extracting first token values for the first set of selected token types from the first receipt text using the at least one machine learning model for the first reimbursing entity, wherein automatically extracting the first token values includes:

identifying first tokens in the first receipt text; and

for each respective identified token in the identified first tokens:

determining features of the identified token;

determining a token type of the identified token by determining that the token type of the identified token is included in the first set of selected token types, based on the features determined for the identified token and a confidence score that indicates a likelihood that the identified token has the determined token type; and

extracting a token value for the identified token from the first receipt text;

comparing the first extracted token values to the first reimbursement request data values, wherein the comparing includes:

identifying, in the first reimbursement request data values and for each selected token type, a request value for the selected token type; and

comparing, for each selected token type, the first extracted token value for the selected token type to the first reimbursement request data value for the selected token type;

generating an audit alert in response to determining that an extracted token value for a first selected token type does not match a corresponding first reimbursement request data value for the first selected token type;

providing the audit alert to the first reimbursing entity;

receiving second reimbursement request data values for a second reimbursement request associated with the second reimbursing entity;

receiving second receipt text extracted from a second receipt submitted with the second reimbursement request;

automatically extracting second token values for the second set of selected token types from the second receipt text using the at least one machine learning model for the second reimbursing entity;

comparing the second extracted token values to the second reimbursement request data values in the second reimbursement request; and

accepting the second reimbursement request based on the second extracted token values matching corresponding second reimbursement request data values in the second reimbursement request and having token types in the second set of one or more selected token types.

2. The method of claim 1 , wherein the first set of selected token types include date, amount, currency, vendor name, vendor location and expense amount.

3. The method of claim 1 , further comprising forwarding the first receipt text and the first reimbursement request data values for secondary processing when the confidence score for the extracted value for an identified token type is less than a first predefined confidence threshold.

4. The method of claim 1 , wherein the first receipt text is extracted from an image of the first receipt.

5. The method of claim 1 , wherein the features include keywords.

6. The method of claim 1 , wherein the features include text format or layout.

7. The method of claim 1 , further comprising updating the at least one machine learning model for the first reimbursing entity based on the first reimbursement request.

8. A system for an automated compliance audit comprising:

one or more computers; and

a computer-readable medium coupled to the one or more computers having instructions stored thereon which, when executed by the one or more computers, cause the one or more computers to perform operations comprising:

receiving, from a first user device of a first user of a first reimbursement entity, while the first user is editing a first reimbursement request, first reimbursement request data values for the first reimbursement request;

identifying a first set of one or more selected token types that have been selected by the first reimbursing entity for validation;

receiving first receipt text extracted from a first receipt submitted with the first reimbursement request;

automatically extracting first token values for the first set of selected token types from the first receipt text using at least one machine learning model for the first reimbursing entity that is trained using historical receipt text and historical reimbursement request data values, wherein automatically extracting the first token values includes:

identifying first tokens in the first receipt text; and

for each respective identified token in the identified first tokens:

determining features of the identified token;

determining a token type of the identified token by determining that the token type of the identified token is included in the first set of selected token types, based on the features determined for the identified token and a confidence score that indicates a likelihood that the identified token has the determined token type; and

extracting a token value for the identified token from the first receipt text;

comparing the first extracted token values to the first reimbursement request data values, wherein the comparing includes:

identifying, in the first reimbursement request data values and for each selected token type, a request value for the selected token type; and

comparing, for each selected token type, the first extracted token value for the selected token type to the first reimbursement request data value for the selected token type;

generating an audit alert in response to determining that an extracted token value for a first selected token type does not match a corresponding first reimbursement request data value for the first selected token type;

providing the audit alert to the first reimbursing entity for presentation to the first user on the first user device while the first user is editing the first reimbursement request;

receiving second reimbursement request data values for a second reimbursement request-associated with a second reimbursing entity, wherein the second reimbursing entity is different from the first reimbursing entity;

identifying a second set of one or more selected token types that have been selected by the second reimbursing entity for validation, wherein the second set of one or more selected token types includes a first token type that has not been selected by the first reimbursing entity;

receiving second receipt text extracted from a second receipt submitted with the second reimbursement request;

automatically extracting second token values for the second set of selected token types from the second receipt text using the at least one machine learning model for the second reimbursing entity;

comparing the second extracted token values to the second reimbursement request data values in the second reimbursement request; and

accepting the second reimbursement request based on the second extracted token values matching corresponding second reimbursement request data values in the second reimbursement request and having token types in the second set of one or more selected token types.

9. The system of claim 8 , wherein the first set of selected token types include date, amount, currency, vendor name, vendor location and expense amount.

10. The system of claim 8 , wherein the operations further comprise forwarding the first receipt text and the first reimbursement request data values for secondary processing when the confidence score for the extracted value for an identified token type is less than a first predefined confidence threshold.

11. The system of claim 8 , wherein the first receipt text is extracted from an image of the first receipt.

12. The system of claim 8 , wherein the features include keywords.

13. The system of claim 8 , wherein the features include text format or layout.

14. The system of claim 8 , wherein the operations further comprise updating the at least one machine learning model for the first reimbursing entity based on the first reimbursement request.

15. A computer program product encoded on a non-transitory storage medium, the product comprising non-transitory, computer readable instructions for causing one or more processors to perform operations comprising:

identifying a first set of one or more selected token types that have been selected by a first reimbursing entity for validation of reimbursement requests and a second set of one or more selected token types that have been selected by a second reimbursing entity for validation of reimbursement requests, wherein the second reimbursing entity is different from the first reimbursing entity and the second set of one or more selected token types is different from the first set of one or more selected token types;

training at least one machine learning model for the first reimbursing entity using historical receipt text and historical reimbursement request data values to automatically identify and extract tokens of the first set of one or more selected token types;

training at least one machine learning model for the second reimbursing entity using historical receipt text and historical reimbursement request data values to automatically identify and extract tokens of the second set of one or more selected token types;

receiving, from a first user device of a user of the first reimbursement entity, while the first user is editing a first reimbursement request, first reimbursement request data values for the first reimbursement request;

receiving first receipt text extracted from a first receipt submitted with the first reimbursement request;

automatically extracting first token values for the first set of selected token types from the first receipt text using the at least one machine learning model for the first reimbursing entity, wherein automatically extracting the first token values includes:

identifying first tokens in the first receipt text; and

for each respective identified token in the identified first tokens:

determining features of the identified token;

determining a token type of the identified token by determining that the token type of the identified token is included in the first set of selected token types, based on the features determined for the identified token and a confidence score that indicates a likelihood that the identified token has the determined token type; and

extracting a token value for the identified token from the first receipt text;

comparing the first extracted token values to the first reimbursement request data values, wherein the comparing includes:

identifying, in the first reimbursement request data values and for each selected token type, a request value for the selected token type; and

comparing, for each selected token type, the first extracted token value for the selected token type to the first reimbursement request data value for the selected token type;

generating an audit alert in response to determining that an extracted token value for a first selected token type does not match a corresponding first reimbursement request data value for the first selected token type;

providing the audit alert to the first reimbursing entity for presentation to the first user on the first user device while the first user is editing the first reimbursement request;

receiving second reimbursement request data values for a second reimbursement request associated with the second reimbursing entity;

receiving second receipt text extracted from a second receipt submitted with the second reimbursement request;

automatically extracting second token values for the second set of selected token types from the second receipt text using the at least one machine learning model for the second reimbursing entity;

comparing the second extracted token values to the second reimbursement request data values in the second reimbursement request; and

accepting the second reimbursement request based on the second extracted token values matching corresponding second reimbursement request data values in the second reimbursement request and having token types in the second set of one or more selected token types.

16. The computer program product of claim 15 , wherein the first set of selected token types include date, amount, currency, vendor name, vendor location and expense amount.

17. The computer program product of claim 15 , wherein the operations further comprise forwarding the first receipt text and the first reimbursement request data values for secondary processing when the confidence score for the extracted value for an identified token type is less than a first predefined confidence threshold.

18. The computer program product of claim 15 , wherein the first receipt text is extracted from an image of the first receipt.

19. The computer program product of claim 15 , wherein the features include keywords.

20. The computer program product of claim 15 , wherein the features include text format or layout.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 23, 2022
From: STARK, MICHAEL; LIND, JESPER
To: SAP SE
Reel/Frame 059081/0609 →
Continuity (3)
Continuation 16578016 · Sep 20, 2019
Provisional Application 62870512 · Jul 3, 2019
Related Publication 20220172204A1 · Jun 2, 2022
References Cited (67)
US 6029144A · Barrett · 2000 [cited by examiner]
US 8706616B1 · Flynn · 2014 [cited by applicant]
US 8756075B1 · Sultan et al. · 2014 [cited by applicant]
US 9922375B1 · Neveu · 2018 [cited by examiner]
US 10210579B1 · Neveu · 2019 [cited by examiner]
US 10878232B2 · Lorenzini · 2020 [cited by examiner]
US 10909636B1 · Neveu · 2021 [cited by examiner]
US 10909637B1 · Neveu · 2021 [cited by examiner]
US 11113689B2 · Stark et al. · 2021 [cited by applicant]
US 20030065574A1 · Lawrence · 2003 [cited by applicant]
US 20050033617A1 · Prather et al. · 2005 [cited by applicant]
US 20050289025A1 · Fredericks · 2005 [cited by examiner]
US 20060248084A1 · Sack et al. · 2006 [cited by applicant]
US 20080162478A1 · Pugh et al. · 2008 [cited by applicant]
US 20090271302A1 · Hamper · 2009 [cited by examiner]
US 20100017316A1 · Joseph · 2010 [cited by examiner]
US 20110113029A1 · Kaal · 2011 [cited by applicant]
US 20120185368A1 · Schloter · 2012 [cited by examiner]
US 20120209640A1 · Hamper · 2012 [cited by examiner]
US 20120317003A1 · McGrane · 2012 [cited by examiner]
US 20130254494A1 · Oxford et al. · 2013 [cited by applicant]
US 20140105510A1 · Chelst · 2014 [cited by examiner]
US 20150379430A1 · Dirac et al. · 2015 [cited by applicant]
US 20160078566A1 · Farrell · 2016 [cited by examiner]
US 20160180727A1 · Gross et al. · 2016 [cited by applicant]
US 20160358268A1 · Verma · 2016 [cited by examiner]
US 20170200234A1 · Morse · 2017 [cited by examiner]
US 20170264619A1 · Narayanaswamy et al. · 2017 [cited by applicant]
US 20170264640A1 · Narayanaswamy et al. · 2017 [cited by applicant]
US 20180225673A1 · Dubey et al. · 2018 [cited by applicant]
US 20190057456A1 · Saft et al. · 2019 [cited by applicant]
US 20200065912A1 · Bender · 2020 [cited by examiner]
US 20200074359A1 · Subramanian · 2020 [cited by examiner]
US 20200104587A1 · Bhatnagar et al. · 2020 [cited by applicant]
US 20200218890A1 · Mehta · 2020 [cited by applicant]
US 20200320292A1 · Chawda · 2020 [cited by examiner]
US 20210004795A1 · Stark et al. · 2021 [cited by applicant]
US 20210004798A1 · Stark et al. · 2021 [cited by applicant]
US 20210004912A1 · Stark et al. · 2021 [cited by applicant]
US 20210398118A1 · Stark et al. · 2021 [cited by applicant]
WO WO2005101270 · 2005 [cited by applicant]
Zhu, Guangyu, Timothy J. Bethea, and Vikas Krishna. “Extracting relevant named entities for automated expense reimbursement.” Proceedings of the 13th ACM SIGKDD international conference on Knowledge discovery and data m… [cited by examiner]
AppZen, “Expense Audit Report by AppZen” Oct. 2018, [retrieved on Apr. 21, 2021], retrieved from: URL <https://vimeo.com/294657148>, 11 pages. [cited by applicant]
Appzen.com [online], “Back to school special: AppZen A1 101” Aug. 2018 [retrieved on Apr. 21, 2021], retrieved from: URL <https://www.appzen.com/blog/back-to-school-special-appzen-ai-101/>, 3 pages. [cited by applicant]
Extended European Search Report issued in European Application No. 20183789.5 on Dec. 14, 2020, 17 pages. [cited by applicant]
Final Office Action issued in U.S. Appl. No. 16/577,821 on May 19, 2021, 62 pages. [cited by applicant]
Final Office Action issued in U.S. Appl. No. 16/578,016 on Aug. 12, 2021, 18 pages. [cited by applicant]
Mwu.sutisoft.com [online], “How Artificial Intelligence Can Transform Expense Management” Sep. 2018, [retrieved on Apr. 21, 2021], retrieved from: URL <https://mwu.sutisoft.com/blog/how-artificial-intelligence-can-trans… [cited by applicant]
Non-Final Office Action issued in U.S. Appl. No. 16/577,821 on Feb. 10, 2021, 47 pages. [cited by applicant]
Non-Final Office Action issued in U.S. Appl. No. 16/577,821 on Oct. 26, 2021, 80 pages. [cited by applicant]
Non-Final Office Action issued in U.S. Appl. No. 16/577,997 on Dec. 7, 2020, 19 pages. [cited by applicant]
Non-Final Office Action issued in U.S. Appl. No. 16/578,016 on Apr. 21, 2021, 23 pages. [cited by applicant]
Zhu et al., “Extracting relevant named entities for automated expense reimbursement.” Proceedings of the 13th ACM SIGKDD international conference on Knowledge discovery and data mining. Aug. 2007, 9 pages. [cited by applicant]
Artaud et al., “Find it! fraud detection contest report.” 2018 24th International Conference on Pattern Recognition (ICPR). IEEE, Aug. 2018, 7 pages. [cited by applicant]
Extended European Search Report issued in European Application No. 20183783.8, dated Dec. 4, 2020, 8 pages. [cited by applicant]
Hritik et al., “Fake Currency Note Identification Using Deep Convolutional neural Networks” Jan. 2017, 5 pages. [cited by applicant]
Final Office Action issued in U.S. Appl. No. 16/577,821 on Mar. 2, 2022, 87 pages. [cited by applicant]
Final Office Action in U.S. Appl. No. 17/464,217, mailed on Aug. 24, 2023, 24 pages. [cited by applicant]
Final Office Action in U.S. Appl. No. 16/577,821, mailed on Jun. 23, 2023, 68 pages. [cited by applicant]
Final Office Action in U.S. Appl. No. 16/577,821, mailed on Oct. 5, 2022, 59 pages. [cited by applicant]
Final Office Action in U.S. Appl. No. 17/464,217, mailed on May 23, 2024, 28 pages. [cited by applicant]
Liu et al., “A survey of payment card industry data security standard.” IEEE Communications Surveys & Tutorials 12.3, Apr. 2010, 287-303. [cited by applicant]
Nehinbe et al., “Audit and research challenges in digital forensics.” 2011 IEEE 10th International Conference on Cybernetic Intelligent Systems (CIS). IEEE, Sep. 2011, 86-91. [cited by applicant]
Non-Final Office Action in U.S. Appl. No. 16/577,821, mailed on Feb. 28, 2023, 59 pages. [cited by applicant]
Non-Final Office Action in U.S. Appl. No. 16/577,821, mailed on Jul. 13, 2022, 60 pages. [cited by applicant]
Non-Final Office Action in U.S. Appl. No. 17/464,217, mailed on Apr. 28, 2023, 24 pages. [cited by applicant]
Non-Final Office Action in U.S. Appl. No. 17/464,217, mailed on Feb. 14, 2024, 26 pages. [cited by applicant]
Cited By (2)
US 12,592,927 US 12,689,628