# US 2019/0318347 A1 · Systems and methods for matching transactional data

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

- Number: US 2019/0318347 A1
- Document ID: US20190318347A1
- Status: Published application
- Kind: A1
- Application number: 15/951,058
- Filed: 2018-04-11
- Published: 2019-10-17
- Earliest claimed: 2018-04-11
- Assignees: Sap SE
- Applicants: Sap SE
- Inventors: Everaldo Aguiar; Michael Stark; Jesper Lind
- Web page: https://patentgrep.com/patent/US20190318347A1

## CPC

- G06V 30/224: of printed characters having additional code marks or containing code marks
- G06F 18/24323: {Tree-organised classifiers}
- G06N 20/00: Machine learning
- G06Q 10/10: Office automation; Time management
- G06Q 20/10: specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
- G06Q 20/22: Payment schemes or models
- G06Q 20/389: {Keeping log of transactions for guaranteeing non-repudiation of a transaction}
- G06Q 20/4016: {involving fraud or risk level assessment in transaction processing}
- G06Q 30/016: After-sales
- G06Q 40/02: Banking, e.g. interest calculation or account maintenance (credit or loans G06Q40/03)
- G06V 30/19147: {Obtaining sets of training patterns; Bootstrap methods, e.g. bagging or boosting}
- G06V 30/19173: {Classification techniques}
- G06N 5/01: Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
- G06N 20/20: Ensemble learning
- G06V: IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- 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

## Abstract

Embodiments of the present disclosure pertain to matching transactional data. In one embodiment, the present disclosure includes a computer implemented method comprising receiving transactional data for a first user and second data for the first user, selecting transactional data records for the first user from a data store of transactional data for a plurality of users, determining a plurality of similarities between fields of the transactional data and second data, determining a likelihood of a match between a transactional data field and a second data field based on the plurality of similarities using a machine learning model, and in accordance therewith, identifying one record in the transactional data records for the first user that generates said likelihood of the match above a first threshold, and replacing values second data fields with corresponding values in the one record.

## Claims

### Claim 1

A computer implemented method comprising:
receiving transactional data for a first user, the transactional data comprising a plurality of records, and each record comprising a first plurality of fields;
receiving second data for the first user, the second data comprising a second plurality of fields corresponding to at least a portion of the first plurality of fields;
selecting transactional data records for the first user from a data store of transactional data for a plurality of users;
determining a plurality of similarities between a plurality of fields from the first plurality of fields of each of the transactional data records for the first user and a corresponding plurality of fields from the second plurality of fields of second data for the first user;
determining a likelihood of a match between the first plurality of fields of the transactional data records for the first user and the second plurality of fields for the second data for the first user based on the plurality of similarities using a machine learning model, and in accordance therewith, identifying one record in the transactional data records for the first user that generates said likelihood of the match above a first threshold;
replacing one or more of values in the second plurality of fields with one or more corresponding values in the first plurality of fields from the identified one record; and
storing the second plurality of fields in a record in a database.

### Claim 2 (depends on 1)

The method of claim 1 wherein:
the first plurality of fields includes a transaction amount, a date, a currency, a vendor, a time, and a plurality of other fields; and
the second plurality of fields includes at least a transaction amount, a data, a currency, a vendor, and a time.

### Claim 3 (depends on 1)

The method of claim 1 wherein the transactional data is a credit card data feed, and wherein the data is encoded according to a first encoding scheme corresponding to a credit card service provider.

### Claim 4 (depends on 1)

The method of claim 1 further comprising determining at least one similarity of the plurality of similarities comprising:
determining a first similarity, the first similarity comprising a similarity between a first character string and a second character string, wherein the first character string is an intersection of a first character field in the first plurality of fields and a corresponding first character field in the second plurality of fields, and wherein the second character string is the first character field;
determining a second similarity, the second similarity comprising a similarity between the first character string and a third character string, wherein the third character string is the second character field;
determining a third similarity, the third similarity comprising a similarity between the first character field and the second character field; and
selecting the maximum similarity from the first similarity, the second similarity, and the third similarity.

### Claim 5 (depends on 4)

The method of claim 4 wherein the first and second character fields are vendor character fields.

### Claim 6 (depends on 4)

The method of claim 4 wherein the plurality of similarities further comprise:
a similarity based on a difference between an amount field in the first plurality of fields and an amount field in the second plurality of fields;
a similarity based on a difference between a currency field in the first plurality of fields and a currency field in the second plurality of fields;
a similarity based on a difference between a date field in the first plurality of fields and a date field in the second plurality of fields; and
a similarity based on a difference between a transaction time field in the first plurality of fields and a time field in the second plurality of fields.

### Claim 7 (depends on 6)

The method of claim 6 wherein replacing one or more of values in the second plurality of fields with one or more corresponding values from the first plurality of fields in the identified one record comprises replacing values in one or more of the date, currency, and vendor fields in the second plurality of fields with corresponding values from the date, currency, and vendor fields in the identified one record.

### Claim 8 (depends on 1)

The method of claim 1 wherein the second data corresponds to optical character recognition of a physical transaction receipt from a picture of the physical transaction receipt taken on a mobile device.

### Claim 9 (depends on 1)

The method of claim 1 further comprising:
receiving second transactional data for the first user, the second transactional data comprising a plurality of records, and each record comprising a first plurality of fields, wherein the second transactional data corresponds to the first transactional data; and
generating a query to the database to match records in the second transactional data with the first previously received transactional data records,
wherein one or more values replaced in the second plurality of fields from the identified one record are the same as one or more values in corresponding fields in a first record of the second transactional data so that the second transactional data corresponding to the first transactional data is stored in the same record in the database.

