WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Method and apparatus for storing and generating financial information employing user specified input and output formats    
United States Patent5189608   
Link to this pagehttp://www.wikipatents.com/5189608.html
Inventor(s)Lyons; Richard J. (West Hempstead, NY); Nolan; Kevin F. (Middle Village, NY); Chu; Wah C. (Fairfield, CT)
AbstractAn advanced financial reporting and analysis software package is described. The package collects, organizes, manages and consolidates financial data and provides user defined capabilities for creating financial and corporate reports. Financial data is organized into four business classifications or dimensions: Schedule, Entity, Period and Type. Data is stored in the system in such a way that all data associated with a particular Schedule, Entity, Period and Type is identified by that particular SEPT value. To accommodate automatic data entry, a mapping means or template is provided that specifies for each different input spreadsheet the location of the first data cell in the spreadsheet and the size of the spreadsheet. Data is read from the data store by various report and spreadsheet generating functions which convert data associated with particular SEPT values to desired output formats.



 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History
Drawing from US Patent 5189608
Method and apparatus for storing and generating financial information

     employing user specified input and output formats - US Patent 5189608 Drawing
Method and apparatus for storing and generating financial information employing user specified input and output formats
Inventor     Lyons; Richard J. (West Hempstead, NY); Nolan; Kevin F. (Middle Village, NY); Chu; Wah C. (Fairfield, CT)
Owner/Assignee     IMRS Operations, Inc. (Stamford, CT)
Patent assignment
All assignments
Publication Date     * February 23, 1993
Application Number     07/480,701
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     February 15, 1990
US Classification     705/30
Int'l Classification     G06F 015/21
Examiner     Hayes; Gail O.
Assistant Examiner    
Attorney/Law Firm     Pennie & Edmonds
Address
Parent Case     This is a continuation of application Ser. No. 07/055,823 filed Jun. 1, 1987, now U.S. Pat. No. 4,989,541.
Priority Data    
USPTO Field of Search     364/400 364/401 364/408 11/11 395/148
Patent Tags     storing generating financial information employing user specified input output formats
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
4321672
Braun
705/42
Mar,1982

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


What is claimed is:

1. In a computer, a method of storing and generating financial information of the type used in financial schedules comprising the steps of:

storing financial information in a first format in a storage means in which format each of a plurality of financial data values is associated with a set of at least three identifying attributes and some data values are associated with a set of attributes different from that associated with other data values;

specifying by user input to said computer a plurality of second formats in which are received data values to be stored in said storage means, each of said second formats associating each of a plurality of financial data value with one of said sets of at least three identifying attributes, whereby a plurality of user-defined data input templates are defined;

using said data input templates to convert data values received in each of the plurality of second formats into said first format and storing such data values in said storage means in said first format;

specifying by user input to said computer a plurality of third formats in which data values stored in said storage means are to be provided for output, each of said third formats associating a plurality of financial data values stored in said first format and associated with a first set of at least three attributes with a plurality of financial data values stored in said first format and associated with second set of at least three attributes, whereby a plurality of user-defined of data output templates are defined; and

using one of said data output templates to convert data values stored in said storage means to said third format.

2. The method of claim 1 wherein the identifying attributes are a financial schedule in which the financial information appears, a business entity to which the financial information pertains, and a period of time to which the financial information pertains.

3. The method of claim 2 wherein the identifying attributes further include a fourth attribute defined by the user.

4. The method of claim 1 wherein said financial information is output by:

specifying a particular type of schedule,

specifying a combination of attributes such as entity, period and type;

specifying a number of rows and columns in which to display output data, and

specifying the locations of the attributes on the display of output data.

5. The method of claim 1 wherein input data may be stored in multiple schedules.

6. The method of claim 1 wherein integrity checks and currency conversions are performed at time of input.

7. Apparatus for the storage and generation of financial information of the type used in financial schedules comprising:

means for storing financial information in a first format in which format each of a plurality of financial data values is associated with a set of at least three identifying attributes and some data values are associated with a set of attributes different from that associated with other data values;

first means for specifying by user input to said apparatus a plurality of second formats in which are received data values to be stored in said storing means, each of said second formats associating each of a plurality of financial data values with one of said sets of at least three identifying attributes;

means for using said first specifying means to convert data values received in each of the plurality of second formats into said first format and for storing such data values in said storing means in said first format;

