IP Library Granted Patent US 12682313
Granted Patent B2
US 12682313 · App. 17/893,768 · Granted Jul 14, 2026

Matching past post-approved transactions with past pre-approved transactions using machine learning systems

Inventors: Maggie Mae Joy (Crownsville, MD); Daniel Benson (San Clemente, CA); Fang-Kuey Chang (Mountain View, CA); Kiran Ratnapu (Cupertino, CA); Ankit Narang (Pune, IN); Shoan Jain (Oakland, CA); Raghunandan Somaraju (Hyderabad, IN); Prasanna Kumar (Saratoga, CA); Angela Welchel (San Lorenzo, CA); Mikin Faldu (San Ramon, CA); Dipeshkumar Vasantbhai Prajapati (Pune, IN); Ketan Vasantkumar Darji (Pune, IN); Rucha Apte (Foster City, CA)
Assignee: Coupa Software Incorporated
G06Q10/087G06N20/00
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 12682313
App. No.
17/893,768
Granted
Jul 14, 2026
Kind
B2
Abstract

Systems and methods for improving a computing system comparing past post-approved transaction records to past pre-approved transaction records are described herein. In an embodiment, a server stores a first plurality of digital electronic records identifying a plurality of past post-approved transactions by a first entity and a second plurality of digital electronic records for the first entity identifying a plurality of past pre-approved transactions by the first entity. The server uses a first machine learning system to determine that a subset of the first plurality of digital electronic records which identify a subset of the plurality of past post-approved transactions correspond to one or more pre-identified categories and a second machine learning system to match one or more particular digital electronic records of the subset of the first plurality of digital electronic records with one or more records of the second plurality of digital electronic records.

Claims (86)

1 . A computer-implemented method comprising:

training a term frequency-inverse document frequency (TF-IDF) machine learning model using logistic regression using training datasets comprising expense records that have been previously matched to normalized categories;

storing a first plurality of digital electronic records for a first entity in an electronic digital storage device, the first plurality of digital electronic records comprising a plurality of expense records each identifying a plurality of past post-approved transactions by the first entity that have been processed as employee expenses;

storing a second plurality of digital electronic records for a plurality of second entities in the electronic digital storage device, the second plurality of digital electronic records comprising a first plurality of invoice records each identifying a plurality of past pre-approved transactions by the plurality of second entities that have been processed using an enterprise procurement workflow in an e-procurement system;

using a first machine learning system comprising the term frequency-inverse document frequency (TF-IDF) machine learning model with a logistic regression machine learning system, inputting one or more fields of the first plurality of digital electronic records into the first machine learning system for normalizing the first plurality of digital electronic records for the first entity to one or more pre-defined categories, the one or more pre-defined categories including a possible pre-approved category and a non-possible pre-approved category, wherein

the possible pre-approved category indicates one or more possibly procurable expenses, and the non-possible pre-approved category indicates one or more not procurable expenses; and wherein the normalizing comprises:

removing, by the first machine learning system, the past post-approved transactions that are not normalized to the possible pre-approved category from the first plurality of digital electronic records of the first entity and keeping a subset of the first plurality of digital electronic records corresponding to the possible pre-approved category;

using a second machine learning system, identifying the post-approved transaction records of the first entity in the possible pre-approved category that match the past pre-approved transaction records of the first entity by a pre-determined threshold and removing the matched post-approved transaction records of the first entity in the possible pre-approved category from subsequent matching steps;

using the second machine learning system, matching one or more particular digital electronic records of the subset of the first plurality of digital electronic records with one or more records of the second plurality of digital electronic records wherein the matching by the second machine learning system comprises:

converting the one or more fields of past post-approved transactions and one or more fields of past pre-approved transactions into one or more vectors using a Word2vec machine learning system;

comparing the past post-approved transactions that have been normalized to one of the possible pre-approved categories with the past pre-approved transactions,

computing a cosine similarity between the one or more vectors corresponding to the past post-approved transactions and the one or more vectors corresponding to the past pre-approved transactions record and removing the past post-approved transactions having a cosine similarity of greater than 70% compared to the past pre-approved transactions; and

identifying, by the second machine learning system, the matched one or more particular digital transaction records from the past post-approved transaction records of the first entity in the possible pre-approved category as potential pre-approved transactions; and

transmitting instructions to cause displaying, using a display, digital electronic data related to the identified and a plurality of recommendations identifying the past post-approved transactions corresponding to the one or more particular digital electronic records as potential pre-approved transactions.

2 . The method of claim 1 , further comprising:

processing the potential pre-approved transactions as procurement transactions by the first entity using an enterprise procurement workflow in the e-procurement system; and

displaying first and second numeric values respectively specifying a first total cost of the first plurality of digital electronic records and a second total cost of one or more records of the second plurality of digital electronic records.

3 . The method of claim 1 , further comprising:

