The present invention relates to a method, system and program product for identifying redundant vendor or supplier invoices entered into an accounts payable electronic computer system.
Organizations/corporations process numerous vendor/supplier invoices on a daily basis. As such, whenever there is an invoice that has already been processed or entered into an organization's accounts payable system, the process of identifying whether or not an invoice is a duplicate invoice can be manually intensive in that some person needs to go through and analyze each invoice and needs to take the appropriate steps to correct the problem in the organization's invoice processing system. Thus, it has become imperative that organizations/corporations examine the resources needed to manually process such duplicate vendor/supplier invoices in order to improve efficiency and to facilitate the identification of duplicate vendor/supplier invoices.
The present invention resides in a method, system and program product for identifying redundant invoices. In one aspect of the invention, the invention provides a method for identifying redundant invoices. The method includes providing an accounts payable system having an invoice table that contains invoice data inputted from vendor invoices, executing an algorithm with the accounts payable system for identifying one or more redundant invoices among a current group of invoices chosen from the invoices inputted into the accounts payable system, where the algorithm identifies the redundant invoices among the current group of invoices using each of six redundancy criteria analyzed by the algorithm and outputting a perceptible report containing a separate section corresponding to each of the six redundancy criteria analyzed by the algorithm for identifying redundant invoices among the current group of invoices inputted into the accounts payable system, where a redundant invoice that is reported in one section of the perceptible report is not reported in another section of the perceptible report. In an embodiment, the providing step further comprises selecting a history start date and a current start date for choosing the current group of invoices from the plurality of invoices inputted, grouping, as a group, suppliers having a similar name and creating additional indexes for sorting the invoice data contained in the invoice table in the accounts payable electronic computer system. In an embodiment, the executing step includes loading the algorithm onto the accounts payable electronic computer system and executing the algorithm on the accounts payable electronic computer system in real time. In an embodiment, the executing step includes loading the algorithm onto the accounts payable electronic computer system and executing the algorithm on the accounts payable electronic computer system in batch mode. In an embodiment, the six redundancy criteria analyzed by the algorithm for searching the accounts payable electronic computer system includes same supplier invoice number and same amount, supplier reference numbers containing a reference number as a subset, redundant condensed supplier reference numbers, transposed supplier reference numbers and same supplier invoice number, invoice date and amount, with a different supplier number.
In another aspect of the invention, the invention provides a computer system for identifying redundant invoices. The computer system includes a central processing unit, first program instructions to input a plurality of invoices into an accounts payable electronic computer system, the first program instructions including instructions to group, as a group, invoices that have a similar vendor name, second program instructions to execute an algorithm on the accounts payable electronic computer system for identifying one or more redundant invoices among a current group of invoices chosen from the plurality of invoices inputted into the accounts payable electronic computer system, In an embodiment, the algorithm identifies the one or more redundant invoices among the plurality of invoices using each of six redundancy criteria searched by the algorithm and third program instructions to output a perceptible report containing respective separate sections corresponding to each of the six redundancy criteria analyzed by the algorithm for identifying the one or more redundant invoices among the current group of invoices inputted into the accounts payable electronic computer system, In an embodiment, an invoice reported on a respective section is not reported on another respective section of the perceptible report. In an embodiment, the first program instructions include instructions to load the algorithm onto the accounts payable electronic computer system, to select a history start date and a current start date for choosing the current group of invoices from the plurality of invoices inputted, to group, as a group, suppliers having a similar name and to create additional indexes for sorting the invoice data contained in the invoice table in the accounts payable electronic computer system. In an embodiment, the second program instructions include instructions to execute the algorithm on the accounts payable electronic computer system in real time. In an embodiment, the second program instructions include instructions to execute the algorithm on the accounts payable electronic computer system in batch mode. In an embodiment, the six redundancy criteria analyzed by the algorithm for searching the accounts payable electronic computer system comprises of: same supplier invoice number and same amount, supplier reference numbers containing a reference number as a subset, redundant condensed supplier reference numbers, transposed supplier reference numbers and same supplier invoice number, invoice date and amount, with a different supplier number.
In another aspect of the invention, the invention provides a computer program product for identifying redundant invoices. The computer program product includes a computer readable medium, first program instructions to input data from a plurality of invoices into an invoice table residing within an accounts payable electronic computer system, second program instructions to execute an algorithm loaded onto the accounts payable electronic computer system for identifying one or more redundant invoices among a current group chosen from the plurality of invoices inputted into the accounts payable electronic computer system, In an embodiment, the algorithm identifies the redundant invoices among the current group of invoices chosen from the plurality of invoices using each of six redundancy criteria searched by the algorithm and third program instructions to output a perceptible report containing a separate section corresponding to each of the six redundancy criteria analyzed by the algorithm for identifying the one or more redundant invoices among the current group of invoices inputted into the accounts payable electronic computer system, In an embodiment, a redundant invoice that is reported in one section of the perceptible report is not reported in another section of the perceptible report and In an embodiment, the first, second and third program instructions are recorded on the computer readable medium. In an embodiment, the first program instructions include instructions to load the algorithm onto the accounts payable electronic computer system, to select a history start date and a current start date for choosing the current group of invoices from the plurality of invoices inputted, to group, as a group, suppliers having a similar name and to create additional indexes for sorting the invoice data contained in the invoice table in the accounts payable electronic computer system. In an embodiment, the second program instructions include instructions to execute the algorithm on the accounts payable electronic computer system in real time. In an embodiment, the second program instructions include instructions to execute the algorithm on the accounts payable electronic computer system in batch mode. In an embodiment, the six redundancy criteria analyzed by the algorithm for searching the accounts payable electronic computer system comprises of: same supplier invoice number and same amount, supplier reference numbers containing a reference number as a subset, redundant condensed supplier reference numbers, transposed supplier reference numbers and same supplier invoice number, invoice date and amount, with a different supplier number.
In yet another aspect of the invention, the invention provides a process for deploying computing infrastructure comprising integrating computer-readable code into a computing system, where the code in combination with the computing system is capable of performing a process for identifying redundant invoices. The process comprises providing an accounts payable electronic computer system, inputting, invoice data obtained from a plurality of invoices, into an invoice table residing on the accounts payable electronic computer system, executing an algorithm on the accounts payable electronic computer system for identifying one or more redundant invoices among a current group of invoices chosen from the plurality of invoices inputted into the accounts payable electronic computer system, where the algorithm identifies the redundant invoices among the current group of invoices chosen from the plurality of invoices using each of six redundancy criteria searched by the algorithm and outputting a perceptible report containing a separate section corresponding to each of the six redundancy criteria analyzed by the algorithm for identifying the one or more redundant invoices inputted into the accounts payable electronic computer system, In an embodiment, a redundant invoice that is reported in one section of the perceptible report is not reported in another section of the perceptible report.
A process for deploying computing infrastructure comprising integrating computer-readable code into a computing system, wherein the code in combination with the computing system is capable of performing a process for identifying redundant invoices. The process includes providing an accounts payable electronic computer system, inputting, invoice data obtained from a plurality of invoices, into an invoice table residing on the accounts payable electronic computer system, executing an algorithm on the accounts payable electronic computer system for identifying one or more redundant invoices among a current group of invoices chosen from the plurality of invoices inputted into the accounts payable electronic computer system, In an embodiment, the algorithm identifies the redundant invoices among the current group of invoices chosen from the plurality of invoices using each of six redundancy criteria searched by the algorithm and outputting a perceptible report containing a separate section corresponding to each of the six redundancy criteria analyzed by the algorithm for identifying the one or more redundant invoices inputted into the accounts payable electronic computer system, In an embodiment, a redundant invoice that is reported in one section of the perceptible report is not reported in another section of the perceptible report. In an embodiment, the providing step includes selecting a history start date and a current start date for choosing the current group of invoices from the plurality of invoices inputted, grouping, in a group, suppliers having a similar name and creating additional indexes for sorting the invoice data contained in the invoice table in the accounts payable electronic computer system. In an embodiment, the executing step includes loading the algorithm onto the accounts payable electronic computer system and executing the algorithm on the accounts payable electronic computer system in real time. In an embodiment, the executing step includes loading the algorithm onto the accounts payable electronic computer system and executing the algorithm on the accounts payable electronic computer system in batch mode. In an embodiment, the six redundancy criteria analyzed by the algorithm for searching the accounts payable electronic computer system consists of: same supplier invoice number and same amount, supplier reference numbers containing a reference number as a subset, redundant condensed supplier reference numbers, transposed supplier reference numbers and same supplier invoice number, invoice date and amount, with a different supplier number. In an embodiment, each of the first, second and third program instructions are stored on the computer system for execution by the central processing unit.
The accompanying drawings which are incorporated in and form a part of this specification, illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention:
Many of the functional units described in this specification have been labeled as modules, in order to more particularly emphasize their implementation independence. For example, a module may be implemented as a hardware circuit comprising custom VLSI circuits or gate arrays, off-the-shelf semiconductors such as logic chips, transistors, or other discrete components. A module may also be implemented in programmable hardware devices such as field programmable gate arrays, programmable array logic, programmable logic devices or the like. Preferably, the computer systems include a plurality of hardware circuits.
Modules may also be implemented in software for execution by various types of processors. An identified module or component of executable code may, for instance, comprise one or more physical or logical blocks of computer instructions which may, for instance, be organized as an object, procedure, or function. Nevertheless, the executables of an identified module need not be physically located together, but may comprise disparate instructions stored in different locations which, when joined logically together, comprise the module and achieve the stated purpose for the module.
Further, a module of executable code could be a single instruction, or many instructions and may even be distributed over several different code segments, among different programs and across several memory devices. Similarly, operational data may be identified and illustrated herein within modules and may be embodied in any suitable form and organized within any suitable type of data structure. The operational data may be collected as a single data set, or may be distributed over different locations including over different storage devices, over disparate memory devices and may exist, at least partially, merely as electronic signals on a system or network.
Furthermore, modules may also be implemented as a combination of software and one or more hardware devices. For instance, a module may be embodied in the combination of a software executable code stored on a memory device. In a further example, a module may be the combination of a processor that operates on a set of operational data. Still further, a module may be implemented in the combination of an electronic signal communicated via transmission circuitry.
Reference throughout this specification to “one embodiment,” “an embodiment,” or similar language 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, appearances of the phrases “in one embodiment,” “in an embodiment,” and similar language throughout this specification may, but do not necessarily, all refer to the same embodiment.
Moreover, the described features, structures, or characteristics of the invention may be combined in any suitable manner in one or more embodiments. It will be apparent to those skilled in the art that various modifications and variations can be made to the present invention without departing from the spirit and scope of the invention. Thus, it is intended that the present invention cover the modifications and variations of this invention provided they come within the scope of the appended claims and their equivalents. Reference will now be made in detail to the preferred embodiments of the invention.
In one embodiment, the present invention provides a method or process of identifying redundant invoices entered into an accounts payable electronic (AP or A/P) computer system, such as, an ERP (Enterprise Resource Planning) system, for instance, the commercially available SAP® Accounts Payable software application module, manufactured by SAP Aktiengesellschaft Joint Stock Company. As used herein, the term “invoice” refers to a respective vendor invoice entered into the accounts payable electronic computer system and which contains data fields obtained from a respective paper or electronic invoice, such as, supplier or vendor name, dollar amount of the invoice, invoice date, invoice reference number, among other data fields found on the paper or electronic invoice. The method or process of identifying redundant invoices includes providing an accounts payable electronic computer system, such as, an ERP system or SAP® Accounts Payable system that has a master database for inputting a plurality of vendor/supplier invoices proffered by respective vendors/suppliers. In a preferred embodiment, the invoices represent paper invoice articles from vendors or suppliers to a customer. It will be understood by one skilled in the art that although the invention is described in terms of use with an ERP system, such as, the SAP® system, the invention may be used with any other commercially available ERP system.
In an embodiment, the invention provides a method for identifying redundant invoices. The method includes providing an accounts payable system having an invoice table that contains invoice data inputted from vendor invoices, executing an algorithm with the accounts payable system for identifying one or more redundant invoices among a current group of invoices chosen from the invoices inputted into the accounts payable system, where the algorithm identifies the redundant invoices among the current group of invoices using each of six redundancy criteria analyzed by the algorithm and outputting a perceptible report containing a separate section corresponding to each of the six redundancy criteria analyzed by the algorithm for identifying redundant invoices among the current group of invoices inputted into the accounts payable system, where a redundant invoice that is reported in one section of the perceptible report is not reported in another section of the perceptible report. In an embodiment, the providing step further comprises selecting a history start date and a current start date for choosing the current group of invoices from the plurality of invoices inputted, grouping, as a group, suppliers having a similar name and creating additional indexes for sorting the invoice data contained in the invoice table in the accounts payable electronic computer system. In an embodiment, the executing step includes loading the algorithm onto the accounts payable electronic computer system and executing the algorithm on the accounts payable electronic computer system in real time. In an embodiment, the executing step includes loading the algorithm onto the accounts payable electronic computer system and executing the algorithm on the accounts payable electronic computer system in batch mode. In an embodiment, the six redundancy criteria analyzed by the algorithm for searching the accounts payable electronic computer system include same supplier invoice number and same amount, supplier reference numbers containing a reference number as a subset, redundant condensed supplier reference numbers, transposed supplier reference numbers and same supplier invoice number, invoice date and amount, with a different supplier number. In an embodiment, the six redundancy criteria analyzed by the algorithm for searching the accounts payable electronic computer system consists essentially of same supplier invoice number and same amount, supplier reference numbers containing a reference number as a subset, redundant condensed supplier reference numbers, transposed supplier reference numbers and same supplier invoice number, invoice date and amount, with a different supplier number.
Reference is now made to
Turning to
Turning to
Turning to
Furthermore, in yet another embodiment, the invention provides a computer system for identifying redundant invoices. The computer system includes a central processing unit, first program instructions to input a plurality of invoices into an accounts payable electronic computer system, the first program instructions including instructions to group, as a group, invoices that have a similar vendor name, second program instructions to execute an algorithm on the accounts payable electronic computer system for identifying one or more redundant invoices among a current group of invoices chosen from the plurality of invoices inputted into the accounts payable electronic computer system, In an embodiment, the algorithm identifies the one or more redundant invoices among the plurality of invoices using each of six redundancy criteria searched by the algorithm and third program instructions to output a perceptible report containing respective separate sections corresponding to each of the six redundancy criteria analyzed by the algorithm for identifying the one or more redundant invoices among the current group of invoices inputted into the accounts payable electronic computer system, In an embodiment, an invoice reported on a respective section is not reported on another respective section of the perceptible report. In an embodiment, the first program instructions include instructions to load the algorithm onto the accounts payable electronic computer system, to select a history start date and a current start date for choosing the current group of invoices from the plurality of invoices inputted, to group, as a group, suppliers having a similar name and to create additional indexes for sorting the invoice data contained in the invoice table in the accounts payable electronic computer system. In an embodiment, the second program instructions include instructions to execute the algorithm on the accounts payable electronic computer system in real time. In an embodiment, the second program instructions include instructions to execute the algorithm on the accounts payable electronic computer system in batch mode. In an embodiment, the six redundancy criteria analyzed by the algorithm for searching the accounts payable electronic computer system comprises of: same supplier invoice number and same amount, supplier reference numbers containing a reference number as a subset, redundant condensed supplier reference numbers, transposed supplier reference numbers and same supplier invoice number, invoice date and amount, with a different supplier number. In an embodiment, the six redundancy criteria analyzed by the algorithm for searching the accounts payable electronic computer system consists essentially of same supplier invoice number and same amount, supplier reference numbers containing a reference number as a subset, redundant condensed supplier reference numbers, transposed supplier reference numbers and same supplier invoice number, invoice date and amount, with a different supplier number.
Reference is now made to
In an embodiment, the invention provides a computer program product for identifying redundant invoices. The computer program product includes a computer readable medium, first program instructions to input data from a plurality of invoices into an invoice table residing within an accounts payable electronic computer system, second program instructions to execute an algorithm loaded onto the accounts payable electronic computer system for identifying one or more redundant invoices among a current group chosen from the plurality of invoices inputted into the accounts payable electronic computer system, In an embodiment, the algorithm identifies the redundant invoices among the current group of invoices chosen from the plurality of invoices using each of six redundancy criteria searched by the algorithm and third program instructions to output a perceptible report containing a separate section corresponding to each of the six redundancy criteria analyzed by the algorithm for identifying the one or more redundant invoices among the current group of invoices inputted into the accounts payable electronic computer system, In an embodiment, a redundant invoice that is reported in one section of the perceptible report is not reported in another section of the perceptible report and In an embodiment, the first, second and third program instructions are recorded on the computer readable medium. In an embodiment, the first program instructions include instructions to load the algorithm onto the accounts payable electronic computer system, to select a history start date and a current start date for choosing the current group of invoices from the plurality of invoices inputted, to group, as a group, suppliers having a similar name and to create additional indexes for sorting the invoice data contained in the invoice table in the accounts payable electronic computer system. In an embodiment, the second program instructions include instructions to execute the algorithm on the accounts payable electronic computer system in real time. In an embodiment, the second program instructions include instructions to execute the algorithm on the accounts payable electronic computer system in batch mode. In an embodiment, the six redundancy criteria analyzed by the algorithm for searching the accounts payable electronic computer system comprises of: same supplier invoice number and same amount, supplier reference numbers containing a reference number as a subset, redundant condensed supplier reference numbers, transposed supplier reference numbers and same supplier invoice number, invoice date and amount, with a different supplier number. In an embodiment, the six redundancy criteria analyzed by the algorithm for searching the accounts payable electronic computer system consists essentially of same supplier invoice number and same amount, supplier reference numbers containing a reference number as a subset, redundant condensed supplier reference numbers, transposed supplier reference numbers and same supplier invoice number, invoice date and amount, with a different supplier number.
Referring now to
In general, the computer system 604 is connected via a network to infrastructure 602. The computer system 604 includes the redundant invoice reporting tool or program 616 that is run on the computer system 604 for identifying redundant invoices entered into the computer system 604 using the accounts payable electronic application 614. Further, as shown in
For instance, a customer (customer 1) at computer system or server 630 can interface with infrastructure 602 in order to run a redundant invoice check using the redundant invoice reporting tool or program 616 loaded into the local memory 612 of the computer system 604. The redundant invoice reporting tool or program 616 can be loaded into the local memory 612 of the computer system 604 from a computer readable storage medium or media reference numeral 636, such as, a magnetic tape or disk, optical media, DVD, memory stick, semiconductor memory, etc. or downloaded from the server via a network adapter card (reference numerals 638) installed on the respective system or server 604. It should be understood that under the present invention, infrastructure 602 could be owned and/or operated by a party such as provider 646, or by an independent entity. Regardless, use of infrastructure 602 and the teachings described herein could be offered to one or more customers on a subscription or fee-basis.
The computer system or server 604 is shown to include a CPU (hereinafter “processing unit 606”), a memory 612, a bus 610 and input/output (I/O) interfaces 608. Further, the server 604 is shown in communication with external I/O devices/resources 620 and storage system 622. In general, processing unit 606 executes computer program code stored in memory 612, such as the commercially available SAP® Accounts Payable software application module, manufactured by SAP Aktiengesellschaft Joint Stock Company. In an embodiment, the redundancy reports 629 generated by the redundant invoice reporting tool or program 616 are stored in local storage 622 within infrastructure 602. Further, the one or more invoice tables 626 investigated by the redundant invoice reporting tool or program 616 are stored in storage 622. In an embodiment, a list of the one or more supplier(s) or vendor(s) 628 from whom invoices are received are stored in storage 622. While executing the redundant invoice reporting tool or program 616 on the computer system or server 604, the processing unit 606 can read and/or write data, to/from memory 612, storage system 622 and/or I/O interfaces 608, such as, the redundancy reports 629 stored in storage 622, which are generated by running the redundant invoice reporting tool or program 616 on computer system 604. Alternatively, the redundant invoice reporting tool or program 616 may store the redundancy reports 629 in memory 612. Bus 610 provides a communication link between each of the components in computer system 600, such that information can be communicated within the infrastructure 602. External devices 624 can comprise any devices (e.g., keyboard, pointing device, display, etc.) that enable a user to interact with computer system 600 and/or any devices (e.g., network card, modem, etc.) that enable computer system 604 to communicate with one or more other computing devices, such as, systems 630 and/or 632.
Computer infrastructure 602 is only illustrative of various types of computer infrastructures for implementing the invention. For example, in one embodiment, computer infrastructure 602 may comprise two or more server groups or clusters that communicate over a network to perform the various process steps of the invention. Moreover, computer system 600 is only representative of various possible computer systems that can include numerous combinations of hardware. To this extent, in other embodiments, computer system 600 can comprise any specific purpose computing article of manufacture comprising hardware and/or computer program code for performing specific functions, any computing article of manufacture that comprises a combination of specific purpose and general purpose hardware/software, or the like. In each case, the program code and hardware can be created using standard programming and engineering techniques, respectively. Moreover, processing unit 606 may comprise a single processing unit, or be distributed across one or more processing units in one or more locations, e.g., on a client and server. Similarly, memory 612 and/or storage system 622 can comprise any combination of various types of data storage and/or transmission media that reside at one or more physical locations. Further, I/O interfaces 608 can comprise any system for exchanging information with one or more external devices 624. Still further, it is understood that one or more additional components (e.g., system software, math co-processing unit, etc.) not shown in
Storage system 622 can be any type of system (e.g., a database) capable of providing storage for information under the present invention. To this extent, storage systems 622 could include one or more storage devices, such as a magnetic disk drive or an optical disk drive. In another embodiment, systems 622 include data distributed across, for example, a local area network (LAN), wide area network (WAN) or a storage area network (SAN) (not shown). Although not shown, additional components, such as cache memory, communication systems, system software, etc., may be incorporated into computer system 600.
In yet another embodiment, the invention provides a process for deploying computing infrastructure comprising integrating computer-readable code into a computing system, where the code in combination with the computing system is capable of performing a process for identifying redundant invoices. The process comprises providing an accounts payable electronic computer system, inputting, invoice data obtained from a plurality of invoices, into an invoice table residing on the accounts payable electronic computer system, executing an algorithm on the accounts payable electronic computer system for identifying one or more redundant invoices among a current group of invoices chosen from the plurality of invoices inputted into the accounts payable electronic computer system, where the algorithm identifies the redundant invoices among the current group of invoices chosen from the plurality of invoices using each of six redundancy criteria searched by the algorithm and outputting a perceptible report containing a separate section corresponding to each of the six redundancy criteria analyzed by the algorithm for identifying the one or more redundant invoices inputted into the accounts payable electronic computer system, In an embodiment, a redundant invoice that is reported in one section of the perceptible report is not reported in another section of the perceptible report. In an embodiment, the six redundancy criteria analyzed by the algorithm for searching the accounts payable electronic computer system consists essentially of same supplier invoice number and same amount, supplier reference numbers containing a reference number as a subset, redundant condensed supplier reference numbers, transposed supplier reference numbers and same supplier invoice number, invoice date and amount, with a different supplier number.
Reference is now made to
Accordingly, when the redundancy program runs, it is run against vendor invoices stored in standard SAP tables based on a history start date selected until the current start date. If the redundant invoice reporting tool or program finds a match on one of the six criteria, it will stop and write it to the report under the section that matches the criteria. In other words, the same invoice will not be on the report multiple times as a potential redundant invoice. The invoice will only be listed or reported on the redundancy report against the first criteria of the six criteria when a redundant invoice is found matching a respective first criteria among the six criteria that is run in a consecutive fashion. The redundant invoice reporting tool or program has fuzzy logic capability, which enables the redundant invoice reporting tool or program to drop prefixes, suffixes, look for condensed, truncated or transposed characters, embedded characters, such as, invoice number “1234” versus invoice number “234”, as explained herein above with respect to
The foregoing descriptions of specific embodiments of the present invention have been presented for the purpose of illustration and description. They are not intended to be exhaustive or to limit the invention to the precise forms disclosed and many modifications and variations are possible in light of the above teaching. The embodiments were chosen and described in order to best explain the principles of the invention and its practical application, to thereby enable others skilled in the art to best utilize the invention and various embodiments with various modifications as are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the claims appended hereto and their equivalents.