Automated ledger account maintenance system5117356Abstract An automated ledger account maintenance system provides up-to-the-minute balances in all ledger accounts whenever data relating to a completed transaction is entered. The system is implemented on a general purpose computer and includes a predefined data file structure including ledger account data files corresponding to the ledger accounts and transaction record data files corresponding to transaction journals. Compliance with user definable accounting procedures is ensured through the use of an accounting control table that contains symbolic codes used by the recordkeeping procedures to authorize and control the creation and updating of the ledger account and transaction record data files. Cross-referencing and indexing of ledger account records, transaction records, and the second control records is provided to ensure a high degree of resistance to unauthorized alteration of the data files and to provide for traceability of all entries and postings. Claims What is claimed is: Description This application includes a microfiche appendix containing a computer program listing. The microfiche appendix consists of 20 microfiche containing a total 4141 frames.
TABLE I
______________________________________
DL - Disbursement Document (e.g., a check)
PL - Payroll Disbursement Document
(e.g., a payroll check)
RL - Receipts Deposited Document (e.g.,
bank deposit slip)
IL - Invoice
VL - Voucher
EL - Employee Voucher
AL - Adjustment Document (e.g., a
document relating to depreciation)
______________________________________
Field TT11 stores a document number identifying the particular document which effected completion of the accounting transaction corresponding to the transaction record in field TT1. The permanent transactions journal data file 30 contains balanced accounting transaction record sets which have been entered and posted by the system. The permanent transactions journal file 30 includes fourteen data fields, PT1-PT14 and is representatively illustrated in FIG. 6. In field PT1 is stored a record label that uniquely identifies a transaction record within the permanent transaction records file 30. The money amount involved in the actual activity corresponding to the transaction record identified in field PT1 is stored in field PT2. Field PT3 stores the symbolic code from field TT3 of the temporary transaction record used to create the permanent transaction record identified in field PT1. In field PT4 is stored a debit/credit descriptor which qualifies the money amount stored in field PT2. Fields PT5, PT6, and PT7 store ledger record pointers to respective account records in the control general ledger and the two subsidiary ledger files which account records were updated from the transaction record identified in field PT1. Fields PT8, PT9, and PT10 store permanent transaction record pointers to the next preceding permanent transaction record having the identical ledger account record pointer stored respectively in fields PT5, PT6, and PT7 thereof. The data stored in fields PT8, PT9, and PT10 indicate the last permanent transaction record that was used to update the ledger account records identified by the pointers in fields PT5, PT6, and PT7 respectively. The actual date of the activity being recorded in the transaction record is stored in field PT11. In field PT12 is stored the posting date, that is, the date on which the data and the account records in fields PT5, PT6, and PT7 were posted and updated. Field PT13 stores the document code, and field PT14 stores the document number of the document which triggered the entry of the record identified in field PT1. In order to ensure, and if necessary, verify that accounting transaction data is properly entered and posted by the system, an accounting controls table 32 as shown in FIG. 1 is utilized by the computer program 12. The accounting controls table 32 stores a plurality of symbolic control records corresponding to the recordkeeping procedures defined for the entity whose records are being maintained by the system. The recordkeeping procedures or jobs are program modules included in the computer program 12. The recordkeeping jobs are designed to create, access, and/or update the five data files 22, 24, 26, 28, and 30 in accordance with double-entry accounting methods. An example of a recordkeeping procedure is the Disbursements procedure which gathers data from and writes data to the various data files in order to enter and post a disbursement of cash, for example, to a supplier of goods or services. Another example is the Deposits procedure which gathers data from and writes data to the data files for entering and posting a deposit of cash into a bank account. A feature of the system of the present invention is the use of symbolic codes which are stored in each accounting control record. As described more fully hereinbelow, the symbolic codes are used to ensure that the transaction data is properly entered by the system and properly posted to a proper ledger account record as a debit or a credit. It is not necessary that the computer program 12 that implements the system contain any accounting rules to properly maintain a double-entry bookkeeping system. It is necessary, however, that the posting process of the recordkeeping procedure requested by the user provide indicia which matches with at least one of the control records in the accounting controls table 32. As shown in FIG. 7 the accounting controls table stores a list of predefined recordkeeping jobs or procedures which are authorized for transferring data to and among the data and control files to create a balanced transaction record set consisting of at least two entries in the permanent transactions journal file 30 and corresponding postings to one or more of the ledger data files 22, 24 and 26. The accounting controls table is preferably stored in write protected storage, such as a read only memory (ROM). FIG. 7 is a representation of the data structure of the accounting controls table 32 that illustrates the data contained in the fields of the control records of that file. In the field identified as AC1 a unique record label is stored to identify each control record within the accounting control table. The name of a predefined recordkeeping procedure which is authorized to use the recordkeeping rules define by the control record identified in field AC1 is stored in field AC2. In field AC3 is stored a first symbolic code, the transaction posting authorization code, that is associated with the recordkeeping procedure whose name is stored in field AC2. The transaction posting authorization code is a symbolic code which indicates to the computer program the type of account that a recordkeeping procedure can legally create or update and which verifies how that account is to be updated (i.e., posted) when a transaction money amount is applied. For example, the Disbursements job can legally access a supplier type entity record in the obligation due subsidiary ledger file 24 or a PAY type record in either the control general ledger file 22 or the discretionary subsidiary ledger file 26. Continuing with the description of the record fields in the accounting control table, field AC4 stores a debit/credit identifier or descriptor. The debit/credit identifier is a second symbolic code that, as previously explained, qualifies the expected balance in one of the ledger account records or qualifies the money amount in a transaction record. In field AC5 of some of the control records, there is stored a document code. The document code is a third symbolic code that corresponds to the document type codes discussed above. The document code thus relates a set of economic activity records to an economic event (i.e., a purchase, a sale) constituting the accountable transaction corresponding to the accountable condition or accountable event being recorded. A document code is not required to create a new ledger account record. The recordkeeping procedure requested by the user determines that it is time to post a balanced set of entries to the ledger account data files when a document code is present in a temporary transaction record. Field AC6 of some of the accounting control table records stores a second or contrast code which symbolically identifies for the computer program the other type of transaction record which is used to update a ledger account based on the balancing activity in a transaction record set. Field AC7 of some of the accounting control records stores a legal entity type code which is a fourth symbolic code for characterizing the nature of the entity associated with a record in the obligation due subsidiary ledger record. The legal entity type code is associated with a particular recordkeeping procedure definable for a given entity. Thus, for example, a Receivables procedure is legal only for an account having entity type code C and a Payables procedure is legal only for an account having an entity type code S. As described above, the data fields in each control record in the accounting control table 32 contain the symbolic codes used by the computer program 12 for implementing the recordkeeping jobs or procedures performed by the system. The recordkeeping jobs or procedures include generally the creation, accessing, and updating of the five data files 22, 24, 26, 28, and 30. Examples of preferred symbolic codes are listed in Table II below as they would be stored in the accounting control table 32. In the preferred embodiment of the system according to the present invention, control records AR1 to AR7 of Table II are used to control the creation of new account records in the obligations due subsidiary ledger file 24, control records AR10-AR32 are used to control the creation of new account records in the control general ledger file 22 and the discretionary subsidiary ledger file 26. Control records AR40-AR62 are used to control the updating f account records in all of the ledger files 22, 24, and 26.
TABLE II
______________________________________
AC1 AC2 AC3 AC4 AC5 AC6 AC7
______________________________________
AR1 DEPOSITS -- DR -- -- C
AR2 RECEIVABLES -- DR -- -- C
AR3 DISBURSEMENTS -- CR -- -- S
AR4 PAYABLES -- CR -- -- S
AR5 PAYROLL -- CR -- -- E
AR6 PAYMENTS -- Zero -- -- S
AR7 ADJUSTMENTS -- Zero -- -- X
-- -- -- -- -- -- --
-- -- -- -- -- -- --
AR1O DEPOSITS DEP DR -- -- --
AR11 DEPOSITS INP DR -- -- --
AR12 RECEIVABLES INP DR -- -- --
AR13 RECEIVABLES REC CR -- -- --
AR14 RECEIVABLES EXC DR -- -- --
AR15 DISBURSEMENTS DEP DR -- -- --
AR16 DISBURSEMENTS VRP CR -- -- --
AR17 PAYABLES VRP CR -- -- --
AR18 PAYABLES PAY DR -- -- --
AR19 PAYABLES EXC DR -- -- --
AR20 PAYROLL DEP DR -- -- --
AR21 PAYROLL EVP CR -- -- --
AR22 PAYROLL PYR CR -- -- --
AR23 PAYROLL EXC DR -- -- --
AR24 EARNINGS ERN DR -- -- --
AR25 EARNINGS EVP CR -- -- --
AR26 PAYMENTS DEP DR -- -- --
AR27 PAYMENTS PAY DR -- -- --
AR28 PAYMENTS EXC DR -- -- --
AR29 ADJUSTMENTS P&L CR -- -- --
AR30 ADJUSTMENTS PLA DR -- -- --
AR31 ADJUSTMENTS PLA CR -- -- --
AR32 COST OF SALES COS DR -- -- --
--
--
--
--
--
--
--
AR40 DEPOSITS DEP DR -- DTP C
AR41 DEPOSITS DTP CR RL DEP C
AR42 RECEIVABLES INP DR IL REC C
AR43 RECEIVABLES REC CR -- INP C
AR44 RECEIVABLES ITP CR -- INP C
AR45 RECEIVABLES INP DR IL ITP C
AR46 PAYABLES VRP CR VL PAY S
AR47 PAYABLES PAY DR -- VRP S
AR48 PAYABLES VTP DR -- VRP S
AR49 PAYABLES VRP CR VL VTP S
AR50 PAYROLL PYR DR -- PCP E
AR51 PAYROLL PYR CR -- PCP E
AR52 PAYROLL PCP CR PL PYR E
AR53 EARNINGS ERN DR -- EVP E
AR54 EARNINGS EVP CR EL ERN E
AR55 PAYMENTS PAY DR -- CKP S
AR56 PAYMENTS CKP CR DL PAY S
AR57 DISBURSEMENTS CKP CR DL PAY S
AR58 DISBURSEMENTS PAY DR -- CKP S
AR59 ADJUSTMENTS PLA DR AL PLA X
AR60 ADJUSTMENTS PLA CR AL PLA X
AR61 COST OF SALES COS DR -- STP C
AR62 COST OF SALES STP CR SL COS C
______________________________________
In the foregoing table, the absence of a code in a code field of a control record indicates that such a code is not necessary for the purposes of the particular control record. The recordkeeping job name stored in field AC2 of a control record also defines the accounting basis used by the system. For example, if as in control record label AR6 shown in Table II the recordkeeping job name in field AC2 is "Payments" then recordkeeping is performed on a cash basis. Conversely, if as in other sample records shown in Table II the recordkeeping job name in field AC2 is "Disbursements" or "Payables", then accounting is performed on an accrual basis. Accordingly, the correct recordkeeping jobs are defined in light of the accounting basis used by the entity whose ledger accounts are maintained by the system according to the present invention. The preferred embodiment shown in FIG. 1 includes a file control table 34 which contains a record for each of the data files. Each file control table record includes a data file name and a pointer indicating the last record in each transaction data file which was a permanent original entry and the last account record created in each of the ledger data files. In this manner, the data files can be tracked so that unauthorized changes can be readily detected. As shown in FIG. 8, the file control table 34 stores five file records, each corresponding to one of the five data files. A record label stored in field FC1 uniquely identifies each record stored in the file control table 34. The name of the corresponding data file is stored in field FC2 and field FC3 stores a data file record number that identifies the last used record in the file named in field FC2. The file control table 34 is updated when accounting transaction data has been entered in the permanent transaction records file 30 and posted to the appropriate ledger file 22, 24, or 26. The file control table records are also updated whenever a new account record is created in either of the control general ledger file 22, the obligations due subsidiary ledger file 24, or the discretionary subsidiary ledger file 26. Operation of the system according to the present invention is controlled by the computer program 12 which includes a number of programmed recordkeeping procedures for reading data from and writing data to the five data files in a manner consistent with the authorization codes stored in the accounting control table 32 and the record pointers stored in the file control table 34. An example of a preferred program for use in this system is presented in the microfiche appendix to this application and is incorporated herein by reference. The data gathered by the recordkeeping job requested by the system user are written by the program into temporary transaction records that are stored in the temporary transaction records file 28 until all necessary information to satisfy a completed accountable event or condition is obtained for one or more of these records. When all such information is obtained then a balancing transaction record is created for the particular economic activities related to the transaction and the transaction and the balancing transaction record is included in the assembled, balanced transaction record set. Operation of the system is initiated when the user inputs data, e.g., via the terminal 16 shown in FIG. 1, and requests authorization from the system to access the records in any of the five data files. If authorization is granted, then the creation of new records or the updating of existing records in the data files can proceed. The user preferably provides the following data items when updating the data files: 1) a recordkeeping procedure name; 2) a name of a legal entity or its obligation due subsidiary ledger account number with whom or on whose behalf an activity took place; 3) an account record label from the control general ledger or the discretionary subsidiary ledger; 4) a transaction activity date; 5) a money amount; and may provide a document identification including a type code and number. As described more fully hereinbelow, the recordkeeping procedures which are coded in the computer program utilize the data input by the user to properly create new file records and to update the data stored in existing file records. The recordkeeping procedure named by the user selects a control record from the accounting control table 32 having a name stored in field AC2 thereof which matches the name of the recordkeeping procedure selected by the user. The recordkeeping procedure is programmed to reject any request (i.e., record creation, updating, etc.) not precisely defined in symbolic form by a single control record. For example, in order to access or create a new control general ledger record, a new obligation due subsidiary ledger record, or a new discretionary subsidiary ledger record the requested recordkeeping procedure would be programmed to select one of the control records AR10-AR32 as shown in Table II having the name of the requested recordkeeping procedure in field AC2 thereof. The program then reads the account number and/or the account name supplied by the user and compares those data with the data stored in fields GL6 or GL7, fields OL7 or OL8, and fields DL7 or DL8 of the respective ledger data files 22, 24, or 26. If no account record containing either of those data items is found, the system will create one as described below. If, on the other hand, an account record is found, the computer program compares the entity type code in field AC7 of the selected control record with the code in field OL3 of the obligation due subsidiary ledger account record. If the codes stored in the corresponding fields do not match, the system will not process the request. To authorize a new record in either the control general ledger file 22, the obligation due subsidiary ledger file 24, or the discretionary subsidiary ledger file 26, the recordkeeping job specified by the user must have a name corresponding to a job name stored in field AC2 of the control record in the accounting control table 32, for example, one of the control records AR1-AR7 for an obligation due subsidiary ledger record or AR10-AR32 in Table II for a control ledger record or discretionary subsidiary ledger record. The control record contains a transaction posting authorization code in field AC3 or AC7 thereof, a debit/credit identifier in field AC4 and a legal entity type code in field AC7. The authorization code in the control record together with the debit/credit identifier are written into the newly created general account record and discretionary subsidiary account record together with the cross-referencing data to be stored as described above. The debit/credit identifier code and the legal entity type code are written into the newly created obligation due subsidiary ledger account record. Each new account record is assigned the next sequential record number after that presently stored in the file control index table 34 for the particular ledger file. The file control table 34 is then updated by the program to indicate in field FC3 the record number of the newly created ledger account record. Certain ledger account records and corresponding accounting control records are required in the preferred embodiment of the system according to the present invention. The following rules apply: 1. There must be a control general ledger record for an accounts receivable ledger account when doing either cash or accrual basis accounting. There must be a control record in the accounting control table 32, for example, control record number AR12 as shown in Table II to authorize creation of the accounts receivable ledger account record. 2. There must be a control general ledger record for an accounts payable ledger account when doing accrual basis accounting. There must be a control record, such as control record number AR17, in the accounting control table of Table II to authorize creation of the accounts payable ledger account record. 3. There may be a control general ledger record of an accrued payroll ledger account when doing either cash or accrual basis accounting. There must be a control record, such as control record number AR21, as shown in Table II, to authorize creation of the accrued payroll ledger account record. 4. There must be a control general ledger record for an exchange ledger account when doing either cash or accrual basis accounting. There must be control records, such as control records AR14, AR19, AR23, and AR28, as shown in Table II, to authorize creation of the exchange ledger account records for doing receivables, payables, payroll, or disbursements recordkeeping in that ledger account. 5. There must be a control general ledger record for a profit and loss ledger account when doing either cash or accrual basis accounting, and there must be a control record, such as record number AR29 in Table II, to authorize creation of the profit and loss ledger account record. 6. There must be an obligation due record for the entity whose ledger accounts are being maintained by this system, and there must be a control record such as control record number AR7 in Table II, to authorize creation of such an obligation due account record. As an auditable accounting control, the money balance in this obligation due account must always net to zero. To authorize creation of a new record in the temporary transaction records file 28, the recordkeeping procedure named by the user must correspond to a job name stored in field AC2 of a control record in the accounting control table 32. The named recordkeeping procedure supplies the record number of the appropriate control record storing that name, e.g., one of the control records AR40-AR62 in Table II. When an electronic or paper document, such as a check or invoice, is to be or has been generated to complete a transaction, the recordkeeping procedure supplies a record number of a control record containing a document code in field AC5 thereof, for example, control record AR41 in Table II. It will be appreciated that the system according to the present invention can include means for generating such a document, in which case the document is preferably produced after the transaction data has been entered and posted by the system. In another embodiment a document can be generated independently from the system, e.g., as handwritten or typed documents. In the latter case, the document is preferably produced before the transaction data is entered and posted by the system. When there is no document generated in connection with the creation of a temporary transaction record, the recordkeeping procedure supplies a record label of a control record that does not contain a document code, for example, control record AR40 in Table II. The authorization code from field AC3 of the selected control record is retrieved from the control record together with the document code, if present, in field AC5 of the control record. The authorization code is written to field TT3 of the new transaction record. The document code is written into field TT10, if the control record contains one, otherwise field TT10 is left blank. The next available transaction record label is assigned to the newly created record and the file control table 34 is updated to indicate the new transaction record in the temporary transaction data file 28. Accounting data input by the user concerning the accounting transaction activity, such as the money amount, the transaction activity date, and, if a document is generated, the document code and number are also written into the new transaction (fields TT2, TT8, and TT11) record as well as the cross referencing data to the ledger data files (fields TT5, TT6, and TT7). When creating a new temporary transaction record, the system identifies the account records in the control general ledger file 22, the obligation due subsidiary ledger file 24, and discretionary subsidiary ledger file 26, the money amount involved in the transaction, and the date on which the transaction activity occurred which are all input by the user. The proper account record or records are determined from the account code and entity name input by the user. To subsequently access a previously created temporary transaction record, the code stored in field AC3 of the selected control record must match the code stored in field TT3 of the temporary transaction record. Before a new temporary transaction record is stored, field TT10 of the record is evaluated by the system to determine whether the system can record a balanced accounting transaction set in the permanent transaction records file 30 and make postings to the appropriate ledger records. If field TT10 contains nil data, i.e., data that is of no significance to the program, then the posting process cannot proceed. If, however, the field contains a document code then the posting process proceeds. When the posting process is initiated the computer program reads the document code and number stored in field TT11 of the newly created or updated temporary transaction record. The program compares the data in field TT11 against that stored in the last permanent transaction record containing the same document code in PT13 and a number in field PT14. If the document numbers of the two transaction records are the same, the program does nothing further. If, however, the document numbers are different and it is the next document number in sequence, the program proceeds to assemble an accounting transaction record set by writing the document code and number of the newly created temporary transaction record into field TT11 of all temporary transaction records relating to the same legal entity input by the user. It is to be understood that at this point in the system processing, fields TT4 and TT9 of each temporary transaction record in the to-be assembled set must contain nil data. If that condition is not met processing is required to terminate. When the posting process is allowed to continue, the computer program reads field TT3 in each of the temporary transaction records of the set and identifies the two contrasting authorization codes stored in field TT3 of the temporary transaction records in the set. There can be no more than to such codes in the set. The program then selects the two control records from the accounting control table 32 having the same two authorization codes in fields AC3 and AC6 thereof. The program compares the authorization code stored in field AC3 of the first of the two control records found with the code stored in field TT3 of each of the temporary transaction records in the set to find the transaction records with a matching authorization code. The program then applies the following rules: a. If the money amount stored in field TT2 of a temporary transaction record with the matching authorization code is positive, then the debit/credit descriptor stored in field AC4 of the first control record is copied into field TT4 of each such temporary transaction record. b. If the money amount in field TT2 of a temporary transaction record with the matching authorization code is negative, then the debit/credit descriptor in field AC4 of the other control record is copied into TT4 of each such temporary transaction record. When the appropriate debit/credit descriptors have been written to each of the temporary transaction records in the set, all of the debit amounts in the temporary transaction record set are summed, as are all the credit amounts. If the debit sum and credit sum are not in balance then the posting process does not proceed. However, if the debit and credit sums are in balance, the program is then permitted to create permanent transaction records and to post data to the ledger account records for updating the account record balances and the current date is written by the program into field TT9 in each temporary transaction record of the set. The program then evaluates the posting date in field TT9, and if it is the same date as, or subsequent to, the posting date in field PT12 of the last permanent transaction record stored in the permanent transaction records file 30, then a new permanent transaction record set is created. For each record in the temporary transaction record set, a new permanent transaction record is created in the permanent transaction records file 30. The computer program copies the data from each temporary transaction record to the corresponding data fields in a newly created permanent transaction record. For example, the data items stored in fields TT2, TT3, TT4, TT5, TT6, and TT7 of the temporary transaction record are copied to field PT2, PT3, PT4, PT5, PT6, and PT7 of the permanent transaction record. The data items in fields TT8, TT9, TT10, and TT11 of the temporary transaction record are copied into data fields PT11, PT12, PT13, and PT14 of the permanent transaction record. The program then determines the record labels of the permanent transaction records which were last used to update the account record identified in fields PT5, PT6, and PT7 respectively. The program then writes the permanent transaction record labels to those permanent transaction records into fields PT8, PT9, and PT10 of the newly created permanent transaction record. The foregoing process is repeated for each new permanent transaction record created from a temporary transaction record in the set. The file control table 34 is updated by the program when the last temporary transaction record of the set has been written to the permanent transaction records file 30. To that end the program reads the permanent transaction record pointer in field FC3 of the file control record for the permanent transaction record file and writes the next available label into field PT1 of the newly created permanent transaction record. For example, if the record pointer in FC3 is an integer (N), the "next available" record label would be that integer plus one (N+1). The program then updates the record pointer in field FC3 of the file control record for the permanent transaction record file 30. After the temporary transaction record set is entered into the permanent transaction records file 30, the temporary transaction records in the physical storage spaces previously occupied by the set in the temporary transaction records file 28 are erased and the file control table 34 is updated to make the record labels for those records available for assembling a new temporary transaction record set. When the permanent transaction record set has been completed, the program proceeds to update the money balances in each of the ledger account records identified in fields PT5, PT6, and PT7 of the permanent transaction records. The record pointers stored in fields PT5, PT6, and PT7 of a new permanent transaction record are read by the program which uses them to select the corresponding control general ledger account record that is to be updated. The balances are updated as follows. The symbolic posting authorization code stored in field PT3 of a permanent transaction record is compared with the symbolic posting authorization code in field GL3 of the corresponding control general ledger account record. If the codes match then the value of the money amount stored in field PT2 of the permanent transaction record is added to the money balance in the account record. If the posting authorization codes do not match, then the value of the money amount stored in field PT2 of the permanent transaction record is subtracted from the money balance in the control general ledger account record. The balances in the obligation due subsidiary ledger account records and in the discretionary subsidiary ledger account records belonging to the updated control general ledger account record are posted in the same way as that in the control general ledger account record. When all of the balances in the respective ledger account records identified in the permanent transaction records have been updated, the program writes the permanent transaction record label stored in field PT1 of the updating permanent transaction record into fields GL5, OL5, and DL5 in the respective ledger account records. The permanent transaction record pointer stored in field GL5, OL5, or DL5 identifies the permanent transaction record whose money amount in field PT2 was last used to update the money balances in the respective ledger accounts, thereby providing a cross-reference to the permanent transaction records file 30. The updating and posting process is repeated for each of the remaining newly created permanent transaction records. When the updating and posting process has been completed, trial balances can be abstracted from account balance reports 34 as printouts or other displays of the ledger account records stored in the control general ledger file 22, the obligation due subsidiary ledger file 24, or the discretionary subsidiary ledger file 26. It is apparent from the foregoing description and drawings that the system according to the present invention is a novel and improved system for maintaining the ledger accounts of a recordkeeping entity. The system automatically balances debits and credits whenever accounting data concerning completed transactions are input to the system. The system according to this invention provides up-to-the-minute information on the status of all of the ledger accounts of the recordkeeping entity whose books are maintained by the system. Trial balances can be extracted substantially contemporaneously with the posting of an accountable transaction. The unique arrangement of data files and control files provides great flexibility such that the system can be employed by any size enterprise by simply expanding or reducing the physical size of the files to accommodate more or less records. Moreover, the system provides complete traceability so that unauthorized changes to the accounting records stored in the system's data files are readily detectable by automated processes. Thus, the system provides a higher level of security than known computer implemented accounting systems. Although the system according to this invention has been described for use in the context of money control, the system is readily adaptable for the ongoing management and control of the inventories of a recordkeeping entity, as well as other, accountable processes which use ledgers. Thus, it will be recognized by those skilled in the art that changes or modifications may be made to the above-described invention without departing from the broad inventive concepts of the invention. It is understood, therefore, that the invention is not limited to the particular embodiment disclosed herein, but is intended to cover all modifications and changes which are within the scope of the invention as defined in the appended claims.
|
Same subclass Same class Consider this |
||||||||||