storing one or more relationship records defining relationships between the first entity and at least one other second entity;

matching one or more second particular digital electronic records of the subset of the first plurality of digital electronic records with the one or more relationship records; and

causing to display, on the display, digital electronic data identifying the transactions corresponding to the one or more second particular digital electronic records as the potential pre-approved transactions, wherein the display is on a client computing device.

4 . The method of claim 3 , further comprising:

storing one or more digital electronic catalogs identifying pre-approved transactions between the first entity and the at least one other second entity; and

wherein matching the one or more second particular digital electronic records with the one or more relationship records comprises determining that one or more transactions described in the one or more second particular digital electronic records corresponds to one or more of the pre-approved transactions between the first entity and the at least one other second entity.

5 . The method of claim 1 , further comprising:

receiving, through a query interface, one or more queries with one or more first query parameters;

storing the one or more queries with the one or more first query parameters as an unsatisfied query;

determining that a particular transaction of the transactions corresponding to the one or more particular digital electronic records corresponds to the one or more queries;

identifying one or more second query parameters which would cause a system executing the query to identify a particular pre-approved transaction; and

generating and displaying a recommendation to replace the one or more first query parameters with the one or more second query parameters.

6 . The method of claim 1 , wherein displaying the digital electronic data identifying the transactions corresponding to the one or more particular digital electronic records as the potential pre-approved transactions comprises displaying a graph comprising a first portion which identifies past post-approved transactions as the potential pre-approved transactions based on the first plurality of digital electronic records; a second portion which identifies past post-approved transactions as the potential pre-approved transactions based on the second plurality of digital electronic records; and a third portion which identifies past post-approved transactions that are not matched to the potential pre-approved transactions.

7 . The method of claim 6 , wherein the graph comprises a plurality of sections corresponding to a plurality of first entity defined categories.

8 . The method of claim 7 , further comprising:

receiving input selecting a particular section of the plurality of sections of the graph, the particular section corresponding to a particular category of the first entity defined categories; and

in response to receiving the input, causing displaying data identifying a plurality of past post-approved transactions corresponding the particular category with additional data identifying, for each transaction, whether the transaction is a potential pre-approved transaction.

9 . The method of claim 1 , further comprising:

receiving input defining a new transaction for post-approval;

using the first machine learning system, determining that the new transaction corresponds to the possible pre-approved category; and

in response to determining that the new transaction corresponds to the possible pre-approved category: using the second machine learning system, matching the new transaction to one or more of the second plurality of digital electronic records; and causing displaying digital electronic data identifying the new transaction as a potential pre-approved transaction.

10 . The method of claim 1 , further comprising:

identifying, for each transaction of the subset of the plurality of past post-approved transactions, a submitter of the transaction for post-approval of a plurality of submitters; and

displaying, for a particular submitter of the plurality of submitters, electronic digital data identifying a portion of transactions submitted by the particular submitter for post-approval that were identified as the potential pre-approved transactions.

11 . A computer system accessible by multiple computing devices over a network, the computer system comprising:

one or more processors:

one or more non-transitory computer-readable storage media coupled to the one or more processors and storing one or more sequences of instructions, which, when executed by the one or more processors, cause the one or more processors to execute:

training a term frequency-inverse document frequency (TF-IDF) machine learning model using logistic regression using training datasets comprising expense records that have been previously matched to normalized categories;

storing a first plurality of digital electronic records for a first entity in an electronic digital storage device, the first plurality of digital electronic records comprising a plurality of expense records each identifying a plurality of past post-approved transactions by the first entity that have been processed as employee expenses;

storing a second plurality of digital electronic records for a plurality of second entities in the electronic digital storage device, the second plurality of digital electronic records comprising a first plurality of invoice records each identifying a plurality of past pre-approved transactions by the plurality of second entities that have been processed using an enterprise procurement workflow in an e-procurement system;

using a first machine learning system comprising the term frequency-inverse document frequency (TF-IDF) model with a logistic regression machine learning system, inputting one or more fields of the first plurality of digital electronic records into the first machine learning system for normalizing the first plurality of digital electronic records for the first entity to one more pre-defined categories, the one or more pre-defined categories including a possible pre-approved category and a non-possible pre-approved category, wherein

the possible pre-approved category indicates one or more possibly procurable expenses and the non-possible pre-approved category indicates one or more not procurable expenses; and wherein the normalizing comprises:

removing, by the first machine learning system, the past post-approved transactions that are not normalized to the possible pre-approved category from the first plurality of digital electronic records of the first entity and keeping a subset of the first plurality of digital electronic records corresponding to the possible pre-approved category;

using a second machine learning system, identifying the post-approved transaction records of the first entity in the possible pre-approved category that match the past pre-approved transaction records of the first entity by a pre-determined threshold and removing the matched post-approved transaction records of the first entity in the possible pre-approved category from subsequent matching steps;

