US Pat. No. 9,741,024

SYSTEMS AND METHODS OF BANK TRANSFER

Xero Limited, San Franci...

1. A method comprising:
exchanging, by a server, with a website of a bank, public keys;
presenting, by the server, an invoice including an amount and a payment button to a client device of a user, the payment button
being associated with an option to pay the amount to an entity through the bank;

detecting, by the server, via the presented payment button, a request to pay the amount through a user account of the bank;
responsive to the detected request to pay:
encrypting, by the server and using the public key of the bank, information for processing the invoice; sending, by the server,
the encrypted information to the client device; and

redirecting, by the server, the client device to the website of the bank; and
receiving, by the server, from the website of the bank, an indication that the amount was transferred from the user account
to the account of the entity.

US Pat. No. 9,117,208

SYSTEMS AND METHODS OF ACCESS CONTROL AND SYSTEM INTEGRATION

Xero Limited, San Franci...

1. A method comprising:
receiving, at an accounting system comprising a machine having a memory and at least one processor, an authorization from
a financial system to receive financial data from a financial account of a plurality of financial accounts maintained by the
financial system, the authorization identifying a user, the user being associated with a first organization within the accounting
system, the accounting system maintaining bookkeeping accounts for a plurality of organizations including the first organization;

based on the receiving of the authorization identifying the user, causing presentation of an option to the user to select
a bookkeeping account of a plurality of bookkeeping accounts associated with the first organization, the selected bookkeeping
account to be linked to the financial account;

registering, by the accounting system, for a bank record feed from the financial system, the registering being performed via
an application programming interface (API) provided by the financial system, the registering using the authorization from
the financial system;

retrieving, using the bank record feed, financial account data related to the financial account; and
generating accounting data related to the selected bookkeeping account using the financial account data.

US Pat. No. 10,546,261

BENCHMARKING THROUGH DATA MINING

Xero Limited, San Franci...

1. A method comprising:importing into user data, by an accounting platform in a cloud computing environment, banking data for each of a plurality of users subscribed to the accounting platform, the plurality of users including a first user, wherein the accounting platform is configured to import the banking data through a bank feed transmitted over a network, wherein the importing through the bank feed further comprises providing account credentials of the plurality of users to obtain the banking data for the plurality of users;
receiving, at the accounting platform and from a client device via the network, a request for benchmarking a first attribute of the first user, the first attribute being part of the user data of the first user that includes the imported banking data of the first user and accounting data of the first user, the accounting data including general ledger accounting data maintained by the accounting platform;
accessing, by the accounting platform, the user data for the plurality of users;
identifying, by the accounting platform, a first set of similar users subscribed to the accounting platform that have a value of a geographic attribute in the user data similar to a value of the geographic attribute of the first user;
identifying, in the user data of the accounting platform, a value of the first attribute for the first set of similar users;
determining, by the accounting platform, a statistical value based on the values of the first attribute for the first set of similar users;
setting, by the accounting platform, a benchmark based on the statistical value; and
sending, via the network, the benchmark of the first attribute to the client device for presentation in a user interface of the accounting platform.

US Pat. No. 9,591,066

MULTIPLE SERVER AUTOMATION FOR SECURE CLOUD RECONCILIATION

Xero Limited, San Franci...

1. A method for automated reconciliation, comprising:
receiving, by one or more processor of a first server of a first domain, a first data movement request having a first status
indicator for the first data movement request;

automatically appending, by the one or more processor of the first server, a unique request code to the first data movement
request;

transmitting the first data movement request and the unique request code to a server associated with a first entity;
automatically presenting the first data movement request at a client device associated with the first entity during a network-based
communications session between the first server and a second server of a second domain;

automatically receiving, by the one or more processor of the first server, a movement response from the second server via
the network-based communications session, the movement response indicating a first interaction between the server associated
with the first entity and the second server and a second interaction between the second server and a third server of a third
domain, the second interaction being performed by the second server in response to the first interaction;

automatically modifying the first status indicator of the first data movement request to a second status indicator reflecting
receipt of the movement response; and

automatically verifying, by the first server, an indication of movement between the server associated with the first entity
and the third server, the verifying comprising:

transmitting a second data movement request to the third server;
receiving, by the first server, a confirmation notification including a data movement statement and the unique request code;
and

matching a portion of the data movement statement of the confirmation notification to a portion of the first data movement
request.

