AUTOMATIC PROCESSING AND MATCHING OF INVOICES TO PURCHASE ORDERS

An embodiment for methods of processing invoices and purchase orders is provided. The embodiment may receive a set of invoices. The embodiment may cluster the set of invoices based on a series of invoice attributes. The embodiment may then utilize a multitask deep neural network model to split a generated cluster of invoices into subsets of invoices based on a series of invoice features. The embodiment may utilize a second deep neural network model to identify one or more prioritized subsets of invoices in the subsets of invoices that meet a purchase order match probability threshold. The embodiment may perform text mining on the one or more prioritized subsets of invoices to identify matching item-level services between individual invoices in the prioritized subset of invoices and a target purchase order. The embodiment may output matching invoices corresponding to the target purchase order.

BACKGROUND

The present application relates generally to computer processing, and more particularly, to improved automatic matching of invoices to purchase orders.

Businesses purchase a wide variety of goods and services to function and operate. In the sales process, to document purchases and establish the rights and obligations of the parties as to the exact nature of the items desired and their respective quantities, prices, and other stipulations, a purchase order (“PO”) is created by a buyer and is sent to a seller either electronically or on paper. The seller fills the order in accordance with the requirements of the PO and delivers the item to the buyer's designated location. Once received by the buyer an invoice reflecting the amount of currency due and payable in exchange for the items provided. The accounts payable (“A/P”) department of the buyer compares the invoice to the original PO to ensure the purchase was properly authorized and to confirm that the terms on the invoice are consistent with those documented in the PO. Additionally, the invoice is parsed to extract the associated transportation or shipping charges, and any applicable sales taxes into its appropriate expense category for profit and loss (“P/L”) posting. This process exists in some form in virtually all businesses and may involve a significant amount of information and data depending on whether the process is handled manually or in an automated fashion. Effective management and processing of invoice and purchase order data positively impacts the resource and monetary costs incurred by an accounts payable department of a given business.

SUMMARY

According to one embodiment, a method, computer system, and computer program product for matching invoices to purchase orders is provided. The embodiment may include receiving a set of invoices and purchase orders. The embodiment may also include clustering the set of invoices based on a series of invoice attributes. The embodiment may further include utilizing a multitask deep neural network model to split a generated cluster of invoices into subsets of invoices based on a series of invoice features. The embodiment may further include utilizing a second deep neural network model to identify one or more prioritized subsets of invoices in the subsets of invoices that meet a purchase order match probability threshold. The embodiment may also include performing text mining on the one or more prioritized subsets of invoices to identify matching item-level services between individual invoices in the prioritized subset of invoices and a target purchase order. The embodiment may further include outputting matching invoices corresponding to the target purchase order.

DETAILED DESCRIPTION

Embodiments of the present application relate generally to computer processing, and more particularly, to improved automatic processing and matching of invoices to purchase orders. The following described exemplary embodiments provide a system, method, and program product to, among other things, receive a set of invoices and purchase orders, cluster the set of invoices based on a series of invoice attributes, utilize a multitask deep neural network model to split a generated cluster of invoices into subsets of invoices based on a series of invoice features, and utilize a second deep neural network model to identify one or more prioritized subsets of invoices in the subsets of invoices that meet a purchase order match probability threshold. The described exemplary embodiments may then perform text mining on the one or more prioritized subsets of invoices to identify matching item-level services between individual invoices in the prioritized subset of invoices and a target purchase order and output matching invoices corresponding to the target purchase order. Therefore, the presently described embodiments have the capacity to improve automatic matching of invoices to purchase orders by leveraging multitask deep neural network models and text mining using natural language processing systems to iteratively trim the amount of data and invoices being considered or searched, thereby making invoice-to-PO matching more efficient.

As previously described, businesses purchase a wide variety of goods and services to function and operate. In the procurement process, to document purchases and establish the rights and obligations of the parties as to the exact nature of the items desired and their respective quantities, prices, and other stipulations, a purchase order (“PO”) is created by a buyer and is sent to a seller either electronically or on paper. The seller fills the order in accordance with the requirements of the PO and delivers the item to the buyer's designated location. Once received by the buyer an invoice reflecting the amount of currency due and payable in exchange for the items provided. The accounts payable (“A/P”) department of the buyer compares the invoice to the original PO to ensure the purchase was properly authorized and to confirm that the terms on the invoice are consistent with those documented in the PO. Additionally, the invoice is parsed to extract the associated transportation or shipping charges, and any applicable sales taxes into its appropriate expense category for profit and loss (“P/L”) posting. This process exists in some form in virtually all businesses and may involve a significant amount of information and data depending on whether the process is handled manually or in an automated fashion. Effective management and processing of invoice and purchase order data positively impacts the resource and monetary costs incurred by an accounts payable department of a given business.

