The field relates generally to managing electronic procurement transactions in procurement systems, and more specifically, the field relates to automatically retrieving electronic purchase orders using an optimized search tool.
Effective tracking of inventory and purchase orders can be important to the profitability of an enterprise. For example, carefully tracking and scheduling new purchase orders to ensure on-time procurement of items may increase the profitability of the business. Specifically, it is important for a business to maintain up-to-date information regarding open purchase orders and following-up on suppliers to deliver items on time. However, the amount of information and the number of operations that are handled by procurement personnel that is responsible for a large number of purchase orders can grow to be prohibitively expensive. For example, a warehouse worker may be required to mine through the data to access any particular purchase order for performing operations such as coordinating delivery, managing missed delivery, updating purchase orders based on partial deliveries, posting delivery receipt based on current deliveries and the like.
The process of searching for purchase orders and posting delivery receipts becomes complex when the information required for retrieving the purchase orders is limited or missing. Purchasing products and services from a supplier or provider typically involves sending a purchase order (PO) to the supplier requesting a specific number of items for a specific price, and an expected time of delivery. Typically, the ordered items are delivered by a freight carrier to a procurement site of a purchaser along with a delivery note. In an ideal scenario, the delivery note associated with the delivered items will include, among others, a supplier ID, product ID, no. of items delivered, date of delivery, and a purchase order no. In addition to the delivery note, an advanced shipping notification from the supplier may include reference document numbers, bill of lading, or delivery note. Personnel at the warehouse then manually search for an open purchase order based on the information contained in the delivery note and/or advanced shipping notification and post a delivery receipt for the identified purchase order. However, in several instances, neither the delivery note nor the advanced shipping notification provides all the information required to quickly retrieve the corresponding purchase order for the delivered items. Handling such incomplete delivery notes often leads to labor intensive efforts to manually search and retrieve open POs that fit the specifications provided in the delivery note, especially if there are many similar purchase orders which might be used for posting the goods receipt. The PO retrieval task becomes all the more elaborate and time-consuming if the freight carrier delivers the goods for multiple suppliers or multiple purchase orders in a single delivery and the delivery note refers to multiple POs of one supplier or multiple suppliers and contains partly or completely missing information.
Various embodiments of systems and methods for retrieving open purchase orders using an optimized search tool are described herein. In one aspect, a method for retrieving open purchase orders using an optimized search tool in an integrated information management system involves rendering a set of search parameters on a graphical user interface of a computer, in an aspect, one or more sets of criteria relating to a product delivery are configured as predefined bundles of search parameters. A set of search parameters is then rendered in response to a selection of a bundle of search criteria from the predefined bundles of search criteria. The method further includes receiving data relating to at least a first search parameter of the set of search parameters. Further, the method includes determining that data relating to at least a second search parameter of the set of search parameters is unavailable and determining the data relating to the at least second search parameter based on extrapolating the data relating to the at least first search parameter. In yet another aspect, the method involves performing a search based on the data relating to the at least first search parameter and the at least second search parameter. Based on the performed search, one or more open purchase orders are retrieved for further processing.
These and other benefits and features of embodiments of the invention will be apparent upon consideration of the following detailed description of preferred embodiments thereof, presented in connection with the following drawings.
The claims set forth the embodiments of the invention with particularity. The invention is illustrated by way of example and not by way of limitation in the figures of the accompanying drawings in which like references indicate similar elements. The embodiments of the invention, together with its advantages, may be best understood from the following detailed description taken in conjunction with the accompanying drawings.
Embodiments of techniques for retrieving open purchase orders using an optimized search tool are described herein. In the following description, numerous specific details are set forth to provide a thorough understanding of embodiments of the invention. One skilled in the relevant art will recognize, however, that the invention can be practiced without one or more of the specific details, or with other methods, components, materials, etc. in other instances, well-known structures, materials, or operations are not shown or described in detail to avoid obscuring aspects of the invention.
Reference throughout this specification to “one embodiment”, “this embodiment” and similar phrases, means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, the appearances of these phrases in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
As used herein, the term “purchase order” refers to a commercial document issued by a purchaser to a supplier, indicating product type, quantity, and agreed prices for products or services that the supplier will provide to the purchaser. The term “open purchase order” refers to a purchase order that is not fulfilled, i.e., the purchase order for which the ordered products are yet to be delivered by the supplier. The terms “commodity,” “goods,” and “product” will hereinafter be used interchangeably and refer to one and the same. Examples of commodity include, but are not limited to, finished products, raw materials, parts, spares, components, and computer readable storage mediums. The term “supplier” as used herein refers to a dealer, a manufacturer, a business partner, a contractor, a seller dealing with the sourcing product and the like. The term “purchaser” as used herein refers to an entity buying or procuring an item by way of a purchase order.
Referring back to
Extrapolating the received data relating to the at least one search parameter in order to derive the data relating to the one or more other unavailable search parameter includes estimating unknown values based on projecting or extending the statistics pertaining to known values. For example, for a set of five search parameters that is rendered on the search interface of the search tool, a product delivery note may have the product delivery data for only two of the five search parameters. The product delivery data for the two search parameter are then rendered in the fields associated with each of the two search parameters. The remaining three of the five search parameters do not receive a value in their associated fields. In order to derive a value for at least one of the three search parameters, an extrapolation analysis is performed on statistical data relating to the two search parameters. Statistical data refers to historical data relating to past product delivery information associated with the data received for the two search parameters. Based on extrapolating the statistical data, the values relating to at least one of the three search parameters may be derived. The derived values are then rendered in the associated fields of the three search parameters. A search may then be performed using one or more of the three search parameters having the derived values and the two search parameters having received values to retrieve open Purchase Orders matching the specifications defined by the search parameters. A Purchase Order search performed using more number of search parameters yields more relevant results.
In an example scenario as shown with reference to
In another embodiment, the search optimization process may be initiated based on the search tool receiving a prompt to initiate the search optimization process. For example the search tool may receive a prompt from a user through the selection of an “Optimize Search” option provided on the search interface. In yet another embodiment, the search optimization process may be automatically initiated upon receiving a command to perform a search for POs. In this respect, the search tool upon receiving the command to perform a search for POs detects that the data relating to Supplier ID has not been received and automatically initiates the search optimization process. Once the search optimization process is initiated through any of the above mentioned embodiments, the search tool identifies the search parameters for which product delivery data is unavailable. In the given example, the search tool identifies Supplier ID as the search parameter for which product delivery data is unavailable. The search tool then performs extrapolation analysis on the data relating to at least one of Product ID, Freight carrier, and Delivery data to derive a likely value for Supplier ID. Based on the value derived for Supplier ID and the data relating to Product ID, Freight carrier, and Delivery date, the search tool searches a database 240 of purchase orders and retrieves a list 250 open purchase orders relating to the specifications provided by the search parameters. The retrieved open purchase orders may be further processed by posting a delivery receipt for the purchase orders and modifying the status of the purchase orders as closed. In the case of partial delivery, if only a subset of the ordered items in a purchase order is delivered, the purchase orders remain open and the delivery receipt may be posted for only the delivered number of items. The search optimization process will be explained in more detail with reference to
For example, the search tool may retrieve statistical data relating to the Freight Carrier in order to generate a proposal of one or more suppliers that are likely to be associated with this particular product delivery for which delivery receipt is to be posted. The statistical data refers to data collected over a certain period of time and stored in persistent storage associated with the integrated system. In the given example, the search tool may retrieve statistical data relating to StatEx's past product deliveries for product: AHT Combi 75 by one or more suppliers. The statistical data may be rendered on the search interface as shown in table 370. As shown in table 370, the statistical data includes a listing of a set of suppliers who have partnered with StatEx in delivering AHT Combi 75 during the period between January and April. The table 370 also includes information regarding the number of items delivered by each supplier during a certain period of time. This statistical data may be extrapolated to determine the supplier(s) who is most likely to be associated with this particular delivery. For example, based on the statistical data, a ranked list 375 of suppliers partnering with StatEx may be determined. The supplier ranking may be determined based on, for example, the total number of items delivered during a block of time. In another example, the supplier ranking may be determined based on the frequency of product deliveries undertaken by StatEx for a particular supplier. In yet another example, the supplier ranking may be determined based on the most recent product delivery activity by each of the suppliers. One of ordinary skill in the art will understand that other similar criteria can be used based at least on the parameter in question.
In the given example, the supplier relating to Supplier ID: “AMS” tops the ranked list 375 of suppliers. The supplier “AMS” may then be automatically rendered in the field 360 associated with Supplier ID 330 on the search panel 320 based on a predefined setting. Subsequently, the data in the fields 360, 362, 364, and 366 namely AMS, StatEx, 12 Jun. 2011, and AHT Combi75 are used for performing a search for open purchase orders. Alternatively, any of the list of suppliers “AMS,” “OMEGO,” “BERTEK,” “FARGO,” and “CINTRON” can be iteratively selected and a search be performed until a fitting open purchase order is found.
Similarly, in a scenario in which the data relating to only the Supplier ID and Delivery date is available from the delivery note, the data relating to Freight Carrier and the product ID may be derived based on extrapolating the data relating to Supplier ID and Delivery date. For example, the statistical information regarding the products supplied by supplier “OMEGO” in the past may be used to derive one or more products that are likely to have been delivered by this particular delivery by OMEGO. Other additional statistical information such as the frequency of delivering a certain product by OMEGO may aid in arriving at a product that is likely to be delivered on the current delivery date. Once the data relating to Product ID is determined, the search tool may further derive the Freight carrier information based on the Supplier ID, Delivery date and the now derived product ID. For example, the statistical data regarding the Freight Carriers partnering with OMEGO in delivering a product having Product ID: Monitor 20″ in the past deliveries may be extrapolated to arrive at a Freight Carrier that is likely to have delivered the current delivery. Having realized the values for Product ID and Freight Carrier, the search tool performs an optimized search using the search parameters Supplier ID, Freight Carrier, Product ID, and Delivery date to retrieve the fitting open purchase order(s).
The computer 430 includes a processor (not shown) that executes software instructions or code comprising the optimized search tool, stored on a computer readable storage medium, to perform the above-illustrated methods. The computer 430 includes a media reader to read the instructions from the computer readable storage medium and store the instructions in storage or in random access memory (RAM). For example, the computer readable storage medium includes executable instructions for performing operations including, but not limited to, rendering a set of search parameters as search parameters, receiving data relating to at least one search parameter of the set of search parameters, detecting that data relating to at least one other search parameter of the set of search parameters is unavailable, determining the data relating to the at least one other search parameter based on extrapolating the data relating to the at least one search parameter, and performing a search based on the data relating to the at least one search parameter and the at least one other search parameter. The business systems relating to procurement 420, sourcing 422, and production 424, among others, may each include a computer (not shown) operating on a set of instructions to perform associated functions. The user interface of the computer 430 is configured to display a search interface (See
According to an aspect, the computer 430's memory holds a set of search parameters relating to a product delivery that are designated as search parameters and one or more pre-defined bundles comprising one or more search criteria. The pre-defined bundles may be provided as user selectable options on the search interface such that upon selecting one of the bundles, the corresponding search parameters are rendered on the search interface. In an example, the set of search criteria refer to information relating to product delivery, such as purchase order no., supplier ID, product ID, product type, product category, item description, no. of items delivered, organizational unit, procurement type, delivery date, freight carrier, etc. Example of the pre-defined bundles of search criteria for a purchase order system include:
The product delivery data relating to the set of search parameters may be extracted from a product delivery note 435 procured by the procurement system 420 from a warehouse 440. For example, the product delivery note may be provided by a Freight Carrier at the time of delivery of the ordered items at the warehouse 440. The procurement system 420 may extract the product delivery data from the product delivery note by using a scanning means and store the extracted product delivery data in temporary or persistent storage within the procurement system 420 or the backend system 410. Alternatively, personnel at the warehouse may extract the product delivery data from the product delivery note by manually examining the product delivery note and recording the product delivery data in the procurement system 420 or backend system 410. The processor of the computer in either the procurement system 420 or the backend system 410 may automatically invoke the search tool in response to receiving the product delivery data. In another aspect, the search toot may be invoked by the processor in response to receiving instructions to invoke the search tool. The processor then displays a search interface of the search tool on a graphical user interface of the computer.
The processor then renders a user selected set of search parameters or a pre-defined set of search parameters on the search interface and populates the fields associated with the set of search parameters with the received product delivery data. The processor, upon sensing that the product delivery data relating to at least one search parameter is not received within a predetermined period of time, initiates a search optimization process. The data relating to the at least one search parameter may not be available due to an incomplete delivery note. Alternatively, the processor initiates the search optimization process upon receiving an instruction to perform a search for retrieving POs. In the latter case, subsequent to receiving the instruction to perform a search for retrieving POs the processor detects that data relating to at least one of the set of search parameters is unavailable and automatically initiates the search optimization process. In another aspect, the processor initiates the search optimization process in response to receiving an instruction to perform the search optimization process. For example, the instruction may be provided through the activation of a key provided on an input interface such as a key board or through the selection of a tab provided on the search interface by means of a touch input, voice command, or pointer selection. The processor initiates the search optimization by retrieving statistical data associated with the received product delivery data in order to estimate the data that is unavailable for the at least one search parameter. The statistical data as used herein refers to archived data relating to the past deliveries. For example, the statistical data may pertain to the received data relating to at least one of the search parameters involving Supplier ID, product ID, delivery date, Purchase Order no. Freight Carrier, etc. The processor may retrieve the statistical data from the memory and/or from external data source systems where the archived data may be stored in databases. The processor then extrapolates the retrieved statistical data to estimate the unavailable data relating to the at least one search parameter. The processor may follow any of the extrapolation methods including but not limited to linear extrapolation, polynomial extrapolation, conic extrapolation, French curve extrapolation, etc. The term “extrapolation” as used herein is defined as the process of estimating a value of a variable outside a known range from values within a known range by assuming that the estimated value follows logically from the known values.
In an example, the processor may invoke the search tool and render a set of search parameters in response to a selection of a bundle of search criteria involving Supplier ID, Product Category, No. of items delivered, Freight Carrier, and Delivery date. The processor may receive the Delivery date information as 12 Jul. 2011, a No. of items delivered as 300 items, and the Product category information as AHT Combi 70, through an input interface of the computer or from a scanning device coupled to the computer. The processor renders the date information, no, of items delivered, and the Product category information in the associated fields in the search interface of the search toot. The processor then detects that Freight Carrier information and Supplier ID information is not received within a certain period of time and initiates the search optimization process. The certain period of time may be defined by a predetermined time limit in minutes/seconds. Alternatively, the certain period of time may be defined by the receiving of an instruction to perform a search optimization process. The processor then retrieves statistical data relating to the Product category information with the Delivery data as a limiting factor. For example, the processor may retrieve archived information relating to the past deliveries for the given Product category, where the past deliveries may be limited to the deliveries within the last six months prior to the given Delivery date. Referring to the example provided in Table 1 below, the archived information relating to the product deliveries in the last six months prior to 12 Jun. 2011 for AHT Combi 70 may be retrieved.
The processor then performs an extrapolation on the retrieved statistical data to determine the supplier(s) which is likely to be associated with the current delivery. The extrapolation analysis extends the statistical data (in Table 1) relating to deliveries in the last six months, to assess the likelihood of at least one of the suppliers involved in the past deliveries for product AHT Combi 70 to deliver 300 items of AHT Combi 70 on 12 Jul. 2011. Based on the statistical information shown in the example in Table 1, the extrapolation analysis may list INTRON as one of the probable suppliers associated with the delivery of 300 items of AHT Combi 70 on 12 Jul. 2011. The processor then renders the derived data relating to the Supplier ID in the associated field on the search interface. The processor may then automatically proceed to perform a search to retrieve the Purchase orders that indicate an order for 300 nos. of AHT Combi 70 from CINTRON to be delivered on 12 Jul. 2011. Alternatively, the processor may perform the search for Purchase Orders in response to receiving an instruction to perform a search. The processor then retrieves one or more fitting open Purchase Orders based on the search and posts a delivery receipt 450 for the one or more purchase orders.
The extrapolation analysis may be iteratively performed until the data relating to the entire set of search parameters is derived. Alternatively, extrapolation analysis may be iteratively performed until the data relating to a predetermined number of search parameters is derived. Further, in an embodiment, different weights may be assigned to the various search parameters, such that, the processor may perform the extrapolation analysis for deriving the unknown search data for the search parameters, in a sequence dictated by the weights assigned to the various search parameters. For example, the search parameters Supplier ID, Product ID, and Freight Carrier may be assigned a higher weight than No. of Items, Procurement Type, or Product category. Based on the assigned weights, the processor may derive the values for Supplier ID, Product ID, or Freight Carrier at a higher priority that Procurement type, No. of items, or Product category. In another embodiment, the order of deriving the missing data for a set of search parameters may be predefined, such that the processor upon identifying the search parameters, for which data is unavailable, performs extrapolation analysis for deriving the missing data in the predefined order.
Some embodiments of the invention may include the above-described methods being written as one or more software components. These components, and the functionality associated with each, may be used by client, server, distributed, or peer computer systems. These components may be written in a computer language corresponding to one or more programming languages such as, functional, declarative, procedural, object-oriented, lower level languages and the like. They may be linked to other components via various application programming interfaces and then compiled into one complete application for a server or a client. Alternatively, the components maybe implemented in server and client applications. Further, these components may be linked together via various distributed programming protocols. Some example embodiments of the invention may include remote procedure calls being used to implement one or more of these components across a distributed programming environment. For example, a logic level may reside on a first computer system that is remotely located from a second computer system containing an interface level (e.g., a graphical user interface). These first and second computer systems can be configured in a server-client, peer-to-peer, or some other configuration. The clients can vary in complexity from mobile and handheld devices, to thin clients and on to thick clients or even other servers.
The above-illustrated software components are tangibly stored on a computer readable storage medium as instructions. The term “computer readable storage medium” should be taken to include a single medium or multiple media that stores one or more sets of instructions. The term “computer readable storage medium” should be taken to include any physical article that is capable of undergoing a set of physical changes to physically store, encode, or otherwise carry a set of instructions for execution by a computer system which causes the computer system to perform any of the methods or process steps described, represented, or illustrated herein. Examples of computer readable storage media include, but are not limited to: magnetic media, such as hard disks, floppy disks, and magnetic tape; optical media such as CD-ROMs, DVDs and holographic devices; magneto-optical media; and hardware devices that are specially configured to store and execute, such as application-specific integrated circuits (“ASICs”), programmable logic devices (“PLDs”) and ROM and RAM devices. Examples of computer readable instructions include machine code, such as produced by a compiler, and files containing higher-level code that are executed by a computer using an interpreter. For example, an embodiment of the invention may be implemented using Java, C++, or other object-oriented programming language and development tools. Another embodiment of the invention may be implemented in hard-wired circuitry in place of, or in combination with machine readable software instructions.
A data source is an information resource, Data sources include sources of data that enable data storage and retrieval. Data sources may include databases, such as, relational, transactional, hierarchical, multi-dimensional (e.g., OLAP), object oriented databases, and the like. Further data sources include tabular data (e.g., spreadsheets, delimited text files), data tagged with a markup language (e.g., XML data), transactional data, unstructured data e.g., text files, screen scrapings), hierarchical data (e.g., data in a file system, XML data), files, a plurality of reports, and any other data source accessible through an established protocol, such as, Open DataBase Connectivity (ODBC), produced by an underlying software system (e.g., ERP system), and the like. Data sources may also include a data source where the data is not tangibly stored or otherwise ephemeral such as data streams, broadcast data, and the like. These data sources can include associated data foundations, semantic layers, management systems, security systems and so on.
In the above description, numerous specific details are set forth to provide a thorough understanding of embodiments of the invention. One skilled in the relevant art will recognize, however that the invention can be practiced without one or more of the specific details or with other methods, components, techniques, etc. In other instances, well-known operations or structures are not shown or described in details to avoid obscuring aspects of the invention.
Although the processes illustrated and described herein include series of steps, it will be appreciated that the different embodiments of the present invention are not limited by the illustrated ordering of steps, as some steps may occur in different orders, some concurrently with other steps apart from that shown and described herein. In addition, not all illustrated steps may be required to implement a methodology in accordance with the present invention. Moreover, it will be appreciated that the processes may be implemented in association with the apparatus and systems illustrated and described herein as well as in association with other systems not illustrated.
The above descriptions and illustrations of embodiments of the invention, including what is described in the Abstract, is not intended to be exhaustive or to limit the invention to the precise forms disclosed. While specific embodiments of, and examples for, the invention are described herein for illustrative purposes, various equivalent modifications are possible within the scope of the invention, as those skilled in the relevant art will recognize. These modifications can be made to the invention in light of the above detailed description. Rather, the scope of the invention is to be determined by the following claims, which are to be interpreted in accordance with established doctrines of claim construction.