using the second machine learning system, matching one or more particular digital electronic records of the subset of the first plurality of digital electronic records with one or more records of the second plurality of digital electronic records wherein the matching by the second machine learning system comprises:

converting the one or more fields of past post-approved transactions and one or more fields of past pre-approved transactions into one or more vectors using a Word2vec machine learning system;

comparing the past post-approved transactions that have been normalized to one of the possible pre-approved categories with the past pre-approved transactions,

computing a cosine similarity between the one or more vectors corresponding to the past post-approved transactions and the one or more vectors corresponding to the past pre-approved transactions record and removing the past post-approved transactions having a cosine similarity of greater than 70% compared to the past pre-approved transactions; and

identifying, by the second machine learning system, the matched one or more particular digital transaction records from the past post-approved transaction records of the first entity in the possible pre-approved category as potential pre-approved transactions; and

transmitting instructions to cause displaying, using a display, digital electronic data related to the identified and a plurality of recommendations identifying the past post-approved transactions corresponding to the one or more particular digital electronic records as potential pre-approved transactions.

12 . The computer system of claim 11 , further comprising sequences of instructions which when executed using the one or more processors cause the one or more processors to execute:

processing the potential pre-approved transactions as procurement transactions by the first entity using an enterprise procurement workflow in the e-procurement system; and

displaying first and second numeric values respectively specifying a first total cost of the first plurality of digital electronic records and a second total cost of one or more records of the second plurality of digital electronic records.

13 . The computer system of claim 11 , further comprising sequences of instructions which when executed using the one or more processors cause the one or more processors to execute:

storing one or more relationship records defining relationships between the first entity and at least one other entity;

matching one or more second particular digital electronic records of the subset of the first plurality of digital electronic records with the one or more relationship records; and

causing to display, on the display, digital electronic data identifying the transactions corresponding to the one or more second particular digital electronic records as the potential pre-approved transactions, wherein the display is on a client computing device.

14 . The computer system of claim 13 , further comprising sequences of instructions which when executed using the one or more processors cause the one or more processors to execute:

storing one or more digital electronic catalogs identifying pre-approved transactions between the first entity and the at least one other entity; and

wherein matching the one or more second particular digital electronic records with the one or more relationship records comprises determining that one or more transactions described in the one or more second particular digital electronic records corresponds to one or more of the pre-approved transactions between the first entity and the at least one other entity.

15 . The computer system of claim 11 , further comprising sequences of instructions which when executed using the one or more processors cause the one or more processors to execute:

receiving, through a query interface, one or more queries with one or more first query parameters;

storing the one or more queries with the one or more first query parameters as an unsatisfied query;

determining that a particular transaction of the transactions corresponding to the one or more particular digital electronic records corresponds to the one or more queries;

identifying one or more second query parameters which would cause a system executing the query to identify a particular pre-approved transaction; and

generating and displaying a recommendation to replace the one or more first query parameters with the one or more second query parameters.

16 . The computer system of claim 11 , further comprising sequences of instructions which when executed using the one or more processors cause the one or more processors to execute displaying a graph comprising a first portion which identifies past post-approved transactions as the potential pre-approved transactions based on the first plurality of digital electronic records; a second portion which identifies past post-approved transactions as the potential pre-approved transactions based on the second plurality of digital electronic records; a third portion which identifies past post-approved transactions that are not matched to the potential pre-approved transactions.

17 . The computer system of claim 16 , wherein the graph comprises a plurality of sections corresponding to a plurality of first entity defined categories.

18 . The computer system of claim 17 , further comprising sequences of instructions which when executed using the one or more processors cause the one or more processors to execute:

receiving input selecting a particular section of the plurality of sections of the graph, the particular section corresponding to a particular category of the first entity defined categories; and

in response to receiving the input, causing displaying data identifying a plurality of past post-approved transactions corresponding the particular category with additional data identifying, for each transaction, whether the transaction is a potential pre-approved transaction.

19 . The computer system of claim 11 , further comprising sequences of instructions which when executed using the one or more processors cause the one or more processors to execute:

receiving input defining a new transaction for post-approval;

using the first machine learning system, determining that the new transaction corresponds to the possible pre-approved category; and

in response to determining that the new transaction corresponds to the possible pre-approved category: using the second machine learning system, matching the new transaction to one or more of the second plurality of digital electronic records; causing displaying digital electronic data identifying the new transaction as a potential pre-approved transaction.

20 . The computer system of claim 11 , further comprising sequences of instructions which when executed using the one or more processors cause the one or more processors to execute:

identifying, for each transaction of the subset of the plurality of past post-approved transactions, a submitter of the transaction for post-approval of a plurality of submitters; and

displaying, for a particular submitter of the plurality of submitters, electronic digital data identifying a portion of transactions submitted by the particular submitter for post-approval that were identified as the potential pre-approved transactions.