There are several challenges for businesses seeking to effectively manage, process, and match invoices and purchase orders. For example, one challenge for businesses is managing the search space when matching invoices to purchase orders, as there can be millions of records for a single business unit. Accordingly, invoice-PO matching can be a complex, time consuming, and resource intensive task. Businesses with the appropriate capital and resources now employ software and automated systems to address invoice-PO matching. However, even with automated systems, the above-described challenges may remain when a business is faced with large volumes of invoices and purchase orders involving high-dimensionality data. In these types of environments, the task of extracting important and discriminative feature of PO's and invoices is non-trivial as the data is fast-changing and requires real time computation to have most up-to-date data. However, because search spaces can be unmanageably large and replete with high-dimensionality data, many automated systems still perform invoice-to-PO matching at slow and costly rates, as they are unable to limit the search space by trimming down the high volume of invoices being considered as matching to a given purchase order.

Accordingly, a method, computer system, and computer program product for improved matching of invoices to purchase orders would be advantageous. The method, system, and computer program product may receive a set of invoices and purchase orders. The method, system, computer program product may cluster the set of invoices based on a series of invoice attributes. The method, system, computer program product may then utilize a multitask deep neural network model to split a generated cluster of invoices into subsets of invoices based on a series of invoice features. Next, the method, system, computer program product may utilize a second deep neural network model to identify one or more prioritized subsets of invoices in the subsets of invoices that meet a purchase order match probability threshold. Then, the method, system, computer program product may perform text mining on the one or more prioritized subsets of invoices to identify matching item-level services between individual invoices in the prioritized subset of invoices and a target purchase order. Thereafter, the method, system, computer program product may output matching invoices corresponding to the target purchase order. In turn, the method, system, computer program product has provided improve methods of matching invoices to purchase orders by leveraging multitask deep neural network models and text mining using natural language processing systems to iteratively trim the amount of data and invoices being considered or searched, thereby making invoice-to-PO matching more efficient.

According to the present embodiment, the invoice-to-order matching program150may be a program capable of receiving a set of invoices and purchase orders. Invoice-to-order matching program150may then cluster the set of invoices based on a series of invoice attributes. Next, invoice-to-order matching program150may utilize a multitask deep neural network model to split a generated cluster of invoices into subsets of invoices based on a series of invoice features. Then, invoice-to-order matching program150may utilize a second deep neural network model to identify one or more prioritized subsets of invoices in the subsets of invoices that meet a purchase order match probability threshold. Next, invoice-to-order matching program150may perform text mining on the one or more prioritized subsets of invoices to identify matching item-level services between individual invoices in the prioritized subset of invoices and a target purchase order. Thereafter, invoice-to-order matching program150may output matching invoices corresponding to the target purchase order. In turn, invoice-to-order matching program150has provided improved matching of invoices to purchase orders by leveraging multitask deep neural network models and text mining using natural language processing systems to iteratively trim the amount of data and invoices being considered or searched, thereby making invoice-to-PO matching more efficient.

Referring now toFIG.2, an operational flowchart for a process200of matching invoices to purchase orders according to at least one embodiment is provided.

At202, invoice-to-order matching program150may receive/process a set of invoices and purchase orders. Invoices and purchase orders (POs) may be continuously sent or ‘fed’ to invoice-to-order matching program150by any suitable means. For example, invoice-to-order matching program150may receive electronic data representing a given invoice or purchase order over a network that includes and/or forms part of an information delivery system, such as, Internet, the World Wide Web, and/or an analog or digital wireless telecommunications network. In embodiments, the received invoices and purchase orders may originate from databases or data warehouses. Invoice-to-order matching program150may store data associated with the received series of invoices in a database. In embodiments, invoice-to-order matching program150may utilize relational databases. In embodiments, invoice-to-order matching program150may be further configured to receive and store historical data that may be leveraged for learning data patterns and improved mapping of invoice and purchase order features and elements over time.