second means for specifying by user input to said apparatus a plurality of third formats in which data values stored in said storing means are to be provided for output, each of said third formats associating a plurality of financial data values stored in said first format and associated with a first set of at least three attributes with a plurality of financial data values stored in said first format and associated with a second set of at least three attributes; and

means for using said second specifying means to convert data values stored in said storing means to said third format.

8. The apparatus of claim 7 wherein the identifying attributes are a financial schedule in which the financial information appears, a business entity to which the financial information pertains, and a period of time to which the financial information pertains.

9. The apparatus of claim 8 wherein the identifying attributes further include a fourth attribute defined by the user.
 Description Submit all comments and votes
 


BACKGROUND OF THE INVENTION

This relates generally to computer systems and more particularly to a computer software method and apparatus for advanced financial applications such as general ledger, inventory, accounts payable, accounts receivable, financial and management reporting, and financial analysis and consolidation.

Corporate software systems generally are divided into two categories. The first, basic financial systems, includes general ledger, accounts receivable and accounts payable systems. These systems include computer worksheets and data bases. The second, advanced financial systems and processes, uses information from the basic financial systems to perform financial analysis and reporting functions.

At present many of the basic financial systems applications reside on micro computer software packages.

Worksheet applications allow the user to keep a two dimensional chart of his financial data on an electronic worksheet. Illustrative of such spread sheet applications is Lotus Development Corporation's LOTUS 1-2-3.RTM.. That program allows the user to set up two dimensional worksheets in the form of a grid made up of horizontal rows and vertical columns. Each intersection of a row or column forms a cell in which data can be stored in the form of numeric data (such as an account balance), text (such as an account name), or arithmetic operators (such as a formula which manipulates the contents of other cells). To enter data into a worksheet, the user will usually enter data via a keyboard, cell by cell. When users employ LOTUS 1-2-3.RTM. to perform more detailed analyses it is likely that they have also created complicated strings of commands (i.e., macros) to facilitate data entry, management and reporting capabilities. Since these macros have been created by specific individuals, they can be difficult to revise should business dictate. More important, because these macros are tailored to a user's personal needs, the application's usefulness across the corporation is limited.

These spreadsheet programs are also limited by their presentation of data in only two dimensions. This often requires considerable reorganization of the data before it can be used in advanced financial systems.

Database packages such as Ashton Tate's dBASE III.RTM. allow the user to keep a financial data base. Frequently, this information is needed for use in a report having a format different from that in which it is stored or in a spreadsheet such as that generated by one of the computer spreadsheets. However, report generation can be tedious and a great deal of data manipulation must be performed in order to load data from a data base into an electronic worksheet. For example, to load data from a data base to an electronic spreadsheet, the user must convert the data into an ASCII file and subsequently download it into an electronic worksheet. When data is downloaded into a worksheet each field must be inserted into a cell. The downloading of data into the worksheet must be done with extreme care, otherwise cells containing formulas may be overwritten.

In addition to the above limitations, personal computer programs also generally lack the capacity to implement complex information management and finance controls such as audit trails and password protection capabilities needed in high-level financial applications.

These programs also have the limitations that they are typing intensive with the result that the user must either acquire reasonable typing skills in order to use such programs efficiently or he must suffer considerable time penalties as he attempts to cope with extensive keyboard input.

SUMMARY OF THE INVENTION

The present invention is an advanced financial reporting and analysis software package. The package collects, organizes, manages and consolidates financial data and provides user defined capabilities for creating financial and corporate reports.

Data can be loaded into the computer system manually as well as from known micro-computer packages such as LOTUS 1-2-3.RTM. and Ashton-Tate's dBase.RTM. and also from departmental and corporate data bases and basic financial systems such as general ledger, accounts payable and inventory applications. The software package can also incorporate data from outside sources, such as Dow Jones News/Retrieval service to permit analysis of competitive financial data.

Data is output from the financial data base of the present invention either into reports or directly into electronic worksheets. The data can be displayed in various ways allowing the user to use the system as an analysis tool as well as a production reporting system. The process of loading data base information into an electronic worksheet is far simpler than the method which must be employed when working with two separate conventional packages.

In accordance with the invention, financial data is organized into four business classifications or dimensions: Schedule, Entity, Period and Type. Schedule identifies the kind of document the data comes from (e.g., an income statement, a tax schedule). Entity identifies the reporting group within the business organization (e.g., departments, divisions, subsidiaries). Period identifies the range of time that the data represents (e.g., FY 87, Q2 87). Type provides an additional dimension that can be used to further categorize the data (e.g., actual, budget, forecast).