US Pat. No. 10,037,506

BENCHMARKING THROUGH DATA MINING

Xero Limited, San Franci...

1. A method comprising:importing, by an accounting platform in a cloud computing environment, banking data for each of a plurality of users subscribed to the accounting platform, wherein the accounting platform is configured to import the banking data through a bank feed transmitted over a network, wherein the importing through the bank feed further comprises providing account credentials of the plurality of users to obtain the banking data for the plurality of users;
receiving, at the accounting platform and from a client device via the network, a request for benchmarking a first attribute of a first user of the plurality of users subscribed to the accounting platform, the first attribute being part of user data that includes the imported banking data and accounting data of the first user, the accounting data including general ledger accounting data maintained by the accounting platform;
accessing, by the accounting platform, the user data for the plurality of users, the user data being stored in an account table storing information for each user in the accounting platform;
identifying, by the accounting platform, a first set of similar users subscribed to the accounting platform that have a value of a second attribute in the user data similar to a value of the second attribute of the first user;
identifying, in the user data of the accounting platform, a value of the first attribute for the first set of similar users;
determining, by the accounting platform, a weighted average of the values of the first attribute for the first set of similar users, each similar user being assigned a weight based on a difference between the value of the second attribute for the similar user and the value of the second attribute for the first user;
setting, by the accounting platform, a benchmark based on the determined weighted average value; and
sending, via the network, the benchmark of the first attribute to the client device for presentation in a user interface of the accounting platform, the user interface comprising one or more of: a value of the benchmark, a direction of change over a previous period, a graph of the value of the benchmark over time, a current target of the value of the benchmark, or a benchmark comparison value in reference to values of the benchmark for the plurality of users.

US Pat. No. 10,069,917

MULTIPLE SERVER AUTOMATION FOR SECURE CLOUD RECONCILIATION

Xero Limited, San Franci...

1. A method comprising:receiving, by a second server having one or more processors and via a network, a data transfer request from a client device providing a second user interface to a second user, the data transfer request being associated with a first user, the first user being associated with a first entity server and the second user being associated with a second entity server;
automatically adding a request identifier to the data transfer request, the request identifier uniquely identifying the data transfer request from other requests;
automatically sending, from the second server via the network, the data transfer request to a third server, the first user having a first server account registered with a first server and the second user having a second server account registered with the second server;
sending the data transfer request from the third server to the first server;
presenting the data transfer request in a first user interface to the first user, the first user interface being provided by the first server;
when the first user approves the data transfer request in the first user interface, automatically sending a request, from the first server to the third server and via the network, to make a transfer from the first server account in the first entity server to the second server account in the second entity server based on the request identifier;
automatically sending a notification to the second server via the network, from the second entity server, of a completion of the data transfer request;
automatically sending a notification to the first server via the network, from the first entity server, of the completion of the data transfer request; and
providing a notification in the second user interface of the second user that the data transfer request was completed.

US Pat. No. 10,181,162

SYSTEMS AND METHODS OF ACCESS CONTROL AND SYSTEM INTEGRATION

Xero Limited, San Franci...

1. A method comprising:receiving, at an accounting system comprising a machine having a memory and at least one processor, an encrypted message;
decrypting the message to reveal an authorization from a financial system of a third party to receive financial data from at least one financial account of a plurality of financial accounts maintained by the financial system, the authorization identifying a user, the user being associated with a first organization within the accounting system, the accounting system maintaining bookkeeping accounts for a plurality of organizations including the first organization;
based on the authorization identifying the user, causing, by the accounting system, presentation, in a user interface on a user device, of an option to the user to link a bookkeeping account associated with the first organization to each of the authorized financial accounts;
in response to detecting a selection of the option, registering using secure encrypted messages, by the accounting system, for an automated programmatic bank record feed from the financial system, the registering using the authorization from the financial system;
retrieving, using the automated programmatic bank record feed and secure transfer, financial account data related to the financial account; and
generating accounting data related to the bookkeeping account using the financial account data.

US Pat. No. 10,269,062

SYSTEMS AND METHODS OF MOBILE BANKING RECONCILIATION

Xero Limited, San Franci...

