Patent Publication Number: US-2004059657-A1

Title: Computerized systems and methods for performing transactions

Description:
CROSS-REFERENCE TO RELATED APPLICATION  
     [0001] This application is related to and claims the benefit of priority under 35 U.S.C. 119(e) to U.S. Provisional Patent Application No. 60/390,438, filed on Jun. 24, 2002, the disclosure of which is expressly incorporated herein by reference in its entirety. 
    
    
     
       BACKGROUND OF THE INVENTION  
       [0002] I. Field of the Invention  
       [0003] The present invention generally relates to the field of data processing and, more particularly, the invention relates to computer systems, programs, and methods that support transactions, such as financial transactions.  
       [0004] II. Background Information  
       [0005] Organizations like companies use computer systems that support a variety of applications. Such applications may include, for example, a finance application (Fl) or a human resource application (HR).  
       [0006] Applications for computer systems are commercially available. For example, “R/3” and “mySAP.com” are available from SAP Aktiengesellschaft, Walldorf (Baden), Germany.  
       [0007] Applications for computer systems may use software tools for predefined operations. Given the dynamic nature of today&#39;s software marketplace, flexibility of an application is highly appreciated.  
       [0008] For consideration, the following documents are useful: U.S. Pat. No. 6,044,138 (Graham et al.); U.S. Pat. No. 6,041,312 (Bickerton et al.); and U.S. Pat. No. 5,590,037 (Ryan at al.).  
       SUMMARY OF THE INVENTION  
       [0009] According to embodiments of the invention, a computer program is provided that comprises a plurality of code modules that control a computer, the computer program cooperating with a computer application. The modules may comprise: a distributing module receiving a total amount and a calculation rule representation from the application to calculate a partial amount representation; and a posting module receiving the partial amount representation to provide a modifying instruction to a first table and to a second table in a database.  
       [0010] Optionally, the calculation rule representation may comprise contract information, the contract information including data such as time points, a sum value, and/or a history. In one embodiment, the partial amount representation represents an accrual value. In another embodiment, the distributing module receives the total amount and the calculation rule representation with the total amount at a first time point and with the calculation rule at a second time point.  
       [0011] In the computer program, the total amount and calculation rule representation may represent the total amount as a pointer to the database. Also, the computer program may be implemented as part of a data model or dictionary, such as a DDIC for a SAP R/3® system. Further, in one embodiment, the computer applications may comprise functions selected from the group of: leasing, stock option accounting, e-business accounting, financial services, customer relationship management, product lifecycle management, and media.  
       [0012] According to additional embodiments of the invention, a method is provided for controlling a computer to perform financial transactions, the method causing the computer to cooperate with a computer application. The method may comprise: receiving, with a distribution module, a total amount and a calculation rule representation from the computer application, and calculating a partial amount representation; and upon receiving the partial amount representation, providing with a posting module a modifying instruction to a first table and to a second table in a database.  
       [0013] The posting module may provide the modifying instruction to a database, wherein the database comprises a knowledge warehouse. Also, the distributing module may receive a further total amount and a calculation rule representation from a further application, wherein the further representation comprises an application identification rule.  
       [0014] In one embodiment, the distributing module and the posting module communicate with a computer application via first and/or second interfaces. Further, the distributing module may receive rule changes from the application via a user interface.  
       [0015] The modifying instructions may be provided to modify the first and second tables, wherein each of the tables are subdivided into credit and debit subtables. Additionally, the total amount and calculation rule representation may represent the total amount as a pointer to the database.  
       [0016] In accordance with still additional embodiments of the invention, a computer system is provided that comprises a plurality of program-implemented modules to cooperate with a computer application. The modules may comprise: a distributing module receiving a total amount and a calculation rule representation from the application to calculate a partial amount representation; and a posting module receiving the partial amount representation to provide a modifying instruction to a first table and to a second table in a database.  
       [0017] The data and calculation rule representation may comprise contract information. The contract information may comprise data selected from the group of: time points, sum value, and history. The partial amount representation may represent an accrual value. Further, the distributing module may receive the total amount and the calculation rule representation with the total amount at a first time point and with the calculation rule at a second time point.  
       [0018] In one embodiment, the posting module provides the modifying instruction to a database that is a knowledge warehouse. In another embodiment, the distributing module receives a further total amount and a calculation rule representation from a further application, wherein the further representation has an application identification rule. In yet another embodiment, the distributing module and the posting module communicate with both applications via first and/or second interfaces.  
       [0019] Optionally, the distributing module may be coupled to a user interface to changes rules that have been received from the application. Also, modifying instructions may be provided to modify first and second tables of a database, each of the tables being subdivided into credit and debit sub-tables.  
       [0020] It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only, and should not be considered restrictive of the scope of the invention, as described. Further, features and/or variations may be provided in addition to those set forth herein. For example, embodiments of the invention may be directed to various combinations and sub-combinations of the features described in the detailed description.  
     
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
     [0021] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate various embodiments and aspects of the present invention. In the drawings:  
     [0022]FIG. 1 illustrates a block diagram of an exemplary computer system for implementing embodiments of the invention;  
     [0023]FIG. 2 illustrates a diagram of an exemplary computer system operating under a computer program, consistent with embodiments of the present invention;  
     [0024]FIG. 3 illustrates an example of the operation of a distributing module in the computer program of FIG. 2;  
     [0025]FIG. 4 illustrates an example of the operation of a posting module in the computer program of FIG. 2;  
     [0026]FIG. 5 provides an exemplary overview about posting by illustrating a first table and a second table at consecutive time points;  
     [0027]FIG. 6 illustrates an exemplary flow chart diagram of a method of operation under control of a computer program, consistent with embodiments of the present invention;  
     [0028]FIG. 7 illustrates a more detailed block diagram of an exemplary computer program interacting with a calling application, consistent with embodiments of the present invention; and  
     [0029]FIG. 8 illustrates an overview about a plurality of further functions, consistent with embodiments of the invention.  
    
    
     DETAILED DESCRIPTION  
     [0030]FIG. 1 illustrates a block diagram of an exemplary computer system  999  that may include a plurality of computers  900 ,  901  and/or  902  (or  90   q , with q=0. . . Q−1, Q any number).  
     [0031] As shown in FIG. 1, computers  900 - 902  may be coupled via inter-computer network  990 . Computer  900  comprises a processor  910 , a memory  920 , a bus  930 , and, optionally, an input device  940  and an output device  950  (I/O devices, user interface  960  ). As illustrated, embodiments of the invention may be implemented through a computer program product  100  (CPP), a program carrier  970  and/or a program signal  980 , collectively “program.” 
     [0032] With respect to computer  900 , computer  901 / 902  may be referred to as a “remote computer.” Computer  901 / 902  is, for example, a server, a router, a peer device or other common network node, and typically comprises many or all of the elements described relative to computer  900 . Hence, elements  100  and  910 -  980  in computer  900  collectively illustrate also corresponding elements  1   q  and  91   q - 98   q (shown for q=0) in computers  90   q.    
     [0033] Computer  900  is, for example, a conventional personal computer (PC), a desktop, a hand-held device, a multiprocessor computer, a pen computer, a microprocessor-based or programmable consumer electronics device, a minicomputer, a mainframe computer, a personal mobile computing device, a mobile phone, a portable or stationary personal computer, a palmtop computer, or the like.  
     [0034] Processor  910  is, for example, a central processing unit (CPU), a micro-controller unit (MCU), a digital signal processor (DSP), or the like.  
     [0035] Memory  920  symbolizes elements that temporarily or permanently store data and instructions. Although memory  920  is conveniently illustrated as part of computer  900 , memory function(s) can also be implemented in network  990 , in computers  901 / 902  and processor  910  itself (e.g., cache, register), or elsewhere. Memory  920  may comprise a read only memory (ROM), a random access memory (RAM), and/or a memory with other access options. Memory  920  may be physically implemented by computer-readable media, such as, for example: (a) magnetic media, like a hard disk, a floppy disk or other magnetic disk, a tape, or a cassette tape; (b) optical media, like optical disks (CD-ROM, digital versatile disk—DVD); (c) semiconductor media, like DRAM, SRAM, EPROM, EEPROM, or memory sticks; or (d) by any other media, like paper.  
     [0036] Optionally, memory  920  is distributed across different media. Portions of memory  920  can be removable or non-removable. For reading from media and for writing in media, computer  900  uses devices well known in the art such as, for example, disk drives or tape drives.  
     [0037] Memory  920  stores support modules such as, for example, a basic input output system (BIOS), an operating system (OS), a program library, a compiler, an interpreter, and a text-processing tool. Such support modules may be implemented with commercially available modules and can be installed on computer  900 , as can be appreciated by those skilled in the art. For simplicity, these modules are not illustrated.  
     [0038] CPP  100  comprises program instructions and, optionally, data that cause processor  910  to execute the methods of embodiments of the present invention. Exemplary methods are explained with more detail below. In other words, CPP  100  defines the operation of computer  900  and its interaction in network system  999 . For example and without the intention to be limiting, CPP  100  can be available as source code in any programming language, or as object code (“binary code”) in a compiled form. Persons of skill in the art can use CPP  100  in connection with any of the above-mentioned support modules (e.g., compiler, interpreter, operating system).  
     [0039] Although CPP  100  is illustrated as being stored in memory  920 , CPP  100  can be located elsewhere. CPP  100  can also be embodied in a carrier  970 .  
     [0040] Carrier  970  is illustrated outside computer  900 . For communicating CPP  100  to computer  900 , carrier  970  may be conveniently inserted into input device  940 . Carrier  970  may be implemented as any computer readable medium, such as any of the medium largely explained above (cf. memory  920  ). Generally, carrier  970  is an article of manufacture comprising a computer readable medium having computer readable program code means embodied therein for executing the methods of embodiments of the present invention. Further, program signal  980  can also embody computer program  100  and travel on network  990  to computer  900 .  
     [0041] Having described CPP  100 , program carrier  970 , and program signal  980  in connection with computer  900  is convenient. Optionally, program carrier  971 / 972  (not shown) and program signal  981 / 982  embody computer program product (CPP)  101 / 102  that is executed by processor  911 / 912  (not shown) in computers  901 / 902 , respectively.  
     [0042] Input device  940  symbolizes a device that provides data and instructions for processing by computer  900 . For example, device  940  is a keyboard, a pointing device (e.g., a mouse, a trackball, cursor direction keys), a microphone, a joystick, a game pad, a scanner, or a disk drive. Although the examples are devices with human interaction, device  940  can also operate without human interaction, such as, a wireless receiver (e.g., with a satellite dish or a terrestrial antenna), a sensor (e.g., a thermometer), and/or a counter (e.g., a goods counter in a factory). Input device  940  can serve to read carrier  970 .  
     [0043] Output device  950  symbolizes a device that presents instructions and data that have been processed. For example, a monitor or a display, (cathode ray tube (CRT), a flat panel display, a liquid crystal display (LCD), a speaker, a printer, a plotter, and/or a vibration alert device. Similar as above, output device  950  communicates with the user, but it can also communicate with further computers.  
     [0044] Input device  940  and output device  950  can be combined into a single device. Further, either device  940  or device  950  can be provided optionally.  
     [0045] Bus  930  and network  990  provide logical and physical connections by conveying instruction and data signals. While connections inside computer  900  are conveniently referred to as “bus  930 ,” connections between computers  900  - 902  are referred to as “network  990 .” Optionally, network  990  comprises gateways being computers that specialize in data transmission and protocol conversion.  
     [0046] Devices  940  and  950  are coupled to computer  900  by bus  930  (as illustrated) or by network  990  (optional). While the signals inside computer  900  are mostly electrical signals, the signals in network may be electrical, magnetic, optical and/or wireless (radio) signals.  
     [0047] Networking environments (such as network  990 ) are commonplace in offices, enterprise-wide computer networks, intranets and the Internet (i.e., the World Wide Web). The physical distance between a remote computer and computer  900  is not important. Network  990  can comprise a wired or a wireless network. To name a few network implementations, network  990  is, for example, a local area network (LAN), a wide area network (WAN), a public switched telephone network (PSTN), an Integrated Services Digital Network (ISDN), an infra-red (IR) link, a radio link, like Universal Mobile Telecommunications System (UMTS), Global System for Mobile Communication (GSM), Code Division Multiple Access (CDMA), or a satellite link.  
     [0048] Transmission protocols and data formats are known, such as transmission control protocol/Internet protocol (TCP/IP), hyper text transfer protocol (HTTP), secure HTTP, wireless application protocol (WAP), unique resource locator (URL), unique resource identifier (URI), hyper text markup language (HTML), extensible markup language (XML), extensible hyper text markup language (XHTML), wireless application markup language (WML), Standard Generalized Markup Language (SGML), etc.  
     [0049] Interfaces coupled between the elements are also well known in the art. For simplicity, interfaces are not illustrated. An interface can be, for example, a serial port interface, a parallel port interface, a game port, a universal serial bus (USB) interface, an internal or external modem, a video adapter, or a sound card.  
     [0050] Computers and programs are closely related. As used hereinafter, phrases such as “the computer provides” and “the program provides,” are convenient abbreviations to express actions by a computer that are controlled by a program.  
     [0051]FIG. 2 illustrates a block diagram of an exemplary computer  900  operating under computer program  100  (i.e., a “calculation tool”), consistent with embodiments of the present invention. Computer  900  (or any computer in a system) further runs database  200 , as well as application  201  and, optionally, application  202 .  
     [0052] For convenience of explanation, calculation tool  100  (such as an “accrual engine”) is illustrated with two functional modules: a distributing module  110  and a posting module  120 . Distributing module  110  may cooperate with application  201 / 202  to calculate a partial amount (PaA). Posting module  120  may cooperate with database  200  to actually transfer the partial amount (PaA) to tables  210  and  220  of database  200  (e.g., by periodic posting). More details concerning the operation of the modules is provided below.  
     [0053] Distributing module  110  receives (cf. step  410  in FIG. 6) a total amount (ToA) and a calculation rule (R) representation (cf. representation  203  in FIG. 2) from application  201  and calculates (cf. step  420 ) a partial mount (PaA) representation (cf. representation  150  in FIG. 2).  
     [0054] Optionally and likewise, distributing module  110  may receive input (cf. representation  204 ) from application  202 . Looking from a client-server viewpoint, calculation tool  100  may act like a server for a plurality of client applications  201  and  202 .  
     [0055] Applications  201  and  202  themselves may include one or more components for special tasks, such as tasks related to insurance contracts, leasing contracts, bonds with fixed interest, subscriptions to publications (journals, newspapers) and the like.  
     [0056] Posting module  120  receives the calculated partial amount (PaA) representation  150  from distributing module  110  and provides (cf. step  430 ) a modifying instruction  160  to tables  210  and  220  in database  200 . For example, instruction  160  may cause the partial amount (PaA) to be subtracted from table  210  and to be added to table  220 .  
     [0057] Distributing and posting events (i.e., sending representations  150 ,  160 ) may occur at predetermined time points. Exemplary details are explained in connections with FIGS.  3 - 5 .  
     [0058]FIG. 3 illustrates an example of the operation of distributing module  110  in the embodiment of FIG. 2. In FIG. 3, acronyms are used as follows:  
     [0059] ToA Total amount to be distributed (ToA, e.g., 12.000  ).  
     [0060] PaA(n) Partial amount to be posted at each time point, for example, at the end of each month (from January to December) and varying between 700   and 1.400  .  
     [0061] PaT Partial time being the time interval between consecutive posting events, for example, one month.  
     [0062] ToT Total time, conveniently given in time units (e.g., week, month), or given by calendar dates (e.g., from Jan. 01, 2002 to Dec. 31, 2002), for example, the duration of a financial contract.  
     [0063] n Index for posting events, for example, from 1 to 12 in each month.  
     [0064] The acronym “To” stands for “total”; the acronym “Pa” stands for “partial”; the acronym “A” stands for amount; and the acronym “T” stands for “time.” 
     [0065] Consistent with embodiments of the invention, ToA, PaA, ToT, and ToA may be related by rules. For example, the following calculation rules (R) may be provided:  
     [0066] R1 PaA(n)=800 . . . 1.400   (as illustrated) for unequal distribution, wherein PaA depends on further predetermined criteria (such as the availability of money in the present month).  
     [0067] R2 Sum of N partial amounts PaA(n) equals ToA.  
     [0068] R3 PaA(n)=ToA/N in case of an equal distribution.  
     [0069] R4 Identification of Tables (cf. 210, 220 in FIG. 2), optionally with identification of portions in the tables (such as the columns debit D and credit C, cf. FIG. 5).  
     [0070] R5 Identification of application 201.  
     [0071] It is sufficient to indicate only some rules, for example, indicate R1 and R2. Further, various rules can be defined as will be appreciated by those of skill in the art.  
     [0072]FIG. 4 illustrates an example of the operation of posting module  120  in the exemplary embodiment of FIG. 2. FIG. 4 illustrates that distributing module  110  may receive representation  203  from application  201  with the following exemplary content:  
                                                      ToA   12.000              ToT   Jan to Dec           R1   PaA (n) = revenue * factor           R2   sum rule           R4   P&amp;L, Accrual, D, C           R5   Fl (i.e., application is Fl)                      
 
     [0073] The distinction between “data” and “rule” is convenient, but not required. With this information, distributing module  110  may periodically (i.e., monthly) calculate PaA(n) and forward PaA(n) as output (cf. representation  150 ) to posting module  120 . When required, module  110  also includes further information, such as ToA.  
     [0074]FIG. 5 provides an exemplary overview about posting by illustrating first table  210  and second table  220  at consecutive time points TIME  0 , TIME  1  (end of January), TIME  2  (end of February), and TIME  3  (end of March). The example follows FIGS.  3 - 4 .  
     [0075] At TIME  0 , posting module  120  provides modifying instruction  160  (step  430  in FIG. 6) that causes database  200  to write ToA into column C of table  220  (“Accrual”).  
     [0076] At TIME  1  (end of January), posting module  130  provides modifying instruction  160  (step  430 ) that causes database  200  to write PaA( 1 ) =1.000   into column C of table  210  (“P&amp;L”), as well as into column D of table (“Accrual”).  
     [0077] At TIME  2  (end of February), posting module  130  provides modifying instruction  160  (step  430 ) that causes database  200  to write PaA( 2 ) =800   into column C of table  210  (called “P&amp;L”), as well as into column D of table (called “Accrual”).  
     [0078] At TIME  3  (end of March), posting module  120  provides modifying instruction  160  (step  430 ) that causes database  200  to write PaA(3)=1.200  into column C of table  210  (“P&amp;L”), as well as into column D of table (“Accrual”).  
     [0079]FIG. 6 illustrates an exemplary flow chart diagram of method  400  under control of computer program  100 . Method  400  may be implemented for controlling computer  900  to perform financial transactions and for causing computer  900  to cooperate with computer application  201 . The method steps  410 - 430  of FIG. 6 are described below.  
     [0080] As part of step  410 , distributing module  110  receives total amount ToA and calculation rule R representation (cf. representation  203  in FIG. 2) from application  201 . At step  420 , partial amount PaA is calculated and partial amount PaA representation (cf. representation  150  in FIG. 2) is provided to posting module  120 .  
     [0081] Upon receiving partial amount PaA representation, posting module  120  provides at step  430  modifying instruction  160  to first table  210  and second table  220  in database  200 .  
     [0082] For applications in the finance area, the term “posting” refers to transferring an entry from a book of original entry (e.g., table  210 ) to the proper account in a ledger (e.g., an entry in table  220 ).  
     [0083] The following exemplary features and embodiments of the invention may be applied to method  400 , program  100 , and any computer  900  (or system, cf. FIG. 1) that performs the steps by program  100 .  
     [0084] Data and calculation rule (cf. representation  203  in FIG. 2) may comprise contract information (cf. ToT, PaT, ToA or the like), such as time points, sum values, and historical data.  
     [0085] Preferably, partial amount PaA representation (cf. representation  150  in FIG. 2) represents an accrual value (i.e., values relating to accounting that recognizes income when earned and expenses when incurred regardless of when cash is received or disbursed).  
     [0086] Preferably, distributing module  110  receives (step  410  in FIG. 6) total amount ToA and calculation rule R representation (cf. representation  203 ) with total amount ToA at a first time point and with calculation rule R at a second time point. Receiving calculation rule R at the second time point triggers calculating (step  420  in FIG. 6).  
     [0087] Preferably, distributing module  110  and posting module  120  are each provided twice to simultaneously calculate (step  420 ) based on different rules. The rules may include, for example, at least one of the rules defined according to Generally Accepted Accounting Principles (GAAP). Other examples include: Handelsgesetzbuch (HGB), which is a German commercial code; or International Accounting Standard (IAS). Standard rules are suitable as well, such as rules to calculate percentages or discounts.  
     [0088] Preferably, posting module  120  provides modifying instruction  160  to database  200 , wherein the database  200  is implemented as a knowledge warehouse.  
     [0089] Preferably, distributing module  110  receives a further total amount ToA and calculation rule R representation (cf. representation  204  in FIG. 2) from further application  202 . Further representation  204  may include an application identification rule R (e.g., the above-mentioned HR).  
     [0090] Distributing module  110  and posting module  120  may communicate with both applications  201 ,  202  via first and second interfaces.  
     [0091] Modifying instruction  160  may be provided (step  430 ) so as to cause prima nota booking (especially suitable for SAP R/ 3 ®).  
     [0092] Modifying instruction  160  may be provided (step  430 ) so as to modify first table  210  and second table  220 , each being subdivided into sub-tables for credit C and for debit D.  
     [0093] Preferably, total amount ToA and calculation rule R (cf. representation  203 ) represent total amount ToA as a pointer to the database  200  or to any other memory.  
     [0094] Preferably, distributing module  110  is coupled to a user interface to change rules that have been received (step  410 ) from application  201 . The user interface is preferably, a graphical user interface. In other words, both distributing module  110  and posting module  120  may be adapted to cooperate with a visual user interface, such that the interface remote-controls distributing module  110  and posting module  120 .  
     [0095] Preferably, modules  110  and  120  are implemented as a data model or dictionary, such as a DDIC in computer software using the technology of SAP Aktiengesellschaft.  
     [0096] Applications  201 ,  202  may include one or more functions (cf. FIG. 8), such as leasing, stock option accounting (details below), e-business accounting, financial services, customer relationship management (CRM), media, and/or product lifecycle management (PLM).  
     [0097] Preferably, modifying instruction  160  comprises reports (cf. FIG. 7). Also, distributing module  110  and posting module  120  (each alone or both) have a reporting function. In this regard, representations  203  may comprise global identification “GUID” to identify table entries.  
     [0098] Preferably, at least one of first and second tables  210 ,  220  comprises a ledger (i.e., a book containing accounts to which debits and credits are posted from books of original entry).  
     [0099]FIG. 7 illustrates a detailed block diagram of an exemplary computer program  100  interacting with a calling application  201  (illustrated as an O-shaped frame in the figure). In this embodiment, program  100  operates as an accrual engine. As explained above, program  100  may include distributing module  110  and posting module  120 .  
     [0100] Application  201  has a function  205  that sends an accrual calculation trigger to module  110 , a function  206  that sends an accrual rule identification to module  110 , and a function  207  that transfers data to module  110  (in cooperation with a database). The communication of functions  205 - 207  to module  110  is part of representation  203 . As illustrated in FIG. 7, application  201  also includes reporting functions  208  and  209  that receive reports from modules  110  and  120 , respectively.  
     [0101] Distributing module  110  may include: a block  111  to create or change basis data (from function  207 ); a block  112  to store basis data (i.e., accrual objects -like financial contracts); and a block  113  to periodically calculate accruals (e.g., sending representation  150  to posting module  120 ).  
     [0102] Posting module  120  may include: a block  121  to provide a delta to already posted accrual values; a block  122  to temporarily store posted values (“accrual engine documents”, connected to reporting function  209 ); and a block  123  to post documents. As indicated by an arrow on the right of FIG. 7, module  120  may create accounting documents  124  as well (like invoices, monthly statements, etc.).  
     [0103] Block  112  comprises contract data that are identified by an identification of a component in calling application (e.g., component “ACAC” in application  201 ), a term of contract (e.g., Jan. 01, 2002 to Dec. 31, 2002), ToA (e.g., 5.000 Euro), or a contract reference to identify the contract (e.g., a string). It is possible to have further components (in application  201  or elsewhere) to interact with block  112 . In this case, the contract data has further component identification (e.g., component “SOA” in application  201 ) and the contract reference is different.  
     [0104] Visual user interfaces allow a user to manually modify contract data. For example, a contract administrator can modify the contract term, or modify the amount. When opening the user interface, different menus may be presented depending on the application component (e.g., different headlines, different data to be modified).  
     [0105] A computer interface combination with first interface  201 / 203 / 110  and second interface  120 / 160 / 200  is summarized by the following means (i.e., implemented by program controlled computer).  
     [0106] The first interface has means for receiving (step  410 ) total amount ToA and calculation rule R representation (cf. representation  203 ) by distributing module  110  from computer application  201  to calculate (step  420 ) partial amount PaA representation (cf. representation  150 ).  
     [0107] The second interface has means to provide (step  430 ) modifying instruction  160  by posting module  120 . Posting module  120  receives (step  420 ) partial amount PaA representation (cf. representation  150 ) from distributing module  110  and causes to modify first table  210  and second table  220  in database  200  by partial amount PaA).  
     [0108] Without going into well-known details of accounting, exemplary and simplified scenarios are provided with reference to (a) insurance and (b) stock option accounting.  
     [0109] (a) Insurance:  
     [0110] Required is interaction with finance application  201 . A company (as the owner of program  100 ) is active in the insurance business and signs an insurance contract with a customer. The contract has a term of 12 months (ToT) and a value of 12.000 Euro (ToA). The company has liability to pay (12.000 Euro). The customer monthly pays 1.000 Euro (PaA) to the company. The company has several accounts (technically represented by tables). At the end of each month, it transfers 1.000 Euro to account A and to account B, each account standing for predetermined accounting functions.  
     [0111] (b) Stock Option Accountinq:  
     [0112] Required is interaction between finance application (Fl)  201  and a human resource application (HR)  202 . A company has granted options to employees and needs to periodically transfer monetary entries from a first book to a second book. The company thereby accumulates money in the second book to serve options at any time point when employees exercise the options (i.e., buying company shares at predefined price).  
     [0113] There are many challenges and appropriate solutions. For example, share price might increase or decrease, or higher or lower partial amounts may be desired. Hence, calculation rules may need to be changed. Consistent with embodiments of the invention, the user interface allows a user to modify the rules. Thus, in the event that an employee leaves the company, his or her options can be invalidated and partial amounts concerning these options may no longer be considered. Such information should be transferred from the HR application (e.g., Fl application (e.g.,  201 ).  
     [0114] Further implementations can be accomplished, for example, predefined mathematical operations in distributing module  110 . For profit may be calculated for each time period as the difference between costs, such as 3000 Euro from 2000 Euro (income) minus 1000 Euro January to 2400 Euro (3600-1200) in December.  
     [0115] In a further example, a discount (e.g., 10 per cent) is calculated (a) to once in a table for a finance application (German standard) and (b) to be over the contract term (e.g., ToT of 12 months).  
     [0116] The rules (R) can be customized, for example, with the help of the user interface.  
     [0117]FIG. 8 illustrates an exemplary overview about a plurality of functions (e.g., in application  201 ) that may cooperate with program  100 . As illustrated in FIG. 8 such functions may include: leasing, stock option accounting, e-business financial services, customer relationship management (CRM), media, and product lifecycle management (PLM).  
                               Reference Numerals/Short Description                                                100   computer program as calculating tool           110   distributing module           111-113   blocks in module 110           120   posting module           121-123   blocks in module 120           150   partial amount representation           160   modifying database instruction           201   application           202   application           203   calculation rule and data representation               from application 201           204   calculation rule and data representation               from application 202           205-209   functions in application 201           210   first table           220   second table           400, 4xx   method, steps           9xx   computer and its components