I created a Hierarchy form and in that form I created a Hierarchy window. I attached the Hierarchy table to that. I also created the following 5 commands in that form to provide the ability to manipulate the hierarchy as follows.
- AddAccountChild - add an account as a child to the currently selected node.
- AddAccountSibling - add an account as a sibling to the currently selected node.
- AddHierarchyChild - add a hierarchy node as a child to the current node.
- AddHierarchySibling - add a hierarchy node as a sibling to the current node.
- RemoveNode - remove the current node and any children of that node.
The Tree View will be populated with the root-level hierarchy, which must be present in the table. From a strict Accounting standpoint a root-level hierarchy can correspond to the following:
- Assets
- Liabilities
- Equity
- Revenue
- Expenses
- Statistics
Note the last entry. This will allow statistical accounts to pass through to the data warehouse but keep them separate from posting accounts.
Note these levels are just starting points to the rest of the hierarchy. In other words they are the top hierarchy level. Or another way to say it they are the highest level summary of accounts.
In the data warehouse any BI tool should allow the totals of the root level hierarchy to equate to the following Accounting 101 proof:
Assets - Liabilities - Equity = Revenue - Expenses.
Starting from the root level further sub-levels can be added down to the account level. Levels that are not accounts I call Hierarchy nodes. Account nodes are just that - they represent one or more accounts directly.
The basic idea is you provide structure from the root down to the account level. This allows summary analysis and reporting at levels above the account, always keeping the Accounting 101 proof in view.
Another example of a level of hierarchy could appear as follows:
- Assets
- Current Assets
- Cash and Equivalents
- Cash (10)
Accounts are defined with the starting digits of the number range included. In the example above all the accounts that start with 10 are considered cash accounts. This would include, for example, the following accounts:
- 1001 Checking
- 1002 Savings
- 1005 Money Market
Inside the Tree View control is a Context Menu that includes the options corresponding to the Commands defined in the form. These allow alteration of the hierarchy to suit the needs of the client's chart of accounts.
Further posts will define each of the form elements in more detail.
No comments:
Post a Comment