### Claim 10 (depends on 1)

The method of claim 1 wherein the machine learning model is a random forest machine learning model.

### Claim 11 (depends on 1)

The method of claim 1 wherein the machine learning model is produced using a training set comprising:
a first corpus of training data including a plurality of transactional data records matching a plurality of second data; and
a second corpus of training data including a plurality of transactional data records not matching a plurality of second data,
wherein the second corpus of data is greater than the first corpus of data and wherein the second corpus is generated from the first corpus by associating transactional data records from the first corpus with non-matching second data.

### Claim 12

A non-transitory machine-readable medium storing a program executable by at least one processing unit of a computer, the program comprising sets of instructions for:
receiving transactional data for a first user, the transactional data comprising a plurality of records, and each record comprising a first plurality of fields;
receiving OCR data for the first user corresponding to optical character recognition of a physical transaction receipt from a picture of the receipt taken on a mobile device, the OCR data comprising a second plurality of fields corresponding to at least a portion of the first plurality of fields;
selecting transactional data records for the first user from a data store of transactional data for a plurality of users;
determining a plurality of similarities between a plurality of fields from the first plurality of fields of each of the transactional data records for the first user and a corresponding plurality of fields from the second plurality of fields of OCR data for the first user, wherein determining at least one similarity of the plurality of similarities comprises:
determining a first similarity, the first similarity comprising a similarity between a first character string and a second character string, wherein the first character string is an intersection of a first character field in the first plurality of fields and a corresponding first character field in the second plurality of fields, and wherein the second character string is the first character field;
determining a second similarity, the second similarity comprising a similarity between the first character string and a third character string, wherein the third character string is the second character field;
determining a third similarity, the third similarity comprising a similarity between the first character field and the second character field; and
selecting the maximum similarity from the first similarity, the second similarity, and the third similarity;
determining a likelihood of a match between the first plurality of fields of the transactional data records for the first user and the second plurality of fields for the OCR data for the first user based on the selected maximum similarity and similarities between a plurality of other fields of the first and second plurality of fields using a random forest machine learning model, and in accordance therewith, identifying one record in the transactional data records that corresponds to the OCR data for the first user; and
replacing one or more of values in the second plurality of fields with one or more corresponding values in the first plurality of fields from the identified one record.

### Claim 13 (depends on 12)

The non-transitory machine-readable medium of claim 12 wherein:
the first plurality of fields includes a transaction amount, a date, a currency, a vendor, a time, and a plurality of other fields; and
the second plurality of fields includes at least a transaction amount, a data, a currency, a vendor, and a time.

### Claim 14 (depends on 12)

The non-transitory machine-readable medium of claim 12 wherein the machine learning model is a random forest machine learning model.

### Claim 15 (depends on 12)

The non-transitory machine-readable medium of claim 12 further comprising:
receiving second transactional data for the first user, the second transactional data comprising a plurality of records, and each record comprising a first plurality of fields, wherein the second transactional data corresponds to the first transactional data; and
generating a query to the database to match records in the second transactional data with the first previously received transactional data records,
wherein one or more values replaced in the second plurality of fields from the identified one record are the same as one or more values in corresponding fields in a first record of the second transactional data so that the second transactional data corresponding to the first transactional data is stored in the same record in the database.

### Claim 16

A computer system comprising:
a processor; and
a non-transitory machine-readable medium storing a program executable by the processor, the program comprising sets of instructions for:
receiving transactional data for a first user, the transactional data comprising a plurality of records, and each record comprising a first plurality of fields;
receiving second data for the first user, the second data comprising a second plurality of fields corresponding to at least a portion of the first plurality of fields;
selecting transactional data records for the first user from a data store of transactional data for a plurality of users;
determining a plurality of similarities between a plurality of fields from the first plurality of fields of each of the transactional data records for the first user and a corresponding plurality of fields from the second plurality of fields of second data for the first user;
determining a likelihood of a match between the first plurality of fields of the transactional data records for the first user and the second plurality of fields for the second data for the first user based on the plurality of similarities using a machine learning model, and in accordance therewith, identifying one record in the transactional data records for the first user that generates said likelihood of the match above a first threshold;
replacing one or more of values in the second plurality of fields with one or more corresponding values in the first plurality of fields from the identified one record; and
storing the second plurality of fields in a record in a database.

### Claim 17 (depends on 16)

The computer system of claim 16 wherein:
the first plurality of fields includes a transaction amount, a date, a currency, a vendor, a time, and a plurality of other fields; and
the second plurality of fields includes at least a transaction amount, a data, a currency, a vendor, and a time.

### Claim 18 (depends on 16)

The computer system of claim 16 wherein the transactional data is a credit card data feed, and wherein the data is encoded according to a first encoding scheme corresponding to a credit card service provider.

### Claim 19 (depends on 16)

The computer system of claim 16 wherein the machine learning model is a random forest machine learning model.

### Claim 20 (depends on 16)

The computer system of claim 16 further comprising:
receiving second transactional data for the first user, the second transactional data comprising a plurality of records, and each record comprising a first plurality of fields, wherein the second transactional data corresponds to the first transactional data; and
generating a query to the database to match records in the second transactional data with the first previously received transactional data records,
wherein one or more values replaced in the second plurality of fields from the identified one record are the same as one or more values in corresponding fields in a first record of the second transactional data so that the second transactional data corresponding to the first transactional data is stored in the same record in the database.