At204, invoice-to-order matching program150may cluster the set of invoices based on a series of invoice attributes to generate clusters of invoices. Invoice-to-order matching program150may utilize any suitable clustering algorithm to generate the clusters. In embodiments, for example, invoice-to-order matching program150may leverage a K-means clustering algorithm to cluster data corresponding to the received sets of invoices by specific attributes which are user-defined, easily confused, and vary by invoice context. Exemplary invoice attributes (extracted from the invoice data received at202) may include, for example, line of business, geography, customer type, country, brand, invoice ID, items invoiced, etc. In embodiments, for example, invoice-to-order matching program150may specify a number ‘k’ of clusters to be generated, randomly initialize ‘k’ centroids, and then repeat the process until it has assigned each invoice to its closest centroid.

Next, at206, invoice-to-order matching program150may utilize a multitask deep neural network model (Multitask DNN) to split a generated cluster of invoices into subsets of invoices based on a series of invoice features. An exemplary Multitask DNN model for performing this step may be built on the datasets of invoices in each cluster generated at204. Multi-task learning allows the Multitask DNN model to further trim down the searching space (for invoice to purchase order matching) by focusing on specific invoice features that are particularly impactful. In embodiments, feature importance may be quantified, for example, by the “number of occurrences” or qualified by “unique statements” from historical invoice data. In embodiments, exemplary features may include, for example, statement of country, brand or services offerings, etc. Under each task, there may be several feature layers for invoices. Certain features may be easier to learn from some tasks and some layers, while being difficult to learn from the original invoice dataset. The Multitask DNN learning may be utilized on the original invoice features, and then on the features defined from a trimmed or regrouped set of invoice data from previous tasks.

FIG.3depicts an exemplary diagram illustrating a process300of trimming a search space by utilizing a multitask deep neural network model according to at least one embodiment. In process300, there are three dense network tasks which take, as inputs, invoice feature data from an individual generated cluster of invoices305to obtain multi-task networks with loss functions. In embodiments, process300may involve starting with a thin network and using a greedy search method to dynamically widen it greedily during training using criterion that promote grouping of similar invoices. Next, while searching from bottom to up, each layer's relative weight may be adjusted in a cost function by deriving a multi-task loss function with task dependent uncertainty to quantify each model's performance. This will functionally trim the search space and output subsets of invoices.FIG.3depicts an example including a first Task1at310corresponds to the feature ‘Business Units’, a second Task2at320corresponding to ‘Customer type, invoice amount, type of items invoiced, etc’., and a third Task3at330corresponding to ‘Invoice item level services’, each task involving multiple Layers L, L-1, L-2, etc. Subsets of invoices will then be output at340for further consideration by invoice-to-order matching program150. The generated task-dependent uncertainty functions for learning tasks to quantify each model performance may be stored as a reference for invoice to purchase order matching.

At208, invoice-to-order matching program150may utilize a second deep neural network model to identify one or more prioritized subsets of invoices in the subsets of invoices that meet a purchase order match probability threshold. To accomplish this, invoice-to-order matching program150may utilize a second DNN to perform layer-by-layer feature mapping on the subsets of invoices output at step206to rank invoice features based on historical feature rankings. The second DNN may then be leveraged to identify invoices in the subsets of invoices having features matching most closely to the features of a target PO (received at step202). PO features may include, for example, PO duration, status (whether active, draft, expired, etc.), PO line of business, billing frequency, etc. The DNN may utilize the task-dependent uncertainty function described (and stored as a reference) above in the first phase to determine match probabilities between each subset of invoices and the target PO. Invoice-to-order matching program150may assign and store the determined match probabilities for each of the subset of invoices. The assigned purchase order match probabilities may be numerically represented as numbers between 0 and 1, where 1 represents a certain match, and lower numbers represent unlikely match probabilities. This allows invoice-to-order matching program150to trim the search window even further by removing from consideration the subsets of invoices having an assigned match probability to the target PO that is below a given threshold. Invoice-to-order matching program150then identifies a prioritized set of invoices having an assigned match probability to the target PO that is above the given threshold. For example, invoice-to-order matching program150may trim or eliminate from consideration all invoices contained in subsets of invoices having a purchase order match probability value for an exemplary target PO that is below 0.9. Any remaining sets of invoices having a purchase order match probability value for the exemplary target PO above 0.9 may be identified by invoice-to-order matching program prioritized sets of invoices that may match the target PO. The predetermined purchase order match probability threshold may be changed or reconfigured by a user of the described embodiments.

