Wednesday, August 20, 2014

Account Hierarchy editor

In order to provide my client with the ability to edit a hierarchy of GL accounts I used the Tree View control in Dexterity in a very simple fashion.

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.

  1. AddAccountChild - add an account as a child to the currently selected node.
  2. AddAccountSibling - add an account as a sibling to the currently selected node.
  3. AddHierarchyChild - add a hierarchy node as a child to the current node.
  4. AddHierarchySibling - add a hierarchy node as a sibling to the current node.
  5. RemoveNode - remove the current node and any children of that node.
The hierarchy window contains one control - a Tree View control.  Nothing more is required.

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)
The lowest level of the hierarchy is the account, as indicated by the account number prefix.  No levels may be defined below the account level.

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