Data is stored in the system in such a way that all data associated with a particular Schedule, Entity, Period and Type (SEPT) is identified by that particular SEPT value and is stored in a predetermined pattern relative to the location of that SEPT value in the data store.

To accommodate automatic data entry, a mapping means or template is provided that specifies for each different input spreadsheet the location of the first data cell in the spreadsheet and the size of the spreadsheet. From this information, the system is able to locate the data in the spreadsheet and read it systematically into the data store.

Data is read from the data store by various report and spreadsheet generating functions which convert data associated with particular SEPT values to desired output formats. For example, one such function might map data associated with the same Schedule, Entity and Type but consecutive Periods over several years onto a spreadsheet having as many columns as there are Periods so as to produce a spreadsheet showing the variation of such data over time.

One function of the present invention is to consolidate information that arrives at corporation's headquarters in multiple formats from the corporation's numerous divisions and subsidiaries. Through user-controlled dictionaries within its user interface, the computer application standardizes the way financial information is managed and analyzed within a corporation. In addition, the system allows for hierarchical mapping so that subsidiaries are attached to the controlling entities. Therefore, when data is input into the data base so as to update an entry, all entities which are attached to the updated entity are also updated.

Other features of the invention include a modeling function which is integrated with the data store so that data associated with any SEPT value can be recalled for use in calculating the model or for comparison with the model.

In addition to financial and management reporting and analysis, other application areas include international planning and analysis, consolidation and tax analysis and the like. Reporting functions include currency conversion, journal entries, hierarchy roll-ups and computation of year to date totals and variances. Additional features include audit trails and data verification.

The present invention may be used as a stand alone system, but is preferably for departmental use. The financial computer system and process is designed for use by all levels of employees who are involved in financial control, whether it be a firm's chief financial officer or an end user in the financial department.

The financial system of the present invention is presently sold commercially by the assignee as the FASTAR.TM. financial computer program. Further details of the operation of the system are set forth in the FASTAR.TM. Tutorial, Reference Guide, Quick Reference, Modeling Guide, and Modeling Quick Reference available from the assignee, which are incorporated here by reference.

BRIEF DESCRIPTION OF DRAWINGS

These and other objects, features and advantages of the invention will be more readily apparent from the following description of a preferred embodiment of the invention in which:

FIG. 1 is a system overview of an illustrative computer system used in the practice of the invention;

FIG. 2 is a flow chart depicting the user's interaction with the system;

FIGS. 3A-6B are flowcharts depicting the implementation of the Create function of the present invention;

FIGS. 7-18 are flowcharts depicting the implementation of the Input function of the present invention;

FIGS. 19-23 are flowcharts depicting the implementation of the Query function of the present invention; and

FIGS. 24-26 are flowcharts depicting the implementation of the Pop-up function of the present invention.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENT

As shown in FIG. 1, the preferred embodiment of the invention is a computer system 20 illustratively comprising a plurality of personal computers 30 and an interconnection network 40. The system can be networked to twenty-five users or more. Resident in the memory of one of the computers 30 and accessible to all of them is the data base management program of the present invention which provides for advanced query and analysis functions.

The personal computers illustratively are IBM-PC's or clones or any of the more advanced personal computers now available. As is well known such computers include a processor, a read/write memory and means for writing data into said memory and reading data from said memory. Typical memory configurations used with the present invention should include at least 640 Kilobytes of semiconductor random access memory and at least a 10 megabyte hard disk. Each such computer includes a video display 32, a printer 34, and a keyboard 36 that provides for alphanumeric input, function keys and a cursor control. Data can be input from the keyboard or from computer files such as electronic worksheets. Data can be output to printed reports and to electronic worksheets.

Unlike conventional data base management systems or worksheet applications, the system of the present invention allows for a four dimensional analysis of all financial data. In particular, the data stored in the system is organized into four business classifications or dimensions, namely Schedule, Entity, Period and Type (SEPT). Schedule identifies the type of document the data comes from (e.g., income statements, budgets, tax schedules) Entity identifies a reporting group within the organization (e.g., departments, subsidiaries). Period identifies the time that the data represents (e.g., FY 87, Q2 87). Type provides an additional dimension that allows the user to further categorize data (e.g., actual, budgeted, forecast).

In storage, all the data associated with a particular Schedule, Entity, Period and Type is identified by that particular SEPT value. Thus, the system data base can be represented as follows:

S.sub.1, E.sub.1, P.sub.1, T.sub.1, datacell.sub.1, . . . datacell.sub.x

S.sub.k, E.sub.l, P.sub.m, T.sub.n, datacell.sub.1, . . . datacell.sub.y

where the number of SEPT values can be as great as the product of the numbers of Schedules, Entities, Periods and Types (i.e., k*l*m*n) and the number of data cells associated with each SEPT value can vary.

In addition to the data base, the system of the present invention also provides a means of mapping input data from its source to the location in the database assigned to the particular SEPT value with which it is associated and means for mapping data from the database location assigned to the SEPT values to an output format. The input mapping means is referred to below as an input template Several output mapping means are described below for the generation of output reports or files.

When retrieving data from the system, the user can specify data from different categories in each of the dimensions. For example, the user may have defined a data base with the following SEPT entries:

______________________________________ SCHEDULES ENTITIES PERIODS TYPES ______________________________________ Income statement Corporate Q1 87 Actual Balance Sheet U.S. Q2 87 Budgeted Sales Budget Far East Q3 87 Forecast Tax Schedule Europe Q4 87 Q4 Var ______________________________________

The user could then retrieve data on the basis of any combination of the categories found in each of the four dimensions. For example, the user could request:

Schedule=Sales Budget

Entity=U.S., Far East

Period=Q1 87

Types=Actual, Budgeted.

Or he could request:

Schedule=Income Statement

Entity=Corporate

Period=Q1 87, Q2 87

Type=Forecast.

This allows the user to work in a manner in which he is accustomed. Although most financial analysts manually analyze data by using this four dimensional approach, no known other computer system allows for this "SEPT" method.

The General Flow of Operation of the Data Base Management System

The user enters the data base management system by typing the name of the system. As illustrated in Table I, a screen will appear which will provide (1) the date the user entered the system, (2) a copyright notice; (3) a menu of available operations, (4) a work area, (5) the system status, (6) an indication from which data base the computer system is reading, (7) the default drive, (8) the SEPT selections and (9) the amount of available memory. The last line (10) is a prompt line which describes the purpose of a highlighted menu or sub-menu item.

TABLE I __________________________________________________________________________ ##STR1## ##STR2## ##STR3## Create define and modify input schedule, hierarchies, dictionaries & ranges. (10) __________________________________________________________________________

The menu of available operations (3) lists the main functions of the computer system and highlights that one of them which is then available to the user. In Table I the lines above and below CREATE identify the highlighted function and the prompt line 10 describes the purpose of this function. The user selects a function by advancing the highlighter to that function by means of the cursor keys and confirms this selection by depressing an appropriate function select key such as the ENTER key. The system will then display a window on the screen containing a menu of subfunctions of the selected function, the first of which will also be highlighted. The user can then select a subfunction by advancing the highlighter through the menu of subfunctions. Upon selection of a subfunction, the system will then display a menu of further subfunctions and so on.

The operations set forth in the main menu of Table I are as follows.

The CREATE function allows the user to build templates, define and modify schedules, hierarchies, dictionaries, ranges, and certain system defaults.

The INPUT function allows the user to input data into a data base from electronic worksheets, computer files or a keyboard.

The QUERY function allows the user to extract information and create a report or a worksheet with the requested information.

The ANALYZE function allows the user to modify an existing query without redefining the entire query.

The REPORT function reformats a previously run query or model into print pages for viewing or printing. This function also allows the user to design custom reports by extracting data from the data base.

The TRANSFER function allows the user to transfer data from one data base to another, to a file or to a diskette. For example, the user may wish to transfer all of his sales data to a file to be used in another computer system.

MAINTAIN allows the user to perform various data base management tasks such as creating, copying or restoring a data base and password protection. The system uses seven levels of passwords to ensure tight security. The levels of priority are:

1. System Administration

2. Management Control

3. Dictionary Maintenance

4. Data Transfer/Purge

5. Input Entry

6. Input Data

7. Inquiry

X-RUN allows the user to access other software packages without leaving the data base management system.

EXIT allows the user to log off. Two options are available: QUIT and BACKUP. BACKUP permits the user to backup his data base before he logs off.

A "POP-UP" function is available throughout the operation of the system. This function is used to extract data and transfer it between files, validate syntax codes and view the contents of a specified data cell, schedule, range or dictionary.

The operation of the system of the present invention falls into three phases, namely set-up, production reporting and ad-hoc analysis. Each phase involves specific computer functions, but all functions are available for use even after set-up has been completed.

