Coworking:Account Tree
![]() | Back to Coworking:Financial Management |
Contents |
Introduction
An account tree is the way Openbravo captures the chart of accounts of an Organization. The chart of accounts is a list of the accounts used in an organization's general ledger.
Some countries such as Spain or France require that a specific chart of accounts is used in the statutory books, therefore the authorities can see the same list of accounts and the same level of detail in the P&L and Balance Sheet. In that case Openbravo provides a "Localization Pack" which includes the Statutory Chart of Accounts.
For instance, the Spanish Localization Pack includes
- the General Spanish CoA
- the PYMES Spanish CoA.
- and the Abreviado Spanish CoA.
After installation, the Charts of Accounts are available for selection during the Initial Client Setup and the Initial Organization setup.
On the other hand, some countries such as USA do not require that specific level of detail, each organization define the chart of accounts that best suits their practices.
In that case Openbravo provides a Generic Chart of Accounts module which delivers a standard list of accounts which can be evolve for the organization's needs.
After installation, the generic Chart of Accounts is available for selection during the Initial Client Setup and the Initial Organization setup.
As explained in the Chart of Accounts Module article, a chart of accounts module basically includes a csv file which contains the account tree structure.
In Openbravo that creates:
- the organization's Account Tree or Chart of Accounts
- and besides a defaulted General Ledger configuration.
It is important to remark that it is not possible to apply a Chart of Accounts in the Enterprise Module Management window because a Chart of Account is not a dataset but a csv file.
If the legal entity has already be created, the chart of accounts can be imported by using the Import Data module, this module allows to import products, business partners and accounts among others.
Additionally, a csv file can be imported while running the Initial Client Setup or while running the Initial Organization Setup if the checkbox "Include Accounting" is checked, therefore the csv file or accounting file can be selected.
Finally, a chart of accounts can also be created manually, regardless it is recommended to start from a sample chart of accounts like the generic one and evolve it for the company’s needs rather than starting from scratch.
Element
The account tree window allows to review and maintain the chart of accounts imported through a chart of accounts module as well as to create new ones from scratch.
If a Chart of Accounts module or an accounting csv file is installed and selected at client level through the Initial Client Setup process:
- the chart of accounts automatically created can be shared by any organization available in the client, as it is assigned to the organization (*)
As a side note, this is not the preferred method but to install it at organization level, see next paragraph.
If a Chart of Accounts module is installed and then selected at organization level through the Initial Organization Setup process:
- the chart of accounts automatically created is linked to the organization being created.
Element Value
Element value tab list every chart of account element from the chart of accounts headings to the sub-accounts.
Every Chart of Accounts in Openbravo contains different types of elements. There are four type of elements:
- "Heading", "Breakdown" and "Account" elements help to structure the chart of accounts in a way that the financial reports can be produced based upon that structure
- "Subaccount" element allows to post the transactions to the ledger
Besides, it is well known that every account, sub-account in Openbravo terms, needs to be included in a financial statement:
- "Asset", "Liability" and "Owner's Equity" account types needs to be included in the Balance Sheet
- while "Expense" and "Revenue" account types needs to be included in the Profit & Loss.
The best way to understand how a chart of accounts is captured in Openbravo is by pressing the "Tree" icon which can be found in the "Toolbar".
For additional information please review the Tree Structure article.
Tree icon opens a new window which shows one tree branch per financial statement:
- Balance Sheet
- Profit & Loss
- and Temporary default accounts. This branch of the account tree gathers temporary defaults accounts which are not ledger accounts.
Besides, each tree branch contains several elements inside structured in a hierarchical way, for instance:
- Balance Sheet branch is split into:
- Assets
- Liabilities and Owner's Equity
As shown in the image above "Assets" is also split into:
- Current Assets
- Long term Assets
- and Accumulated Depreciation
Same way "Equity" is also split into several accounts, in Openbravo terms "subaccounts", such as "Capital Stock" or "Retained Earnings".
Back to the "Element Value" tab, there are several basic fields which help to define each chart of account element:
- the "Search Key" and the "Name" identifies the chart of account element.
- The search key can either be a single letter, a word or a number, however it is important to be aware that the "Search key" field is is the field that Openbravo uses while helping the user to create an account tree element
- the Account Sign field is only shown and therefore editable if the general ledger configuration linked to the account tree is "NOT" set as "Centrally Maintained".
In that case the account sign of each account tree element defines how the balance of that account is going to be shown in the financial statements:- if the account sign of an account tree element is "Debit", the balance of that account will then be shown as (Debit - Credit).
- "Asset" accounts type are normally set as Debit, therefore its debit balance is shown as positive in the Balance Sheet.
Same way its credit balance is then shown as negative in the Balance Sheet.
- "Asset" accounts type are normally set as Debit, therefore its debit balance is shown as positive in the Balance Sheet.
- if the account sign of an account tree element is "Credit", the balance of that account will then be show as (Credit - Debit).
- "Liability" account types are normally set as Credit, therefore its credit balance is shown as positive in the Balance Sheet. Same applies to the "Owner's Equity" account type.
- "Revenue" account types are set as Credit, therefore its Credit balance is shown as positive in the P&L report.
- "Expense" account types are set as Credit, therefore its Debit balance is shown as negative in the P&L report.
- if the account sign of an account tree element is "Debit", the balance of that account will then be shown as (Debit - Credit).
- "Element Level". As already mentioned there are four type of elements which help to structure a chart of accounts in a way that the financial reports can be produced right away based upon the chart of accounts structure.
It is important to remark that it is not mandatory to use the four elements but just the ones which help us to properly structure the Chart of Accounts,
having into account that the lowest one "Sub-account" is the only mandatory one because ledger entries are posted to the ledger through the sub-accounts.
The four element types are:- Heading - the elements "B - Balance Sheet" and "1000-Assets" are heading type elements because those are at the top ones having other elements underneath.
- Breakdown - the element "1100 - Current Assets" and "1500 - Long-term Assets" are a breakdown of the heading "1000-Assets".
Often, the assets and liabilities on a balance sheet are broken down into current assets and long-term assets. Breakdown element type helps us to define this kind of situations. - Account - this level would helps to split the element "1100 - Current Assets" into "1110 - Cash", "1200 - Accounts Receivable", etc, as a way to distinguish between the different types of current assets.
- Sub-account - this level is the lowest level of detail. For instance the account element "1110 - Cash" can be split into the sub-accounts "1120 - Checking Account" and "1140 - Petty Cash" sub-account to distinguish while posting to the ledger the transactions paid by check from the ones paid by petty cash.
- "Account Type". The options available are Asset, Liability, Owner's equity, Revenue and Expense.
Asset, Liability and Owner's equity account types are included in the Balance Sheet as well as in the "balance sheet closing entry" as described in the Close Year article.
Revenue and Expense account types are included in the Income Statement as well as in the "P&L closing entry" as described in the Close Year article. - "Summary Level" defines if an account tree element groups other levels underneath or not, therefore heading, account and breakdown levels can be marked as summary levels while sub-account should not. There can be heading elements which groups other elements underneath, for instance the element "1000-Assets" while there can be heading elements which do not need to group other elements underneath but Customize Elements, for instance the element "1900-Total Assets". The first type need to be configured as "Summary Level", the second type do not need to. Moreover:
- the amounts displayed in financial reports such as the Balance Sheet and the Income statement for a non-summary element is the sum of the debit and credit amounts posted to that account (sub-account).
The balance of that particular subaccount will then be shown as either positive or negative depending on its account sign or depending on what is centrally configured in the General Ledger Configuration - the amounts displayed in financial reports such as the Balance Sheet and the Income statement for a summary element is the sum of the amounts of the elements underneath.
The balance of that summary element will then be shown as either positive or negative depending on its account sign or depending on what is centrally configured in the General Ledger Configuration
- the amounts displayed in financial reports such as the Balance Sheet and the Income statement for a non-summary element is the sum of the debit and credit amounts posted to that account (sub-account).
Additionally, there are other advanced fields which also help to configure not that common scenarios. Those fields are:
- the "Show Value Condition" field defines if a chart of account element balance is going to be shown and taken into account in financial reports or not. The options available are:
- Algebraic, the chart of account element will be shown anyway regardless the sing of its balance. This is the most commonly used.
- Negative Only, it will be shown only in case its balance is negative
- Positive Only, same as the previous one but just in case its balance is positive.
- "Element Shown" defines if an account tree element is going to be shown in the financial reports or not. This one can be used for elements used to execute calculations which do not need to be shown in a report.
- "Title Node" defines if an account tree element is going to be shown in the financial reports just as a "Title" without including its balance. This option works for heading account tree elements which balance is not 100% accurate for whatever kind of reason as there is another element which gets the correct balance value by using operations or customized elements between a set of given elements.
Customized Elements
The customized elements tab allows to get an account tree element as a combination of a given list of existing elements.
Once the account tree elements have been selected in a new record and in the correct sequence order, it is not required to specify a sign but just the elements which are going to be included. The customized elements need to be elements located at the same level within the account tree, otherwise a "recursive" calculation may happen.
For instance the element "1900-Total Assets" is the sum up of three customized elements:
- current assets
- long-term assets
- and accumulated depreciation
as shown in the image below.
Translation
Account elements can be translated to any language required.
Account Tree creation
A chart of accounts creation from scratch implies to create each chart of accounts element one by one:
- Once created the elements can be arranged in a hierarchical way according to the corresponding financial statement structure by using the "Drag & Drop" function of the Tree Structure feature.
- Moreover Openbravo considers the elements created in an alphanumerical order as a sorted list and find the position in that sorted list where the new element would need to be positioned.
The steps to follow for the creation of a chart of accounts (CoA) are:
- select the "Organization" for which the CoA is going to be used while posting to ledger, for example "F&B US Inc."
- enter the "Name" of the Chart of Accounts, for example "Test CoA"
- set it up as "User Defined Type" to distinguish it from the imported Chart of Accounts
- select the Tree as "B&F International Group Element Value (Account, etc.).
Move to "Element Value" tab.
The first thing to do in this tab is to create all the "Heading" elements one per each financial statement, for instance "Balance Sheet" and "Income Statement".
Balance Sheet Node:
- create a new record
- enter "B" value in the field "Search Key"
- enter "Balance Sheet" value in the field "Name"
- select "Heading" in the Element Level field
- select "Memo" in the Account Type field
- select the value "Algebraic" in the field "Show Value Condition"
- set the field "Summary Level" to "Yes"
Profit and Loss Node:
- create a new record
- enter "P&L" value in the field "Search Key"
- enter "Profit and Loss" value in the field "Name"
- select "Heading" in the Element Level field
- select "Memo" in the Account Type field
- select the value "Algebraic" in the field "Show Value Condition"
- and set the field "Summary Level" to "Yes"
The next thing to do in this tab is to create one element value per each financial statement node:
- Balance Sheet nodes are "Assets", "Liabilities" and "Owner's Equity"
- Profit and Loss nodes are "Revenue" and "Cost of Goods Sold" among others
Balance Sheet Elements
Let's focus first on explaining the creation of the nodes/elements of a Balance Sheet financial statement.
An organization's balance sheet shows its financial situation at a given point in time, the three sections of a balance sheet are:
- Assets
- Liabilities
- and Owner's equity
therefore the next step to take is to create one chart of account element per each balance sheet node:
Assets Node:
- create a new record
- enter a value in the field "Search Key", this value could be a number for instance ("1000") or a name ("Assets").
- It is recommended to use a number as that helps while creating new chart of accounts elements. The following rule is considered while creating new chart of accounts elements:
Openbravo first considers the elements in an alphanumerical order as a sorted list, find the position in that sorted list where the new element would need to be positioned, look at the element that precedes it and if that element is a summary element and the current element is not a summary one, adds the element as a children of that node otherwise add the element as a sibling of that node.
- enter "Assets" value in the field "Name"
- select "Heading" in the Element Level field
- select the value "Asset" in the field "Account Type"
- select the value "Algebraic" in the field "Show Value Condition"
- and set the field "Summary Level" to "Yes"
Once done drag and drop this node under the Balance Sheet node.
Liabilities Node:
- create a new record
- enter the value ("2000") in the field "Search Key"
- enter "Liabilities" value in the field "Name"
- select "Heading" in the Element Level field
- select the value "Liability" in the field "Account Type"
- select the value "Algebraic" in the field "Show Value Condition"
- and set the field "Summary Level" to "Yes"
Owners Equity Node:
- create a new record
- enter the value ("3000") in the field "Search Key"
- enter "Owner's Equity" value in the field "Name"
- select "Heading" in the Element Level field
- select the value "Owner's Equity" in the field "Account Type"
- select the value "Algebraic" in the field "Show Value Condition"
- and set the field "Summary Level" to "Yes"
This time there is no need to drag and drop these two last nodes as Openbravo does it according to the rule explained above.
Both the Liabilities Node and the Owner's Equity Node are summary nodes, therefore they are added as a sibling of the Asset Node (element that precedes them).
It is very common to break down assets and liabilities into current assets (or liabilities) and long-term assets (or liabilities).
Moreover, "Assets" can be split into "Cash", "Inventory" and "Accounts Receivable", "Liabilities" can be split into "Accounts Payable" and "Note Payable" and finally "Owner's Equity" can be split into "Common Stock" and "Retained Earnings" among others.
All of the above guides the creation of the following sub-nodes at a lower level underneath the heading nodes.
Current Assets Node:
- create a new record
- enter the value ("1100") in the field "Search Key"
- enter "Current Assets" value in the field "Name"
- select "Breakdown" in the Element Level field
- select the value "Assets" in the field "Account Type"
- select the value "Algebraic" in the field "Show Value Condition"
- and set the field "Summary Level" to "Yes"
Once done drag this node under the "1000-Assets" node.
Long-Term Assets Node:
- create a new record
- enter the value ("1500") in the field "Search Key"
- enter "Long-term Assets" value in the field "Name"
- select "Breakdown" in the Element Level field
- select the value "Assets" in the field "Account Type"
- select the value "Algebraic" in the field "Show Value Condition"
- and set the field "Summary Level" to "Yes"
This time there is no need to drag and drop this last node as Openbravo does it according to the rule explained above.
The Long-term Asset Node is a summary node, therefore it is added as a sibling of the Current Asset Node (element that precedes it).
Current Liabilities Node:
- create a new record
- enter the value ("2100") in the field "Search Key"
- enter "Current Liabilities" value in the field "Name"
- select "Breakdown" in the Element Level field
- select the value "Liability" in the field "Account Type"
- select the value "Algebraic" in the field "Show Value Condition"
- and set the field "Summary Level" to "Yes"
Once done drag this node under the "2000-Liabilities" node.
Long-Term Liabilities Node:
- create a new record
- enter the value ("2500") in the field "Search Key"
- enter "Long-term Liabilities" value in the field "Name"
- select "Breakdown" in the Element Level field
- select the value "Liability" in the field "Account Type"
- select the value "Algebraic" in the field "Show Value Condition"
- and set the field "Summary Level" to "Yes"
This time there is no need to drag and drop this last node as Openbravo does it according to the rule explained above.
The Long-term Liabilities Node is a summary node, therefore it is added as a sibling of the Current Liabilities Node (element that precedes it).
Cash Node:
- create a new record
- enter the value ("1110") in the field "Search Key"
- enter "Cash" value in the field "Name"
- select "Account" in the Element Level field
- select the value "Asset" in the field "Account Type"
- select the value "Algebraic" in the field "Show Value Condition"
- and set the field "Summary Level" to "Yes"
Once done drag this node under the "1100-Current Assets" node.
Accounts Receivable Node:
- create a new record
- enter the value ("1120") in the field "Search Key"
- enter "Accounts Receivable" value in the field "Name"
- select "Account" in the Element Level field
- select the value "Asset" in the field "Account Type"
- select the value "Algebraic" in the field "Show Value Condition"
- and set the field "Summary Level" to "Yes"
This time there is no need to drag and drop this last node as Openbravo does it according to the rule explained above.
The Accounts Receivable Node is a summary node, therefore it is added as a sibling of the Cash Node Node (element that precedes it).
Cash Node needs to have sub-accounts elements underneath, for instance:
111200 Checking Account
- create a new record
- enter 111200 in the field "Search Key"
- enter "Checking Account" value in the field "Name"
- select "Subaccount" in the Element Level field
- select the value "Asset" in the field "Account Type"
- and select the value "Algebraic" in the field "Show Value Condition"
111300 Checking In-Transfer
- create a new record
- enter 111300 in the field "Search Key"
- enter "Checking In-Transfer" value in the field "Name"
- select "Subaccount" in the Element Level field
- select the value "Asset" in the field "Account Type"
- and select the value "Algebraic" in the field "Show Value Condition"
111400 Petty Cash
- create a new record
- enter 111400 in the field "Search Key"
- enter "Petty Cash" value in the field "Name"
- select "Subaccount" in the Element Level field
- select the value "Asset" in the field "Account Type"
- and select the value "Algebraic" in the field "Show Value Condition"
Above subaccounts are the ones used while posting ledger entries into the ledger.
There is no need to drag and drop the three subaccounts above into the corresponding node as Openbravo does it.
Accounts Receivable Node needs to have sub-accounts elements underneath, for instance:
112100 Trade Receivable
- create a new record
- enter 112100 in the field "Search Key"
- enter "Trade Receivable" value in the field "Name"
- select "Subaccount" in the Element Level field
- select the value "Asset" in the field "Account Type"
- and select the value "Algebraic" in the field "Show Value Condition"
112200 Tax Receivables
- create a new record
- enter 112200 in the field "Search Key"
- enter "Tax Receivables" value in the field "Name"
- select "Subaccount" in the Element Level field
- select the value "Asset" in the field "Account Type"
- and select the value "Algebraic" in the field "Show Value Condition"
Above subaccounts are the ones used while posting ledger entries into the ledger.
There is no need to drag and drop the two subaccounts above into the corresponding node as Openbravo does it as explained above.
The same steps need to be followed for the creation of other "Account" and "Subaccount" node types under the nodes:
- Long-term Assets
- Current Liabilities
- Long-term Liabilities
- and Owner's Equity
Last but not least, it is required to create a node which summarizes assets, another one which summarizes liabilities and the last one which summarized owner's equity.
Let's take the creation of total assets node for instance:
Total Assets Node
- create a new record
- enter 1900 in the field "Search Key"
- enter "Total Assets" value in the field "Name"
- enter "1100+1500" in the field "Description" as a way to describe that this node sums up current assets and long-term assets.
- select "Heading" in the Element Level field
- select the value "Asset" in the field "Account Type"
- and select the value "Algebraic" in the field "Show Value Condition"
- navigate to Customized Element tab
- create a new record
- enter "1" in the field "Sign"
- select the Account "1100 - Current Assets"
- create a new record
- enter "1" in the field "Sign"
- select the Account "1500 - Long-term Assets"
Income Statement Elements
Now let's briefly explaining the creation of the nodes/elements of an Income Statement.
An organization's income statement shows the company's financial performance over a period of time (usually one year), therefore it has two main sections:
- the first section details the organization revenues
- the second section details the organization expenses
The income statement also takes into account the cost of the goods sold, therefore the gross profit refers to the sum of an organization's revenues minus the cost of goods sold.
Besides, it is very common to separate the "Operating Expenses" from the "Non-Operating Expenses", therefore it is possible to calculate the operating income as the difference between the gross profit and the operating expenses while the net income is the difference between the operating income and the non-operating expenses.
All of the above drives the creation of the nodes/ elements which once arranged will represent the structure of the organization's income statement.
The nodes to create for instance can be:
- The "Revenue" node:
- this "Heading" and "Revenue" account type node can include all the revenue subaccounts.
- The "Total Revenue" node:
- this "Heading" and "Revenue" account type node can include a customized element of the "Revenue" node above.
- The "Cost of the Goods Sold" node:
- this "Heading" and "Expense" account type node needs can include all the cost of the goods sold related subaccounts.
- The "Total Cost of the Goods Sold" node:
- this "Heading" and "Expense" account type node can include a customized element of the "Cost of the Goods Sold" node above.
- The "Gross Margin" node:
- this "Heading" and "Revenue" account type node is a customized element of the "Revenue" node and the "Cost of the Goods Sold" node above.
- the "Operating Expenses" node:
- this "Heading" and "Expense" account type node can include all the operating expense related subaccounts.
- The "Total Operating Expense" node:
- this "Heading" and "Expense" account type node can include a customized element of the "Operating Expenses" node above.
- The "Operating Income" node:
- this "Heading" and "Revenue" account type node can include a customized element of the "Revenue" node, the "Cost of the Goods Sold" node and the "Operating Expenses" node.
- The "Non Operating Expense" node:
- this "Heading" and "Expense" account type node can include all the non operating expense related subaccounts.
- The "Total Non Operating Expenses" node:
- this "Heading" and "Expense" account type node can include a customized element of the "Non Operating Expense" node above.
- and finally the "Net Income" node:
- this "Heading" and "Revenue" account type node can include a customized element of the "Operating Income" node above and the "Total Non Operating Expense" node above.
Temporary Elements
As already explained there is a close relationship between an account tree and the General Ledger configuration in Openbravo, as the Account Tree is a Dimension of the General Ledger.
The General Ledger configuration also includes a set of default accounts (or subaccounts in Openbravo terms) to use while posting certain type of transactions. Those accounts needs to be created in the account tree first and then be configured in the General Ledger Configuration tabs listed below:
Most of those defaults accounts are ledger accounts such as:
- the "Income Summary" account
- the "Retained Earnings" account
- the "Vendor Liability" account
- or the "Customer Receivables" account
however there are few of them which are not ledger accounts but what we can call "Temporary" accounts such as the "Suspense Balancing" account.
There is no need to create default ledger account as those are created as part of the account tree.
However, temporary default accounts needs to be created in the account tree under a specific tree branch or node, in order to get that the balance of those temporary accounts is not taken while launching either the Balance Sheet or the Income Statement.
Therefore, a new "Heading" and "Summary" element needs to be created in the "Element Level" tab, that element can be named "Temporary Accounts".
Once created below accounts (subaccounts) can be created and move underneath it:
- Suspense Balancing account
- Suspense Error account
Full list of Account Tree window fields and their descriptions is available in the Account Tree Screen Reference.
![]() | Back to Coworking:Financial Management |