IP Library Granted Patent US 12,548,088
Granted Patent B2
US 12,548,088 · App. 17/693,300 · Granted Feb 10, 2026

Transaction data processing systems and methods

Inventors: Delia Rusu (Wellington, NZ); Hayden Jeune (Wellington, NZ); Rebecca Dridan (Wellington, NZ); Soon-Ee Cheah (Wellington, NZ); Brett Calcott (Wellington, NZ); Zhimin Wang (Wellington, NZ); Quentin-Gabriel Thurier (Wellington, NZ); Fubiao Qin (Wellington, NZ); Niklas Patrick Pechan (Wellington, NZ)
Assignee: Xero Limited
G06Q40/12G06F40/279G06F40/284G06F40/30G06N20/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 12,548,088
App. No.
17/693,300
Granted
Feb 10, 2026
Kind
B2
Abstract

Described embodiments relate to determining a candidate financial record associated with a transaction between a first accounting entity and a second entity, and determining, using a numerical representation generation model, a numerical representation of the candidate financial record, the numerical representation generation model having been trained on a corpus generated from historical transaction records. The method further comprises providing, to a transaction attribute prediction model, the numerical representation of the candidate financial record, the transaction attribute prediction model having been trained using a dataset of previously reconciled financial records, each associated with a respective first transaction attribute; and determining, by the transaction attribute prediction model, at least one first transaction attribute associated with the candidate financial record.

Claims (112)

1 . A computer-implemented method comprising:

determining, by an accounting system comprising memory, and one or more processors configured to execute instructions stored in the memory, a set of example financial records, each example financial record being associated with a transaction between a first example entity and a second example entity, and each example financial record having a first label identifying the first example entity;

for each example financial record of the set of example financial records:

determining, by the accounting system, an example character string based on the example financial record;

determining, by the accounting system, one or more first example substrings from the example character string;

determining, by the accounting system, one or more second example substrings from the example character string, wherein the one or more second example substrings are different from the one or more first example substrings;

generating, by the accounting system, a first match score for each of the one or more first example substrings by comparing the one or more first example substrings to the first label;

generating, by the accounting system, a second match score for each of the one or more second example substrings by comparing the one or more second example substrings to the first label;

determining, by the accounting system, a best match score based on the one or more first match scores and the one or more second match scores;

determining, by the accounting system, that the best match score exceeds a threshold match score:

responsive to the best match score exceeding the threshold match score, annotating, by the accounting system, the example financial record with an entity identifier, the entity identifier derived from the example substring associated with the best match score; and

determining, by the accounting system, a training dataset comprising the annotated example financial records, each annotated example financial record comprising a character string of a financial record and a label entity identifier;

training, by the accounting system, an entity prediction model using the training dataset to provide a trained entity prediction model, wherein the trained entity prediction model is configured to provide a predicted entity identifier of a candidate financial record;

wherein training the entity prediction model using the training dataset comprises:

for each of the annotated example financial records of the training dataset:

determining, by the accounting system, one or more first substrings from the character string of the annotated example financial record;

generating, by the accounting system, a first set of tokens by tokenising each of the one or more first substrings;

determining, by the accounting system, one or more second substrings from the character string of the annotated example financial record, wherein the one or more second substrings are different from the one or more first substrings;

generating, by the accounting system, a second set of tokens by tokenising each of the one or more second substrings;

providing, by the accounting system, the first set of tokens and the second set of tokens to a numerical representation generation model of the accounting system to generate a numerical representation of the annotated example financial record;

providing, by the accounting system, the numerical representation of the annotated example financial record and the respective label entity identifier as an input to the entity prediction model;

determining, by the accounting system and as an output of the entity prediction model, a predicted entity identifier;

comparing, by the accounting system, the predicted entity identifier with the respective label entity identifier; and

determining, by the accounting system, one or more weights of the entity prediction model based on a comparison;

determining, by the accounting system, a candidate financial record associated with a transaction between a first entity and a second entity:

using, by the accounting system, the trained entity prediction model to generate a predicted entity identifier for the candidate financial record based on the candidate financial record; and

using the predicted entity identifier, by the accounting system, to: (i) reconcile the candidate financial record with a respective accounting record of the accounting system; or (ii) create a new accounting record in the accounting system.

2 . The method of claim 1 , further comprising:

determining a position indicator for the example substring associated with the best match score, wherein the entity identifier comprises the position indicator.

3 . The method of claim 1 , wherein the entity identifier comprises the example substring associated with the best match score.

4 . The method of claim 1 , wherein determining a best match score based on the one or more first match scores comprises determining a highest first match score of the one or more first match scores as the best match score.

5 . The method of claim 1 , further comprising:

for each example financial record of the set of example financial records:

determining a highest first match score of the one or more first match scores; and

determining a highest second match score of the one or more second match scores;

wherein determining the best match score based on the one or more first match scores and the one or more second match scores comprises determining the best match score as a higher of the highest first match score and the highest second match score.

6 . The method of claim 1 , wherein the one or more first example substrings are tokens.

7 . The method of claim 6 , wherein the one or more second example substrings are n-grams.

8 . The method of claim 1 , wherein the one or more first example substrings are n-grams.

9 . The method of claim 1 , wherein generating the first match score for each of the one or more first example substrings by comparing the one or more first example substrings to the first label comprises:

determining a similarity score between each of the one or more first example substrings and the first label using fuzzy matching.

10 . The method of claim 1 , wherein the one or more second substrings are bigrams.

11 . The method of claim 1 , wherein the one or more first substrings are n-grams.

12 . The method of claim 1 further comprising:

wherein determining as an output of the trained entity prediction model, the predicted entity identifier for the candidate financial record comprises:

determining the candidate financial record associated with a transaction between a first entity and a second entity;

determining one or more first substrings from a character string of the candidate financial record;

determining one or more second substrings from the character string of the candidate financial record, wherein the one or more second substrings from the character string of the candidate financial record are different from the one or more first substrings from the character string of the candidate financial record;

providing the one or more first substrings from the character string of the candidate financial record and the one or more second substrings from the character string of the candidate financial record to a numerical representation generation model to generate a numerical representation of the candidate financial record;

providing the numerical representation of the candidate financial record as an input to the trained entity prediction model; and

determining, as the output of the trained entity prediction model, the predicted entity identifier.

13 . The method of claim 12 , further comprising:

comparing the predicted entity identifier with a set of entity identifiers; and

determining one or more suggested entity identifiers based on the comparison.

14 . The method of claim 1 , wherein the label entity identifier comprises an entity identifier substring extracted from the character string of the candidate financial record, and/or a label position indicator of the entity identifier substring within the character string of the candidate financial record.

15 . The method of claim 12 , wherein the entity prediction model is a multi-class classifier.

16 . An accounting system comprising:

one or more processors; and

memory comprising computer executable instructions, which when executed by the one or more processors, causes the accounting system to:

determine a set of example financial records, each example financial record being associated with a transaction between a first example entity and a second example entity, and each example financial record having a first label identifying the first example entity;

for each example financial record of the set of example financial records:

determine an example character string based on the example financial record;

determine one or more first example substrings from the example character string;

determine one or more second example substrings from the example character string, wherein the one or more second example substrings are different from the one or more first example substrings;

generate a first match score for each of the one or more first example substrings by comparing the one or more first example substrings to the first label;

generate a second match score for each of the one or more second example substrings by comparing the one or more second example substrings to the first label;

determine a best match score based on the one or more first match scores and the one or more second match scores;

determine that the best match score exceeds a threshold match score:

responsive to the best match score exceeding the threshold match score, annotate the example financial record with an entity identifier, the entity identifier derived from the example substring associated with the best match score;

determine a training dataset comprising the annotated example financial records, each annotated example financial record comprising a character string of a financial record and a label entity identifier;