In the "set-up" phase, the user creates user passwords, enters data into system dictionaries, sets default periods and types, specifies printer configurations and configures the data base management system for input by creating input templates and defining hierarchies and ranges. This phase uses the CREATE and INPUT functions.

In the "production" phase, the user periodically inputs data into the computer system, converts and consolidates it as needed, and outputs the results to worksheets or reports for review and distribution. This phase uses the INPUT, QUERY, ANALYZE, REPORT, TRANSFER, MAINTAIN and X-RUN functions.

The "ad-hoc" analysis phase allows the user to review and create analytical models without the constraints of formal production reports. This phase uses the QUERY and ANALYZE functions.

The user interface for each of these phases is discussed in turn immediately hereafter. Following such discussion is a description of the implementation in software of the system of the present invention.

Set-Up

Before the data base management system can operate, it needs an "outline" of the user's financial organization. For example, it must know which subsidiaries send data, the currencies these subsidiaries use and the currency conversion rules. This information is supplied by six dictionaries. The data base management system also needs to know the relationship or hierarchical organization of the entities that constitute the financial organization.

Other features of the present invention include automatic data entry from input files or worksheets into the system's data base and checking for integrity errors. To accommodate this automatic data entry, a mapping means or template must be created that specifies for each different input worksheet, the location of the first data cell in the worksheet and the size of the worksheet. From this information, the system is able to locate the data in the worksheet and read it systematically into the data store.

These and other set-up procedures are accomplished by selection of the CREATE function on the screen depicted in Table I. As shown in Table II, the CREATE function has six subfunctions: INPUT.sub.-- TEMPLATE, HIERARCHY, DICTIONARY, RANGE, X-INTEGRITY and SETUP and each of these subfunctions has available to it a menu of sub-subfunctions such as ADD, MODIFY, DELETE, LIST.

TABLE II __________________________________________________________________________ May 20, 1987copyright .COPYRGT. 1986Corp. Class SoftwareREADY ##STR4## ##STR5## Add input template format, integrity rules and descriptions. __________________________________________________________________________

Table II illustrates the addition of entries in the DICTIONARY subfunction. The CREATE, DICTIONARY and ADD functions are all highlighted as shown by a line above and below each of these functions.

The INPUT.sub.-- TEMPLATE function allows the user to build templates which are used as structured gateways for inputting data. All data passes through one of these templates before being stored, in the data base.

The HIERARCHY function allows the user to define the structure of the corporation for financial analysis. A hierarchy entity is the entity into which a specified group of other entities, called detailed entities, can be consolidated. The HIERARCHY function defines the order in which data can be automatically rolled-up from detailed entities to hierarchial entities.

The dictionaries are defined by the DICTIONARY function. There are six dictionaries for Period, Type, Entity, Currency Rate Code, Currency Rate Type and Account Description. These dictionaries are the first thing to be defined in setting up a system; and since the other dictionary entries are all defined relative to a specific period, the first dictionary entry to be defined is a Period. The other dictionary values are then defined for that period as well. For each additional period that is defined in the period dictionary, the remaining dictionary values must again be defined. Since these values are often the same over many different periods, this can usually be done simply by allowing the system to copy such values over for each additional period.

The RANGE function permits the user to define the categories into which the data is organized in the system by providing a pointer between a name and a datacell associated with a particular SEPT value. By assigning the same name to several data cells each associated with a different SEPT value, the user can extract data from each of these data cells by using the one name rather than by specifying the location of each of the data cells.

X.sub.-- INTEGRITY permits the user to set up the cross-integrity checks. For example, the data in the Income Statement can be compared against data in the Balance Sheet to see if they are equal. If the data is incorrect the system will prompt the user with an error. A status/error report listing integrity errors is also available at this point. This is part of the audit trail which is provided by the system.

The set-up functions allow (CREATE and INPUT) allow the user to do certain administrative tasks such as create user passwords, enter data into system dictionaries, set default periods and types, and specify printer configurations.

The dictionaries form the basic structure of the system's data bases. Each function of the system refers to these dictionaries in order to validate data while processing. For example, if the user desires to input data for the first quarter of 1987 he must first enter this period in the Period Dictionary as Q1 87.

The preferred embodiment of the present invention uses six defined dictionaries. The following five dictionaries are required:

Period--To specify time periods such as Quarter, Year, Month and Day. The data base management system's operation is based on time periods which are specified by the user to conform to the user's unique reporting needs. All data is input for a specific period and all other dictionary entries are defined for that period.

