US20060095372A1 - System and method for management and verification of invoices - Google Patents

System and method for management and verification of invoices Download PDF

Info

Publication number
US20060095372A1
US20060095372A1 US10/980,114 US98011404A US2006095372A1 US 20060095372 A1 US20060095372 A1 US 20060095372A1 US 98011404 A US98011404 A US 98011404A US 2006095372 A1 US2006095372 A1 US 2006095372A1
Authority
US
United States
Prior art keywords
invoice
exception
data
invoices
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US10/980,114
Inventor
Ramshankar Venkatasubramanian
Hartmut Vogler
Eckhard Farrenkopf
Heinz Kagermann
Heinz Roggenkemper
Suresh Babu
Hila Schlank
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SAP SE
Original Assignee
SAP SE
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SAP SE filed Critical SAP SE
Priority to US10/980,114 priority Critical patent/US20060095372A1/en
Assigned to SAP AKTIENGESELLSCHAFT reassignment SAP AKTIENGESELLSCHAFT ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: SCHLANK, HILA, FARRENKOPF, ECKHARD, VENKATASUBRAMANIAN, RAMSHANKAR, VOGLER, HARTMUT K., BABU, SURESH, ROGGENKEMPER, HEINZ U., KAGERMANN, HEINZ
Priority to US11/201,072 priority patent/US20060095373A1/en
Priority to EP05110195A priority patent/EP1659526A3/en
Publication of US20060095372A1 publication Critical patent/US20060095372A1/en
Priority to US12/869,136 priority patent/US8924272B2/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/04Billing or invoicing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • G06Q20/102Bill distribution or payments