train an entity prediction model using the training dataset to provide a trained entity prediction model, wherein the trained entity prediction model is configured to provide a predicted entity identifier of a candidate financial record;

wherein to train the entity prediction model using the training dataset, the memory further comprises computer executable instructions, which when executed by the one or more processors, causes the accounting system to:

for each of the annotated example financial records of the training dataset:

determine one or more first substrings from the character string of the annotated example financial record;

generate a first set of tokens by tokenising each of the one or more first substrings;

determine one or more second substrings from the character string of the annotated example financial record, wherein the one or more second substrings are different from the one or more first substrings;

generate a second set of tokens by tokenising each of the one or more second substrings;

provide the first set of tokens and the second set of tokens to a numerical representation generation model to generate a numerical representation of the annotated example financial record;

provide the numerical representation of the annotated example financial record and the respective label entity identifier as an input to the entity prediction model;

determine, as an output of the entity prediction model, a predicted entity identifier;

compare the predicted entity identifier with the respective label entity identifier; and

determine one or more weights of the entity prediction model based on a comparison;

determine a candidate financial record associated with a transaction between a first entity and a second entity:

use the trained entity prediction model to generate a predicted entity identifier for the candidate financial record based on the candidate financial record; and

use the predicted entity identifier to: (i) reconcile the candidate financial record with a respective accounting record of the accounting system; or (ii) create a new accounting record in the accounting system.

17 . A computer-readable storage medium storing instructions that, when executed by a computer, cause the computer to perform operations including:

determining a set of example financial records, each example financial record being associated with a transaction between a first example entity and a second example entity, and each example financial record having a first label identifying the first example entity;

for each example financial record of the set of example financial records:

determining an example character string based on the example financial record;

determining one or more first example substrings from the example character string;

determining one or more second example substrings from the example character string, wherein the one or more second example substrings are different from the one or more first example substrings;

generating a first match score for each of the one or more first example substrings by comparing the one or more first example substrings to the first label;

generating a second match score for each of the one or more second example substrings by comparing the one or more second example substrings to the first label;

determining a best match score based on the one or more first match scores and the one or more second match scores;

determining that the best match score exceeds a threshold match score:

responsive to the best match score exceeding the threshold match score, annotating the example financial record with an entity identifier, the entity identifier derived from the example substring associated with the best match score; and

determining a training dataset comprising the annotated example financial records, each annotated example financial record comprising a character string of a financial record and a label entity identifier; and

training an entity prediction model using the training dataset to provide a trained entity prediction model, wherein the trained entity prediction model is configured to provide a predicted entity identifier of a candidate financial record

wherein training the entity prediction model using the training dataset comprises:

for each of the annotated example financial records of the training dataset:

determining one or more first substrings from the character string of the annotated example financial record;

generating a first set of tokens by tokenising each of the one or more first substrings;

determining one or more second substrings from the character string of the annotated example financial record, wherein the one or more second substrings are different from the one or more first substrings;

generating a second set of tokens by tokenising each of the one or more second substrings;

providing the first set of tokens and the second set of tokens to a numerical representation generation model to generate a numerical representation of the annotated example financial record;

providing the numerical representation of the annotated example financial record and the respective label entity identifier as an input to the entity prediction model;

determining, as an output of the entity prediction model, a predicted entity identifier;

comparing the predicted entity identifier with the respective label entity identifier; and

determining one or more weights of the entity prediction model based on a comparison;

determining a candidate financial record associated with a transaction between a first entity and a second entity;

using the trained entity prediction model to generate a predicted entity identifier for the candidate financial record based on the candidate financial record; and