Type--To specify the types of data being reported and analyzed. Common types are Actual, Standard Budget, and Forecast but the user may use and type any name he wishes.

Currency Rate Codes--To specify the currencies in which the user does business, such as dollar, peso, or yen.

Currency Rate Type--To specify how to convert the currencies used. Illustrative currency rate types are Average or End-of-year.

Entity--To describe the business units which send data to the user. An entity can be a subsidiary, division, product line, etc.

Although not necessary to proper operation of the system, a sixth dictionary is provided:

Account Description--To describe accounts (e.g., accounts payable, accounts receivable, cash, goodwill, etc.) to which the user will post journal entries and indicate their location on the input documents.

The dictionaries are provided for use at any level of the system's operation. Their record capacity is limited only by the user's computer storage capacity.

The HIERARCHY function allows the user to define data organizations which are identical to the structure of the user's financial organization. In creating a hierarchy entity, the user specifies the subsidiaries or subentities which report to a higher level entity and the percent of each subentity that is owned. As a result, when data is input into the data base, it is possible to consolidate financial data from the subentities in reports of the higher level entity or entities.

In prior art financial applications, the process of generating a consolidated report for a hierarchal environment is to first input the data for the detailed entity and then consolidate the information for a summary report. In addition to such a "batch" consolidation, the preferred embodiment of the present invention provides a unique "on line" consolidation. The "on-line" consolidation feature allows the user to see the effect of his entries on the higher levels of the report at the time he enters the detailed information with no need to wait for operation of a consolidation program such as used in "batch" consolidation.

Once the dictionaries are created, the system can be set up to accept incoming data. For example, the present invention interacts with a worksheet application such as LOTUS 1-2-3.RTM. by reading and writing data formulas, creating worksheets with very little data manipulation and supporting queries of the system's data base via LOTUS 1-2-3.RTM.. This interaction of LOTUS 1-2-3.RTM. is done in both the input stage and the output stage of the present invention.

To accommodate manual data input as well as automatic data input from an ASCII file or from a worksheet file, the user must ordinarily create an input template. As illustrated in Table II, the user can create an input template by selecting the CREATE function. This causes the system to display a submenu shown on the left side of Table II. When the user chooses the INPUT.sub.-- TEMPLATE option, a further sub-menu appears which allows the user to ADD a new template or MODIFY, DELETE or LIST existing templates. Each input template is designed to handle data that is input from a particular type of financial schedule. For example, if subsidiary entities furnish data in an income statement or balance sheet, the user would create two input templates, one for the income statement schedule and one for the balance sheet schedule. For each template which represents a specific schedule, the user can enter data for any entity that uses or used such schedule for every period and type of data for which the schedule was used. Since most entities will use the same schedule for the same type of data over extended time periods, the user can often use a default Period and Type. Thus the only SEPT variation for data on any one template is Entity; and the user need only create the input templates required to handle data in the different formats or schedules used by the different Entities.

To define the input template, the user must specify the relationship between the data in whatever format it is found in the input file and the format in which it is desired to be arranged in the system database. Typically, all financial data is organized in rows and columns. For example, a corporation's income figures may be listed by rows and the periods (i.e., Q1 87, Q2 87) may be listed by columns. Thus the task of defining the input template is one of relating the columns and rows of data as formatted in the input file to the format of the system database.

The process is best illustrated with an example. Let us assume that the input file is an income statement entitled Income Statement 1 (IS1) for the Entity ABC, for the Period Q1 87 and for the Type Actual. The income statement might look like Table III as follows:

TABLE III ______________________________________ A B ______________________________________ 1. Schedule IS1 2. Entity ABC 3. Period Q1 87 4. Type Actual 5. Income Statement 1 6. 7. 9. Amt (000) 10. Sales 424 11. Cost of Goods Sold 161 12. Depreciation 64 13. Selling and Admin. 93 14. Total Operating Expenses 318 15. Operating Profit 106 16. Other Income 51 17. Total Income 157 18. Interest Expense 34 19. Earnings Before Taxes 123 20. Provisions for Taxes 57 21. Net Income 66 ______________________________________

TABLE IV __________________________________________________________________________ ##STR6## ##STR7## Add input template format, integrity rules and descriptions. __________________________________________________________________________

