# US 12,002,111 B1 · Efficient and accurate matching of expenses to software in a SaaS management platform

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,002,111 B1
- Document ID: US12002111B1
- Status: Granted
- Kind: B1
- Application number: 18/162,690
- Filed: 2023-01-31
- Granted: 2024-06-04
- Earliest claimed: 2023-01-31
- Assignees: Productiv, Inc.
- Applicants: Productiv, Inc.
- Inventors: Ashish Aggarwal; Shantanu Kumar; Gaurav Sood; Sharan Jhangiani
- Web page: https://patentgrep.com/patent/US12002111B1

## CPC

- G06Q 40/12: Accounting
- G06N 3/045: Combinations of networks
- G06N 3/08: Learning methods
- 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
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

A Software as a Service (SaaS) management platform (SMP) is provided, the SMP configured to perform a method including: receiving a plurality of expense records for a customer organization, wherein each one of the plurality of expense records identifies a user, a vendor, and an amount spent; using a first machine learning model to analyze the plurality of expense records and determine which ones of the expense records represent software purchases; using a second machine learning model to analyze the expense records that are determined to represent software purchases, and identify software titles that the software purchases are for; surfacing the expense records that represent software purchases, in association with their respective identified software titles, through a user interface of the SMP for the customer organization.

## Claims

### Claim 1

A Software as a Service (SaaS) management platform (SMP), the SMP implemented in a cloud resource having at least one processor and at least one storage device, the SMP being configured to perform a method including the following operations:
receiving a plurality of expense records for a customer organization, wherein each one of the plurality of expense records identifies an employee of the customer organization, a vendor, and an amount spent by the employee in payment to the vendor;
accessing human resources (HR) data of the employees respectively identified by the plurality of expense records;
using a first machine learning model to analyze the plurality of expense records and determine which ones of the expense records represent software purchases;
using a second machine learning model to analyze the expense records that are determined to represent software purchases, and identify software titles that the software purchases are for;
wherein using the first or the second machine learning model is configured to analyze, for a given expense record, the HR data of the employee identified by the given expense record, wherein the HR data of the employee identified by the given expense record includes one or mom of a role, team, or a location of the employee; and
surfacing the expense records that represent software purchases, in association with their respective identified software titles, through a user interface of the SMP for the customer organization.

### Claim 2 (depends on 1)

The SMP of claim 1, wherein accessing the HR data of the employees includes accessing an application programming interface (APD of an HR SaaS application.

### Claim 3 (depends on 1)

The SMP of claim 1, wherein the method further includes:
accessing application engagement data of the employees respectively identified by the plurality of expense records;
wherein using the first or the second machine learning model is configured to analyze, for a given expense record, the application engagement data of the employee identified by the given expense record.

### Claim 4 (depends on 3)

The SMP of claim 3, wherein the application engagement data of the user employee identified by the given expense record identifies one or more applications that the employee has interacted with.

### Claim 5 (depends on 3)

The SMP of claim 3, wherein accessing the application engagement data of the employees includes accessing an API of a single sign on (SSO) service or a cloud access security broker (CASB).

### Claim 6 (depends on 1)

The SMP of claim 1, wherein receiving the expense records includes accessing an API of an expense management SaaS application.

### Claim 7 (depends on 1)

The SMP of claim 1, wherein the first or the second machine learning model is defined by a neural network classifier trained using labeled training data.

### Claim 8 (depends on 1)

The SMP of claim 1, wherein using the second machine learning model is configured to access an application catalog service that maintains a directory of software applications.

### Claim 9 (depends on 1)

The SMP of claim 1, wherein surfacing the expense records that represent software purchases through the user interface of the SMP includes, for a given software title, listing data from the expense records that represent software purchases for the given software title.

### Claim 10 (depends on 1)

The SMP of claim 1, wherein surfacing the expense records that represent software purchases through the user interface of the SMP includes, for a given software title, adding the amounts spent, of expense records representing software purchases of the given software title, to a total spend for the software title that is displayed in the user interface.

### Claim 11

A Software as a Service (SaaS) management platform (SMP), the SMP implemented in a cloud resource having at least one processor and at least one storage device, the SMP being configured to perform a method including the following operations:
receiving a plurality of expense records for a customer organization, wherein each one of the plurality of expense records identifies an employee of the customer organization, a vendor, and an amount spent by the employee in payment to the vendor;
accessing human resources (HR) data of the employees respectively identified by the plurality of expense records;
using a first machine learning model to analyze the plurality of expense records and determine which ones of the expense records represent software purchases;
using a second machine learning model to analyze the expense records that are determined to represent software purchases, and for each expense record representing a software purchase, either identify a software title that the software purchase is for, or determine that a software title cannot be identified that the software purchase is for;
wherein using the first or the second machine learning model is configured to analyze, for a given expense record, the HR data of the employee identified by the given expense record, wherein the HR data of the employee identified by the given expense record includes one or more of a role, team, or a location of the employee; and
surfacing the expense records that represent software purchases through a user interface of the SMP for the customer organization.

### Claim 12 (depends on 11)

The SMP of claim 11, wherein the method further includes:
accessing application engagement data of the employees respectively identified by the plurality of expense records;
wherein using the first or the second machine learning model is configured to analyze, for a given expense record, the application engagement data of the user employee identified by the given expense record.

### Claim 13 (depends on 12)

The SMP of claim 12, wherein the application engagement data of the employee identified by the given expense record identifies one or more applications that the employee has interacted with.

### Claim 14 (depends on 11)

The SMP of claim 11, wherein receiving the expense records includes accessing an API of an expense management SaaS application.

### Claim 15 (depends on 11)

The SMP of claim 11, wherein the first or the second machine learning model is defined by a neural network classifier trained using labeled training data.

### Claim 16 (depends on 11)

The SMP of claim 11, wherein using the second machine learning model is configured to access an application catalog service that maintains a directory of software applications.