1. A method comprising:presenting, on a display device being a touchscreen of a mobile device, a first object including information from a banking record, included in a primary data center, having a characteristic, the first object being presented in a first position;
determining, by a processor, that a plurality of business records, included in the primary data center, have a characteristic that is the same as the characteristic of the banking record;
choosing one from the plurality of business records for presentation;
presenting, on the display device and based on the determination, a second object including information from the chosen business record, the second object being presented in a second position, the second position being vertically offset from the first position;
presenting, on the display device, a user interface with an element operable to associate the banking record presented in the first object with the chosen business record presented in the second object;
receiving a directional input via the user interface, the directional input being for presenting alternative business records for reconciliation; and
responsive to the directional input, modifying the information of the second object to hide the information of the chosen business record and show information of a different business record from the plurality of business records;
wherein, after swiping through the plurality of business records, an additional directional input provides an option in the user interface to create a new business record, wherein the new business record is pre-populated with data from the banking record shown on the first object;
wherein, in response to a selection by the user of one of the plurality of business records for reconciliation, the banking record is caused, by a reconciliation module included in the mobile device, to be reconciled with the selected business record, wherein a request is generated by the mobile device to cause a server to update a database to reflect a reconciliation of the banking record and the selected business record.

US Pat. No. 11,030,706

SYSTEMS AND METHODS OF ACCESS CONTROL AND SYSTEM INTEGRATION

Xero Limited, Wellington...

1. A method comprising:at an accounting system, receiving, from a financial system, an authorization to link a financial account at the financial system with a bookkeeping account at the accounting system, the accounting system maintaining bookkeeping accounts for a plurality of organizations, the authorization identifying a user associated with a first organization of the plurality of organizations;
based on the receiving of the authorization, linking the bookkeeping account associated with the first organization to the authorized financial account;
verifying, by the accounting system, that the financial system supports a third-party payment service for the financial account;
submitting, from the accounting system to the third-party payment service, a batch file comprising a batch of payments drawn on the financial account, the batch of payments comprising a plurality of account identifiers for a plurality of financial accounts receiving the payments in the batch of payments;
receiving, by the accounting system from the financial system, a confirmation that all payments in the batch of payments completed successfully; and
updating, by the accounting system and in response to the confirmation, accounting data of the bookkeeping account to show that the payments in the batch of payments were made.

US Pat. No. 10,949,916

DATA RECONCILIATION BASED ON COMPUTER ANALYSIS OF DATA

Xero Limited, Wellington...

1. A method comprising:identifying features for reconciling transactions, in a bank statement of a first entity, by two machine-learning programs that comprise a community predictor and a user predictor, the features comprising a description of the transaction, a name of a second entity associated with the transaction, and an account in an accounting system;
training, by one or more processors, the community predictor with training data, the training data comprising values of the features for previously reconciled transactions of a plurality of businesses that match transactions in bank statements to corresponding accounts in the accounting system, the community predictor being for determining reconciliation suggestions based on the previously reconciled transactions for the plurality of businesses;
training, by the one or more processors, the user predictor with training data comprising values of the features for previously reconciled transactions of the first entity, the user predictor being for determining reconciliation suggestions based on the previously reconciled transactions of the first entity;
receiving, by the one or more processors, a first transaction in the bank statement, the first transaction relating to a user and including a description, a date, and an amount;
inputting, by the one or more processors, the first transaction to the community predictor and the user predictor;
determining, by the community predictor, one or more first suggestions for reconciling the first transaction and a first confidence level corresponding to each of the one or more first suggestions;
determining, by the user predictor, one or more second suggestions for reconciling the first transaction and a second confidence level corresponding to each of the one or more second suggestions;
determining a best suggestion corresponding to a highest confidence level of the first confidence levels and second confidence levels of the one or more first suggestions and second suggestions;
responsive to the highest confidence level of the best suggestion not exceeding a predetermined first threshold, causing, by the one or more processors:
presentation in a user interface one or more suggestions from the one or more first suggestions and second suggestions, each suggestion comprising the name of the second entity in the first transaction and an account in the accounting system associated with the first transaction;
receiving through the user interface, a user designation reconciliation suggestion from the one or more suggestions for manually reconciling the first transaction;
reconciling the first transaction with the user designation reconciliation suggestion; and
re-training, by the one or more processors, the user predictor with training data comprising the first transaction and the user designated reconciliation suggestion; and
responsive to the confidence level of the best suggestion exceeding the predetermined first threshold, automatically reconciling the first transaction with the determined best suggestion.