Table IV is illustrative of a screen which is displayed to the user in response to a CREATE/INPUT TEMPLATE/ADD command. The user types the template name: INCOME STATEMENT 1 in the DESCRIPTION FIELD and presses the ENTER key to verify his entry. The user then fills in the rest of the information. In this example number of ROWS: 21, NUMBER OF COLUMNS: 1, CURRENCY: parent, RATE TYPE: Local, DENOMINATION: K(Thousand), ARE THERE ANY FORMAT EXCEPTIONS? N, IS THIS IS A WORKSHEET TEMPLATE? Y. By filling in this screen the user is specifying the number of rows and columns required to hold the data on the template. In filling in the number of rows, the user begins counting from the first row that contains data. The number of rows required need not match the number of rows in the schedule definition. It is usually a good idea to add a few extra rows in case the user miscounts so that input data will not be truncated. The CURRENCY selection allows the user to specify whether to use the Parent Currency (e.g. U.S. dollars) or to use local currency (e.g. Pesos). The DENOMINATION selection allows the user to specify whether the input amounts are in thousands, millions, etc.

If the data is input consistently, the user answers "NO" to ARE THERE ANY FORMAT EXCEPTIONS? If the data contains values such as cells with different formats such as different currencies and denominations, the user answers "YES." If the user answers, "YES," the system will prompt the user with a screen that allows the user to indicate where exceptions exist on the template. Therefore when inputting the data, the system will know to treat the specified fields that contain exceptions differently. If the user answers "Y" to IS THIS A WORKSHEET TEMPLATE?, the system knows that data will be input by a worksheet. Otherwise data can be input manually through the keyboard.

Upon completion of Table IV, a screen such as Table V is displayed. The top of the screen will allow the user to keep track of all of his function and subfunction selections. As indicated, in this example the user has chosen CREATE/INPUT-TEMPLATE/ADD. For the INPUT.sub.-- TEMPLATE to be able to read a worksheet, it must be given instructions identifying from where on the worksheet the data is being extracted. The screen of Table V permits the user to give these instructions.

TABLE V __________________________________________________________________________ ##STR8## CREATE/INPUT-TEMPLATE/ADD __________________________________________________________________________ ##STR9## WORKSHEET TEMPLATE DEFINITION PERIOD : Q1 87SCHEDULE : ISI ##STR10## WHAT IS THE DIRECTION OF THE VARIABLE ?ACROSSDOWN FIRST DATA CELL : B10 CELL LOCATIONS FOR : ----- ##STR11## ##STR12## WORKSHEET FILE NAME : ABC ##STR13## Enter cell locations where data begins, and where schedule, entity, period, and type are stored. ##STR14## __________________________________________________________________________ Add input template format, integrity rules and descriptions. ##STR15## If the user wishes to extract all data from the worksheet beginning with Sales, he will specify the FIRST DATA CELL as B10 since the sales data (424) is located at that cell in the input and the template is defined to have 12 rows and 1 column. This will instruct the system to extract the data from the worksheet starting with cell B10 and continuing with all

In order for the system to associate the extracted data with its SEPT value, the location of the SEPT specification in the input file values must be indicated. These values are on the first four lines of column B of the input file of Table III. Accordingly, B1, B2, B3 and B4 are inserted after the prompts for these values on the screen of Table V.

______________________________________ Schedule = B1 Entity = B2 Period = B3 Type = B4 ______________________________________

The user must also specify the location of the first row and column descriptions in response to screen prompts. In this example A10 contains the first row description "SALES. The user enters A10 after the prompt for the first row description. The user then enters the first column description. Since B9 contains the first column description "AMT", the user enters B9 after the prompt for the first column description.

The screen then prompts the user to designate if the worksheet is on the system and is ready to be processed. If the user indicates yes, the user enters the worksheet file name so the worksheet can be located and the worksheet is processed. The row and column descriptions from the input file are stored in the system's database. In addition if there are any formulas as part of the worksheet, they too are stored as part of the INPUT TEMPLATE definition.

When this process is complete, the computer system will ask the user if he wishes to print a status report. This status report describes the parameters of the worksheet that was just read in. It is a useful part of an audit trail.

This process is repeated for as many different input schedules as are used with the system. As will be apparent, this procedure eliminates the need for manual reentry of data and eliminates the need to massage data into ASCII files in order to be fed into a data base.

If, however, data is not available on an electronic worksheet, the system will accommodate manual entry of data as well. Again the CREATE/INPUT.sub.-- TEMPLATE/ADD function is selected, the screen shown in Table IV is displayed and the user fills in the screen as described above. However, when he indicates in response to the last question on the screen of Table IV that this is not a worksheet template, the next screen displayed is an array of empty rows and columns of the size specified earlier in Table IV. The user then types in column and row headings to complete the manual input template.