using the predicted entity identifier to: (i) reconcile the candidate financial record with a respective accounting record of an accounting system; or (ii) create a new accounting record in the accounting system.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2022
From: RUSU, DELIA; JEUNE, HAYDEN; DRIDAN, REBECCA; CHEAH, SOON-EE; CALCOTT, BRETT; WANG, ZHIMIN; THURIER, QUENTIN-GABRIEL; QIN, FUBIAO; PECHAN, NIKLAS PATRICK
To: XERO LIMITED
Reel/Frame 060570/0725 →
Priority Claims (1)
AU 2020904805 · Dec 23, 2020 · national
Continuity (2)
Continuation PCTNZ2021050151 · Aug 25, 2021
Related Publication 20220198581A1 · Jun 23, 2022
References Cited (85)
US 4948174A · Thomson et al. · 1990 [cited by applicant]
US 7206768B1 · deGroeve et al. · 2007 [cited by applicant]
US 7483871B2 · Herz · 2009 [cited by applicant]
US 7536354B1 · deGroeve et al. · 2009 [cited by applicant]
US 7912702B2 · Bennett · 2011 [cited by applicant]
US 8458067B2 · Arguelles et al. · 2013 [cited by applicant]
US 8712887B2 · DeGroeve et al. · 2014 [cited by applicant]
US 8930295B2 · Campbell et al. · 2015 [cited by applicant]
US 9323784B2 · King et al. · 2016 [cited by applicant]
US 9324119B2 · Singh et al. · 2016 [cited by applicant]
US 9563920B2 · Lall · 2017 [cited by applicant]
US 9984344B2 · Singh et al. · 2018 [cited by applicant]
US 10204312B2 · Singh et al. · 2019 [cited by applicant]
US 10276170B2 · Gruber et al. · 2019 [cited by applicant]
US 10318882B2 · Brueckner et al. · 2019 [cited by applicant]
US 10664785B2 · Gill et al. · 2020 [cited by applicant]
US 10740561B1 · Cao et al. · 2020 [cited by applicant]
US 10741185B2 · Gruber et al. · 2020 [cited by applicant]
US 10789034B2 · Rao · 2020 [cited by applicant]
US 11416867B2 · Lopes et al. · 2022 [cited by applicant]
US 11481689B2 · Dong et al. · 2022 [cited by applicant]
US 11868436B1 · Gokalp et al. · 2024 [cited by applicant]
US 20030037041A1 · Hertz · 2003 [cited by applicant]
US 20070061260A1 · deGroeve et al. · 2007 [cited by applicant]
US 20080052078A1 · Bennett · 2008 [cited by applicant]
US 20100057502A1 · Arguelles et al. · 2010 [cited by applicant]
US 20110153653A1 · King et al. · 2011 [cited by applicant]
US 20120303562A1 · Paguio · 2012 [cited by applicant]
US 20130091052A1 · Kaperdal et al. · 2013 [cited by applicant]
US 20140074762A1 · Campbell · 2014 [cited by applicant]
US 20140279304A1 · Lall · 2014 [cited by applicant]
US 20160078361A1 · Brueckner · 2016 [cited by examiner]
US 20170012418A1 · Roux et al. · 2017 [cited by applicant]
US 20170236080A1 · Singh et al. · 2017 [cited by applicant]
US 20170315767A1 · Rao · 2017 [cited by applicant]
US 20170330121A1 · Sullivan et al. · 2017 [cited by applicant]
US 20180030060A1 · Petrukhin et al. · 2018 [cited by applicant]
US 20180285773A1 · Hsiao · 2018 [cited by examiner]
US 20180314996A1 · Singh et al. · 2018 [cited by applicant]
US 20180330412A1 · Fredriksson et al. · 2018 [cited by applicant]
US 20190066204A1 · Teixeira et al. · 2019 [cited by applicant]
US 20190066214A1 · Teixeira et al. · 2019 [cited by applicant]
US 20190066215A1 · Teixeira et al. · 2019 [cited by applicant]
US 20190066216A1 · Teixeira et al. · 2019 [cited by applicant]
US 20190121904A1 · Gilling · 2019 [cited by examiner]
US 20190244147A1 · Singh et al. · 2019 [cited by applicant]
US 20190251057A1 · Robinson et al. · 2019 [cited by applicant]
US 20190251058A1 · Robinson · 2019 [cited by examiner]
US 20200073882A1 · Guggilla et al. · 2020 [cited by applicant]
US 20200074565A1 · Dotter · 2020 [cited by applicant]
US 20200097812A1 · Csar et al. · 2020 [cited by applicant]
US 20200098053A1 · Lesner et al. · 2020 [cited by applicant]
US 20200210899A1 · Guo · 2020 [cited by applicant]
US 20200311816A1 · Calvin · 2020 [cited by applicant]
US 20200410583A1 · Hart et al. · 2020 [cited by applicant]
US 20210011677A1 · Rao · 2021 [cited by applicant]
US 20210027392A1 · Goyal et al. · 2021 [cited by applicant]
US 20210073847A1 · Whatley et al. · 2021 [cited by applicant]
US 20210350382A1 · Lopes et al. · 2021 [cited by applicant]
US 20220028010A1 · Jeske et al. · 2022 [cited by applicant]
US 20220044313A1 · Cox et al. · 2022 [cited by applicant]
US 20220103589A1 · Shen et al. · 2022 [cited by applicant]
US 20220108262A1 · Cella et al. · 2022 [cited by applicant]
JP 2018198046A · 2018 [cited by applicant]
WO 2006017630A2 · 2006 [cited by applicant]
WO 2007033095A2 · 2007 [cited by applicant]
WO 2007112374A2 · 2007 [cited by applicant]
WO 2008036998A1 · 2008 [cited by applicant]
WO WO2022139595A1 · 2022 [cited by examiner]
Notice of Allowance in U.S. Appl. No. 17/749,135 mailed on Nov. 30, 2022, 14 pages. [cited by applicant]
Casey, M., et al., “The Impact of Blockchain Technology on Finance: A Catalyst for Change”, Geneva Reports on the World Economy 21, pp. 106, (2018). [cited by applicant]
Efrag, “Accounting for Crypto-Assets (Liabilities): Holder and Issuer Perspective”, pp. 152, (Jul. 2020). [cited by applicant]
Samoila, A. L., “Multiple Entity Reconciliation”, KTH Royal Institute of Technology VionLabs, Stockholm, pp. 63, (Sep. 2015). [cited by applicant]
Scor, “P&C loss development triangles and reserves as of Dec. 2019”, pp. 1-24 (2019). [cited by applicant]
Tookitaki, “What is data reconciliation and what is it used for in finance?”, pp. 07, (May 20, 2020). [cited by applicant]
Weinberger, K., et al., “Feature Hashing for Large Scale Multitask Learning”, CML '09: Proceedings of the 26th Annual International Conference on Machine Learning Jun. 14-18, 2009, pp. 1113-1120, (Jun. 2009). [cited by applicant]
International Search Report and Written Opinion as issued in connection with International Patent Application No. PCT/NZ21/050151, mailed Dec. 20, 2021, 17 pages. [cited by applicant]
Non-Final Office Action in U.S. Appl. No. 17/749,135 mailed on Aug. 26, 2022, 14 pages. [cited by applicant]
Non-Final Office Action in U.S. Appl. No. 17/842,523 mailed on Mar. 13, 2024, 27 pages. [cited by applicant]
Non-Final Office Action in U.S. Appl. No. 18/069,223 mailed on Apr. 30, 2024, 20 pages. [cited by applicant]
Final Office Action in U.S. Appl. No. 18/069,223 mailed on Sep. 5, 2024, 21 pages. [cited by applicant]
Final Office Action in U.S. Appl. No. 17/842,523 mailed on Sep. 6, 2024, 32 pages. [cited by applicant]
Extended European Search Report in European Application No. 21911642.3 mailed Oct. 22, 2024, 12 pages. [cited by applicant]
Non-Final Office Action in U.S. Appl. No. 17/842,523 mailed on Apr. 28, 2025, 18 pages. [cited by applicant]
Notice of Allowance in U.S. Appl. No. 18/069,223 mailed on May 30, 2025, 15 pages. [cited by applicant]