FIG.4depicts an exemplary process400for determining purchase order match probability for subset of invoices to identify a prioritized set of invoices as discussed above. InFIG.4, the input includes subsets410of invoices. A trim task420is performed by utilizing an exemplary DNN to leverage target PO features such as, for example, duration of purchase order, purchase order status, etc. At430, purchase order match probabilities for the target PO are output for each of the input subsets of invoices.

Next at210, invoice-to-order matching program150may perform text mining on the one or more prioritized subsets of invoices to identify matching item-level services between individual invoices in the prioritized subset of invoices and a target purchase order. At this step, invoice-to-order matching program150may utilize natural language processing (NLP) tools to identify individual invoices in the prioritized subsets of invoices that match to a target purchase order by matching item-level service keywords that are in textual format contained in both the invoices and the target purchase order. In the context of this disclosure, ‘item-level services’ refer to varying services for items promised in a purchase order that may be billed for in a corresponding invoice. Exemplary item-level service keywords for matching may be related to various online web services, operating systems, server systems, or developer tools. Specific item-level service keywords may include, for example, ‘Amazon Web Services®’, ‘MacOS®’, ‘Wireless Servers’, ‘JavaSDK’, etc. (Amazon Web Services and all Amazon Web Services-based trademarks and logos are trademarks or registered trademarks of Amazon Technologies, Inc. and/or its affiliates, and MacOS and all MacOS-based trademarks and logos are trademarks or registered trademarks of Apple Inc. and/or its affiliates). Invoice-to-order matching program150may utilize an exemplary NLP model trained using ActionAPI (System-T). The exemplary NLP model may be written, for example, using Ariel Query Language (AQL) which is rule-based and can parse sentences into a form identifying the entity that performed a given action, to what entity it was performed, when it was performed, and why it was performed. Invoice-to-order matching program150may utilize an NLP model configured to extract entities with relationships as follows:‘Entity (keyword): data’

Some illustrative examples utilizing this method may be represented as follows:“line description”: “software development services”“items sold”: “servers”“services”: “mainframe servers”

FIG.5depicts an exemplary framework500for performing text mining as described above on a received set of invoices and a target purchase order according to at least one embodiment. The input for framework500may include PO and invoice item-level services data510. This may be used to generate training data520, which in combination with user feedback530, may be used to generate rules and NLP models at540. Training data520may also be used to generate test sets550. At560, f2scores and confidence intervals may be employed as NLP tools determine matched item-level services between PO and invoices at570.

At212, having identified the individual invoices in the prioritized subset of invoices having item-level services matching the target purchase order, invoice-to-order matching program150may output the prioritized subsets of invoices as matching invoices corresponding to the target purchase order. Accordingly, there may be multiple invoices matching to the target purchase order contained in a given set of matching invoices. Invoice-to-order matching program150may output the matching invoices to a user using any suitable display or user interface that allows a user to easily visualize the matching invoices. For example, in embodiments invoice-to-order matching program150may output tabularized data in a convenient and user-friendly table highlighting identified matches.

It may be appreciated that invoice-to-order matching program150has thus provided improve methods of matching invoices to purchase orders by leveraging multitask deep neural network models and text mining using natural language processing systems to iteratively trim the amount of data and invoices being considered or searched, thereby making invoice-to-PO matching more efficient. The multitask DNN limits the search space by functionally identifying sub-clusters with high probabilities of matching a target purchase order based upon invoice and purchase order features, while the text mining leverages natural language processing tools to then isolate specific invoices in the identified sub-clusters that match with a target purchase order based upon item-level service matches in the individual invoices in the sub-clusters and the target purchase order. This provides highly accurate identified invoice-to-order matching that is both automated and effective. One of skill in the art will appreciate that when compared to conventional 2,3,4-way matching techniques for invoice-to-order matching, the described embodiments provide an improved method that automates the number of invoice features that can be used for matching at every step, based on numbers of layers. The presently described embodiments also provide a comparatively faster method by utilizing multitask learning DNNs and by applying parallelization computation for the clusters of invoices to reduce the required processing time. The described embodiments provide a fully automated method for invoice-to-order matching that is advantageous in environments involving high-dimensionality data in which the task of extracting important and discriminative features of PO and invoice is non-trivial as the data is fast changing and requires real-time computation to have the most up-to-date data.

It may be appreciated thatFIG.2provides only illustrations of an exemplary implementation and does not imply any limitations with regard to how different embodiments may be implemented. Many modifications to the depicted environment may be made based on design and implementation requirements.