Once the dictionaries, hierarchies and templates are created, the system is ready to accept data from electronic worksheets, computer data files and the keyboard. Table VI illustrates the screen used to input data from an existing electronic worksheet. After the user chooses the INPUT function, a submenu appears as shown on the left side of Table VI with the input choices: WORKSHEET, MANUAL, FILE, ENTRIES, and CALCULATED.sub.-- DATA.

The WORKSHEET function allows the user to input data from a WORKSHEET directly into the database. The MANUAL function allows the user to manually enter data from hardcopy, such as standard reporting forms. FILE allows the user to input an ASCII or binary file directly into the database. ENTRIES allows the user to post, print and review journal entries. CALCULATED.sub.-- DATA allows the user to create a new type of data by combining data from different periods and types (lateral consolidation). The user may then choose to input data from one of these choices by advancing the highlighting box from one choice to another by means of the cursor keys and pressing the ENTER key when the highlighted function is the desired function.

If the WORKSHEET function is chosen, the system will prompt the user by displaying a selection of available templates as illustrated on the right hand side of Table VI. For example, if the user wishes to enter data through the Income Statement 1 (IS1) template created in the foregoing discussion of Tables III-V, he would use the cursor keys to move the highlighter to the Income Statement 1 selection. The user would then press the enter key to confirm his selection. The template code "IS1" would then appear in the "ENTER" box in the middle of the screen. Once the template is chosen, the system will read in the worksheet data through the template and into the data base. The data from the input file will then be stored in the system's database in association with the SEPT value read from the input file of Table III in accordance with the location information specified in the input template of Table V. The data from the first data cell (B10) of the input file will be stored in the data cell.sub.1 associated with that SEPT value and data from the succeeding cells (B11-B21) will be stored in data cells.sub.2-12. By passing the worksheet through the template, the system checks the data to make sure it corresponds to integrity rules which are set up in the template. When the system has finished processing the data, it will update the data base and generate a status report.

TABLE VI __________________________________________________________________________ ##STR16## May 20, 1987 copyright .COPYRGT. 1986 Corp. Class SoftwareSELECT __________________________________________________________________________ ##STR17## ##STR18## __________________________________________________________________________

Production

Once data has been input into the computer system, the user can study relationships between various data elements by querying the data. This is the production phase. This phase uses the INPUT, QUERY, ANALYZE, REPORT, TRANSFER, X-RUN, EXIT and POP-UP functions.

The QUERY function can generate reports from the system's data base without the requirement of typing by the user. As in the case of the INPUT.sub.-- TEMPLATE function, this is a matter of format conversion, but now from the format of the system's data base to that of the report.

To better understand the QUERY function, it is helpful to understand the structure of the report generated by this function. A typical report is illustrated in Table VII.

TABLE VII __________________________________________________________________________ ##STR19## __________________________________________________________________________

As will be apparent the report is a two-dimensional array of data. The column headings in this example specify Periods, Entities and Types. Other combinations of up to three of the four SEPT dimensions are possible. These headings are selected by the user by means of the QUERY function and a sub-function named ACROSS. In this example, the row headings are elements of a Schedule; but other headings selected from the SEPT dimensions not used as column headings can be used. The headings are specified by the user by means of QUERY and a sub-function named DOWN.

Table VIII is illustrative of the screen that is displayed when the QUERY function is selected.

TABLE VIII __________________________________________________________________________ ##STR20## Define the parameters for a query or a model. __________________________________________________________________________

The DEFINE function allows the user to define a query. For example, the user will set up column and row headings for the report, set up selection criteria, set up format and specify output mode. Column and row headings will be selected from available values of the four SEPT categories.

The RUN function generates a report or a worksheet in response to a query defined by the DEFINE function.

The LIST function lists the available queries that have been established by the DEFINE function. This will allow the user to review his selection criteria, report format and output modes.

The COPY function allows the user to copy an existing query to a new query.

The ERASE function deletes an existing query.

The MODIFY function allows value modifications to an existing query.

By selecting the DEFINE function, the user prompts the system to display a submenu which lists all subfunctions available from the DEFINE function. Table IX is illustrative of the screen displayed to the user once he has chosen the DEFINE function. The user may now go through all of these subfunctions in order to define his query.

TABLE IX