Definitions

  • the present invention relates to data processing and data management, and in particular, to a system and method for automated management and verification of invoices and data associated with invoices.
  • an invoice When two entities engage in a business transaction, an invoice is typically generated to capture and memorialize important information about the transaction.
  • an invoice commonly includes a list of goods delivered or services performed, with corresponding prices, quantities, descriptions and charges.
  • suppliers of goods or services i.e., vendors
  • vendors may send their invoices to different people across the company.
  • Many companies typically have internal or external departments for receiving and processing invoices, but the employees in such departments may have very little information about the nature of the transaction leading to the invoice.
  • tracking and promptly paying valid invoices, and detecting and correcting erroneous or fraudulent invoices is a major problem facing today's business community.
  • vendors To manage and track the flow of invoices, companies often require vendors to associate additional information with each invoice such as a purchase order number, information about which business unit in the company ordered the goods or services, and various tracking and/or reference numbers. Additionally, vendors typically include their name, address and various reference and tracking numbers of their own on their invoices.
  • the information provided on different invoices can vary drastically from vendor to vendor.
  • the “format” of the information may be different. For example, the format of the invoice document itself may “look” different because different information is presented in different physical portions of each invoice.
  • a vendor based in the United States may bill in U.S. Dollars while a vendor based in Germany may bill in Euros.
  • FIG. 1 is an example of one common approach to automated invoice processing.
  • Typical invoice processing is user-centric, often starting with a user entering data from a vendor's paper invoice 101 into a computer software invoice system 102 .
  • Data associated with or relating to an invoice that is stored or processed electronically is referred to herein as “invoice data” (e.g., structured or unstructured data or other electronic information).
  • the program may cross reference a purchase order number against an expected purchase order number. If the purchase order on the incoming invoice does not match exactly with an existing purchase order, the system may indicate that an erroneous invoice has been received. Erroneous invoices are referred to as “exceptions,” and typically initiate a manual exception handling process 103 .
  • the manual exception handling process may require a company employee to call the vendor at 104 to determine which purchase order corresponds to the particular invoice.
  • the manual exception handling process may require a user to acquire signature authorizations at 105 if, for example, no purchase order was ever assigned to the goods or services received from the vendor.
  • the present invention solves these and other problems by providing an invoice processing system and method for automated management and verification of invoices and the data associated with the invoices.
  • Embodiments of the present invention include architectures and methods for automated management of invoices.
  • Embodiments of the present invention may include techniques for receiving and unifying invoice data, retrieving context information about each invoice, verifying each invoice and resolving invoice exceptions.
  • the present invention includes software components for efficiently processing invoices. In other embodiments, the present invention includes methods of processing an invoice.
  • the present invention includes an invoice management system comprising a unification software component for receiving invoice data from a plurality of different sources in a plurality of different formats and transforming the invoice data into a common format, an invoice data repository for storing the transformed invoice data, a context builder for automatically retrieving additional information corresponding to the invoice data, an invoice processor for verifying each invoice according to a plurality of rules, and an exception manager for processing each unsuccessfully verified invoice.
  • the invoice management system may further include a index database for performing searches.
  • the present invention includes a method of processing invoices comprising storing invoice data corresponding to a plurality of invoices in a repository, automatically searching a plurality of systems for information corresponding to each invoice, and automatically performing a plurality of verification checks on each invoice.
  • the present invention includes a method of processing invoices comprising storing invoice data corresponding to a plurality of invoices in a repository, automatically performing a plurality of verification checks on each invoice, creating an exception when at least one of the invoices fails at least one of the verification checks, and processing the exception in accordance with one of a plurality of exception handling procedures.
  • the present invention includes a method of processing invoices comprising receiving invoice data from a plurality of different sources in a plurality of different formats, transforming the invoice data into a common format, storing the transformed invoice data in a repository as an invoice, automatically retrieving additional information corresponding to the invoice, and automatically verifying the invoice using a plurality of rules, wherein if the invoice is verified the invoice is automatically posted, and if the invoice data is not verified an electronic exception case is created.
  • FIG. 1 is an example of one common approach to automated invoice processing.
  • FIG. 2A -B illustrate an architecture for an invoice management system according to one embodiment of the present invention.
  • FIG. 3 illustrates a method of processing an invoice according to one embodiment of the present invention.
  • FIG. 4 is an example of gathering additional information corresponding to the invoice data according to another embodiment of the present invention.
  • FIG. 5 illustrates a method verifying an invoice according to another embodiment of the present invention.
  • FIG. 6 illustrates a method of resolving an exception according to another embodiment of the present invention.
  • FIG. 7 illustrates an invoice management system according to another embodiment of the present invention.
  • FIG. 8 is an example of a unifier according to one embodiment of the present invention.
  • FIG. 9 is an example of a context builder according to one embodiment of the present invention.
  • FIG. 10 is an example of an invoice processor according to one embodiment of the present invention.
  • FIG. 11 is an example of an exception manager according to one embodiment of the present invention.
  • FIG. 12 is an example process flow for resolving an exception according to one embodiment of the present invention.
  • FIG. 13A -F are examples of a graphical user interfaces for managing invoice exceptions according to one embodiment of the present invention.
  • FIG. 14 is another example process flow for resolving an exception according to another embodiment of the present invention.
  • FIG. 15A -B are examples of graphical user interfaces presented for a missing information exception according to another embodiment of the present invention.
  • FIG. 16 is another example process flow for resolving an exception according to another embodiment of the present invention.
  • FIG. 17A -C are examples of information that may be retrieved and presented to a user while processing blocked invoices according to another embodiment of the present invention.
  • FIG. 18 is another example process flow for resolving a line item mismatch exception according to another embodiment of the present invention.
  • FIG. 19 is another example process flow for resolving a missing goods received exception according to another embodiment of the present invention.
  • Embodiments of the present invention include a software architecture for managing and verifying invoice data.
  • FIG. 2A illustrates an architecture for an invoice management system 210 according to one embodiment of the present invention.
  • Invoices and their associated data are received from multiple distinct sources 200 A- 200 E in different formats.
  • invoices may be received in paper form through traditional channels such as through the postal system, or electronically through a variety of channels such as a web portal, email, or facsimile.
  • OCR optical character recognizer
  • invoice management system 210 may include a unification engine 211 that transforms the incoming invoice data into a common format.
  • the step of transforming the incoming structured and/or unstructured invoice data into a common format is sometimes referred to as a “normalization” step.
  • the normalized invoice data may then be stored in an invoice data repository 212 for centralized access and management.
  • invoice data is stored in an XML format, which may have a predefined schema (e.g., EBPXML).
  • XML format may have a predefined schema (e.g., EBPXML).
  • EBPXML e.g., EBPXML
  • other formats could be used.
  • invoices may be stored in table form using relational databases.
  • invoices may be stored and/or processed as objects (i.e., invoice objects).
  • Invoices may further include references to relevant information stored as tables or objects in other systems (i.e., context).
  • invoice management system 210 includes a context builder 214 coupled to invoice data repository 212 .
  • Context builder 214 may be used to automatically gather additional information corresponding to each invoice, so that each invoice may be processed faster and more efficiently.
  • Context builder 214 may access other data sources both inside and outside the company to gather additional information corresponding to an invoice. For example, context builder 214 may access data in other software systems or applications such as an inventory application 220 or purchasing application 221 .
  • context builder 214 may access other structured or unstructured data from other data sources such as network servers, local computers, document repositories or document management systems (to name just a few) to gather information about purchase orders, goods received, business partners, general ledger, contracts and contacts.
  • context builder 214 may allow users or administrators to specify what other sources or types of additional information may be beneficial for processing invoices (as opposed to programmers).
  • relevant data may be gathered by context builder 214 and used to augment incoming invoice data with relevant context so that the invoice may be processed more efficiently.
  • context builder 214 automatically populates invoice data fields in order to reduce or eliminate data entry by a human user. Additional features and functionality may be incorporated into context builder 214 as described below.
  • Invoice management system 210 further includes an invoice processor software component 213 coupled to both invoice data repository 212 and context builder 214 .
  • Invoice processor 213 may use data from invoice data repository 212 and the data gathered by context builder 214 to automatically verify the invoice data. For example, invoice processor may perform checks for duplicate invoices, errors & omissions, fraud, and routing errors. If the invoice data is verified successfully, the invoice data may be posted in a financial application 250 , for example. However, if the invoice data is not verified, an exception manager 215 may be invoked to report problems to relevant personnel and control the resolution of the problem.
  • exception handler 215 provides functionality to control the processing of invoice exceptions and may further facilitate collaborative resolution of invoice problems.
  • exception handler 215 may act as a single point for capturing and processing of exceptions and for automating the dispute resolution process using collaborative tools.
  • all exceptions are stored in an exception repository (not shown) for centralized management and an “exception case” may be created by the system.
  • the system may intelligently forward the exception case to different individuals in the company or external individuals if a particular individual's participation is necessary for resolution of the exception.
  • the information transferred between individuals may be intelligently controlled so that each individual only receives the information necessary for solving particular problems.
  • exception manager 215 may forward information about the exception to users in different groups in company 230 such as accounts payable 230 A, purchasing 230 B, requisitions (“REQ”) 230 C, cost center management (“CCM”) 230 D or goods received (“G/R,” e.g., a manufacturing facility) 230 E if the participation of employees in those groups is required to resolve the issue.
  • Exception manager 215 provides flexible automated collaboration between such users and the vendors associated with each invoice. For example, in one embodiment exception manager 215 manages notifications pertaining to exceptions between one or more employees in the company 230 and employees at a vendor 240 . Vendor 240 may receive invoice information corresponding to an exception case from a user over email along with comments and an optional interactive form.
  • Vendor 240 may then dispute the exception (e.g., if the exception pertains to a duplicate or fraudulent invoice), confirm the exception or provide additional information via the interactive form, for example. Once the exception is resolved, the exception case is closed and the invoice data may be posted.
  • the exception e.g., if the exception pertains to a duplicate or fraudulent invoice
  • Invoice management system 210 may further include a search engine including, for example, a search index 216 that may be accessed by invoice processor 213 , context builder 214 and exception manager 215 .
  • Invoice processor may use search engine capabilities to access the search index to search for invoice information in the same system or other systems. For example, an index of processed invoices may be maintained, and a search through the index may be made as new invoices enter the system (e.g., for duplicate detection).
  • the index may be a combined subset of multiple database tables that includes a variety of invoice data. Simple checks for the same date or same amount may be performed by a simple database search. However, more complex searches such as “similarity searches” may be performed to find invoice data or context for an invoice.
  • information may be retrieved using similarity search techniques disclosed in commonly-owned concurrently filed U.S. Patent Application Ser. No. ______ (Attorney Docket No. 000005-000400US; SAP Docket No. 2004P00889 US) entitled “Information Retrieval Method with Efficient Similarity Search Capability,” naming Alexandru M. Caracas, Tobias Niekamp and Sascha H. Schmitt as inventors, the contents of which is hereby incorporated herein by reference in its entirety.
  • Context builder 214 may access the search index 216 for searching for additional information about the invoice.
  • exception manager 215 may access the search index to allow users to search exception cases or context as described below. Search functionality may also be supplied to users during exception management.
  • Invoice management system 210 may further include an integration layer as shown in FIG. 2B .
  • Integration layer 260 may include one or more code modules that interface with other systems or people that are involved in invoice processing. Integration layer 260 enables the system to exchange data (e.g., posting, accessing context or parking) and perform actions such as sending confirmations, requesting input, obtaining authorizations or running invoice queries to name just a few.
  • Integration layer 260 includes software components that allow invoice management system 210 to provide communications (e.g., email) between internal company employees 261 .
  • Integration layer 260 may also support electronic communication with and access to information in other software systems and applications 262 .
  • integration layer 260 includes software components that allow invoice management system 210 to provide communications (e.g., email) between internal company employees 261 and vendor employees 263 .
  • FIG. 3 illustrates a method of processing an invoice according to one embodiment of the present invention.
  • invoice data is received from different sources and typically in different formats.
  • the invoices may be received in XML, EDI, IDOC or an OCR format.
  • the invoice data is transformed into a common format.
  • the transformed invoice data is stored in a repository.
  • the invoice data is stored in an XML format, which may have a predefined schema (e.g., EBPXML). Of course, other formats could be used.
  • the system automatically retrieves context information corresponding to each invoice.
  • invoice data is automatically populated when additional information about the invoice is retrieved.
  • the invoice data is automatically verified. If the invoice data passes verification at 360 , the verified invoice data is posted. If the invoice data does not pass verification, an exception is automatically created and one or more users are notified at 370 .
  • FIG. 4 is an example of retrieving context information corresponding to the invoice data according to one embodiment of the present invention.
  • a search index is created so that relevant information corresponding to invoice data (i.e., context) may be accessed.
  • context information i.e., context
  • Context information may further include vendor master data such as the vendor's name, address, phone numbers, fax numbers and bank information, for example.
  • Context information may be accessed using an index repository for accessing the information remotely, for example.
  • the context information may be stored directly in a context repository or stored in the invoice data repository if the information is used to automatically populate invoice data fields.
  • the existence of a purchase order (“PO”) is determined prior to retrieval, which is advantageous but not necessary.
  • invoice data may be retrieved from the invoice data repository.
  • the system checks to see if the invoice is based on a purchase order. If an invoice is based on a purchase order, the system will determine whether or not the purchase order is included in the invoice data at 440 . If no purchase order number is included in the invoice data, the system will automatically search for possible purchase order histories at 450 , and an exception case is created at 452 .
  • the exception is stored with a list of possible purchase order histories in an exception repository for ultimate resolution by a user at 454 .
  • the purchase order history is retrieved at 442 . Further information such as contact data and vendor master data may also be retrieved at 460 and 470 .
  • the retrieved data is associated with the invoice data (i.e., a “context” is built) to help users resolve exceptions should they occur.
  • the context may be stored in a context repository.
  • FIG. 5 illustrates a method verifying an invoice according to another embodiment of the present invention.
  • invoice data is retrieved from the invoice data repository. Context information may also be retrieved.
  • One advantage of this embodiment is that an invoice will be automatically posted without user intervention if the system can verify that the invoice data meets numerous predefined criteria. For example, the system may use the invoice data to perform a template check 502 , a missing data check 503 , an invalid data check 504 , a duplicate invoice check 505 , a non-purchase order check 506 , a line item mismatch check 507 , a price variance check 508 and a quantity variance check 509 .
  • GR missing goods received
  • SE missing service entry
  • FIG. 6 illustrates a method of resolving an exception according to another embodiment of the present invention.
  • the data associated with the exception is retrieved from an exception repository.
  • a case management entry may be created to facilitate automated tracking of each exception.
  • the case management entry may be created by the invoice processor when an invoice fails a verification check and the exception is created (i.e., prior to step 601 ).
  • one of a plurality of different exception work flows i.e., exception handling procedures
  • Embodiments of the present invention may include a variety of different exception work flows. In one embodiment, different work flows may be started based on the type of error that triggered the exception.
  • the particular exception handling procedure initiated by the system may be based on the particular verification check that the invoice failed. For example, a failed duplicates check may lead to a different work flow than a failed template check or failed missing data check.
  • These exception work flows may require collaboration with other involved parties, such as one or more of the vendor's employees or one or more of the company's employees. Exception work flows may also be role based so that the system controls who is contacted to resolve different types of problems. Additionally, the system may control how users are contacted (e.g., over email, through a web portal or through an “Inbox” described below). Moreover, the system may control the information each user receives. Some exceptions may require only a subset of the invoice data for resolution.
  • the information may be filtered based on the type of exception or the role of the user (i.e., some users may not require certain invoice data to resolve an exception).
  • the system determines whether or not the exception was resolved. If the exception is not resolved, case information is updated (e.g., in the case management database) at 650 .
  • the exception may be escalated for further processing (e.g., by alternate work flows or human intervention). If the exception was resolved, the case information is updated at 607 and the invoice data repository is updated at 608 with information obtained as a result of the exception work flow.
  • the invoice verification may be restarted. Alternatively, if the verification process detects multiple invoice errors, multiple exceptions may be processed and resolved in parallel.
  • FIG. 7 illustrates an invoice management system 700 according to another embodiment of the present invention.
  • Invoice management system 700 (“IMS”) includes a unifier 710 , invoice data repository 720 , context builder 730 , IMS portal 740 (e.g., a web based interface), invoice processor 750 (sometimes referred to as a “preprocessor” because it is performing the processing prior to posting), exception manager 760 , STORE 770 (which may represent a plurality of different databases used by the IMS for different purposes), and an integration platform 780 .
  • IMS Invoice management system 700
  • IMS includes a unifier 710 , invoice data repository 720 , context builder 730 , IMS portal 740 (e.g., a web based interface), invoice processor 750 (sometimes referred to as a “preprocessor” because it is performing the processing prior to posting), exception manager 760 , STORE 770 (which may represent a plurality of different databases used by the IMS for different purposes), and an integration platform 7
  • Invoices may be received electronically from a supplier portal 701 A (e.g., a specific portal for registered vendors), paper invoices 701 B (e.g., invoices that have been processed by an optical character recognizer 701 C), an EDI or XML feed 701 D, IMS invoicing 701 E (e.g., a manual entry component of the IMS), or a backend retrieval system 701 F (e.g., a component that retrieves the invoice data from other proprietary systems).
  • Unifier 710 receives incoming invoice data from a plurality of different sources and in a plurality of different formats and transforms the data into a common format. The transformed invoice data is then stored in invoice pool 720 (e.g., an invoice repository).
  • Context builder 730 automatically retrieves additional information corresponding to each invoice.
  • Context builder 730 may associate a category, references, contacts, contracts or histories with each invoice data entry.
  • Invoice processor 750 automatically verifies each invoice. For example, invoice processor may perform checks for duplicates, fraud or a variety of other checks including those disclosed above and shown in FIG. 5 .
  • Invoice processor 750 then forwards the invoice for further processing including posting the invoice if the invoice passes verification or creating an exception if the invoice fails verification and triggers an exception.
  • Exception manager 760 automatically manages exceptions.
  • Integration platform 780 allows the IMS system to interface with other software systems, such as a backend posting system 790 or third party financial or related legacy systems (not shown), and provides for communications between individuals using email, for example.
  • FIG. 8 is an example of a unifier according to one embodiment of the present invention.
  • Unifier 800 converts different incoming invoice data formats into one common format and stores the data in invoice repository (i.e., invoice pool) 820 for use in later processing steps.
  • invoice repository may be used as a temporary storage area for queuing invoice data prior to verification in the invoice processor.
  • Unifier 800 may include different software components (i.e., receiver modules) for receiving data from different sources (e.g., external sources).
  • Receiver modules may include software for receiving invoices from an optical character recognizer (“OCR”) 801 , XML 802 , Portal 803 , EDI 804 and other components for receiving data from other sources represented by module 805 (“other”), which may include customizable receiver modules that may be created and customized dynamically to meet different user requirements.
  • Unifier 800 may further include a transformation engine 810 for transforming the invoice data into a common format.
  • each receiver may be responsible for applying the appropriate transformation and produce invoice data in the preferred common format, which is then stored in the invoice pool 820 .
  • error messages are generated and the input is ignored.
  • an acknowledgement may be generated indicating that the input was received and is pending verification.
  • embodiments of the present invention may log the status of each received invoice to support status checking.
  • FIG. 9 is an example of a context builder according to one embodiment of the present invention.
  • Context builder 900 provides additional information to invoice processor 910 and exception manager (not shown) that is relevant to verification and exception resolution.
  • the context builder may access a variety of other systems including backend systems.
  • Context builder 900 includes a configuration software component 901 , a template manager software component 902 , and a reference builder software component 903 .
  • the context builder may include, or be coupled to, an index database 904 for accessing context information.
  • Configuration 901 may indicate to the IMS system what other systems to access, how to access such systems and what information to retrieve.
  • configuration component 901 may include information about what other systems are available within a company for accessing context (e.g., an employee database, vendor database or financial application to name just a few possibilities). Configuration component 901 maintains certain information that may be required in order to gain access to the information in these other systems, such as security information, passwords, user ID, addresses or related information. Configuration component 901 may also control what information needs to be retrieved from each system.
  • Reference builder 903 accesses configuration component 901 and builds an index database 904 for accessing the context information.
  • Exemplary context information may include document context, organizational context and people context.
  • Document context may include the purchase order associated with an invoice, the requisition upon which the purchase order was based, the blanket order (e.g., a contract) that the purchase order refers to or relates to, goods receipts associated with the invoice, service confirmations, payment information for invoices that have been posted, prior invoices for the purchase order associated with the invoice, advanced shipment notifications associated with the invoice, bills of lading for goods received or links to scanned versions of all such structured or unstructured documents.
  • Organizational context may include the purchasing group responsible for the purchase order, the purchasing organization, the plant(s) referred to in the line items of the purchase order, the cost centers, projects, work orders or assets for which the purchase order was created, for example.
  • People context may include the purchasing agent, the supplier contact for the purchase order, the requisitioner, the receiving clerk, the person responsible for the cost center, project, work order, or asset, or the accounts payable clerk that processed a previous invoice.
  • the context builder may be used to autopopulate invoice data.
  • the system may search an incoming invoice for a purchase order number. From the purchase order number, the system may use the index database to access the PO. From the PO, the system searches for the purchase requisition (“PR”), and from the PR the system can acquire the requisitioner. Once the system knows the requisitioner, the system can search for the requisitioner's cost center by accessing employee reference (e.g., an human resources database) and populate the cost center automatically. For an approval workflow, the system searches for hierarchical information for the requisitioner's organization and send email to his manager automatically. Of course, the above described process is just one example of how autopopulation may be carried out.
  • Autopopulation algorithms and rules may be defined and altered in accordance with different system requirements. Thus, context may be gathered from across a wide range of information sources, and the information from one or more sources may be used to access yet further information to gather relevant context and autopopulating the fields of the invoice.
  • Embodiments of the present invention also support invoice templates, which may be managed by template manager 902 .
  • Invoice templates allow a user to define characteristics of incoming invoices (e.g., for a particular vendor) based on historical transactions.
  • An invoice template may include a collection of characteristics that a user may look for when an invoice enters the system.
  • Invoice templates may include a plurality of fields that have predefined values (e.g., the vendor's name, identification number, address or other characteristics relating to that vendor that do not change from invoice to invoice).
  • a template e.g., corresponding to a particular vendor
  • each incoming invoice must have that same value in the corresponding field.
  • the system may determine who is sending the invoice by examining the name and/or vendor number. Next the system may access a template corresponding to the particular vendor and compare one or more templates to the invoice. By comparing the templates predefined characteristics of the invoice to the incoming invoice, the system can determine whether or not there is a variance in an incoming invoice from previously received invoices.
  • Embodiments of the present invention also include templates having one or more fields with a range. In this case, when an invoice is compared against the template, the value of the field in the invoice must be in the range specified in the template. Templates may also include lists of values (e.g., multiple addresses). In this case the invoice must have a value from the template list in a corresponding invoice field.
  • FIG. 10 is an example of an invoice processor 1000 according to one embodiment of the present invention.
  • Invoice processor 1000 consumes invoices from invoice repository 1050 .
  • Invoice processor 1000 retrieves invoices from the repository and executes verification rules.
  • Invoice processor 1000 then creates exceptions if verification is unsuccessful, or posts the invoice if the verification is successful.
  • Invoice processor 1000 may use the context builder to retrieve context information associated with the invoice to facilitate the verification process.
  • invoice processor 1000 executes a set of verification rules.
  • the verification rules may be specified by a user (e.g., a company employee responsible for invoice processing rather than a programmer), including reconfiguring rules, activating or deactivating rules or specifying additional rules as desired.
  • Invoice processor 1000 determines the proper routing of the invoice based on the results of the verification. For example, if the verification is successful, invoice processor 1000 may route the invoice to a backend posting system 1060 automatically. If one or more of the verification rules is not met, invoice processor 1000 may create an exception and route the invoice according to exception work flow rules. In one embodiment, the exception work flow rules and/or exception handling procedures may also be specified by a user.
  • invoice processor 1000 includes a process manager 1010 and verification component 1020 (sometimes referred to as an “exception inspector”).
  • Process manager 1010 allows users to specify verification rules and exception work flow rules and handling procedures, retrieves invoices from invoice repository 1050 and controls the routing in accordance with the specified rules and procedures.
  • Verification component 1020 executes the rules on each invoice as they are retrieved from the repository 1050 .
  • Verification component 1020 may provide a list of checks applicable to an incoming invoice and the order of execution, and apply the checks to each invoice. Details of verification failures may be returned and stored for further analysis or use.
  • Verification component 1020 allows for configuring each check as specified by a user, and may support activation or deactivation of each check as desired by a user. In one embodiment, all exceptions occur before the data in a backend system is changed by the invoice posting so that roll-back is not an issue until the invoice gets posted.
  • Embodiments of the present invention may include some or all of at least the following verification checks:
  • Invoice data is compared to a template that has been setup by the party receiving the invoice.
  • invoice and its context are checked to see if it contains all mandatory information. If invoice date, invoice amount and vendor name have been specified in the verification rules as mandatory, then if any one of these fields is blank, this check fails.
  • the information provided in the invoice does not conform to standards or does not exist in the system (e.g., a unit of measure should confirm to a standard, date is not in the correct format, a tax distribution is not as specified by the company, the vendor is new and does not exist in the system, PO number does not exist in company's system, the requisitioner is not an employee of the buying organization,
  • the incoming invoice and its context are compared with existing invoices.
  • the criteria for what fields are compared and whether an exact match or a fuzzy match is used may be configurable.
  • the system may initiate a predefined “approval” workflow, which may route the invoice to the cost center manager, for example.
  • the system cannot match the PO Line Item to the Invoice Line Item (e.g., the descriptions on line items of the invoice and the PO do not match).
  • Price comparisons may be done at the item level as well as total gross amount. Prices may be compared using a configurable tolerance factor specified as a percentage or absolute value rather than for exact equality (e.g., price in invoice must be within 2% of price in PO, or within $1 of expected price).
  • Quantity variance can occur when the invoice comes in before the goods are shipped, when the good are received but the GR clerk hasn't yet entered then into the system or when the goods are received but the quantity received does not match invoice quantity.
  • FIG. 11 is an example of an exception manager according to one embodiment of the present invention.
  • the exception manager component provides the ability to act on exceptions detected on incoming invoices by the invoice processor.
  • Invoice processor 1150 is coupled to exception store 1110 (e.g., an exception repository such as a database).
  • exception store 1110 stores information corresponding to exceptions. When verification of an invoice is unsuccessful, the invoice may be forwarded to exception store 1110 .
  • exceptions may be captured as cases stored in exception store 1110 , and actions taken to resolve an exception may be recorded under each case.
  • An example specification for one possible implementation of an exception store is provided below.
  • Exception manager 1120 provides tools for supporting exception resolution. In one embodiment, exception manager 1120 controls the work flow for resolving exceptions.
  • exception handling procedures controlled by exception manager 1120 may be customized by a user.
  • a user may specify the procedures for resolving an exception.
  • Such procedures may include specifying the individuals involved in resolving the exception, specifying routing procedures, specifying roles, specifying what data is to be retrieved, specifying how the data is to be retrieved, specifying alerts, specifying timeouts, specifying elevation criteria, specifying invoice approval criteria or rejection criteria, specifying rejection protocols or specifying fraud detection and prosecution protocols.
  • the exception manager may be role based (i.e., exception manager determines at least some of the users involved in a exception handling procedure). Moreover, in some embodiments the exception manager may determine how particular users are contacted (e.g., email, etc . . . ), when particular users are contacted (i.e., according to exception handling rules) and what information such users receive. Thus, embodiments of the present invention may include storing role information (e.g., exception handlers job information), communication information, exception routing rules or data filtering rules to facilitate more efficient exception handling.
  • role information e.g., exception handlers job information
  • exception manager 1120 provides an “Inbox” user interface.
  • the Inbox and the data retrieved and displayed in the Inbox may be automatically modified based on different user roles.
  • a user may select one invoice from a list and drill-down to see the invoice data and particular exception for the invoice of interest (e.g., header and line item information).
  • Context information such as purchase order, vendor, related invoices, goods receipt, contacts, attachments and case history are accessible either directly in the exception store or through a reference to another repository.
  • Exception manager 1120 may be coupled to an index database (not shown) to allow a user to search through invoices or to manually search for additional information about an invoice. Exception manager 1120 may also provide filtering for inbox management.
  • Exception manager 1120 may also support posting, deleting, editing and forwarding of invoices as required for exception handling, or the ability to email or chat with contacts concerning particular exception cases. Exception manager 1120 may further track the history of an invoice so different participants can gain a full understanding of the history of each case. In one embodiment, after an invoice is processed by the exception manager and the exception resolved, the invoice processor performs the verification on the invoice again. Dispute management component 1130 may be integrated into exception manager 1120 or operate as a stand alone component providing work flows and data access for resolving disputed invoices.
  • the system may highlight the fields that made the template check fail and allow the user to correct the invoice or forward the invoice to another contact for resolution.
  • the invoice is routed to the requisitioner through an email form.
  • the requisitioner can then attempt to fill up the data or send it back to the vendor or any other contact who might have this information.
  • the system may search the context information and provide suggestions to the user.
  • a work item is sent to the purchasing officers Inbox. He can then open the item, look at the invoice and its context, create the vendor and resolve the open item.
  • the original invoice and the duplicate invoice are displayed side by side to a user such as an AP clerk. He can then decide to reject or accept the new invoice. If he rejects the invoice an email is sent to the vendor with the complete context of the two invoices and their scanned images. The vendor can dispute this duplicate if needed.
  • the cost center of the requisitioner is checked and the invoices forwarded to his manager for approval.
  • the invoice is sent through email as an interactive form and authorization is through a digital signature.
  • the invoice line items and the PO line items are displayed side by side, and a user such as an AP clerk can select the appropriate line item in the invoice that matches the PO. If he cannot make this decision then he can forward this exception to the requisitioner for resolution.
  • a user such as an AP Clerk may change the PO pricing. If the price variance is above the limit then approval by an AP Manager may be needed before accepting Invoice. Limits may be configurable. If pricing in an invoice is not correct then allow the system to send the invoice back to the vendor.
  • the exception handler does not process this invoice for a certain number of days.
  • the number of days the system will “WAIT” may be configurable.
  • FIG. 12 is an example process flow for resolving an exception according to one embodiment of the present invention.
  • the present example illustrates the handling of a duplicate invoice.
  • a duplicate exception will typically occur when an invoice is received by a company from a vendor and entered into the invoice management system, and then another invoice is received with the same or substantially the same information (e.g., the same vendor bills twice for the same goods or services).
  • invoice data and context information for each invoice may be automatically compared against existing invoices to detect a duplicate (e.g., in an invoice processor during a verification as described above).
  • Embodiments of the present invention allow a user to configure the matching criteria used to detect duplicates. For example, a user may specify the particular portions (e.g., fields) of invoice data or context to be compared. A user may further specify whether exact matching is required or whether non-exact matching (e.g., “fuzzy”) matching is to be used to detect duplicates.
  • fuzzy non-exact matching
  • a user (“U 1 ”) employed by a vendor mails or faxes a paper invoice to the company buying the vendor's goods or services.
  • the company receives the invoice, and another user (“U 2 ”) may enter the invoice data into the system using an invoice entry software component.
  • invoice data in electronic form at 1201 B can be transmitted automatically to an invoice management system.
  • the invoice data is processed by the invoice management system.
  • the system detects a possible duplicate and sends a notice to U 2 or another user (“U 3 ”) employed by the company (e.g., in a different department) along with the invoice data, information from the context builder and suggested actions.
  • the notice may appear in an “Inbox” as described in more detail below.
  • U 2 may review the information and determine that it is in fact a duplicate.
  • U 2 may then quickly mark the duplicate for deletion and automatically transmit an electronic notification to U 1 .
  • the electronic notification may include some or all of the invoice data, invoice context information and an electronic form.
  • the electronic notification is received by U 1 (e.g., in an “Inbox”).
  • the information can be reviewed quickly and the duplicate can be confirmed or disputed quickly as shown at 1207 . If the duplicate is confirmed at 1209 , it may be routed to invoice management system at 1210 and automatically deleted with no further user interaction. If U 1 disputes that the invoice is a duplicate, a dispute signal may be sent to U 2 for further processing.
  • FIG. 13A is an example of a graphical user interface (“GUI”) 1300 A for managing invoice exceptions according to one embodiment of the present invention.
  • GUI graphical user interface
  • the present example illustrates a GUI that may be used for managing duplicate invoices, invoices with missing information or line item mismatches.
  • a variety of information stored in an invoice management system may be retrieved and presented to a user for efficient management of invoices.
  • a portion of GUI 1300 labeled “You are here” 1301 is used to display status categories and summary information (i.e., the number of invoices in a category) for invoices in the system.
  • Such information may include the number of invoices in an accounts payable inbox (“A/P Inbox”) 1302 , the number of blocked invoices 1303 , the number of invoices forwarded to a vendor 1304 , the number of invoices in dispute 1305 , the number of invoices cleared for payment 1306 and the number of deleted invoices 1307 .
  • A/P Inbox accounts payable inbox
  • Exceptions may be presented to a user in the form an “inbox” (i.e., an exception inbox) 1310 .
  • Exception inbox 1310 may include one or more rows each corresponding to an exception such as “Duplicate” 1311 indicating the existence of a potentially duplicative invoice, “Missing Information” 1312 indicating that an invoice has been received without certain information, and “Line Item Mismatch” 1313 indicating that one or more line items on the invoice (i.e., information about individual items purchased from the vendor) do not match up with line items in the invoice management system (e.g., information about individual items requested in a purchase order).
  • the exceptions may be color coded so that each exception is displayed in a different color.
  • a user may access and process an exception by selecting one of the exception row entries (e.g., by double-clicking on a row entry with a mouse).
  • Invoice data and context information may be displayed as fields (i.e., columns) for each exception in an Inbox.
  • the first field 1314 may indicate the type of exception.
  • Invoice data displayed with each exception may include the “source” of the invoice 1315 (e.g., Paper/OCR, Fax/OCR, EDI, XML), “invoice number” 1316 , “invoice date” 1317 , invoice “amount” 1318 , “vendor” 1319 and a “description” 1320 , for example.
  • Other invoice data or context information may also be displayed.
  • Inbox 1310 may include a display of summary information 1321 including the total number of invoices in the “inbox,” and the number of each type of exception.
  • Inbox 1310 may allow a user to enter a new invoice (e.g., using electronic button 1322 ), post invoices 1323 or delete invoices 1324 .
  • FIG. 13B is an example of a graphical user interface (“GUI”) 1300 B for managing duplicate invoice exceptions according to one embodiment of the present invention.
  • GUI graphical user interface
  • the invoice management system retrieves invoice data corresponding to both an original invoice and the duplicate (i.e., the new invoice).
  • the invoice data may be displayed together in a single GUI 1300 B.
  • the original invoice data 1325 B and the duplicate invoice data 1325 A are displayed side by side at 1326 A and 1326 B.
  • the data may be also displayed side by side in “invoice format” (i.e., displaying the invoice data using the same visual format as a paper invoice, wherein invoice data is divided into a plurality of groups and one group is displayed as entries and at least one other group is displayed in tabular form in a different portion of the display).
  • invoice format i.e., displaying the invoice data using the same visual format as a paper invoice, wherein invoice data is divided into a plurality of groups and one group is displayed as entries and at least one other group is displayed in tabular form in a different portion of the display.
  • the system may compare each invoice data field in invoice 1325 A to the corresponding field in invoice 1325 B. If the fields do not match, the system may flag those fields and highlight non-matching fields in the display, for example.
  • Invoice displays 1326 A and 1326 B may include incons 1399 A and 1399 B indicating the source of the invoice.
  • icon 1399 A may display a graphic indicating that the source of the invoice was a facsimile (i.e., “FAX”).
  • icon 1399 B may display a graphic indicating that the source of the invoice was electronic (e.g., an image of a computer).
  • invoice displays 1326 A and 1326 B may include the following invoice data grouped and displayed as entries in the upper portions 1327 A and 1327 B: invoice number, an accounting document number (“Acc.
  • invoice data posting date, vendor identification, customer name, customer address, customer phone number, customer fax, and the user's email.
  • the following invoice data is grouped and displayed side by side in tables 1328 A and 1328 B: “Description,” quantity or hours ordered, quantity or hours received, price or rate, and total for a plurality of line items.
  • invoice data is grouped and displayed side by side: payment mailing information 1329 A and 1329 B (e.g., the name, address, city, state, zip code, phone number and fax number of the vendor), the terms of payment 1330 A and 1330 B (e.g., “Net 30 ”), and tables 1331 A and 1331 B including subtotal, tax (if any), shipping costs, miscellaneous expenses and balance due.
  • payment mailing information 1329 A and 1329 B e.g., the name, address, city, state, zip code, phone number and fax number of the vendor
  • the terms of payment 1330 A and 1330 B e.g., “Net 30 ”
  • tables 1331 A and 1331 B including subtotal, tax (if any), shipping costs, miscellaneous expenses and balance due.
  • GUI 1300 B further includes features for retrieving and displaying other important information useful for streamlining the management and processing of invoices.
  • invoice management system may retrieve and display detailed invoice information, detailed line item information or an image of an invoice if a user selects “Detailed Invoice” 1333 A, “Detailed Line Items” 1333 B or “Scanned Invoice” 1333 C, respectively.
  • a user may also retrieve and display scanned invoices by selecting link 1332 A (“Compare Scanned Invoices”).
  • FIG. 13C illustrates scanned images of both the original invoice and the new invoice displayed side by side for comparison. If images are available, GUI 1300 C will replace the invoice data displayed in invoice format at 1326 A-B with the images as shown at 1326 A and 1326 B in FIG.
  • GUI 1300 B Easy one-click access to and comparison of the scanned invoices reduces the time required for analyzing and resolving duplicates.
  • a user may return to GUI 1300 B by selecting link 1332 B, which may display “Compare Invoices” for example.
  • FIG. 13D is an example of a graphical user interface (“GUI”) 1300 D that displays a detailed invoice view according to one embodiment of the present invention.
  • GUI graphical user interface
  • Detailed invoice view 1333 A may include all the information accessed and displayed in 1326 A or 1326 B ( FIG. 13B ) and further include documents relating to the invoice 1334 (“Other Documents”), an invoice log 1335 (“Invoice Log”), contact information and communication capabilities 1336 (“Contacts”) and notes associated with the invoice 1337 (“Notes”).
  • Invoice log 1335 may be used to track the event history of the invoice.
  • invoice log 1335 may include the date, event and name of the person involved in the event. This information is displayed at 1335 A.
  • “Other Documents” 1334 may include accessing a variety of documents relating to the invoice, such as a materials description 1334 A, a work description 1334 B or other related documents such as a contract pertaining to the invoice, for example. Since a variety of users may access the invoice during processing, different users may attach different relevant documents so that relevant documentation pertaining to the invoice is readily available for access and review through GUI 1300 D. Documents may be attached by typing in the name of the document at 1334 C or browsing the network and selecting particular files using the “Browse” feature 1334 D.
  • notes may be attached to the invoice by typing text into field 1337 A.
  • the text may be posted by selecting “post it” 1337 B, for example.
  • a list of notes may be displayed at 1337 C along with the date the note was posted (“Date”), the text (“Notes”) and an identification of the user who entered the note (“Entered By”).
  • an invoice management system includes an integrated communication system that allows different users to correspond about invoice issues. For example, a user may correspond with contacts automatically using “Contacts” 1336 . Additionally, a user may enter contact information corresponding to each invoice. For example, at 1336 A, a user may enter a contact's name or email or both. The contact is added to the system by selecting “Add Contacts” 1336 B. The contacts associated with the invoice are listed at 1336 C along with “Role” and name (i.e., “Contact”) fields. Roles may include vendor or company groups such as requisitioner, cost center manager, A/R manager, A/P manager or A/P clerk, for example. A user may correspond with a contact by creating a new email message, chat session or other electronic communication.
  • the user may either reject the alleged duplicate invoice by selecting “Reject Invoice” 1340 , allow the alleged duplicate to be posted by selecting “Posf” 1341 or by selecting “Park” 1342 (i.e., sending the invoice to a financial application as a “parked” invoice).
  • the IMS system automatically generates a notification and transmits the notification to the vendor.
  • a user may include a note to the vendor with the notification by entering text at 1343 .
  • FIG. 13E illustrates an example notification 1300 E received by a vendor.
  • GUI 1300 E includes an original invoice 1325 A with invoice data displayed at 1326 A.
  • GUI 1300 E also includes a potentially duplicative invoice 1325 B with corresponding invoice data displayed at 1326 B, which may be displayed side by side with the original invoice data as shown.
  • GUI 1300 E may further include a text message 1372 , which may include automatically generated text and/or user specified text entered as a note to the vendor at 1343 of FIG. 13B , for example.
  • the vendor may also be provided with the ability to automatically confirm or dispute the duplicate.
  • the notification may include an integrated response, such as “confirm” or “dispute.”
  • the notification is in the form of an email and GUI 1300 E is displayed by an email system.
  • the email system may receive an IMS Alert regarding the invoice with a subject line “IMS Alert: Duplicate Invoice,” for example.
  • IMS Alert Duplicate Invoice
  • a user opens the IMS Alert, invoice data and a text message may be displayed, and a confirmation response selector 1374 and dispute response selector 1375 may be presented to a user.
  • Response selection may be implemented using electronic buttons, menu items, links or equivalent techniques.
  • a user may confirm that invoice 1325 A is a duplicate by selecting “Delete Invoice” 1375 .
  • a response is automatically sent to the invoice management system, and the invoice is deleted.
  • a user may dispute that invoice 1325 A is a duplicate by selecting “Reject Duplicate” 1374 . In this case, a response will be automatically sent to the Inbox of a user at the company for further processing and resolution.
  • notification 1300 E includes images of the original invoice 1325 B and the alleged duplicate 1325 B.
  • FIG. 13F illustrates an example email notification 1300 E received by a vendor including an image of the original invoice displayed at 1326 B and an image of the alleged duplicate displayed at 1326 A.
  • FIG. 14 is another example process flow for resolving an exception according to another embodiment of the present invention.
  • the present example illustrates the handling of an invoice with missing or invalid information (together, “missing information”).
  • a user (“U 1 ”) employed by a vendor mails or faxes a paper invoice to the company buying the vendor's goods or services.
  • the company receives the invoice, and another user (“U 2 ”) may enter the invoice data into the system using an invoice entry software component.
  • invoice data in electronic form at 1401 B can be transmitted automatically to an invoice management system.
  • the invoice data is processed by the invoice management system.
  • invoice data is automatically populated when additional information about the invoice is retrieved (e.g., by the context builder) in order to reduce data entry.
  • the system detects missing information and automatically sends an electronic notification to U 1 notifying U 1 that the received invoice is missing data.
  • the electronic notification may include some or all of the invoice data, invoice context information and an electronic form.
  • the electronic notification is received in an inbox, such as an email inbox, for example.
  • U 1 updates the invoice data in the electronic notification at 1406 .
  • the system sends U 1 an electronic form that U 1 can complete or fill in online (e.g., an Adobe® form) and return to the system automatically.
  • the updated invoice data is returned to the system and reanalyzed automatically. If information is still missing, the invoice may be rerouted through the process. If the data is complete, the invoice may be posted automatically at 1408 .
  • an invoice management system may send notifications to different users within the company to resolve the exception.
  • the invoice management system may send a notification to a requisitioner if requisition information is available.
  • the requisitioner may receive an electronic form, for example, and update the invoice data and return the updated information to the system automatically.
  • the requisitioner may forward the notification to the vendor or other users in the company (e.g., in other departments).
  • vendor information if vendor information is not available, an exception is set to a user in the company (e.g., a purchasing officer). The user may examine the invoice data and context, assign a vendor and resolve the exception, or forward the notification to another user more likely to have the required information.
  • an interactive form may be sent to the requisitioner as a notification (e.g., email).
  • the requisitioner may then correct the purchase order number or forward the exception to the vendor for resolution.
  • GUI 1500 A may include a message 1501 indicating that the posting failed and the system automatically generated a notification to the vendor. Additionally, invoice data may be displayed, and missing invoice data fields (e.g., purchase order number 1510 and requisitioner 1511 ) may be highlighted.
  • missing invoice data fields e.g., purchase order number 1510 and requisitioner 1511
  • FIG. 15B illustrates a notification according to one embodiment of the present invention.
  • the notification may be presented to a user in GUI 1500 B.
  • GUI 1500 B includes invoice data 1501 and message 1502 .
  • Invoice data may be presented as a fillable document (i.e., an electronic form that may fields for receiving and storing input data or text)
  • the missing invoice data fields are purchase order number (“PO”) and requisitioner.
  • a fillable form may include one or more fields for receiving the missing invoice data from a user-vendor. If the user desires more information about the invoice, the user may select link 1504 , which may retrieve and present additional information about the invoice including images, for example.
  • the vendor may also be provided with the ability to automatically return the updated invoice information to the invoice management system.
  • the notification may include an integrated response, such as “Send Updated Invoice.” Response selection may be implemented using electronic buttons, menu items, links or equivalent techniques.
  • the notification is in the form of an email and GUI 1500 B is displayed by an email system.
  • the email system may receive an IMS email notification regarding the invoice with a subject line including “IMS invoice: important information missing,” for example.
  • FIG. 16 is another example process flow for resolving an exception according to another embodiment of the present invention.
  • the present example illustrates the handling of an invoice requiring approval before the invoice can be posted. For example, if an invoice has not associated purchase order, payment may require that one or more employees of a company approve the invoice.
  • the present invention streamlines this process, which can be very slow and time consuming when implemented in paper based or non-integrated systems.
  • invoice data may be received electronically or in paper form and processed by the invoice management system at 1601 A-B and 1603 .
  • invoice data is automatically populated when additional information about the invoice is retrieved (e.g., by the context builder). Autopopulated data may include account information and the person with approval authority, such as a cost center manager, for example.
  • the system may determine that approval is required (e.g., no purchase order). When an approval is required the system automatically sends an electronic notification to a company employee for approval at 1605 .
  • the system may also create an exception, which may appear in the Inbox of a user in another department (e.g., accounts payable) for tracking the status of the invoice.
  • the electronic notification may include some or all of the invoice data, invoice context information and an electronic form. Additionally, the system may store information indicating that the invoice is blocked until approval is obtained.
  • the invoice is approved or rejected. If the invoice is rejected, the invoice data is updated to indicate the rejection. The invoice may then be automatically routed to another user at 1607 to resolve the exception with the vendor.
  • the vendor may also automatically receive a notification of the rejection at 1608 . If the invoice is approved at 1606 , the invoice is automatically posted at 1609 .
  • FIG. 17A is an example of a graphical user interface 1700 A for managing invoices according to another embodiment of the present invention.
  • Invoices may be “blocked” from payment and displayed to a user in response to selection of “Blocked Invoices” 1701 .
  • Blocked invoices may include invoices that require approval 1710 , invoices where no corresponding goods were ever received by the company (i.e., “Missing G/R”) 1711 or invoices where no services were ever received by the company (i.e., missing service entry, “Missing S/E”) 1712 .
  • Invoice data that may be retrieved by the system and presented to a user may include the exception causing the block at column 1721 (e.g., approval, missing G/R, missing S/E), the number of days the invoice has been blocked at 1722 , the current owner (e.g., the person who's approval is required or who is researching the missing goods or services) at 1723 , the invoice number at 1724 , the payment date at 1725 , the amount due at 1727 , vendor information at 1728 and a description at 1729 .
  • the exception causing the block at column 1721 e.g., approval, missing G/R, missing S/E
  • the current owner e.g., the person who's approval is required or who is researching the missing goods or services
  • FIG. 17B is an example of a detailed view of the blocked invoice that may be presented to a user in GUI 1700 B.
  • invoice data may be retrieved by invoice management system and presented: invoice number, account document (“Acc.
  • the system may further retrieve and display the name of the person responsible for the approval.
  • a user may review the detailed invoice data and decide to send a reminder notification to person responsible for the approval by selecting reminder option 1730 .
  • a user may include a note with the reminder by entering text into text field 1731 .
  • the original approval notification generated by the IMS system and/or the reminder notification may include an electronic approval wherein the person responsible may approve the invoice electronically by a mouse click or by entering text.
  • the notification is an email including invoice data and an electronic signature (i.e., a digital signature).
  • FIG. 17C is an example of an Adobe® form that may be included with an approval notification.
  • Adobe® form 1700 C displays the invoice data in invoice format for easy review, and further provides an electronic signature input 1750 .
  • a user may approve the invoice by entering an electronic signature in field 1751 and mouse clicking “Submit Invoice” 1752 , for example.
  • FIG. 18 is an example process flow for resolving a line item mismatch exception according to another embodiment of the present invention.
  • a line item mismatch may occur when the invoice line item field does not match a purchase order line item field. For example, if an invoice line item description field does not match a purchase order line item description field during IMS processing at 1803 , a line item mismatch may occur at 1804 .
  • IMS sends a line item mismatch notification to a user (“U 1 ”) within the company, such as a user in accounts payable, and may send a notification to a user (“U 2 ”) at the vendor at 1805 B.
  • U 1 or U 2 can resolve the problem electronically at 1806 (e.g., if the vendor determines that the description is erroneous or if U 1 can fix the problem by matching PO line items to invoice line items), then the invoice is automatically sent back to the IMS for further processing at 1809 and automatically posted at 1810 . If the problem cannot be resolved, a notification is sent to another user (“U 3 ”) at 1807 who has more information about the invoice and it's line item descriptions (e.g., the requisitioner). The invoice is resolved at 1808 and returned to the IMS for further processing.
  • U 3 another user
  • FIG. 19 is an example process flow for resolving missing goods received or services received (i.e., “Missing G/IR” or “Missing S/E”) exceptions according to another embodiment of the present invention.
  • the invoice is received at 1901 and processed at 1902 .
  • a missing goods received or missing services received exception is detected by the invoice management system at 1903 .
  • IMS when IMS detects a Missing G/R, it may automatically wait for a specified amount of time at 1904 (e.g., in case the invoice is received before the goods or services are provided). If the goods or services are received and entered at 1905 into the system within the specified time period, the IMS continues processing the invoice at 1911 and automatically posts the invoice at 1912 without human intervention.
  • the system will send a notification to a user (“U 1 ”) (e.g., in the receiving department) at 1906 .
  • the IMS may again automatically wait for another specified amount of time at 1907 . If the goods or services are received and entered at 1908 , IMS processing may continue. If the goods or services are not received with the second time period, the system may escalate by sending a notification to another user (“U 2 ”), such as a requisitioner at 1909 .
  • U 2 may then directly resolve the issue at 1910 by corresponding with the vendor or through other electronic or non-electronic means and release the invoice for further processing.
  • the exception pool may include a table BBPD_IMS_EXPPOOL, which is the exception pool that contains exceptions related to invoices. This table may be used as the core table for exception processing. There may also be other tables that contain useful information.
  • Table BBPD_IMS_EXPPOOL has the following structure: TABLE 19 (1) Column(s) of “BBPD_IMS_EXPPOOL” Table Null Name Datatype Option Comment MANDT MANDT NOT Client Specific NULL ID IMS_GUID NOT Auto generated ID that NULL uniquely identifies the exception .
  • BBPS_IMS_INVOICE_EXCEPTION (2) Primary Key Column(s) of “BBPD_IMS_EXPPOOL”
  • Table Name Comments MANDT ID (3) Index(s) of “ BBPD_IMS_EXPPOOL” Table Name Unique ID Yes INVOICE_ID No TYPE No INBOX_ID No STATUS No
  • the exception pool may include a Lock Object table E_IMS_EXC, which is lock object for synchronization of the exception pool. TABLE 20 Name E_IMS_EXC Description Lock object for synchronization of exception pool. Primary Table BBPD_IMS_EXPPOOL Lock Parameters Name Table Field MANDT BBPD_IMS_EXPPOOL MANDT ID BBPD_IMS_EXPPOOL ID
  • the exception pool may include a Table BBPD_IMS_EXPREF, which is a reference to another item such as a PO, Invoice or context. These items could either reside in a reference pool or the invoice pool. There may be multiple reference items for an exception. TABLE 21 Column(s) of “BBPD_IMS_EXPREF” Table Name Datatype Null Option Comment MANDT MANDT NOT NULL Client Specific ID IMS_GUID NOT NULL Internal Reference ID that uniquely identifies a reference to an exception.
  • the exception pool may include a plurality of Agent Application Program Interfaces (“APIs”) that allow external access for retrieving exceptions, searching exceptions, modifying exceptions or adding exceptions. For example, a user may retrieve an exception according to the input exception ID. References related to the exception will also be retrieved. A warning embedded in an export parameter E_RET may indicate that the exception with the specified ID does not exist.
  • APIs Agent Application Program Interfaces
  • the exception pool may include an Agent API that searches for exceptions with specified field values. References related to these exceptions are also retrieved.
  • a user inputs an IS_INVOICE_EXCEPTION_UI structure, whose fields specify the searching criteria. An empty field implies that there're no requirements for this field. If no records satisfy those criteria an empty export parameter ET_INVOICE_EXCEPTION would be returned.
  • the exception pool may include an Agent API that modifies the exception specified by the input parameter IS_INVOICE_EXCEPTION_UI's ID field. If the input parameter's fields are empty, such fields would not influence the exception pool. All the references related to the specified exception will be deleted first, and new references will be created according to the REFERENCES field of the input parameter. Redundant fields in the reference pool may be set with the values contained in IS_INVOICE_EXCEPTION_UI itself, rather than the attached REFERENCES. This measure may be used to keep the consistency between the BBPD_IMS_EXPPOOL and BBPD_IMS_EXPREF database tables.
  • the exception pool may include an Agent API that adds an exception reference. Redundant fields such as EXP_ID and INV_ID may be set according to the related exception, rather than the fields of the input I_EXPREF. This may be used as another measure to keep the consistent of IMS_INVEXP and IMS_EXPREF tables. TABLE 25 Name Data Type Input Parameter(s) IV_EXCEPTION_ID IMS_GUID IS_EXCEPTION_REFERENCE BBPS_IMS_EXCEPTION — REFERENCE Output Parameter(s) ES_RETURN BAPIRETURN Related table(s) BBPD_IMS_EXPREF
  • Embodiments of the present invention may include a search engine to support invoice information retrieval.
  • Techniques that may be used to search for information are disclosed in U.S. patent application Ser. No. 10/789,426, entitled “Fast Aggregation of Compressed Data Using Full Table Scans,” filed Feb. 27, 2004 by Stefan Biedenstein et al., the contents of which is hereby incorporated herein by reference in its entirety. Additional techniques that may be used to search for information are disclosed in U.S. patent application Ser. No. 10/789,812, entitled “Merging Partial Results into Single Result,” filed Feb. 27, 2004 by Jens-Peter Dittrich et al., the contents of which is hereby incorporated herein by reference in its entirety.
  • an invoice management system may include some or all of the innovative features described above.
  • one embodiment of an invoice management system may be advantageously implemented as a stand-alone software system, features and advantages of the present invention may also be obtained by incorporating the methods and/or software systems defined by the following claims as part of one or more existing systems.

Abstract

Embodiments of the present invention include architectures and methods for automated management of invoices. Embodiments of the present invention may include techniques for receiving and unifying invoice data, retrieving information about each invoice, verifying each invoice and resolving invoice exceptions. The present invention includes software components for efficiently processing invoices. In other embodiments, the present invention includes methods of processing an invoice.

Description

    BACKGROUND
  • The present invention relates to data processing and data management, and in particular, to a system and method for automated management and verification of invoices and data associated with invoices.
  • When two entities engage in a business transaction, an invoice is typically generated to capture and memorialize important information about the transaction. For example, an invoice commonly includes a list of goods delivered or services performed, with corresponding prices, quantities, descriptions and charges. As a company grows, keeping track of invoices from suppliers of goods or services (i.e., vendors) can quickly become a difficult task. Different departments within a company may use hundreds or even thousands of different vendors. Furthermore, vendors may send their invoices to different people across the company. Many companies typically have internal or external departments for receiving and processing invoices, but the employees in such departments may have very little information about the nature of the transaction leading to the invoice. Thus, tracking and promptly paying valid invoices, and detecting and correcting erroneous or fraudulent invoices, is a major problem facing today's business community.
  • To manage and track the flow of invoices, companies often require vendors to associate additional information with each invoice such as a purchase order number, information about which business unit in the company ordered the goods or services, and various tracking and/or reference numbers. Additionally, vendors typically include their name, address and various reference and tracking numbers of their own on their invoices. However, one problem that arises is that the information provided on different invoices can vary drastically from vendor to vendor. Moreover, even if the same information is provided across all vendors, the “format” of the information may be different. For example, the format of the invoice document itself may “look” different because different information is presented in different physical portions of each invoice. As another example, a vendor based in the United States may bill in U.S. Dollars while a vendor based in Germany may bill in Euros. Other problems commonly associated with invoice processing include processing multiple invoices sent by the same vendor for the same job or processing invoices with missing or invalid information, to name just a few. As the size of an organization grows, processing invoices with these and other problems can become economically burdensome because of the increased difficulty for accurate and efficient human processing of invoices.
  • FIG. 1 is an example of one common approach to automated invoice processing. Typical invoice processing is user-centric, often starting with a user entering data from a vendor's paper invoice 101 into a computer software invoice system 102. Data associated with or relating to an invoice that is stored or processed electronically is referred to herein as “invoice data” (e.g., structured or unstructured data or other electronic information). Once the user has entered invoice data into the system, the program may cross reference a purchase order number against an expected purchase order number. If the purchase order on the incoming invoice does not match exactly with an existing purchase order, the system may indicate that an erroneous invoice has been received. Erroneous invoices are referred to as “exceptions,” and typically initiate a manual exception handling process 103. The manual exception handling process may require a company employee to call the vendor at 104 to determine which purchase order corresponds to the particular invoice. Alternatively, the manual exception handling process may require a user to acquire signature authorizations at 105 if, for example, no purchase order was ever assigned to the goods or services received from the vendor.
  • However, existing user-centric invoice management systems are expensive and highly susceptible to errors. As the number of invoices processed by a company grows, the necessary human interaction may require hundreds or even thousands of employees to manually enter paper invoices and handle exceptions and further processing. Additionally, because human invoice processors are often far removed from direct interaction with the vendor, such individuals are more likely to make a number of different mistakes including overlooking invalid or erroneous invoice data, paying out the same invoice two or more times (i.e., paying on duplicates) or paying out the wrong amount, to name just a few. These and other mistakes and inefficiencies in processing invoices can become very expensive as a company grows.
  • Thus, there is a need for a system that can process invoices in a way that will improve the efficiency, speed and accuracy of invoice processing over existing techniques. The present invention solves these and other problems by providing an invoice processing system and method for automated management and verification of invoices and the data associated with the invoices.
  • SUMMARY
  • Embodiments of the present invention include architectures and methods for automated management of invoices. Embodiments of the present invention may include techniques for receiving and unifying invoice data, retrieving context information about each invoice, verifying each invoice and resolving invoice exceptions. The present invention includes software components for efficiently processing invoices. In other embodiments, the present invention includes methods of processing an invoice.
  • In one embodiment, the present invention includes an invoice management system comprising a unification software component for receiving invoice data from a plurality of different sources in a plurality of different formats and transforming the invoice data into a common format, an invoice data repository for storing the transformed invoice data, a context builder for automatically retrieving additional information corresponding to the invoice data, an invoice processor for verifying each invoice according to a plurality of rules, and an exception manager for processing each unsuccessfully verified invoice. The invoice management system may further include a index database for performing searches.
  • In one embodiment, the present invention includes a method of processing invoices comprising storing invoice data corresponding to a plurality of invoices in a repository, automatically searching a plurality of systems for information corresponding to each invoice, and automatically performing a plurality of verification checks on each invoice.
  • In one embodiment, the present invention includes a method of processing invoices comprising storing invoice data corresponding to a plurality of invoices in a repository, automatically performing a plurality of verification checks on each invoice, creating an exception when at least one of the invoices fails at least one of the verification checks, and processing the exception in accordance with one of a plurality of exception handling procedures.
  • In one embodiment, the present invention includes a method of processing invoices comprising receiving invoice data from a plurality of different sources in a plurality of different formats, transforming the invoice data into a common format, storing the transformed invoice data in a repository as an invoice, automatically retrieving additional information corresponding to the invoice, and automatically verifying the invoice using a plurality of rules, wherein if the invoice is verified the invoice is automatically posted, and if the invoice data is not verified an electronic exception case is created.
  • The following detailed description and accompanying drawings provide a better understanding of the nature and advantages of the present invention.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is an example of one common approach to automated invoice processing.
  • FIG. 2A-B illustrate an architecture for an invoice management system according to one embodiment of the present invention.
  • FIG. 3 illustrates a method of processing an invoice according to one embodiment of the present invention.
  • FIG. 4 is an example of gathering additional information corresponding to the invoice data according to another embodiment of the present invention.
  • FIG. 5 illustrates a method verifying an invoice according to another embodiment of the present invention.
  • FIG. 6 illustrates a method of resolving an exception according to another embodiment of the present invention.
  • FIG. 7 illustrates an invoice management system according to another embodiment of the present invention.
  • FIG. 8 is an example of a unifier according to one embodiment of the present invention.
  • FIG. 9 is an example of a context builder according to one embodiment of the present invention.
  • FIG. 10 is an example of an invoice processor according to one embodiment of the present invention.
  • FIG. 11 is an example of an exception manager according to one embodiment of the present invention.
  • FIG. 12 is an example process flow for resolving an exception according to one embodiment of the present invention.
  • FIG. 13A-F are examples of a graphical user interfaces for managing invoice exceptions according to one embodiment of the present invention.
  • FIG. 14 is another example process flow for resolving an exception according to another embodiment of the present invention.
  • FIG. 15A-B are examples of graphical user interfaces presented for a missing information exception according to another embodiment of the present invention.
  • FIG. 16 is another example process flow for resolving an exception according to another embodiment of the present invention.
  • FIG. 17A-C are examples of information that may be retrieved and presented to a user while processing blocked invoices according to another embodiment of the present invention.
  • FIG. 18 is another example process flow for resolving a line item mismatch exception according to another embodiment of the present invention.
  • FIG. 19 is another example process flow for resolving a missing goods received exception according to another embodiment of the present invention.
  • DETAILED DESCRIPTION
  • Described herein are techniques for managing, verifying and otherwise processing invoice data. In the following description, for purposes of explanation, numerous examples and specific details are set forth in order to provide a thorough understanding of the present invention. It will be evident, however, to one skilled in the art that the present invention as defined by the claims may include some or all of the features in these examples alone or in combination with other features described below, and may further include obvious modifications and equivalents of the features and concepts described herein.
  • Embodiments of the present invention include a software architecture for managing and verifying invoice data. FIG. 2A illustrates an architecture for an invoice management system 210 according to one embodiment of the present invention. Invoices and their associated data are received from multiple distinct sources 200A-200E in different formats. For example, invoices may be received in paper form through traditional channels such as through the postal system, or electronically through a variety of channels such as a web portal, email, or facsimile. If invoices are received in paper or other non-electronic form, an optical character recognizer (“OCR”) may be used to translate the data from the paper invoice into electronic form, for example.
  • Because the present invention allows invoices to be received from different sources, the incoming invoice data is typically received in different formats. For example, invoice data may be received as email text, Adobe® “.pdf” files, text documents, images, extended markup language (“XML”), electronic data interchange (“EDI”) or other structured or unstructured, standard or non-standard formats. According to one embodiment of the present invention, invoice management system 210 may include a unification engine 211 that transforms the incoming invoice data into a common format. The step of transforming the incoming structured and/or unstructured invoice data into a common format is sometimes referred to as a “normalization” step. The normalized invoice data may then be stored in an invoice data repository 212 for centralized access and management. In one embodiment, the invoice data is stored in an XML format, which may have a predefined schema (e.g., EBPXML). Of course, other formats could be used. For example, invoices may be stored in table form using relational databases. In other embodiments, invoices may be stored and/or processed as objects (i.e., invoice objects). Invoices may further include references to relevant information stored as tables or objects in other systems (i.e., context).
  • One problem associated with invoice management and processing is that it is often difficult to effectively process an invoice based solely on the invoice data received from the vendor. Furthermore, the invoice data received from a vendor is often incomplete, incorrect or outright fraudulent. In one embodiment, invoice management system 210 includes a context builder 214 coupled to invoice data repository 212. Context builder 214 may be used to automatically gather additional information corresponding to each invoice, so that each invoice may be processed faster and more efficiently. Context builder 214 may access other data sources both inside and outside the company to gather additional information corresponding to an invoice. For example, context builder 214 may access data in other software systems or applications such as an inventory application 220 or purchasing application 221. Furthermore, context builder 214 may access other structured or unstructured data from other data sources such as network servers, local computers, document repositories or document management systems (to name just a few) to gather information about purchase orders, goods received, business partners, general ledger, contracts and contacts. In one embodiment, context builder 214 may allow users or administrators to specify what other sources or types of additional information may be beneficial for processing invoices (as opposed to programmers). Accordingly, relevant data may be gathered by context builder 214 and used to augment incoming invoice data with relevant context so that the invoice may be processed more efficiently. For example, in one embodiment context builder 214 automatically populates invoice data fields in order to reduce or eliminate data entry by a human user. Additional features and functionality may be incorporated into context builder 214 as described below.
  • Invoice management system 210 further includes an invoice processor software component 213 coupled to both invoice data repository 212 and context builder 214. Invoice processor 213 may use data from invoice data repository 212 and the data gathered by context builder 214 to automatically verify the invoice data. For example, invoice processor may perform checks for duplicate invoices, errors & omissions, fraud, and routing errors. If the invoice data is verified successfully, the invoice data may be posted in a financial application 250, for example. However, if the invoice data is not verified, an exception manager 215 may be invoked to report problems to relevant personnel and control the resolution of the problem.
  • In one embodiment, exception handler 215 provides functionality to control the processing of invoice exceptions and may further facilitate collaborative resolution of invoice problems. One advantage of the present embodiment is that exception handler 215 may act as a single point for capturing and processing of exceptions and for automating the dispute resolution process using collaborative tools. For example, in one embodiment all exceptions are stored in an exception repository (not shown) for centralized management and an “exception case” may be created by the system. The system may intelligently forward the exception case to different individuals in the company or external individuals if a particular individual's participation is necessary for resolution of the exception. The information transferred between individuals may be intelligently controlled so that each individual only receives the information necessary for solving particular problems. For example, exception manager 215 may forward information about the exception to users in different groups in company 230 such as accounts payable 230A, purchasing 230B, requisitions (“REQ”) 230C, cost center management (“CCM”) 230D or goods received (“G/R,” e.g., a manufacturing facility) 230E if the participation of employees in those groups is required to resolve the issue. Exception manager 215 provides flexible automated collaboration between such users and the vendors associated with each invoice. For example, in one embodiment exception manager 215 manages notifications pertaining to exceptions between one or more employees in the company 230 and employees at a vendor 240. Vendor 240 may receive invoice information corresponding to an exception case from a user over email along with comments and an optional interactive form. Vendor 240 may then dispute the exception (e.g., if the exception pertains to a duplicate or fraudulent invoice), confirm the exception or provide additional information via the interactive form, for example. Once the exception is resolved, the exception case is closed and the invoice data may be posted.
  • Invoice management system 210 may further include a search engine including, for example, a search index 216 that may be accessed by invoice processor 213, context builder 214 and exception manager 215. Invoice processor may use search engine capabilities to access the search index to search for invoice information in the same system or other systems. For example, an index of processed invoices may be maintained, and a search through the index may be made as new invoices enter the system (e.g., for duplicate detection). The index may be a combined subset of multiple database tables that includes a variety of invoice data. Simple checks for the same date or same amount may be performed by a simple database search. However, more complex searches such as “similarity searches” may be performed to find invoice data or context for an invoice. In one embodiment, information may be retrieved using similarity search techniques disclosed in commonly-owned concurrently filed U.S. Patent Application Ser. No. ______ (Attorney Docket No. 000005-000400US; SAP Docket No. 2004P00889 US) entitled “Information Retrieval Method with Efficient Similarity Search Capability,” naming Alexandru M. Caracas, Tobias Niekamp and Sascha H. Schmitt as inventors, the contents of which is hereby incorporated herein by reference in its entirety. Context builder 214 may access the search index 216 for searching for additional information about the invoice. Finally, exception manager 215 may access the search index to allow users to search exception cases or context as described below. Search functionality may also be supplied to users during exception management.
  • Invoice management system 210 may further include an integration layer as shown in FIG. 2B. Integration layer 260 may include one or more code modules that interface with other systems or people that are involved in invoice processing. Integration layer 260 enables the system to exchange data (e.g., posting, accessing context or parking) and perform actions such as sending confirmations, requesting input, obtaining authorizations or running invoice queries to name just a few. Integration layer 260 includes software components that allow invoice management system 210 to provide communications (e.g., email) between internal company employees 261. Integration layer 260 may also support electronic communication with and access to information in other software systems and applications 262. Finally, integration layer 260 includes software components that allow invoice management system 210 to provide communications (e.g., email) between internal company employees 261 and vendor employees 263.
  • FIG. 3 illustrates a method of processing an invoice according to one embodiment of the present invention. At 310, invoice data is received from different sources and typically in different formats. For example, the invoices may be received in XML, EDI, IDOC or an OCR format. At 320, the invoice data is transformed into a common format. At 330, the transformed invoice data is stored in a repository. In one embodiment, the invoice data is stored in an XML format, which may have a predefined schema (e.g., EBPXML). Of course, other formats could be used. At 340, the system automatically retrieves context information corresponding to each invoice. In one embodiment, invoice data is automatically populated when additional information about the invoice is retrieved. At 350, the invoice data is automatically verified. If the invoice data passes verification at 360, the verified invoice data is posted. If the invoice data does not pass verification, an exception is automatically created and one or more users are notified at 370.
  • FIG. 4 is an example of retrieving context information corresponding to the invoice data according to one embodiment of the present invention. At 410, a search index is created so that relevant information corresponding to invoice data (i.e., context) may be accessed. Examples of context information that may be used to augment invoice data may include purchase order, purchase order history, goods received, services rendered, requisitions, shipping notices, delivery notices, contracts, business partner information, contact information and related information. Context information may further include vendor master data such as the vendor's name, address, phone numbers, fax numbers and bank information, for example. Context information may be accessed using an index repository for accessing the information remotely, for example. Alternatively, the context information may be stored directly in a context repository or stored in the invoice data repository if the information is used to automatically populate invoice data fields. In the present example, the existence of a purchase order (“PO”) is determined prior to retrieval, which is advantageous but not necessary. For example, at 420 invoice data may be retrieved from the invoice data repository. At 430, the system checks to see if the invoice is based on a purchase order. If an invoice is based on a purchase order, the system will determine whether or not the purchase order is included in the invoice data at 440. If no purchase order number is included in the invoice data, the system will automatically search for possible purchase order histories at 450, and an exception case is created at 452. The exception is stored with a list of possible purchase order histories in an exception repository for ultimate resolution by a user at 454. If the invoice data includes a purchase order, the purchase order history is retrieved at 442. Further information such as contact data and vendor master data may also be retrieved at 460 and 470. At 480, the retrieved data is associated with the invoice data (i.e., a “context” is built) to help users resolve exceptions should they occur. At 490, the context may be stored in a context repository.
  • FIG. 5 illustrates a method verifying an invoice according to another embodiment of the present invention. At 501, invoice data is retrieved from the invoice data repository. Context information may also be retrieved. One advantage of this embodiment is that an invoice will be automatically posted without user intervention if the system can verify that the invoice data meets numerous predefined criteria. For example, the system may use the invoice data to perform a template check 502, a missing data check 503, an invalid data check 504, a duplicate invoice check 505, a non-purchase order check 506, a line item mismatch check 507, a price variance check 508 and a quantity variance check 509. Other verifications may also be included such as an authorization check, missing goods received (“GR”) check and/or a missing service entry (“SE”) check. If all of the invoice data is verified, then that invoice is posted at 510. If any of the checks are not successful, then an exception is created at 520. The exception may be stored in an exception repository at 521 for later access by a user.
  • FIG. 6 illustrates a method of resolving an exception according to another embodiment of the present invention. At 601, the data associated with the exception is retrieved from an exception repository. At 602, a case management entry may be created to facilitate automated tracking of each exception. In some embodiments, the case management entry may be created by the invoice processor when an invoice fails a verification check and the exception is created (i.e., prior to step 601). At 603, one of a plurality of different exception work flows (i.e., exception handling procedures) may be initiated to resolve the exception. Embodiments of the present invention may include a variety of different exception work flows. In one embodiment, different work flows may be started based on the type of error that triggered the exception. In other words, the particular exception handling procedure initiated by the system may be based on the particular verification check that the invoice failed. For example, a failed duplicates check may lead to a different work flow than a failed template check or failed missing data check. These exception work flows may require collaboration with other involved parties, such as one or more of the vendor's employees or one or more of the company's employees. Exception work flows may also be role based so that the system controls who is contacted to resolve different types of problems. Additionally, the system may control how users are contacted (e.g., over email, through a web portal or through an “Inbox” described below). Moreover, the system may control the information each user receives. Some exceptions may require only a subset of the invoice data for resolution. The information may be filtered based on the type of exception or the role of the user (i.e., some users may not require certain invoice data to resolve an exception). At 604, the system determines whether or not the exception was resolved. If the exception is not resolved, case information is updated (e.g., in the case management database) at 650. At 606, the exception may be escalated for further processing (e.g., by alternate work flows or human intervention). If the exception was resolved, the case information is updated at 607 and the invoice data repository is updated at 608 with information obtained as a result of the exception work flow. At 609, the invoice verification may be restarted. Alternatively, if the verification process detects multiple invoice errors, multiple exceptions may be processed and resolved in parallel.
  • FIG. 7 illustrates an invoice management system 700 according to another embodiment of the present invention. Invoice management system 700 (“IMS”) includes a unifier 710, invoice data repository 720, context builder 730, IMS portal 740 (e.g., a web based interface), invoice processor 750 (sometimes referred to as a “preprocessor” because it is performing the processing prior to posting), exception manager 760, STORE 770 (which may represent a plurality of different databases used by the IMS for different purposes), and an integration platform 780. Invoices may be received electronically from a supplier portal 701A (e.g., a specific portal for registered vendors), paper invoices 701B (e.g., invoices that have been processed by an optical character recognizer 701C), an EDI or XML feed 701D, IMS invoicing 701E (e.g., a manual entry component of the IMS), or a backend retrieval system 701F (e.g., a component that retrieves the invoice data from other proprietary systems). Unifier 710 receives incoming invoice data from a plurality of different sources and in a plurality of different formats and transforms the data into a common format. The transformed invoice data is then stored in invoice pool 720 (e.g., an invoice repository). Context builder 730 automatically retrieves additional information corresponding to each invoice. Context builder 730 may associate a category, references, contacts, contracts or histories with each invoice data entry. Invoice processor 750 automatically verifies each invoice. For example, invoice processor may perform checks for duplicates, fraud or a variety of other checks including those disclosed above and shown in FIG. 5. Invoice processor 750 then forwards the invoice for further processing including posting the invoice if the invoice passes verification or creating an exception if the invoice fails verification and triggers an exception. Exception manager 760 automatically manages exceptions. Integration platform 780 allows the IMS system to interface with other software systems, such as a backend posting system 790 or third party financial or related legacy systems (not shown), and provides for communications between individuals using email, for example.
  • FIG. 8 is an example of a unifier according to one embodiment of the present invention. Unifier 800 converts different incoming invoice data formats into one common format and stores the data in invoice repository (i.e., invoice pool) 820 for use in later processing steps. In one embodiment, invoice repository may be used as a temporary storage area for queuing invoice data prior to verification in the invoice processor. Unifier 800 may include different software components (i.e., receiver modules) for receiving data from different sources (e.g., external sources). Receiver modules may include software for receiving invoices from an optical character recognizer (“OCR”) 801, XML 802, Portal 803, EDI 804 and other components for receiving data from other sources represented by module 805 (“other”), which may include customizable receiver modules that may be created and customized dynamically to meet different user requirements. Unifier 800 may further include a transformation engine 810 for transforming the invoice data into a common format. Alternatively, each receiver may be responsible for applying the appropriate transformation and produce invoice data in the preferred common format, which is then stored in the invoice pool 820. In one embodiment, if a received input data is incorrect and cannot be transformed by the corresponding receiver, then error messages are generated and the input is ignored. On the other hand, if the input is successfully transformed, then an acknowledgement may be generated indicating that the input was received and is pending verification. Additionally, embodiments of the present invention may log the status of each received invoice to support status checking.
  • FIG. 9 is an example of a context builder according to one embodiment of the present invention. Context builder 900 provides additional information to invoice processor 910 and exception manager (not shown) that is relevant to verification and exception resolution. The context builder may access a variety of other systems including backend systems. Context builder 900 includes a configuration software component 901, a template manager software component 902, and a reference builder software component 903. The context builder may include, or be coupled to, an index database 904 for accessing context information. Configuration 901 may indicate to the IMS system what other systems to access, how to access such systems and what information to retrieve. For example, configuration component 901 may include information about what other systems are available within a company for accessing context (e.g., an employee database, vendor database or financial application to name just a few possibilities). Configuration component 901 maintains certain information that may be required in order to gain access to the information in these other systems, such as security information, passwords, user ID, addresses or related information. Configuration component 901 may also control what information needs to be retrieved from each system. Reference builder 903 accesses configuration component 901 and builds an index database 904 for accessing the context information.
  • Exemplary context information may include document context, organizational context and people context. Document context may include the purchase order associated with an invoice, the requisition upon which the purchase order was based, the blanket order (e.g., a contract) that the purchase order refers to or relates to, goods receipts associated with the invoice, service confirmations, payment information for invoices that have been posted, prior invoices for the purchase order associated with the invoice, advanced shipment notifications associated with the invoice, bills of lading for goods received or links to scanned versions of all such structured or unstructured documents. Organizational context may include the purchasing group responsible for the purchase order, the purchasing organization, the plant(s) referred to in the line items of the purchase order, the cost centers, projects, work orders or assets for which the purchase order was created, for example. People context may include the purchasing agent, the supplier contact for the purchase order, the requisitioner, the receiving clerk, the person responsible for the cost center, project, work order, or asset, or the accounts payable clerk that processed a previous invoice.
  • The context builder may be used to autopopulate invoice data. First, the system may search an incoming invoice for a purchase order number. From the purchase order number, the system may use the index database to access the PO. From the PO, the system searches for the purchase requisition (“PR”), and from the PR the system can acquire the requisitioner. Once the system knows the requisitioner, the system can search for the requisitioner's cost center by accessing employee reference (e.g., an human resources database) and populate the cost center automatically. For an approval workflow, the system searches for hierarchical information for the requisitioner's organization and send email to his manager automatically. Of course, the above described process is just one example of how autopopulation may be carried out. Autopopulation algorithms and rules may be defined and altered in accordance with different system requirements. Thus, context may be gathered from across a wide range of information sources, and the information from one or more sources may be used to access yet further information to gather relevant context and autopopulating the fields of the invoice.
  • Embodiments of the present invention also support invoice templates, which may be managed by template manager 902. Invoice templates allow a user to define characteristics of incoming invoices (e.g., for a particular vendor) based on historical transactions. An invoice template may include a collection of characteristics that a user may look for when an invoice enters the system. Invoice templates may include a plurality of fields that have predefined values (e.g., the vendor's name, identification number, address or other characteristics relating to that vendor that do not change from invoice to invoice). As invoices enter the system, a template (e.g., corresponding to a particular vendor) may be accessed and compared to the incoming invoice. When a template field has a value, each incoming invoice must have that same value in the corresponding field. For example, when an invoice is received and transformed, the system may determine who is sending the invoice by examining the name and/or vendor number. Next the system may access a template corresponding to the particular vendor and compare one or more templates to the invoice. By comparing the templates predefined characteristics of the invoice to the incoming invoice, the system can determine whether or not there is a variance in an incoming invoice from previously received invoices. Embodiments of the present invention also include templates having one or more fields with a range. In this case, when an invoice is compared against the template, the value of the field in the invoice must be in the range specified in the template. Templates may also include lists of values (e.g., multiple addresses). In this case the invoice must have a value from the template list in a corresponding invoice field.
  • FIG. 10 is an example of an invoice processor 1000 according to one embodiment of the present invention. Invoice processor 1000 consumes invoices from invoice repository 1050. Invoice processor 1000 retrieves invoices from the repository and executes verification rules. Invoice processor 1000 then creates exceptions if verification is unsuccessful, or posts the invoice if the verification is successful. Invoice processor 1000 may use the context builder to retrieve context information associated with the invoice to facilitate the verification process. During verification, invoice processor 1000 executes a set of verification rules. In one embodiment, the verification rules may be specified by a user (e.g., a company employee responsible for invoice processing rather than a programmer), including reconfiguring rules, activating or deactivating rules or specifying additional rules as desired. Invoice processor 1000 then determines the proper routing of the invoice based on the results of the verification. For example, if the verification is successful, invoice processor 1000 may route the invoice to a backend posting system 1060 automatically. If one or more of the verification rules is not met, invoice processor 1000 may create an exception and route the invoice according to exception work flow rules. In one embodiment, the exception work flow rules and/or exception handling procedures may also be specified by a user.
  • In one embodiment, invoice processor 1000 includes a process manager 1010 and verification component 1020 (sometimes referred to as an “exception inspector”). Process manager 1010 allows users to specify verification rules and exception work flow rules and handling procedures, retrieves invoices from invoice repository 1050 and controls the routing in accordance with the specified rules and procedures. Verification component 1020 executes the rules on each invoice as they are retrieved from the repository 1050. Verification component 1020 may provide a list of checks applicable to an incoming invoice and the order of execution, and apply the checks to each invoice. Details of verification failures may be returned and stored for further analysis or use. Verification component 1020 allows for configuring each check as specified by a user, and may support activation or deactivation of each check as desired by a user. In one embodiment, all exceptions occur before the data in a backend system is changed by the invoice posting so that roll-back is not an issue until the invoice gets posted. Embodiments of the present invention may include some or all of at least the following verification checks:
  • Template Check
  • Invoice data is compared to a template that has been setup by the party receiving the invoice.
  • Example: If the template has been defined such that the PO number field is required and vendor must be “SAP,” and the system receives an invoice with PO Number blank and vendor “SAP,” then this check fails.
  • Missing Data Check
  • The invoice and its context are checked to see if it contains all mandatory information. If invoice date, invoice amount and vendor name have been specified in the verification rules as mandatory, then if any one of these fields is blank, this check fails.
  • Invalid Data Check
  • The information provided in the invoice does not conform to standards or does not exist in the system (e.g., a unit of measure should confirm to a standard, date is not in the correct format, a tax distribution is not as specified by the company, the vendor is new and does not exist in the system, PO number does not exist in company's system, the requisitioner is not an employee of the buying organization,
  • Duplicate Invoice Check
  • The incoming invoice and its context are compared with existing invoices. The criteria for what fields are compared and whether an exact match or a fuzzy match is used may be configurable.
  • Non-PO Invoice Check
  • If the incoming invoice has no PO then the system may initiate a predefined “approval” workflow, which may route the invoice to the cost center manager, for example.
  • Line Item Mismatch Check
  • The system cannot match the PO Line Item to the Invoice Line Item (e.g., the descriptions on line items of the invoice and the PO do not match).
  • Price Variance Check
  • Detects differences in pricing between expected prices specified in a PO and the actual price indicated in the invoice received from the supplier. Example cases include: item price has changed, negotiated discounted price was not applied, freight charges are not specified in PO but appear in invoice, incorrect tax applied, etc. Price comparisons may be done at the item level as well as total gross amount. Prices may be compared using a configurable tolerance factor specified as a percentage or absolute value rather than for exact equality (e.g., price in invoice must be within 2% of price in PO, or within $1 of expected price).
  • Quantity Variance Check
  • Quantity variance can occur when the invoice comes in before the goods are shipped, when the good are received but the GR clerk hasn't yet entered then into the system or when the goods are received but the quantity received does not match invoice quantity.
  • FIG. 11 is an example of an exception manager according to one embodiment of the present invention. The exception manager component provides the ability to act on exceptions detected on incoming invoices by the invoice processor. Invoice processor 1150 is coupled to exception store 1110 (e.g., an exception repository such as a database). Exception store 1110 stores information corresponding to exceptions. When verification of an invoice is unsuccessful, the invoice may be forwarded to exception store 1110. In one embodiment, exceptions may be captured as cases stored in exception store 1110, and actions taken to resolve an exception may be recorded under each case. An example specification for one possible implementation of an exception store is provided below. Exception manager 1120 provides tools for supporting exception resolution. In one embodiment, exception manager 1120 controls the work flow for resolving exceptions. One advantage of the present invention is that exception handling procedures controlled by exception manager 1120 may be customized by a user. Thus, a user may specify the procedures for resolving an exception. Such procedures may include specifying the individuals involved in resolving the exception, specifying routing procedures, specifying roles, specifying what data is to be retrieved, specifying how the data is to be retrieved, specifying alerts, specifying timeouts, specifying elevation criteria, specifying invoice approval criteria or rejection criteria, specifying rejection protocols or specifying fraud detection and prosecution protocols.
  • As mentioned above, in some embodiments the exception manager may be role based (i.e., exception manager determines at least some of the users involved in a exception handling procedure). Moreover, in some embodiments the exception manager may determine how particular users are contacted (e.g., email, etc . . . ), when particular users are contacted (i.e., according to exception handling rules) and what information such users receive. Thus, embodiments of the present invention may include storing role information (e.g., exception handlers job information), communication information, exception routing rules or data filtering rules to facilitate more efficient exception handling.
  • In one embodiment, exception manager 1120 provides an “Inbox” user interface. The Inbox and the data retrieved and displayed in the Inbox may be automatically modified based on different user roles. A user may select one invoice from a list and drill-down to see the invoice data and particular exception for the invoice of interest (e.g., header and line item information). Context information such as purchase order, vendor, related invoices, goods receipt, contacts, attachments and case history are accessible either directly in the exception store or through a reference to another repository. Exception manager 1120 may be coupled to an index database (not shown) to allow a user to search through invoices or to manually search for additional information about an invoice. Exception manager 1120 may also provide filtering for inbox management. For example, a user may apply a filter to reduce the number of invoices shown in the Inbox and focus on specified subsets of exception cases. Exception manager 1120 may also support posting, deleting, editing and forwarding of invoices as required for exception handling, or the ability to email or chat with contacts concerning particular exception cases. Exception manager 1120 may further track the history of an invoice so different participants can gain a full understanding of the history of each case. In one embodiment, after an invoice is processed by the exception manager and the exception resolved, the invoice processor performs the verification on the invoice again. Dispute management component 1130 may be integrated into exception manager 1120 or operate as a stand alone component providing work flows and data access for resolving disputed invoices.
  • The following are example procedures for resolving exceptions corresponding to the above-mentioned verification checks.
  • Template Exception Handler
  • If a template check fails then the system may highlight the fields that made the template check fail and allow the user to correct the invoice or forward the invoice to another contact for resolution.
  • Missing Data Handler
  • If the requisitioner information is available then the invoice is routed to the requisitioner through an email form. The requisitioner can then attempt to fill up the data or send it back to the vendor or any other contact who might have this information. The system may search the context information and provide suggestions to the user.
  • Invalid Data Handler
  • When the invoice does not adhere to standard formats, the invoices are sent back to the vendors for correction.
  • When the vendor does not exist in the system, a work item is sent to the purchasing officers Inbox. He can then open the item, look at the invoice and its context, create the vendor and resolve the open item.
  • When the PO number specified in the invoice does not exist in the system, an interactive form is sent to the requisitioner via email, he can then correct the PO number or forward the exception to the vendor for resolution.
  • When errors like date mismatch, tax distribution problems or requisitioner not found occur, the vendor is directly notified of the problem through an interactive form.
  • Duplicate Invoice Handler
  • The original invoice and the duplicate invoice are displayed side by side to a user such as an AP clerk. He can then decide to reject or accept the new invoice. If he rejects the invoice an email is sent to the vendor with the complete context of the two invoices and their scanned images. The vendor can dispute this duplicate if needed.
  • Non PO Authorization Handler
  • The cost center of the requisitioner is checked and the invoices forwarded to his manager for approval. The invoice is sent through email as an interactive form and authorization is through a digital signature.
  • Line Item Mismatch Handler
  • The invoice line items and the PO line items are displayed side by side, and a user such as an AP clerk can select the appropriate line item in the invoice that matches the PO. If he cannot make this decision then he can forward this exception to the requisitioner for resolution.
  • Price Variance Handler
  • If the price on the PO is incorrect, a user such as an AP Clerk may change the PO pricing. If the price variance is above the limit then approval by an AP Manager may be needed before accepting Invoice. Limits may be configurable. If pricing in an invoice is not correct then allow the system to send the invoice back to the vendor.
  • Quantity Variance Handler
  • If the invoice comes in before the goods are received, the exception handler does not process this invoice for a certain number of days. The number of days the system will “WAIT” may be configurable. Once this time frame has passed, and if the good still haven't been received, a work item is sent to the GR clerk for verification. The GR clerk can then forward this exception to the vendor for resolution. If the goods have come in, the GR clerk can confirm his work item as received. If the quantity received doesn't match the invoice quantity then the AP clerk is given the option of short payment, in which case he can pay for the goods already received and notify the vendor of the same.
  • Example User Interfaces and Work Flows
  • FIG. 12 is an example process flow for resolving an exception according to one embodiment of the present invention. The present example illustrates the handling of a duplicate invoice. A duplicate exception will typically occur when an invoice is received by a company from a vendor and entered into the invoice management system, and then another invoice is received with the same or substantially the same information (e.g., the same vendor bills twice for the same goods or services). In one embodiment, invoice data and context information for each invoice may be automatically compared against existing invoices to detect a duplicate (e.g., in an invoice processor during a verification as described above). Embodiments of the present invention allow a user to configure the matching criteria used to detect duplicates. For example, a user may specify the particular portions (e.g., fields) of invoice data or context to be compared. A user may further specify whether exact matching is required or whether non-exact matching (e.g., “fuzzy”) matching is to be used to detect duplicates.
  • At 1201A, a user (“U1”) employed by a vendor mails or faxes a paper invoice to the company buying the vendor's goods or services. At 1202, the company receives the invoice, and another user (“U2”) may enter the invoice data into the system using an invoice entry software component. Alternatively, invoice data in electronic form at 1201B can be transmitted automatically to an invoice management system. At 1203, the invoice data is processed by the invoice management system. At 1204, the system detects a possible duplicate and sends a notice to U2 or another user (“U3”) employed by the company (e.g., in a different department) along with the invoice data, information from the context builder and suggested actions. For example, the notice may appear in an “Inbox” as described in more detail below. U2 may review the information and determine that it is in fact a duplicate. U2 may then quickly mark the duplicate for deletion and automatically transmit an electronic notification to U1. The electronic notification may include some or all of the invoice data, invoice context information and an electronic form. At 1206, the electronic notification is received by U1 (e.g., in an “Inbox”). When U1 receives the notification, the information can be reviewed quickly and the duplicate can be confirmed or disputed quickly as shown at 1207. If the duplicate is confirmed at 1209, it may be routed to invoice management system at 1210 and automatically deleted with no further user interaction. If U1 disputes that the invoice is a duplicate, a dispute signal may be sent to U2 for further processing.
  • FIG. 13A is an example of a graphical user interface (“GUI”) 1300A for managing invoice exceptions according to one embodiment of the present invention. The present example illustrates a GUI that may be used for managing duplicate invoices, invoices with missing information or line item mismatches. A variety of information stored in an invoice management system may be retrieved and presented to a user for efficient management of invoices. For example, a portion of GUI 1300 labeled “You are here” 1301 is used to display status categories and summary information (i.e., the number of invoices in a category) for invoices in the system. Such information may include the number of invoices in an accounts payable inbox (“A/P Inbox”) 1302, the number of blocked invoices 1303, the number of invoices forwarded to a vendor 1304, the number of invoices in dispute 1305, the number of invoices cleared for payment 1306 and the number of deleted invoices 1307.
  • Exceptions may be presented to a user in the form an “inbox” (i.e., an exception inbox) 1310. Exception inbox 1310 may include one or more rows each corresponding to an exception such as “Duplicate” 1311 indicating the existence of a potentially duplicative invoice, “Missing Information” 1312 indicating that an invoice has been received without certain information, and “Line Item Mismatch” 1313 indicating that one or more line items on the invoice (i.e., information about individual items purchased from the vendor) do not match up with line items in the invoice management system (e.g., information about individual items requested in a purchase order). The exceptions may be color coded so that each exception is displayed in a different color. A user may access and process an exception by selecting one of the exception row entries (e.g., by double-clicking on a row entry with a mouse).
  • Invoice data and context information may be displayed as fields (i.e., columns) for each exception in an Inbox. For example, the first field 1314 may indicate the type of exception. Invoice data displayed with each exception may include the “source” of the invoice 1315 (e.g., Paper/OCR, Fax/OCR, EDI, XML), “invoice number” 1316, “invoice date” 1317, invoice “amount” 1318, “vendor” 1319 and a “description” 1320, for example. Other invoice data or context information may also be displayed. Inbox 1310 may include a display of summary information 1321 including the total number of invoices in the “inbox,” and the number of each type of exception. Inbox 1310 may allow a user to enter a new invoice (e.g., using electronic button 1322), post invoices 1323 or delete invoices 1324.
  • FIG. 13B is an example of a graphical user interface (“GUI”) 1300B for managing duplicate invoice exceptions according to one embodiment of the present invention. In response to selecting a duplicate exception in GUI 1300A, the invoice management system retrieves invoice data corresponding to both an original invoice and the duplicate (i.e., the new invoice). The invoice data may be displayed together in a single GUI 1300B. In one embodiment, the original invoice data 1325B and the duplicate invoice data 1325A are displayed side by side at 1326A and 1326B. The data may be also displayed side by side in “invoice format” (i.e., displaying the invoice data using the same visual format as a paper invoice, wherein invoice data is divided into a plurality of groups and one group is displayed as entries and at least one other group is displayed in tabular form in a different portion of the display). Furthermore, the system may compare each invoice data field in invoice 1325A to the corresponding field in invoice 1325B. If the fields do not match, the system may flag those fields and highlight non-matching fields in the display, for example.
  • For example, both the original invoice 1325B and the new invoice 1325A are displayed side by side at 1326A and 1326B for easy comparison. Invoice displays 1326A and 1326B may include incons 1399A and 1399B indicating the source of the invoice. For example, icon 1399A may display a graphic indicating that the source of the invoice was a facsimile (i.e., “FAX”). Similarly, icon 1399B may display a graphic indicating that the source of the invoice was electronic (e.g., an image of a computer). Additionally, invoice displays 1326A and 1326B may include the following invoice data grouped and displayed as entries in the upper portions 1327A and 1327B: invoice number, an accounting document number (“Acc. document”), purchase order number (“PO”), the name of the “Requisitioner,” invoice data, posting date, vendor identification, customer name, customer address, customer phone number, customer fax, and the user's email. The following invoice data is grouped and displayed side by side in tables 1328A and 1328B: “Description,” quantity or hours ordered, quantity or hours received, price or rate, and total for a plurality of line items. The following invoice data is grouped and displayed side by side: payment mailing information 1329A and 1329B (e.g., the name, address, city, state, zip code, phone number and fax number of the vendor), the terms of payment 1330A and 1330B (e.g., “Net 30”), and tables 1331A and 1331B including subtotal, tax (if any), shipping costs, miscellaneous expenses and balance due.
  • GUI 1300B further includes features for retrieving and displaying other important information useful for streamlining the management and processing of invoices. For example, invoice management system may retrieve and display detailed invoice information, detailed line item information or an image of an invoice if a user selects “Detailed Invoice” 1333A, “Detailed Line Items” 1333B or “Scanned Invoice” 1333C, respectively. In one embodiment, a user may also retrieve and display scanned invoices by selecting link 1332A (“Compare Scanned Invoices”). FIG. 13C illustrates scanned images of both the original invoice and the new invoice displayed side by side for comparison. If images are available, GUI 1300C will replace the invoice data displayed in invoice format at 1326A-B with the images as shown at 1326A and 1326B in FIG. 13C. Easy one-click access to and comparison of the scanned invoices reduces the time required for analyzing and resolving duplicates. A user may return to GUI 1300B by selecting link 1332B, which may display “Compare Invoices” for example.
  • A user may access yet more information about an invoice by selecting “Detailed Invoice” view (e.g., by accessing link 1333A in FIG. 13B). In response to a user selecting “Detailed Invoice,” the system retrieves and displays additional invoice data and context information. FIG. 13D is an example of a graphical user interface (“GUI”) 1300D that displays a detailed invoice view according to one embodiment of the present invention. Detailed invoice view 1333A (FIG. 13D) may include all the information accessed and displayed in 1326A or 1326B (FIG. 13B) and further include documents relating to the invoice 1334 (“Other Documents”), an invoice log 1335 (“Invoice Log”), contact information and communication capabilities 1336 (“Contacts”) and notes associated with the invoice 1337 (“Notes”).
  • Invoice log 1335 may be used to track the event history of the invoice. For example, invoice log 1335 may include the date, event and name of the person involved in the event. This information is displayed at 1335A. Furthermore, “Other Documents” 1334 may include accessing a variety of documents relating to the invoice, such as a materials description 1334A, a work description 1334B or other related documents such as a contract pertaining to the invoice, for example. Since a variety of users may access the invoice during processing, different users may attach different relevant documents so that relevant documentation pertaining to the invoice is readily available for access and review through GUI 1300D. Documents may be attached by typing in the name of the document at 1334C or browsing the network and selecting particular files using the “Browse” feature 1334D.
  • Different users may attach notes to the invoice by typing text into field 1337A. The text may be posted by selecting “post it” 1337B, for example. A list of notes may be displayed at 1337C along with the date the note was posted (“Date”), the text (“Notes”) and an identification of the user who entered the note (“Entered By”).
  • In one embodiment, an invoice management system includes an integrated communication system that allows different users to correspond about invoice issues. For example, a user may correspond with contacts automatically using “Contacts” 1336. Additionally, a user may enter contact information corresponding to each invoice. For example, at 1336A, a user may enter a contact's name or email or both. The contact is added to the system by selecting “Add Contacts” 1336B. The contacts associated with the invoice are listed at 1336C along with “Role” and name (i.e., “Contact”) fields. Roles may include vendor or company groups such as requisitioner, cost center manager, A/R manager, A/P manager or A/P clerk, for example. A user may correspond with a contact by creating a new email message, chat session or other electronic communication.
  • Referring again to FIG. 13B, when a user has completed the review of a duplicate, the user may either reject the alleged duplicate invoice by selecting “Reject Invoice” 1340, allow the alleged duplicate to be posted by selecting “Posf” 1341 or by selecting “Park” 1342 (i.e., sending the invoice to a financial application as a “parked” invoice). In one embodiment, when a user rejects an invoice the IMS system automatically generates a notification and transmits the notification to the vendor. Additionally, a user may include a note to the vendor with the notification by entering text at 1343.
  • FIG. 13E illustrates an example notification 1300E received by a vendor. GUI 1300E includes an original invoice 1325A with invoice data displayed at 1326A. GUI 1300E also includes a potentially duplicative invoice 1325B with corresponding invoice data displayed at 1326B, which may be displayed side by side with the original invoice data as shown. GUI 1300E may further include a text message 1372, which may include automatically generated text and/or user specified text entered as a note to the vendor at 1343 of FIG. 13B, for example. The vendor may also be provided with the ability to automatically confirm or dispute the duplicate. For example, the notification may include an integrated response, such as “confirm” or “dispute.” In one embodiment, the notification is in the form of an email and GUI 1300E is displayed by an email system. The email system may receive an IMS Alert regarding the invoice with a subject line “IMS Alert: Duplicate Invoice,” for example. When a user opens the IMS Alert, invoice data and a text message may be displayed, and a confirmation response selector 1374 and dispute response selector 1375 may be presented to a user. Response selection may be implemented using electronic buttons, menu items, links or equivalent techniques. A user may confirm that invoice 1325A is a duplicate by selecting “Delete Invoice” 1375. A response is automatically sent to the invoice management system, and the invoice is deleted. Alternatively, a user may dispute that invoice 1325A is a duplicate by selecting “Reject Duplicate” 1374. In this case, a response will be automatically sent to the Inbox of a user at the company for further processing and resolution. In one embodiment, notification 1300E includes images of the original invoice 1325B and the alleged duplicate 1325B. FIG. 13F illustrates an example email notification 1300E received by a vendor including an image of the original invoice displayed at 1326B and an image of the alleged duplicate displayed at 1326A.
  • FIG. 14 is another example process flow for resolving an exception according to another embodiment of the present invention. The present example illustrates the handling of an invoice with missing or invalid information (together, “missing information”). At 1401A, a user (“U1”) employed by a vendor mails or faxes a paper invoice to the company buying the vendor's goods or services. At 1402, the company receives the invoice, and another user (“U2”) may enter the invoice data into the system using an invoice entry software component. Alternatively, invoice data in electronic form at 1401B can be transmitted automatically to an invoice management system. At 1403, the invoice data is processed by the invoice management system. In one embodiment, invoice data is automatically populated when additional information about the invoice is retrieved (e.g., by the context builder) in order to reduce data entry. At 1404, the system detects missing information and automatically sends an electronic notification to U1 notifying U1 that the received invoice is missing data. The electronic notification may include some or all of the invoice data, invoice context information and an electronic form. At 1405, the electronic notification is received in an inbox, such as an email inbox, for example. U1 updates the invoice data in the electronic notification at 1406. In one embodiment, the system sends U1 an electronic form that U1 can complete or fill in online (e.g., an Adobe® form) and return to the system automatically. At 1407, the updated invoice data is returned to the system and reanalyzed automatically. If information is still missing, the invoice may be rerouted through the process. If the data is complete, the invoice may be posted automatically at 1408.
  • In other embodiments, an invoice management system may send notifications to different users within the company to resolve the exception. For example, in one embodiment, the invoice management system may send a notification to a requisitioner if requisition information is available. The requisitioner may receive an electronic form, for example, and update the invoice data and return the updated information to the system automatically. The requisitioner may forward the notification to the vendor or other users in the company (e.g., in other departments). In one embodiment, if vendor information is not available, an exception is set to a user in the company (e.g., a purchasing officer). The user may examine the invoice data and context, assign a vendor and resolve the exception, or forward the notification to another user more likely to have the required information. In another embodiment, when a purchase order specified in the invoice does not exist in the invoice management system, an interactive form may be sent to the requisitioner as a notification (e.g., email). The requisitioner may then correct the purchase order number or forward the exception to the vendor for resolution. Thus, the flexibility of the integrated data and communication techniques of the invoice management system described herein may be used to resolve many different types of invoice exceptions efficiently through streamlined interaction with relevant information holders.
  • In one embodiment, when a missing information notification is sent to a vendor, an exception is created and a “Missing Information” exception 1312 appears in an exception inbox as shown in FIG. 13. In response to a user selecting “Missing Information” exception 1312, the system retrieves and presents the invoice data for the selected exception in GUI 1500A of FIG. 15. GUI 1500A may include a message 1501 indicating that the posting failed and the system automatically generated a notification to the vendor. Additionally, invoice data may be displayed, and missing invoice data fields (e.g., purchase order number 1510 and requisitioner 1511) may be highlighted.
  • FIG. 15B illustrates a notification according to one embodiment of the present invention. The notification may be presented to a user in GUI 1500B. GUI 1500B includes invoice data 1501 and message 1502. Invoice data may be presented as a fillable document (i.e., an electronic form that may fields for receiving and storing input data or text) In the present example, the missing invoice data fields are purchase order number (“PO”) and requisitioner. A fillable form may include one or more fields for receiving the missing invoice data from a user-vendor. If the user desires more information about the invoice, the user may select link 1504, which may retrieve and present additional information about the invoice including images, for example. The vendor may also be provided with the ability to automatically return the updated invoice information to the invoice management system. For example, the notification may include an integrated response, such as “Send Updated Invoice.” Response selection may be implemented using electronic buttons, menu items, links or equivalent techniques. In one embodiment, the notification is in the form of an email and GUI 1500B is displayed by an email system. The email system may receive an IMS email notification regarding the invoice with a subject line including “IMS invoice: important information missing,” for example.
  • FIG. 16 is another example process flow for resolving an exception according to another embodiment of the present invention. The present example illustrates the handling of an invoice requiring approval before the invoice can be posted. For example, if an invoice has not associated purchase order, payment may require that one or more employees of a company approve the invoice. The present invention streamlines this process, which can be very slow and time consuming when implemented in paper based or non-integrated systems. As previously mentioned, invoice data may be received electronically or in paper form and processed by the invoice management system at 1601A-B and 1603. In one embodiment, invoice data is automatically populated when additional information about the invoice is retrieved (e.g., by the context builder). Autopopulated data may include account information and the person with approval authority, such as a cost center manager, for example. At 1604, the system may determine that approval is required (e.g., no purchase order). When an approval is required the system automatically sends an electronic notification to a company employee for approval at 1605. The system may also create an exception, which may appear in the Inbox of a user in another department (e.g., accounts payable) for tracking the status of the invoice. The electronic notification may include some or all of the invoice data, invoice context information and an electronic form. Additionally, the system may store information indicating that the invoice is blocked until approval is obtained. At 1606, the invoice is approved or rejected. If the invoice is rejected, the invoice data is updated to indicate the rejection. The invoice may then be automatically routed to another user at 1607 to resolve the exception with the vendor. The vendor may also automatically receive a notification of the rejection at 1608. If the invoice is approved at 1606, the invoice is automatically posted at 1609.
  • FIG. 17A is an example of a graphical user interface 1700A for managing invoices according to another embodiment of the present invention. Invoices may be “blocked” from payment and displayed to a user in response to selection of “Blocked Invoices” 1701. Blocked invoices may include invoices that require approval 1710, invoices where no corresponding goods were ever received by the company (i.e., “Missing G/R”) 1711 or invoices where no services were ever received by the company (i.e., missing service entry, “Missing S/E”) 1712. Invoice data that may be retrieved by the system and presented to a user may include the exception causing the block at column 1721 (e.g., approval, missing G/R, missing S/E), the number of days the invoice has been blocked at 1722, the current owner (e.g., the person who's approval is required or who is researching the missing goods or services) at 1723, the invoice number at 1724, the payment date at 1725, the amount due at 1727, vendor information at 1728 and a description at 1729.
  • A user may mouse click one of the blocked invoices to obtain a more detailed view. For example, the invoice at 1710 has been blocked waiting for approval for 37 days. A user may mouse click the “Approval” invoice 1710 to obtain more information about the exception. FIG. 17B is an example of a detailed view of the blocked invoice that may be presented to a user in GUI 1700B. The following examples of invoice data may be retrieved by invoice management system and presented: invoice number, account document (“Acc. document”), purchase order, requisitioner, invoice date, posting date, vendor ID, customer name, customer address, customer phone number, customer fax number, customer email and line item data including line item number, block description (e.g., the invoice is blocked because it needs approval), line item description, quantity of goods or services invoiced, quantity of goods or services approved, quantity unit of measure, rate (i.e., price per unit) and line item total. The system may further retrieve and display the name of the person responsible for the approval. A user may review the detailed invoice data and decide to send a reminder notification to person responsible for the approval by selecting reminder option 1730. A user may include a note with the reminder by entering text into text field 1731. The original approval notification generated by the IMS system and/or the reminder notification may include an electronic approval wherein the person responsible may approve the invoice electronically by a mouse click or by entering text.
  • In one embodiment, the notification is an email including invoice data and an electronic signature (i.e., a digital signature). For example, FIG. 17C is an example of an Adobe® form that may be included with an approval notification. Adobe® form 1700C displays the invoice data in invoice format for easy review, and further provides an electronic signature input 1750. A user may approve the invoice by entering an electronic signature in field 1751 and mouse clicking “Submit Invoice” 1752, for example.
  • FIG. 18 is an example process flow for resolving a line item mismatch exception according to another embodiment of the present invention. A line item mismatch may occur when the invoice line item field does not match a purchase order line item field. For example, if an invoice line item description field does not match a purchase order line item description field during IMS processing at 1803, a line item mismatch may occur at 1804. At 1805A, IMS sends a line item mismatch notification to a user (“U1”) within the company, such as a user in accounts payable, and may send a notification to a user (“U2”) at the vendor at 1805B. If U1 or U2 can resolve the problem electronically at 1806 (e.g., if the vendor determines that the description is erroneous or if U1 can fix the problem by matching PO line items to invoice line items), then the invoice is automatically sent back to the IMS for further processing at 1809 and automatically posted at 1810. If the problem cannot be resolved, a notification is sent to another user (“U3”) at 1807 who has more information about the invoice and it's line item descriptions (e.g., the requisitioner). The invoice is resolved at 1808 and returned to the IMS for further processing.
  • FIG. 19 is an example process flow for resolving missing goods received or services received (i.e., “Missing G/IR” or “Missing S/E”) exceptions according to another embodiment of the present invention. The invoice is received at 1901 and processed at 1902. A missing goods received or missing services received exception is detected by the invoice management system at 1903. In one embodiment, when IMS detects a Missing G/R, it may automatically wait for a specified amount of time at 1904 (e.g., in case the invoice is received before the goods or services are provided). If the goods or services are received and entered at 1905 into the system within the specified time period, the IMS continues processing the invoice at 1911 and automatically posts the invoice at 1912 without human intervention. If the goods or services are not provided and entered into the system within the specified time period, the system will send a notification to a user (“U1”) (e.g., in the receiving department) at 1906. The IMS may again automatically wait for another specified amount of time at 1907. If the goods or services are received and entered at 1908, IMS processing may continue. If the goods or services are not received with the second time period, the system may escalate by sending a notification to another user (“U2”), such as a requisitioner at 1909. U2 may then directly resolve the issue at 1910 by corresponding with the vendor or through other electronic or non-electronic means and release the invoice for further processing.
  • Example Specification for an Exception Store
  • The following specification is one possible implementation of an exception pool that may be used in an invoice management system. While the following example illustrates a table-based implementation, it is to be understood that other implementations may be used. For example, the exception repository could be implemented as objects that are associated with an invoice or invoice object. The following Tables are examples of TABLE TYPE DEFINITIONS:
  • A) Domain
    TABLE 1
    Name IMS_EXCEPTION_TYPE Type CHAR Length 1
    Description Type of IMS exception
    Permitted Values and Corresponding Meaning
    D Duplicate
    M Missing or Invalid Info
    A Non-PO Approval Required
    L Line Item Mismatch
    G No Goods Receipt
    Q Quantity Variance
    P Price Variance
    T Technical Error
  • TABLE 2
    Name IMS_EXCEPTION_STATUS Type CHAR Length 1
    Description Status of IMS exception
    Permitted Values and Corresponding Meaning
    1 New
    2 Blocked Internally
    3 Forwarded to Vendor
    4 In Dispute
    5 Cleared for Payment
    6 Rejected
    7 Deleted
  • TABLE 3
    Name IMS_EXCEPTION_REFERENCE_TYPE Type CHAR Length 1
    Description Type of IMS exception reference
    Permitted Values and Corresponding Meaning
    1 MS Office Document
    2 Invoice
    3 Purchase Order
    4 Vendor
    5 Other
  • B) Data Element
    TABLE 4
    Name IMS_EXCEPTION_TYPE Domain IMS_EXCEPTION_TYPE
    Description Type of IMS exception
  • TABLE 5
    Name Domain
    IMS_EXCEPTION_STATUS IMS_EXCEPTION_STATUS
    Description Status of IMS exception
  • TABLE 6
    Name IMS_EXCEPTION_CASE_ID Domain CHAR10
    Description IMS Exception Case ID
  • TABLE 7
    Name IMS_EXCEPTION_INBOX_ID Domain CHAR10
    Description IMS Exception Inbox ID
  • TABLE 8
    Name IMS_EXCEPTION_CONTACT_ID Domain CHAR10
    Description IMS Exception Contact ID
  • TABLE 9
    Name IMS_DATETIME Domain CHAR14
    Description Date and time used in IMS exception processing
  • TABLE 10
    Name IMS_EXCEPTION_REFERENCE_NAME Domain CHAR20
    Description Name of IMS exception reference
  • TABLE 11
    Name Domain
    IMS_EXCEPTION_REFERENCE_TYPE IMS_EXCEPTION_REFERENCE_TYPE
    Description
    Type of IMS exception reference
  • TABLE 12
    Name Domain
    IMS_EXCEPTION_REFERENCE_FIELD CHAR10
    Description
    Field of IMS exception reference
  • TABLE 13
    Name Domain
    IMS_EXCEPTION_REFERENCE_VALUE CHAR255
    Description
    Value of IMS exception reference
  • C) Structure
    TABLE 14
    Name
    BBPS_INVOICE_EXCEPTION
    Components
    Name Data Type Description
    INVOICE_ID IMS_GUID ID of the invoice that
    caused this exception.
    TYPE IMS_EXCEPTION_TYPE Type of this exception
    CASE_ID IMS_CASE_ID ID of the case
    management solution that
    contains an entry if
    logged in as a case. Most
    common exceptions are
    logged as cases.
    INBOX_ID IMS_INBOX_ID ID of the inbox that this
    exception is assigned to.
    STATUS IMS_EXCEPTION_STATUS Status of this exception.
    CONTACT_ID IMS_CONTACT_ID ID of the contact
    currently working on this
    exception.
    LAST_ACTION_DATE IMS_DATETIME Date and time of last
    action on this exception
    CREATION_DATE IMS_DATETIME Date and time when this
    exception was created.
  • TABLE 15
    Name
    BBPS_EXCEPTION_REFERENCE
    Components
    Name Data Type Description
    NAME IMS_EXCEPTION_REFERENCE_NAME Name is unique
    for an invoice.
    EXCEPTION_ID IMS_GUID ID of the
    exception this
    record refers to.
    EXCEPTION_TYPE IMS_EXCEPTION_TYPE ID of the
    exception that is
    related to this
    reference
    INVOICE_ID IMS_GUID ID of the
    invoice
    TYPE IMS_EXCEPTION_REFERENCE_TYPE Reference type
    FIELD IMS_EXCEPTION_REFERENCE_FIELD Name of the
    field that is
    referenced,
    blank if this is
    not referring to
    a business
    object
    VALUE IMS_EXCEPTION_REFERENCE_VALUE Value of this
    field, which
    may contain a
    URL for certain
    types such as
    MS Office.
  • TABLE 16
    Name
    BBPS_INVOICE_EXCEPTION_UI
    Components
    Name Data Type Description
    ID IMS_GUID Auto
    generated
    ID that
    uniquely
    identifies the
    exception.
    .INCLUDE BBPS_INVOICE_EXCEPTION
    REFER- BBPT_IMS_EXCEPTION_REFERENCE References
    ENCES related to
    this
    exception.
  • D) Table Type
    TABLE 17
    Name Line Type
    BBPT_IMS_EXCEPTION_REFERENCE BBPS_EXCEPTION_REFERENCE
  • TABLE 18
    Name Line Type
    BBPT_IMS_INVOICE_EXCEPTION_UI BBPS_INVOICE_EXCEPTION_UI
  • The following Tables are examples of TABLE DEFINITIONS. The exception pool may include a table BBPD_IMS_EXPPOOL, which is the exception pool that contains exceptions related to invoices. This table may be used as the core table for exception processing. There may also be other tables that contain useful information. Table BBPD_IMS_EXPPOOL has the following structure:
    TABLE 19
    (1) Column(s) of “BBPD_IMS_EXPPOOL” Table
    Null
    Name Datatype Option Comment
    MANDT MANDT NOT Client Specific
    NULL
    ID IMS_GUID NOT Auto generated ID that
    NULL uniquely identifies the
    exception
    .INCLUDE BBPS_IMS_INVOICE_EXCEPTION
    (2) Primary Key Column(s) of “BBPD_IMS_EXPPOOL” Table
    Name Comments
    MANDT
    ID
    (3) Index(s) of “ BBPD_IMS_EXPPOOL” Table
    Name Unique
    ID Yes
    INVOICE_ID No
    TYPE No
    INBOX_ID No
    STATUS No
  • The exception pool may include a Lock Object table E_IMS_EXC, which is lock object for synchronization of the exception pool.
    TABLE 20
    Name
    E_IMS_EXC
    Description
    Lock object for synchronization of exception pool.
    Primary Table
    BBPD_IMS_EXPPOOL
    Lock Parameters
    Name Table Field
    MANDT BBPD_IMS_EXPPOOL MANDT
    ID BBPD_IMS_EXPPOOL ID
  • The exception pool may include a Table BBPD_IMS_EXPREF, which is a reference to another item such as a PO, Invoice or context. These items could either reside in a reference pool or the invoice pool. There may be multiple reference items for an exception.
    TABLE 21
    Column(s) of “BBPD_IMS_EXPREF” Table
    Name Datatype Null Option Comment
    MANDT MANDT NOT NULL Client Specific
    ID IMS_GUID NOT NULL Internal Reference
    ID that uniquely
    identifies a
    reference to an
    exception.
    .INCLUDE BPPS_IMS_EXCEPTION_REFERENCE
    Primary Key Column(s) of “ BBPD_IMS_EXPREF” Table
    Name Comment
    ID
    Foreign Key Column(s) of “ IMS_EXP_REF” Table
    Name Check Table Check Field
    EXCEPTION_ID BBPD_IMS_EXPPOOL ID
    Index(s) of “ IMS_EXP_REF” Table
    Column(s) of “BBPD_IMS_EXPREF” Table
    Name Unique
    ID Yes
    INV_ID No
    NAME No
    TYPE No
  • The exception pool may include a plurality of Agent Application Program Interfaces (“APIs”) that allow external access for retrieving exceptions, searching exceptions, modifying exceptions or adding exceptions. For example, a user may retrieve an exception according to the input exception ID. References related to the exception will also be retrieved. A warning embedded in an export parameter E_RET may indicate that the exception with the specified ID does not exist.
    TABLE 22
    Name Data Type
    Input Parameter(s)
    IV_EXCEPTION_ID IMS_GUID
    Output Parameter(s)
    ES_INVOICE_EXCEPTION_UI BBPS_IMS_INVOICE
    EXCEPTION_UI
    EV_RETURN BAPIRETURN
    Related table(s)
    BBPD_IMS_EXPPOOL, BBPD_IMS_EXPREF
  • The exception pool may include an Agent API that searches for exceptions with specified field values. References related to these exceptions are also retrieved. A user inputs an IS_INVOICE_EXCEPTION_UI structure, whose fields specify the searching criteria. An empty field implies that there're no requirements for this field. If no records satisfy those criteria an empty export parameter ET_INVOICE_EXCEPTION would be returned.
    TABLE 23
    Name Data Type
    Input Parameter(s)
    IS_INVOICE_EXCEPTION_UI BBPS_IMS_INVOICE
    EXCEPTION_UI
    Output Parameter(s)
    ET_INVOICE_EXCEPTION_UI BBPT_IMS_INVOICE
    EXCEPTION_UI
    ES_RETURN BAPIRETURN
    Related table(s)
    BBPD_IMS_EXPPOOL, BBPD_IMS_EXPREF
  • The exception pool may include an Agent API that modifies the exception specified by the input parameter IS_INVOICE_EXCEPTION_UI's ID field. If the input parameter's fields are empty, such fields would not influence the exception pool. All the references related to the specified exception will be deleted first, and new references will be created according to the REFERENCES field of the input parameter. Redundant fields in the reference pool may be set with the values contained in IS_INVOICE_EXCEPTION_UI itself, rather than the attached REFERENCES. This measure may be used to keep the consistency between the BBPD_IMS_EXPPOOL and BBPD_IMS_EXPREF database tables. One cannot make a reference's fields different from its related exception with BBP_IV_IMS_MODIFY_EXCEPTION.
    TABLE 24
    Name Data Type
    Input Parameter(s)
    IS_INVOICE_EXCEPTION_UI BBPS_IMS_INVOICE
    EXCEPTION_UI
    Output Parameter(s)
    ES_RETURN BAPIRETURN
    Related table(s)
    BBPD_IMS_EXPPOOL, BBPD_IMS_EXPREF
  • The exception pool may include an Agent API that adds an exception reference. Redundant fields such as EXP_ID and INV_ID may be set according to the related exception, rather than the fields of the input I_EXPREF. This may be used as another measure to keep the consistent of IMS_INVEXP and IMS_EXPREF tables.
    TABLE 25
    Name Data Type
    Input Parameter(s)
    IV_EXCEPTION_ID IMS_GUID
    IS_EXCEPTION_REFERENCE BBPS_IMS_EXCEPTION
    REFERENCE
    Output Parameter(s)
    ES_RETURN BAPIRETURN
    Related table(s)
    BBPD_IMS_EXPREF
  • Embodiments of the present invention may include a search engine to support invoice information retrieval. Techniques that may be used to search for information are disclosed in U.S. patent application Ser. No. 10/789,426, entitled “Fast Aggregation of Compressed Data Using Full Table Scans,” filed Feb. 27, 2004 by Stefan Biedenstein et al., the contents of which is hereby incorporated herein by reference in its entirety. Additional techniques that may be used to search for information are disclosed in U.S. patent application Ser. No. 10/789,812, entitled “Merging Partial Results into Single Result,” filed Feb. 27, 2004 by Jens-Peter Dittrich et al., the contents of which is hereby incorporated herein by reference in its entirety.
  • The above description illustrates various embodiments of the present invention along with examples of how aspects of the present invention may be implemented. The above examples and embodiments should not be deemed to be the only embodiments, and are presented to illustrate the flexibility and advantages of the present invention as defined by the following claims. For example, an invoice management system may include some or all of the innovative features described above. Additionally, while one embodiment of an invoice management system may be advantageously implemented as a stand-alone software system, features and advantages of the present invention may also be obtained by incorporating the methods and/or software systems defined by the following claims as part of one or more existing systems. Based on the above disclosure and the following claims, other arrangements, embodiments, implementations and equivalents will be evident to those skilled in the art and may be employed without departing from the spirit and scope of the invention as defined by the claims.

Claims (31)

1. An invoice management system comprising:
a unification software component for receiving invoice data from a plurality of different sources in a plurality of different formats and transforming the invoice data into a common format;
an invoice data repository for storing the transformed invoice data;
a context builder for automatically retrieving additional information corresponding to the invoice data;
an invoice processor for verifying each invoice according to a plurality of rules; and
an exception manager for processing each unsuccessfully verified invoice.
2. The invoice management system of claim 1 wherein the unification software component includes a transformation engine.
3. The invoice management system of claim 1 wherein the unification software component includes a plurality of receiver modules for receiving invoice data from a plurality of sources.
4. The invoice management system of claim 1 further comprising an index database.
5. The invoice management system of claim 1 wherein the exception manager controls a work flow for resolving exceptions.
6. The invoice management system of claim 1 further comprising an exception repository for storing information corresponding to exceptions.
7. A method of processing invoices comprising:
receiving invoice data from a plurality of different sources in a plurality of different formats;
transforming the invoice data into a common format;
storing the transformed invoice data in a repository as an invoice;
automatically retrieving additional information corresponding to the invoice; and
automatically verifying the invoice using a plurality of rules,
wherein if the invoice is verified the invoice is automatically posted, and if the invoice data is not verified an electronic exception case is created.
8. The method of claim 7 further comprising automatically populating the invoice with the retrieved information corresponding to the invoice data.
9. The method of claim 7 wherein the repository is a temporary storage area for queuing invoice data prior to verification in the invoice processor.
10. The method of claim 7 wherein the information corresponding to each invoice includes document context, organizational context or people context.
11. The method of claim 7 wherein the plurality of rules are user specified rules.
12. The method of claim 7 further comprising processing the exception case in accordance with one of a plurality of exception handling procedures.
13. The method of claim 12 wherein one of the exception handling procedures includes displaying invoice data corresponding to at least one invoice in an exception Inbox.
14. The method of claim 12 wherein the one of exception handling procedures includes transmitting an interactive form to a first user.
15. The method of claim 12 wherein one of the exception handling procedures includes transmitting invoice data to a user and receiving a digital signature.
16. A method of processing invoices comprising:
storing invoice data corresponding to a plurality of invoices in a repository;
automatically searching a plurality of systems for information corresponding to each invoice; and
automatically performing a plurality of verification checks on each invoice.
17. The method of claim 16 wherein the repository is a temporary storage area for queuing invoice data prior to verification in the invoice processor.
18. The method of claim 16 further comprising automatically populating the invoice with the information corresponding to each invoice.
19. The method of claim 16 wherein the information corresponding to each invoice includes document context, organizational context or people context.
20. The method of claim 16 wherein the information corresponding to each invoice includes a purchase order number, a purchase order, a purchase order history, a goods receipt, a service confirmation, a requisition, a shipping notice, a delivery notice, a contract, business partner information, contact information or vendor data.
21. The method of claim 16 wherein the verification checks are user specified rules.
22. The method of claim 16 wherein the verification checks comprise:
storing predefined values; and
comparing the predefined values to corresponding invoice data.
23. A method of processing invoices comprising:
storing invoice data corresponding to a plurality of invoices in a repository;
automatically performing a plurality of verification checks on each invoice;
creating an exception when at least one of the invoices fails at least one of the verification checks; and
processing the exception in accordance with one of a plurality of exception handling procedures.
24. The method of claim 23 wherein the verification checks include comparing the invoice against a template.
25. The method of claim 23 wherein the verification checks include a missing data check, an invalid data check, a duplicate invoice check, a non-purchase order check, a line item mismatch check, a price variance check, a quantity variance check, an authorization check, a missing goods received check or a missing services check.
26. The method of claim 23 wherein at least one of the exception handling procedures is specified by a user.
27. The method of claim 23 wherein the one of a plurality of exception handling procedures is initiated based on the at least one verification check that the invoice failed.
28. The method of claim 23 wherein the exception handling procedures are role based.
29. The method of claim 23 wherein processing the exception includes displaying invoice data corresponding to at least one invoice in an exception Inbox.
30. The method of claim 23 wherein processing the exception includes transmitting an interactive form to a first user.
31. The method of claim 23 wherein processing the exception includes transmitting invoice data to a user and receiving a digital signature.
US10/980,114 2004-11-01 2004-11-01 System and method for management and verification of invoices Abandoned US20060095372A1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US10/980,114 US20060095372A1 (en) 2004-11-01 2004-11-01 System and method for management and verification of invoices
US11/201,072 US20060095373A1 (en) 2004-11-01 2005-08-10 System and method for management and verification of invoices
EP05110195A EP1659526A3 (en) 2004-11-01 2005-10-31 System and method for management and verification of invoices
US12/869,136 US8924272B2 (en) 2004-11-01 2010-08-26 System and method for management and verification of invoices

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/980,114 US20060095372A1 (en) 2004-11-01 2004-11-01 System and method for management and verification of invoices

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US11/201,072 Continuation US20060095373A1 (en) 2004-11-01 2005-08-10 System and method for management and verification of invoices
US12/869,136 Continuation US8924272B2 (en) 2004-11-01 2010-08-26 System and method for management and verification of invoices

Publications (1)

Publication Number Publication Date
US20060095372A1 true US20060095372A1 (en) 2006-05-04

Family

ID=36263259

Family Applications (3)

Application Number Title Priority Date Filing Date
US10/980,114 Abandoned US20060095372A1 (en) 2004-11-01 2004-11-01 System and method for management and verification of invoices
US11/201,072 Abandoned US20060095373A1 (en) 2004-11-01 2005-08-10 System and method for management and verification of invoices
US12/869,136 Active 2025-01-02 US8924272B2 (en) 2004-11-01 2010-08-26 System and method for management and verification of invoices

Family Applications After (2)

Application Number Title Priority Date Filing Date
US11/201,072 Abandoned US20060095373A1 (en) 2004-11-01 2005-08-10 System and method for management and verification of invoices
US12/869,136 Active 2025-01-02 US8924272B2 (en) 2004-11-01 2010-08-26 System and method for management and verification of invoices

Country Status (1)

Country Link
US (3) US20060095372A1 (en)

Cited By (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070069006A1 (en) * 2005-09-02 2007-03-29 Honda Motor Co., Ltd. Automated Handling of Exceptions in Financial Transaction Records
US20070100716A1 (en) * 2005-09-02 2007-05-03 Honda Motor Co., Ltd. Financial Transaction Controls Using Sending And Receiving Control Data
US20070100717A1 (en) * 2005-09-02 2007-05-03 Honda Motor Co., Ltd. Detecting Missing Records in Financial Transactions by Applying Business Rules
US20080126154A1 (en) * 2006-11-29 2008-05-29 Hoopes John M Method for processing advanced ship notices (ASNs)
US20080133388A1 (en) * 2006-12-01 2008-06-05 Sergey Alekseev Invoice exception management
US20080270273A1 (en) * 2007-04-30 2008-10-30 Sergey Koltunov Method and system for real-time invoice validation and reconciliation
US20080275774A1 (en) * 2007-05-04 2008-11-06 Pepe Thomas F Web based auto bill analysis method
US20100023361A1 (en) * 2008-07-28 2010-01-28 Cheryl Brower Enterprise Asset Management
US20100023432A1 (en) * 2008-07-28 2010-01-28 Andrew Wood Takeoff List Palette For Guiding Semi-Automatic Quantity Takeoff From Computer Aided Design Drawings
US20100023415A1 (en) * 2008-07-28 2010-01-28 Cheryl Brower Enterprise Asset Management
US20100063910A1 (en) * 2008-09-05 2010-03-11 Oracle International Corporation Providing a unified view of contract revenue and invoice details
US20110137762A1 (en) * 2007-05-04 2011-06-09 Pepe Thomas F Computer implemented method for bill analysis over the internet
US8065123B2 (en) 2007-09-10 2011-11-22 Autodesk, Inc. Systems and methods for performing quantity takeoff computations from computer aided design drawings
WO2011157901A1 (en) * 2010-06-17 2011-12-22 Itella Oyj Method and system in a communication network for contacting suppliers
US20130144782A1 (en) * 2011-05-13 2013-06-06 Bottomline Technologies (De) Inc. Electronic invoice payment prediction system and method
US20130205227A1 (en) * 2011-02-07 2013-08-08 Imagitek Ltd Dba Prodagio Software Methods and apparatus for processing documents
US20150058774A1 (en) * 2013-08-22 2015-02-26 Intuit Inc. Gesture-based visualization of financial data
US8990732B2 (en) 2010-05-14 2015-03-24 Sap Se Value interval selection on multi-touch devices
US8996978B2 (en) 2010-05-14 2015-03-31 Sap Se Methods and systems for performing analytical procedures by interactions with visual representations of datasets
US20150106258A1 (en) * 2013-03-15 2015-04-16 Fiserv, Inc. Electronic loan processing, management and quality assessment
US20150112740A1 (en) * 2006-08-13 2015-04-23 Boris Shapira Systems and method for message-based control and monitoring of a business process
EP2884448A1 (en) * 2013-12-12 2015-06-17 Ricoh Company, Ltd. Information processing apparatus, information processing method and recording medium storing information processing program
US20150186855A1 (en) * 2013-05-09 2015-07-02 Invoice Cloud Incorporated Electronic invoicing and payment
US20150324715A1 (en) * 2014-05-12 2015-11-12 Jerald Scott Nelson Logistics settlement risk scoring system
US20160162995A1 (en) * 2014-12-04 2016-06-09 Siemens Technology And Services Pvt. Ltd. Method and system for duplicate invoice entry detection
US20160203564A1 (en) * 2015-01-13 2016-07-14 Vatbox, Ltd. System and method for consolidating expense records
DK201570235A1 (en) * 2015-04-22 2016-11-14 Admiflow Aps A method and a computer system for automatic handling and
WO2018026933A1 (en) * 2016-08-02 2018-02-08 Hexanika System and method for collecting, consolidating and processing data
US10410274B1 (en) * 2006-03-06 2019-09-10 Versata, Inc. Invoicing portal with easy search and easy user communication
EP3557480A1 (en) * 2018-04-20 2019-10-23 Abacus Accounting Technologies GmbH Deriving data from documents and from transmission protocols using machine-learning techniques
WO2020047595A1 (en) * 2018-09-04 2020-03-12 Eftsure Pty Ltd A system and process for the verification of data
US10798078B2 (en) * 2016-03-07 2020-10-06 Ricoh Company, Ltd. System for using login information and historical data to determine processing for data received from various data sources
US10825104B1 (en) 2017-02-16 2020-11-03 Intuit Inc. Method and system for integrating invoice related financial transaction data into a personal financial management and bill payment system and using the payment source to more accurately identify and categorize tax related financial transactions using the payment method
US11062262B2 (en) * 2017-12-29 2021-07-13 Walmart Apollo, Llc Systems and methods for identifying and remedying product mis-shipments to retail stores
US11341547B1 (en) * 2019-06-19 2022-05-24 Amazon Technologies, Inc. Real-time detection of duplicate data records
US11526859B1 (en) 2019-11-12 2022-12-13 Bottomline Technologies, Sarl Cash flow forecasting using a bottoms-up machine learning approach
US11532040B2 (en) 2019-11-12 2022-12-20 Bottomline Technologies Sarl International cash management software using machine learning
US11704671B2 (en) 2020-04-02 2023-07-18 Bottomline Technologies Limited Financial messaging transformation-as-a-service
US11803555B2 (en) * 2018-09-24 2023-10-31 Salesforce, Inc. Integrated entity view across distributed systems
US11886403B1 (en) 2023-06-13 2024-01-30 1370092 Ontario Ltd. Apparatus and method for data discrepancy identification

Families Citing this family (142)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6351776B1 (en) 1999-11-04 2002-02-26 Xdrive, Inc. Shared internet storage resource, user interface system, and method
US20100185614A1 (en) 1999-11-04 2010-07-22 O'brien Brett Shared Internet storage resource, user interface system, and method
US7340422B2 (en) * 2003-02-10 2008-03-04 Asentinel Llc Systems and method for managing and processing of telecommunications invoices
EP1782366A2 (en) 2004-06-04 2007-05-09 Sap Ag Consistent set of interfaces derived from a business object
US8606723B2 (en) * 2004-06-04 2013-12-10 Sap Ag Consistent set of interfaces derived from a business object model
US8694397B2 (en) 2004-06-18 2014-04-08 Sap Ag Consistent set of interfaces derived from a business object model
US20060009999A1 (en) * 2004-07-07 2006-01-12 Gee Karen A Contract term updates
US8744937B2 (en) * 2005-02-25 2014-06-03 Sap Ag Consistent set of interfaces derived from a business object model
US9769354B2 (en) 2005-03-24 2017-09-19 Kofax, Inc. Systems and methods of processing scanned data
US9137417B2 (en) 2005-03-24 2015-09-15 Kofax, Inc. Systems and methods for processing video data
US7596519B2 (en) * 2005-11-14 2009-09-29 Sap Ag System and method for facilitating open item clearance
US7966233B1 (en) * 2005-12-30 2011-06-21 At&T Intellectual Property Ii, L.P. Method for end to end data synchronization for networking arrangement
US7627487B2 (en) * 2006-01-17 2009-12-01 Healthcare Waste Solutions, Llc Comprehensive healthcare waste assessment system
US10181149B1 (en) * 2006-03-06 2019-01-15 Versata, Inc. Electronic processing of invoices with no purchase orders
US10176509B1 (en) * 2006-03-06 2019-01-08 Versata, Inc. Flexible and integrated electronic processing of different invoice categories
US8374931B2 (en) * 2006-03-31 2013-02-12 Sap Ag Consistent set of interfaces derived from a business object model
WO2007130998A2 (en) * 2006-05-02 2007-11-15 The Regents Of The University Of California Web-page-based system for designing database driven web applications
EP2076874A4 (en) 2006-05-13 2011-03-09 Sap Ag Consistent set of interfaces derived from a business object model
US8392364B2 (en) * 2006-07-10 2013-03-05 Sap Ag Consistent set of interfaces derived from a business object model
US8566193B2 (en) * 2006-08-11 2013-10-22 Sap Ag Consistent set of interfaces derived from a business object model
US8402473B1 (en) 2006-09-28 2013-03-19 Sap Ag Managing consistent interfaces for demand business objects across heterogeneous systems
US20080263103A1 (en) 2007-03-02 2008-10-23 Mcgregor Lucas Digital asset management system (DAMS)
US20080255972A1 (en) * 2007-04-10 2008-10-16 Invoice Compliance Experts Legal billing enhancement method and apparatus
WO2009009762A1 (en) * 2007-07-11 2009-01-15 Yrc Worldwide Inc. Systems and methods for predictive bill entry
US20090083090A1 (en) * 2007-09-21 2009-03-26 Healthcare Waste Solutions, Llc Comprehensive waste billing system
US8190562B2 (en) * 2007-10-31 2012-05-29 Microsoft Corporation Linking framework for information technology management
EP2081361B1 (en) * 2008-01-21 2014-03-26 Alcatel Lucent Converged information systems
US8417593B2 (en) * 2008-02-28 2013-04-09 Sap Ag System and computer-readable medium for managing consistent interfaces for business objects across heterogeneous systems
US8930248B2 (en) * 2008-03-31 2015-01-06 Sap Se Managing consistent interfaces for supply network business objects across heterogeneous systems
US8370233B2 (en) * 2008-03-31 2013-02-05 Sap Ag Managing consistent interfaces for business objects across heterogeneous systems
US8413165B2 (en) 2008-03-31 2013-04-02 Sap Ag Managing consistent interfaces for maintenance order business objects across heterogeneous systems
US8364715B2 (en) 2008-03-31 2013-01-29 Sap Ag Managing consistent interfaces for automatic identification label business objects across heterogeneous systems
US8433585B2 (en) * 2008-03-31 2013-04-30 Sap Ag Managing consistent interfaces for business objects across heterogeneous systems
US8473317B2 (en) * 2008-03-31 2013-06-25 Sap Ag Managing consistent interfaces for service part business objects across heterogeneous systems
US8423418B2 (en) 2008-03-31 2013-04-16 Sap Ag Managing consistent interfaces for business objects across heterogeneous systems
US8577991B2 (en) 2008-03-31 2013-11-05 Sap Ag Managing consistent interfaces for internal service request business objects across heterogeneous systems
US8589263B2 (en) 2008-03-31 2013-11-19 Sap Ag Managing consistent interfaces for retail business objects across heterogeneous systems
US8887045B2 (en) * 2008-06-11 2014-11-11 Caterpillar Inc. System and method for providing data links
US8165934B2 (en) 2008-06-20 2012-04-24 Micro Graphic Information Services Corp. Automated invoice processing software and services
US8566185B2 (en) * 2008-06-26 2013-10-22 Sap Ag Managing consistent interfaces for financial instrument business objects across heterogeneous systems
US8645228B2 (en) * 2008-06-26 2014-02-04 Sap Ag Managing consistent interfaces for business objects across heterogeneous systems
US20090326988A1 (en) * 2008-06-26 2009-12-31 Robert Barth Managing consistent interfaces for business objects across heterogeneous systems
US8671064B2 (en) * 2008-06-26 2014-03-11 Sap Ag Managing consistent interfaces for supply chain management business objects across heterogeneous systems
US8131641B2 (en) * 2008-08-13 2012-03-06 Oracle International Corporation Techniques for reconciling billed expenses with provisions of a lease agreement
US20100088382A1 (en) * 2008-08-27 2010-04-08 Lee G Roger Document manager integration
US8380551B2 (en) * 2008-11-05 2013-02-19 The Boeing Company Method and system for processing work requests
US8463666B2 (en) 2008-11-25 2013-06-11 Sap Ag Managing consistent interfaces for merchandise and assortment planning business objects across heterogeneous systems
US8577760B2 (en) * 2008-11-25 2013-11-05 Sap Ag Managing consistent interfaces for tax authority business objects across heterogeneous systems
US20100153297A1 (en) 2008-12-12 2010-06-17 Sap Ag Managing Consistent Interfaces for Credit Portfolio Business Objects Across Heterogeneous Systems
US8898623B2 (en) * 2008-12-30 2014-11-25 The Regents Of The University Of California Application design and data flow analysis
US9349046B2 (en) 2009-02-10 2016-05-24 Kofax, Inc. Smart optical input/output (I/O) extension for context-dependent workflows
US9767354B2 (en) 2009-02-10 2017-09-19 Kofax, Inc. Global geographic information retrieval, validation, and normalization
US8879846B2 (en) 2009-02-10 2014-11-04 Kofax, Inc. Systems, methods and computer program products for processing financial documents
US8345981B2 (en) 2009-02-10 2013-01-01 Kofax, Inc. Systems, methods, and computer program products for determining document validity
US8958605B2 (en) 2009-02-10 2015-02-17 Kofax, Inc. Systems, methods and computer program products for determining document validity
US9576272B2 (en) 2009-02-10 2017-02-21 Kofax, Inc. Systems, methods and computer program products for determining document validity
US8774516B2 (en) 2009-02-10 2014-07-08 Kofax, Inc. Systems, methods and computer program products for determining document validity
US20100299229A1 (en) * 2009-05-20 2010-11-25 Sap Ag Capabilities and options for distributing functionality in an enterprise resource planning system landscape
US20110077999A1 (en) * 2009-09-30 2011-03-31 Sap Ag Managing consistent interfaces for retail event business objects across heterogeneous systems
US8396751B2 (en) * 2009-09-30 2013-03-12 Sap Ag Managing consistent interfaces for merchandising business objects across heterogeneous systems
US20110173222A1 (en) * 2010-01-13 2011-07-14 Mehmet Oguz Sayal Data value replacement in a database
US8412603B2 (en) 2010-06-15 2013-04-02 Sap Ag Managing consistent interfaces for currency conversion and date and time business objects across heterogeneous systems
US8417588B2 (en) 2010-06-15 2013-04-09 Sap Ag Managing consistent interfaces for goods tag, production bill of material hierarchy, and release order template business objects across heterogeneous systems
US8732083B2 (en) 2010-06-15 2014-05-20 Sap Ag Managing consistent interfaces for number range, number range profile, payment card payment authorisation, and product template template business objects across heterogeneous systems
US8515794B2 (en) 2010-06-15 2013-08-20 Sap Ag Managing consistent interfaces for employee time event and human capital management view of payroll process business objects across heterogeneous systems
US9135585B2 (en) 2010-06-15 2015-09-15 Sap Se Managing consistent interfaces for property library, property list template, quantity conversion virtual object, and supplier property specification business objects across heterogeneous systems
US8370272B2 (en) 2010-06-15 2013-02-05 Sap Ag Managing consistent interfaces for business document message monitoring view, customs arrangement, and freight list business objects across heterogeneous systems
US8364608B2 (en) 2010-06-15 2013-01-29 Sap Ag Managing consistent interfaces for export declaration and export declaration request business objects across heterogeneous systems
US20130191238A1 (en) * 2010-10-08 2013-07-25 Hewlett-Packard Development Company, L.P. Automated negotiation
US9563904B2 (en) 2014-10-21 2017-02-07 Slice Technologies, Inc. Extracting product purchase information from electronic messages
US9846902B2 (en) 2011-07-19 2017-12-19 Slice Technologies, Inc. Augmented aggregation of emailed product order and shipping information
US9875486B2 (en) 2014-10-21 2018-01-23 Slice Technologies, Inc. Extracting product purchase information from electronic messages
US8775280B2 (en) 2011-07-28 2014-07-08 Sap Ag Managing consistent interfaces for financial business objects across heterogeneous systems
US8725654B2 (en) 2011-07-28 2014-05-13 Sap Ag Managing consistent interfaces for employee data replication business objects across heterogeneous systems
US8560392B2 (en) 2011-07-28 2013-10-15 Sap Ag Managing consistent interfaces for a point of sale transaction business object across heterogeneous systems
US8666845B2 (en) 2011-07-28 2014-03-04 Sap Ag Managing consistent interfaces for a customer requirement business object across heterogeneous systems
US8601490B2 (en) 2011-07-28 2013-12-03 Sap Ag Managing consistent interfaces for business rule business object across heterogeneous systems
US8521838B2 (en) 2011-07-28 2013-08-27 Sap Ag Managing consistent interfaces for communication system and object identifier mapping business objects across heterogeneous systems
US20130054388A1 (en) * 2011-08-23 2013-02-28 Verdi Erel Ergun Commerce and inventory control system and a method for conducting commerce
US9785982B2 (en) 2011-09-12 2017-10-10 Doco Labs, Llc Telecom profitability management
US9129276B1 (en) * 2011-11-02 2015-09-08 Intuit Inc. Inventory management
US8626773B2 (en) * 2011-12-12 2014-01-07 Business Objects Software Limited Aligning records for visual comparison
US9483794B2 (en) 2012-01-12 2016-11-01 Kofax, Inc. Systems and methods for identification document processing and business workflow integration
US10055718B2 (en) 2012-01-12 2018-08-21 Slice Technologies, Inc. Purchase confirmation data extraction with missing data replacement
US10146795B2 (en) 2012-01-12 2018-12-04 Kofax, Inc. Systems and methods for mobile image capture and processing
US9514357B2 (en) 2012-01-12 2016-12-06 Kofax, Inc. Systems and methods for mobile image capture and processing
US9058580B1 (en) 2012-01-12 2015-06-16 Kofax, Inc. Systems and methods for identification document processing and business workflow integration
US9058515B1 (en) 2012-01-12 2015-06-16 Kofax, Inc. Systems and methods for identification document processing and business workflow integration
US8756274B2 (en) 2012-02-16 2014-06-17 Sap Ag Consistent interface for sales territory message type set 1
US8984050B2 (en) 2012-02-16 2015-03-17 Sap Se Consistent interface for sales territory message type set 2
US9232368B2 (en) 2012-02-16 2016-01-05 Sap Se Consistent interface for user feed administrator, user feed event link and user feed settings
US9237425B2 (en) 2012-02-16 2016-01-12 Sap Se Consistent interface for feed event, feed event document and feed event type
US8762454B2 (en) 2012-02-16 2014-06-24 Sap Ag Consistent interface for flag and tag
US8762453B2 (en) 2012-02-16 2014-06-24 Sap Ag Consistent interface for feed collaboration group and feed event subscription
US9367826B2 (en) 2012-06-28 2016-06-14 Sap Se Consistent interface for entitlement product
US8949855B2 (en) 2012-06-28 2015-02-03 Sap Se Consistent interface for address snapshot and approval process definition
US8615451B1 (en) 2012-06-28 2013-12-24 Sap Ag Consistent interface for goods and activity confirmation
US8521621B1 (en) 2012-06-28 2013-08-27 Sap Ag Consistent interface for inbound delivery request
US9246869B2 (en) 2012-06-28 2016-01-26 Sap Se Consistent interface for opportunity
US8756135B2 (en) 2012-06-28 2014-06-17 Sap Ag Consistent interface for product valuation data and product valuation level
US9400998B2 (en) 2012-06-28 2016-07-26 Sap Se Consistent interface for message-based communication arrangement, organisational centre replication request, and payment schedule
WO2014000200A1 (en) 2012-06-28 2014-01-03 Sap Ag Consistent interface for document output request
US9076112B2 (en) 2012-08-22 2015-07-07 Sap Se Consistent interface for financial instrument impairment expected cash flow analytical result
US9043236B2 (en) 2012-08-22 2015-05-26 Sap Se Consistent interface for financial instrument impairment attribute values analytical result
US9547833B2 (en) 2012-08-22 2017-01-17 Sap Se Consistent interface for financial instrument impairment calculation
US20140279586A1 (en) * 2013-03-12 2014-09-18 Sap Ag Invoice number gap alerting and processing
CN105283884A (en) 2013-03-13 2016-01-27 柯法克斯公司 Classifying objects in digital images captured using mobile devices
US9355312B2 (en) 2013-03-13 2016-05-31 Kofax, Inc. Systems and methods for classifying objects in digital images captured using mobile devices
US9208536B2 (en) 2013-09-27 2015-12-08 Kofax, Inc. Systems and methods for three dimensional geometric reconstruction of captured image data
US9191343B2 (en) 2013-03-15 2015-11-17 Sap Se Consistent interface for appointment activity business object
US9191357B2 (en) 2013-03-15 2015-11-17 Sap Se Consistent interface for email activity business object
US20140316841A1 (en) 2013-04-23 2014-10-23 Kofax, Inc. Location-based workflows and services
EP2992481A4 (en) 2013-05-03 2017-02-22 Kofax, Inc. Systems and methods for detecting and classifying objects in video captured using mobile devices
JP2016538783A (en) 2013-11-15 2016-12-08 コファックス, インコーポレイテッド System and method for generating a composite image of a long document using mobile video data
US9286283B1 (en) * 2014-09-30 2016-03-15 Coupa Software Incorporated Feedback validation of electronically generated forms
US9760788B2 (en) 2014-10-30 2017-09-12 Kofax, Inc. Mobile document detection and orientation based on reference object characteristics
US10242285B2 (en) 2015-07-20 2019-03-26 Kofax, Inc. Iterative recognition-guided thresholding and data extraction
US10643025B2 (en) * 2015-07-31 2020-05-05 Wisetech Global Limited Methods and systems for creating configurable forms, configuring forms and for form flow and form correlation
US20180025224A1 (en) * 2015-11-29 2018-01-25 Vatbox, Ltd. System and method for identifying unclaimed electronic documents
US20170323157A1 (en) * 2015-11-29 2017-11-09 Vatbox, Ltd. System and method for determining an entity status based on unstructured electronic documents
US10387561B2 (en) 2015-11-29 2019-08-20 Vatbox, Ltd. System and method for obtaining reissues of electronic documents lacking required data
US20170169519A1 (en) * 2015-11-29 2017-06-15 Vatbox, Ltd. System and method for automatically verifying transactions based on electronic documents
US10558880B2 (en) 2015-11-29 2020-02-11 Vatbox, Ltd. System and method for finding evidencing electronic documents based on unstructured data
US20180011846A1 (en) * 2015-11-29 2018-01-11 Vatbox, Ltd. System and method for matching transaction electronic documents to evidencing electronic documents
US10509811B2 (en) 2015-11-29 2019-12-17 Vatbox, Ltd. System and method for improved analysis of travel-indicating unstructured electronic documents
US11138372B2 (en) 2015-11-29 2021-10-05 Vatbox, Ltd. System and method for reporting based on electronic documents
US9779296B1 (en) 2016-04-01 2017-10-03 Kofax, Inc. Content-based detection and three dimensional geometric reconstruction of objects in image and video data
GB2565017B (en) 2016-05-13 2021-10-06 Walmart Apollo Llc Systems and methods for sortation of products using a conveyor assembly
CA3055196C (en) 2017-03-02 2020-05-26 Walmart Apollo, Llc Conveyor system that senses and separates product
US10943207B2 (en) 2017-03-02 2021-03-09 Walmart Apollo, Llc Shipment receiving systems and methods including notification and reconciliation features
US10447635B2 (en) 2017-05-17 2019-10-15 Slice Technologies, Inc. Filtering electronic messages
US10803350B2 (en) 2017-11-30 2020-10-13 Kofax, Inc. Object detection and image cropping using a multi-detector approach
US11803883B2 (en) 2018-01-29 2023-10-31 Nielsen Consumer Llc Quality assurance for labeled training data
WO2019190916A1 (en) 2018-03-30 2019-10-03 Walmart Apollo, Llc Systems and methods for distributing merchandise and merchandise kits at emergency locations
US11030450B2 (en) * 2018-05-31 2021-06-08 Vatbox, Ltd. System and method for determining originality of computer-generated images
WO2020146642A1 (en) * 2019-01-11 2020-07-16 North Fork Holdings, Llc Machine for exception handling in a processing network
TWI694338B (en) * 2019-01-11 2020-05-21 關貿網路股份有限公司 System of grouping for interrupted continuous serial and method thereof
WO2020154559A1 (en) 2019-01-25 2020-07-30 Walmart Apollo, Llc Conveyor systems and methods for sorting merchandise using interchangeable and assignable sortation modules
TWI726423B (en) * 2019-09-23 2021-05-01 建國科技大學 Artificial intelligence-assisted accounting and cashier automation method
US11810163B1 (en) * 2020-11-23 2023-11-07 Amazon Technologies, Inc. E-invoice customization system
US20220230174A1 (en) * 2021-01-21 2022-07-21 Bank Of America Corporation System for analyzing and resolving disputed data records
US11763395B2 (en) * 2021-01-27 2023-09-19 Coupa Software Incorporated Duplicate invoice detection and management

Citations (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5963925A (en) * 1996-10-09 1999-10-05 Visa International Service Association Electronic statement presentment system
US6044374A (en) * 1997-11-14 2000-03-28 Informatica Corporation Method and apparatus for sharing metadata between multiple data marts through object references
US6073215A (en) * 1998-08-03 2000-06-06 Motorola, Inc. Data processing system having a data prefetch mechanism and method therefor
US20010014880A1 (en) * 1999-02-03 2001-08-16 Michael W. Beach Preprocessor system and method for rejection of duplicate invoices
US20010023414A1 (en) * 1998-12-08 2001-09-20 Srihari Kumar Interactive calculation and presentation of financial data results through a single interface on a data-packet-network
US6401079B1 (en) * 1999-10-01 2002-06-04 Inleague, Inc. System for web-based payroll and benefits administration
US20020194174A1 (en) * 2001-04-11 2002-12-19 International Business Machines Corporation System and method for identifying invoices that may be duplicate prior to payment
US6507826B1 (en) * 1999-01-29 2003-01-14 Koriel, Inc. Remote electronic invoice entry and validation system and method therefor
US6529939B1 (en) * 1999-11-16 2003-03-04 International Business Machines Coproation User-initiated maintenance of document locators
US20030110128A1 (en) * 2001-12-07 2003-06-12 Pitney Bowes Incorporated Method and system for importing invoice data into accounting and payment programs
US20030130942A1 (en) * 2002-01-08 2003-07-10 Bottomline Technologies (De) Inc. Automated invoice receipt and management system with automated loading systems
US20030204458A1 (en) * 2002-04-26 2003-10-30 Carroll Charles T. Accrual and validation system, and associated methods
US20030233321A1 (en) * 2001-11-30 2003-12-18 Scolini Anthony J. Integrated invoice solution
US20040049459A1 (en) * 2002-06-18 2004-03-11 Philliou Philip J. System and method for integrated electronic invoice presentment and payment
US20040153404A1 (en) * 2003-01-31 2004-08-05 Joern Rischmueller Convergent invoicing system and method
US20040181482A1 (en) * 2003-03-13 2004-09-16 International Business Machines Corporation Invoice processing approval and storage system method and apparatus
US6882986B1 (en) * 2000-08-07 2005-04-19 Tymetrix Method for automatic processing of invoices
US6928411B1 (en) * 1999-09-30 2005-08-09 International Business Machines Corporation Invoice processing system
US7206768B1 (en) * 2000-08-14 2007-04-17 Jpmorgan Chase Bank, N.A. Electronic multiparty accounts receivable and accounts payable system

Patent Citations (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5963925A (en) * 1996-10-09 1999-10-05 Visa International Service Association Electronic statement presentment system
US6044374A (en) * 1997-11-14 2000-03-28 Informatica Corporation Method and apparatus for sharing metadata between multiple data marts through object references
US6073215A (en) * 1998-08-03 2000-06-06 Motorola, Inc. Data processing system having a data prefetch mechanism and method therefor
US20010023414A1 (en) * 1998-12-08 2001-09-20 Srihari Kumar Interactive calculation and presentation of financial data results through a single interface on a data-packet-network
US6507826B1 (en) * 1999-01-29 2003-01-14 Koriel, Inc. Remote electronic invoice entry and validation system and method therefor
US20010014880A1 (en) * 1999-02-03 2001-08-16 Michael W. Beach Preprocessor system and method for rejection of duplicate invoices
US6928411B1 (en) * 1999-09-30 2005-08-09 International Business Machines Corporation Invoice processing system
US6401079B1 (en) * 1999-10-01 2002-06-04 Inleague, Inc. System for web-based payroll and benefits administration
US6529939B1 (en) * 1999-11-16 2003-03-04 International Business Machines Coproation User-initiated maintenance of document locators
US6882986B1 (en) * 2000-08-07 2005-04-19 Tymetrix Method for automatic processing of invoices
US7206768B1 (en) * 2000-08-14 2007-04-17 Jpmorgan Chase Bank, N.A. Electronic multiparty accounts receivable and accounts payable system
US20020194174A1 (en) * 2001-04-11 2002-12-19 International Business Machines Corporation System and method for identifying invoices that may be duplicate prior to payment
US20030233321A1 (en) * 2001-11-30 2003-12-18 Scolini Anthony J. Integrated invoice solution
US20030110128A1 (en) * 2001-12-07 2003-06-12 Pitney Bowes Incorporated Method and system for importing invoice data into accounting and payment programs
US20030130942A1 (en) * 2002-01-08 2003-07-10 Bottomline Technologies (De) Inc. Automated invoice receipt and management system with automated loading systems
US20030204458A1 (en) * 2002-04-26 2003-10-30 Carroll Charles T. Accrual and validation system, and associated methods
US20040049459A1 (en) * 2002-06-18 2004-03-11 Philliou Philip J. System and method for integrated electronic invoice presentment and payment
US20040153404A1 (en) * 2003-01-31 2004-08-05 Joern Rischmueller Convergent invoicing system and method
US20040181482A1 (en) * 2003-03-13 2004-09-16 International Business Machines Corporation Invoice processing approval and storage system method and apparatus

Cited By (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8095437B2 (en) 2005-09-02 2012-01-10 Honda Motor Co., Ltd. Detecting missing files in financial transactions by applying business rules
US20070100716A1 (en) * 2005-09-02 2007-05-03 Honda Motor Co., Ltd. Financial Transaction Controls Using Sending And Receiving Control Data
US20070100717A1 (en) * 2005-09-02 2007-05-03 Honda Motor Co., Ltd. Detecting Missing Records in Financial Transactions by Applying Business Rules
US20070069006A1 (en) * 2005-09-02 2007-03-29 Honda Motor Co., Ltd. Automated Handling of Exceptions in Financial Transaction Records
US8540140B2 (en) * 2005-09-02 2013-09-24 Honda Motor Co., Ltd. Automated handling of exceptions in financial transaction records
US8099340B2 (en) * 2005-09-02 2012-01-17 Honda Motor Co., Ltd. Financial transaction controls using sending and receiving control data
US10410274B1 (en) * 2006-03-06 2019-09-10 Versata, Inc. Invoicing portal with easy search and easy user communication
US20230306322A1 (en) * 2006-08-13 2023-09-28 Controls Force Ltd. Systems and method for message-based control and monitoring of a business process
US20230144109A1 (en) * 2006-08-13 2023-05-11 Controls Force Ltd. Systems and method for message-based control and monitoring of a business process
US11651304B2 (en) 2006-08-13 2023-05-16 Controls Force Ltd. Systems and method for message-based control and monitoring of a business process
US11704606B2 (en) * 2006-08-13 2023-07-18 Controls Force Ltd. Systems and method for message-based control and monitoring of a business process
US20150112740A1 (en) * 2006-08-13 2015-04-23 Boris Shapira Systems and method for message-based control and monitoring of a business process
US11113639B2 (en) * 2006-08-13 2021-09-07 Controls Force Ltd Systems and method for message-based control and monitoring of a business process
US20080126154A1 (en) * 2006-11-29 2008-05-29 Hoopes John M Method for processing advanced ship notices (ASNs)
US8095474B2 (en) 2006-11-29 2012-01-10 Caterpillar Inc. Method for processing advanced ship notices (ASNs)
US20080133388A1 (en) * 2006-12-01 2008-06-05 Sergey Alekseev Invoice exception management
US20080270273A1 (en) * 2007-04-30 2008-10-30 Sergey Koltunov Method and system for real-time invoice validation and reconciliation
US7904354B2 (en) 2007-05-04 2011-03-08 Validas, Llc Web based auto bill analysis method
US20080275774A1 (en) * 2007-05-04 2008-11-06 Pepe Thomas F Web based auto bill analysis method
US20110137762A1 (en) * 2007-05-04 2011-06-09 Pepe Thomas F Computer implemented method for bill analysis over the internet
US8666849B2 (en) 2007-05-04 2014-03-04 Validas, Llc Computer implemented method for bill analysis over the internet
US8065123B2 (en) 2007-09-10 2011-11-22 Autodesk, Inc. Systems and methods for performing quantity takeoff computations from computer aided design drawings
US8244608B2 (en) * 2008-07-28 2012-08-14 Autodesk, Inc. Takeoff list palette for guiding semi-automatic quantity takeoff from computer aided design drawings
US8566182B2 (en) 2008-07-28 2013-10-22 Hewlett-Packard Development Company, L.P. Enterprise asset management
US20100023432A1 (en) * 2008-07-28 2010-01-28 Andrew Wood Takeoff List Palette For Guiding Semi-Automatic Quantity Takeoff From Computer Aided Design Drawings
US20100023361A1 (en) * 2008-07-28 2010-01-28 Cheryl Brower Enterprise Asset Management
US20100023415A1 (en) * 2008-07-28 2010-01-28 Cheryl Brower Enterprise Asset Management
US8666854B2 (en) * 2008-09-05 2014-03-04 Oracle International Corporation Providing a unified view of contract revenue and invoice details
US20100063910A1 (en) * 2008-09-05 2010-03-11 Oracle International Corporation Providing a unified view of contract revenue and invoice details
US8996978B2 (en) 2010-05-14 2015-03-31 Sap Se Methods and systems for performing analytical procedures by interactions with visual representations of datasets
US8990732B2 (en) 2010-05-14 2015-03-24 Sap Se Value interval selection on multi-touch devices
WO2011157901A1 (en) * 2010-06-17 2011-12-22 Itella Oyj Method and system in a communication network for contacting suppliers
US20130205227A1 (en) * 2011-02-07 2013-08-08 Imagitek Ltd Dba Prodagio Software Methods and apparatus for processing documents
US20130144782A1 (en) * 2011-05-13 2013-06-06 Bottomline Technologies (De) Inc. Electronic invoice payment prediction system and method
US20150106258A1 (en) * 2013-03-15 2015-04-16 Fiserv, Inc. Electronic loan processing, management and quality assessment
US20150186855A1 (en) * 2013-05-09 2015-07-02 Invoice Cloud Incorporated Electronic invoicing and payment
US20150058774A1 (en) * 2013-08-22 2015-02-26 Intuit Inc. Gesture-based visualization of financial data
EP2884448A1 (en) * 2013-12-12 2015-06-17 Ricoh Company, Ltd. Information processing apparatus, information processing method and recording medium storing information processing program
US20150324715A1 (en) * 2014-05-12 2015-11-12 Jerald Scott Nelson Logistics settlement risk scoring system
US20160162995A1 (en) * 2014-12-04 2016-06-09 Siemens Technology And Services Pvt. Ltd. Method and system for duplicate invoice entry detection
US20160203564A1 (en) * 2015-01-13 2016-07-14 Vatbox, Ltd. System and method for consolidating expense records
DK178794B1 (en) * 2015-04-22 2017-02-13 Admiflow Aps METHOD AND COMPUTER SYSTEM FOR AUTOMATIC HANDLING AND PAYMENT OF INVOICE
DK201570235A1 (en) * 2015-04-22 2016-11-14 Admiflow Aps A method and a computer system for automatic handling and
US10798078B2 (en) * 2016-03-07 2020-10-06 Ricoh Company, Ltd. System for using login information and historical data to determine processing for data received from various data sources
WO2018026933A1 (en) * 2016-08-02 2018-02-08 Hexanika System and method for collecting, consolidating and processing data
US11409757B2 (en) 2016-08-02 2022-08-09 Hexanika System and method for collecting, consolidating and processing data
US10825104B1 (en) 2017-02-16 2020-11-03 Intuit Inc. Method and system for integrating invoice related financial transaction data into a personal financial management and bill payment system and using the payment source to more accurately identify and categorize tax related financial transactions using the payment method
US11062262B2 (en) * 2017-12-29 2021-07-13 Walmart Apollo, Llc Systems and methods for identifying and remedying product mis-shipments to retail stores
EP3557480A1 (en) * 2018-04-20 2019-10-23 Abacus Accounting Technologies GmbH Deriving data from documents and from transmission protocols using machine-learning techniques
EP3847608A4 (en) * 2018-09-04 2022-04-20 Eftsure Pty Ltd A system and process for the verification of data
WO2020047595A1 (en) * 2018-09-04 2020-03-12 Eftsure Pty Ltd A system and process for the verification of data
US11803555B2 (en) * 2018-09-24 2023-10-31 Salesforce, Inc. Integrated entity view across distributed systems
US11341547B1 (en) * 2019-06-19 2022-05-24 Amazon Technologies, Inc. Real-time detection of duplicate data records
US11526859B1 (en) 2019-11-12 2022-12-13 Bottomline Technologies, Sarl Cash flow forecasting using a bottoms-up machine learning approach
US11532040B2 (en) 2019-11-12 2022-12-20 Bottomline Technologies Sarl International cash management software using machine learning
US11704671B2 (en) 2020-04-02 2023-07-18 Bottomline Technologies Limited Financial messaging transformation-as-a-service
US11886403B1 (en) 2023-06-13 2024-01-30 1370092 Ontario Ltd. Apparatus and method for data discrepancy identification

Also Published As

Publication number Publication date
US20060095373A1 (en) 2006-05-04
US20140067633A1 (en) 2014-03-06
US8924272B2 (en) 2014-12-30

Similar Documents

Publication Publication Date Title
US8924272B2 (en) System and method for management and verification of invoices
US20230144109A1 (en) Systems and method for message-based control and monitoring of a business process
CN111316310B (en) Unified electronic transaction management system
US20080133388A1 (en) Invoice exception management
US8165934B2 (en) Automated invoice processing software and services
US8326754B2 (en) Method and system for processing transactions
US7865413B2 (en) Method and system for processing transactions by a third party using a central database to facilitate remittance
US8396725B2 (en) Method and system configured for facilitating management of international trade receivables transactions
US7416131B2 (en) Electronic transaction processing server with automated transaction evaluation
US7835956B2 (en) System and method for invoice imaging through negative confirmation process
US8190482B1 (en) Organic supplier enablement based on a business transaction
EP1659526A2 (en) System and method for management and verification of invoices
US20030144866A1 (en) Method and apparatus for processing electronic dispute data
US20030036994A1 (en) Automated mortgage lender processing system
US20080086413A1 (en) Systems and methods for collaborative payment strategies
US20050119926A1 (en) Method and system for managing multi-national integrated trade and logistics and processes for efficient, timely, and compliant movement of goods across international borders
US20080201190A1 (en) System and method for electronic processing of default case files
US20080133281A1 (en) Method and System for Creating Rental Vehicle Reservations from Facsimile Communications
CN115409589B (en) Financial data standardization system and method thereof
US7343345B1 (en) Payment model for an enterprise resource planning system
JP4008279B2 (en) Electronic delivery system and program
CN115392864A (en) Engineering design ERP management system
EP1704391A2 (en) Method and system for processing transactions
JP2003296432A (en) Electronic delivery system and method
WO2008010829A2 (en) System and method for electronic processing of default case files

Legal Events

Date Code Title Description
AS Assignment

Owner name: SAP AKTIENGESELLSCHAFT, GERMANY

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:VENKATASUBRAMANIAN, RAMSHANKAR;VOGLER, HARTMUT K.;FARRENKOPF, ECKHARD;AND OTHERS;REEL/FRAME:015952/0646;SIGNING DATES FROM 20041019 TO 20041101

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION