1. Technical Field
The present invention relates to computer or processing systems for financial transactions, and more specifically, to selective processing of reverse invoices within the financial computer or processing systems.
2. Discussion of the Related Art
Financial (FI) accounting systems automatically post account entries to a General Ledger in response to the entries being saved in the financial accounting systems. Occasionally, an invoice produced by a financial accounting system may need to be reversed or removed from financial records within the General Ledger (e.g., in case of an error without performing the return of the goods, etc.). In order to accomplish reversal of the invoice, a user may generate a reverse invoice for processing by the financial accounting system. The reverse invoice includes a transaction that effectively modifies or nullifies the transaction of the produced invoice within the financial records of the General Ledger. The reverse invoice is similarly posted automatically to the General Ledger in response to the reverse invoice being entered and saved in the financial accounting system. When the reverse invoice contains an error or is erroneously directed to the wrong invoice, several accounting entries typically need to be generated in order to correct this error within the financial records of the General Ledger.
According to one embodiment of the present invention, a system manages financial records, and comprises a computer system including at least one processor. The system generates an electronic invoice representing a financial transaction to rectify financial records adjusted in accordance with a prior processed invoice. The generated electronic invoice is selectively stored for subsequent verification without adjustment of the financial records. The stored electronic invoice is processed to rectify the financial records in accordance with the represented financial transaction in response to verification of the stored electronic invoice. Embodiments of the present invention further include a method and computer program product for managing financial records within a computerized financial system in substantially the same manner described above.
Present invention embodiments pertain to processing of reverse invoices within financial computer or processing systems. A reverse invoice generally includes a transaction that effectively modifies or nullifies a transaction of a prior invoice, and may be used for various situations (e.g., to correct an error within the prior invoice without performing the return of the goods, etc.). A plural stage process enables creation of a reverse invoice, and provides a user with an intermediate stage to enable cancellation of the reverse invoice prior to posting of account entries corresponding to the reverse invoice within the financial computer system. If a correct invoice is selected to be reversed, a corresponding reverse invoice is approved and processed, and transactions corresponding to the reverse invoice are posted by the financial computer system to the General Ledger.
However, in the case where a wrong invoice is selected for reversal, the intermediate stage of present invention embodiments avoids the need to generate and process additional accounting entries to correct the effects of the erroneous reverse invoice within the financial records of the General Ledger. Basically, when a user enters a reverse invoice, the user has the option to select a status for the reverse invoice (e.g., a “Pending Reverse” status) that enables the user to later selectively approve or cancel the entered reverse invoice. Thus, the reverse invoice may be canceled prior to posting to the General Ledger. This reduces the complexity of maintaining accounting journals, and obviates the need for the user to create a new invoice when a wrong invoice has been reversed.
An example environment for use with present invention embodiments is illustrated in
Client systems 114 enable users to interact with financial systems 110 to perform various financial operations (e.g., create, post, and/or edit financial entries, etc.). The financial information (e.g., entries, financial records, General Ledgers, etc.) is stored within one or more database systems 116. The database systems may be implemented by any conventional or other databases or storage units, may be local to or remote from financial systems 110 and client systems 114, and may communicate via any appropriate communication medium (e.g., local area network (LAN), wide area network (WAN), Internet, hardwire, wireless link, Intranet, etc.). Financial systems 110 include invoice and other modules to process invoices as described below. Client systems 114 may present a graphical user (e.g., GUI, etc.) or other interface (e.g., command line prompts, menu screens, etc.) to solicit information from users pertaining to the desired entries and financial operations, and provide various financial reports (e.g., See
Financial systems 110 and client systems 114 may be implemented by any conventional or other computer systems preferably equipped with a display or monitor, a base (e.g., including the processor, memories and/or internal or external communications devices (e.g., modem, network cards, etc.)), optional input devices (e.g., a keyboard, mouse or other input device), and any commercially available and/or custom software (e.g., server/communications software, invoice and other modules, browser/interface software, etc.).
Alternatively, one or more client systems 114 may perform invoice processing and other financial operations when operating as a stand-alone unit. In a stand-alone mode of operation, the client system stores or has access to financial data, and includes the invoice and other modules to perform the financial operations. The graphical user (e.g., GUI, etc.) or other interface (e.g., command line prompts, menu screens, etc.) solicits information from a corresponding user pertaining to the desired entries and financial operations, and may provide various financial reports.
Financial accounting system 110 includes various modules to process entries and perform financial transactions as illustrated in
Invoice module 200 includes a new invoice module 210, a reverse invoice module 300, and a change status module 400. New invoice module 210 enables entry of a new invoice within the financial system. The invoice may be entered, generated, and/or produced in any desired form or fashion (e.g., electronically, hard copy form, etc.). Reverse invoice module 300 provides generation and processing of reverse invoices within the financial system as illustrated in
Change status module 400 enables a user to selectively approve or cancel a reverse invoice prior to posting of that reverse invoice to the General Ledger as illustrated in
In the case where a reverse invoice 452 is approved at step 450, financial system 110 (e.g., via change status module 400) updates the status of reverse invoice 452 to indicate the approval (e.g., the status is changed to approved as viewed in
The single stage processing commences at step 502, and a reverse invoice may be created to modify or nullify a prior invoice. This may be accomplished by financial system 110 (e.g., via invoice module 200) employing a graphical user interface (GUI) as illustrated in
The user may enter information within one or more of primary fields 815 (e.g., invoice number, site location, type, and status) to enable financial system 110 (e.g., via invoice module 200) to retrieve information from database system 116 pertaining to a desired original invoice. The retrieved information is placed in the corresponding fields of invoice area 806 for display. A reverse invoice action 808 is selected by the user from a drop-down menu 810, and an invoice dialog box 820 is displayed by financial system 110 (e.g., via reverse invoice module 300) as illustrated, by way of example, in
Once the reverse invoice is created with a status of approved, the reverse invoice is immediately processed by financial system 110 (e.g., via change status module 400) to automatically reverse the corresponding original invoice at step 504 (
An example manner of financial system 110 processing invoices with a single stage is illustrated in
Another invoice may be received from a vendor by the accounts payable unit of the business entity at step 610 (
In order to compensate for the erroneous entry of invoice number 1989, this invoice is reversed at step 620 (
However, the original invoice amount of $450 still needs to be posted at step 630. Accordingly, financial system 110 (e.g., via new invoice module 210) enables a user to generate a new invoice at step 632 (
If a wrong invoice is reversed, the reversed invoice needs to be restored. By way of example, the accounts payable unit may have reversed invoice number 1988 instead of invoice number 1989 at step 640 (
Referring back to
The user may enter information within one or more of primary fields 815 (e.g., invoice number, site location, type, and status) to enable financial system 110 to retrieve information from database system 116 pertaining to a desired original invoice. The retrieved information is placed in the corresponding fields of invoice area 806 for display. Reverse invoice action 808 is selected by the user from drop-down menu 810, and invoice dialog box 820 is displayed by financial system 110 (e.g., via reverse invoice module 300). The invoice dialog box may include actuators or buttons 822, and fields pertaining to the invoice number, reason for the reversal, General Ledger posting date, and the invoice status as described above. Information pertaining to the desired reverse invoice is entered within the dialog box fields, and number generation button 824 may be utilized to generate the invoice number. In this case, the status for the reverse invoice is selected to be pending for later approval, and proceed button 826 is actuated to enable financial system 110 (e.g., via reverse invoice module 300) to create the reverse invoice.
Once a reverse invoice is entered into financial system 110, the reverse invoice may be selected by entering information within one or more primary fields 815 (e.g., invoice number, site location, type, and status) to enable financial system 110 (e.g., via reverse invoice module 300) to retrieve information from database system 116 pertaining to a desired reverse invoice. The retrieved information is placed in the corresponding fields of invoice area 806 for display.
Once a reverse invoice is created or selected (e.g., via user interface screen 800 in substantially the same manner described above), financial system 110 (e.g., via change status module 400) enables the user to selectively approve or cancel the reverse invoice within an intermediate stage of the processing at step 510 prior to posting to the General Ledger in a final stage of the processing at step 506. Referring to
If the reverse invoice is not approved (e.g., the new invoice status is “Cancel” and proceed button 928 is actuated on user interface screen 800) as determined at step 512 (
An example manner of financial system 110 processing invoices with plural stages is illustrated in
Another invoice may be received from a vendor by the accounts payable unit of the business entity at step 710 (
In order to compensate for the erroneous entry of invoice number 1989, the invoice is reversed at step 720 (
If a wrong invoice is reversed, the reverse invoice corresponding to this reversal may be canceled without requiring additional transactions. For example, the accounts payable unit may have reversed invoice number 1988 instead of invoice number 1989 at step 730 (
It will be appreciated that the embodiments described above and illustrated in the drawings represent only a few of the many ways of implementing embodiments for selective processing of reverse invoices in computer systems for financial transactions.
The topology or environment of the present invention embodiments may include any number of computer or other processing systems (e.g., client or end-user systems, server systems, etc.) and databases or other repositories arranged in any desired fashion, where the present invention embodiments may be applied to any desired type of computing environment (e.g., cloud computing, client-server, network computing, mainframe, stand-alone systems, etc.). The computer or other processing systems (e.g., financial systems, client systems, etc.) employed by the present invention embodiments may be implemented by any number of any personal or other type of computer or processing system (e.g., IBM-compatible, laptop, PDA, mobile devices, etc.), and may include any commercially available operating system and any commercially available or custom software (e.g., browser software, communications software, server software, invoice processing and accounting or financial software, etc.). These systems may include any types of monitors and input devices (e.g., keyboard, mouse, voice recognition, etc.) to enter and/or view information.
It is to be understood that the software (e.g., invoice module, new invoice module, reverse invoice module, change status module, chart of accounts module, exchange rates module, etc.) of the present invention embodiments may be implemented in any desired computer language and could be developed by one of ordinary skill in the computer arts based on the functional descriptions contained in the specification and flow charts and/or diagrams illustrated in the drawings. Further, any references herein of software performing various functions generally refer to computer systems or processors performing those functions under software control. The computer systems of the present invention embodiments may alternatively be implemented by any type of hardware and/or other processing circuitry.
The various functions of the computer or other processing systems may be distributed in any manner among any number of software and/or hardware modules or units, processing or computer systems and/or circuitry, where the computer or processing systems may be disposed locally or remotely of each other and communicate via any suitable communications medium (e.g., LAN, WAN, Intranet, Internet, hardwire, modem connection, wireless, etc.). For example, the functions of the present invention embodiments may be distributed in any manner among the various end-user/client and financial/server systems, and/or any other intermediary processing devices. The software and/or algorithms described above and illustrated in the flow charts and/or diagrams may be modified in any manner that accomplishes the functions described herein. In addition, the functions in the flow charts and/or diagrams or description may be performed in any order that accomplishes a desired operation.
The software of the present invention embodiments (e.g., invoice module, new invoice module, reverse invoice module, change status module, chart of accounts module, exchange rates module, etc.) may be available on a recordable or computer usable medium (e.g., magnetic or optical mediums, magneto-optic mediums, floppy diskettes, CD-ROM, DVD, memory devices, etc.) for use on stand-alone systems or systems connected by a network or other communications medium.
The communication network may be implemented by any number of any type of communications network (e.g., LAN, WAN, Internet, Intranet, VPN, etc.). The computer or other processing systems of the present invention embodiments may include any conventional or other communications devices to communicate over the network via any conventional or other protocols. The computer or other processing systems may utilize any type of connection (e.g., wired, wireless, etc.) for access to the network. Local communication media may be implemented by any suitable communication media (e.g., local area network (LAN), hardwire, wireless link, Intranet, etc.).
The present invention embodiments may employ any number of any conventional or other databases, data stores or storage structures (e.g., files, databases, data structures, data or other repositories, etc.) to store information (e.g., financial or other data, General Ledger or other financial records, etc.). The database system may be implemented by any number of any conventional or other databases, data stores or storage structures (e.g., files, databases, data structures, data or other repositories, etc.) to store any desired information (e.g., transactions, invoices, General Ledger, financial or other journals, etc.). The database system may be included within or coupled to the server and/or client systems. The database systems and/or storage structures may be remote from or local to the computer or other processing systems, and may store any desired data (e.g., transactions, invoices, General Ledger, financial or other journals, etc.).
Present invention embodiments may be utilized for selectively approving or canceling any type of financial or other data transactions (e.g., invoices, receipts, payments, credits, debits, data entries, etc.) prior to posting within any suitable data storage structure (e.g., General Ledger, financial or other journals, databases, files, data structures, etc.) or unit (e.g., database, data repository, etc.). The financial system may further authenticate a user prior to enabling generation, approval and/or cancellation of an invoice or other entry. The authentication may be implemented via any conventional or other techniques (e.g., password or passcode, PIN, biometrics, security or other readable card or device, voice recognition, etc.). Further, the authentication may require any quantity of users (e.g., any quantity of authorized users may be required for approval or cancellation of an invoice, etc.).
The various financial documents (e.g., records within the General Ledger or other journal, invoices, etc.) may include any desired information (e.g., account information, dates, amounts, transactions, identifiers, etc.) arranged in any fashion. The various reference numbers (e.g., invoice, reverse invoice, account, purchase order, bank, etc.) may include any quantity of any suitable characters (e.g., numeric, alphanumeric, symbols, etc.). The invoices or other financial documents (e.g., new invoice, original invoice, reverse invoice, etc.) are preferably entered and processed in the financial system in electronic form. However, these items may alternatively be entered, generated and/or produced in any desired form or fashion (e.g., electronically, hard copy form, etc.).
The invoices (e.g., original, reverse, etc.) may be stored and retrieved in any desired fashion (e.g., based on any suitable information or fields contained within the invoices, etc.). A pending reverse invoice may be maintained in the database system for any desired time interval (e.g., days, weeks, months, etc.) to enable approval prior to an automatic cancellation.
The present invention embodiments may employ any number of any type of user interface (e.g., Graphical User Interface (GUI), command-line, prompt, etc.) for obtaining or providing information (e.g., obtaining information for the desired financial or other transaction, original and reverse invoices, providing the report, etc.), where the interface may include any information arranged in any fashion. The interface may include any number of any types of input or actuation mechanisms (e.g., buttons, icons, fields, boxes, links, etc.) disposed at any locations to enter/display information and initiate desired actions via any suitable input devices (e.g., mouse, keyboard, etc.). The interface screens may include any suitable actuators (e.g., links, tabs, etc.) to navigate between the screens in any fashion.
The report may include any information arranged in any fashion (e.g., pertaining to financial or other information, invoices, General Ledger, etc.). The report may be configurable based on rules or other criteria to provide desired information to a user (e.g., certain accounts or transactions, certain accounts or postings within the General Ledger or other journal, etc.).
The present invention embodiments are not limited to the specific computer systems, tasks, or algorithms described above, but may be utilized within any system for selectively processing various types of financial transactions or other entries prior to posting within a corresponding data structure or storage unit. The present invention embodiments may be configured to provide single stage (e.g., automatic posting of data upon entry with or without an approved status) and/or plural stage (e.g., selective posting of data after entry) operation.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises”, “comprising”, “includes”, “including”, “has”, “have”, “having”, “with” and the like, when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
The corresponding structures, materials, acts, and equivalents of all means or step plus function elements in the claims below are intended to include any structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. The description of the present invention has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the invention. The embodiment was chosen and described in order to best explain the principles of the invention and the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated.
As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a system, method or computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, aspects of the present invention may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java (Java and all Java-based trademarks and logos are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both), Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
Aspects of the present invention are described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.