Chart of Accounts
A Chart of Accounts (COA) literally means a list of ledger accounts that are to be maintained in the Client's accounting system.
Before calculators/computers came into existence, accounting was performed by hand in a ledger. A separate ledger was maintained for similar or related entries and this was called an Account. For a small business, the group of ledgers were often kept in one or more books. Processes were adopted that allowed the accounting to be done easily:
- Subsidiary Ledgers for all kinds of transactions were kept and then just the totals of these were posted into the general ledger. The reasons were simplicity and the fact that two people could not write in the same account book at the same time. Computers don't have this problem but a common hang over in todays financial software is the breakdown of the General Ledger into Debtors (Accounts Receivable), Creditor (Accounts Payable) and General (sometimes referred to as Nominal) Ledgers.
- Debits and credits (meaning only left side and right side) were kept in separate columns because it was easier to add all the positive numbers in the debit column and then all the 'positive' numbers in the credit column and then subtract one from the other to find the net movement. It was beyond people's capabilities to accurately add a column which contained both positive and negative numbers.
- Some accounts were called Permanent (or Real) since their balance at the end of a period was passed to the next period as a beginning balance.
- Other accounts were called Temporary accounts since they only tracked changes in income and expenses that would affect Retained Earnings.
- A balance sheet was maintained to ensure that the basic equation Assets = Liabilities + Owner's Equity held for all permanent accounts. Asset accounts, by arbitrary convention, increase on the Debit (left hand) side of the ledger. From this, the meaning of a debit or credit to any other account can be derived.
- Any transaction had to have at least two entries - the double entry principle - which balanced credits and debits and maintained the balance sheet balanced.
- A Trial Balance or listing of the sum of all entries in each account at a point in time should always have equal debits and credits.
- At year end it was necessary to find the profit or loss and update the retained earnings of the owners. It was also necessary to start entering transactions in P&L accounts for the new year from a zero balance. This was done by actually posting entries in the manual ledgers at year end to bring each Temporary P&L account to a zero balance and increase the retained earnings account accordingly.
- For complex situations, multiple sets of books could be maintained and transactions would be duplicated in both sets of books following, perhaps, different rules or using different accounts.
The introduction of computers has made the task of accounting much less tedious but the basic principles remain the same. Computers offer the ability to make order out of a random pile of data and reorder it all again using a different set of criteria. On the other hand, the power of computers and flexibility of the software has allowed managers to over complicate accounting where it need not be so complex. When dealing with a book of ledgers, it was often the size of the book that determined how many ledger accounts were included in the book. With a computer, there is no limitation. Without the restriction, management will often desire to use granular accounts defined for very specific reporting purposes that can be easily rolled up and summarized in a variety of ways. Overdone, this can result in a huge number of accounts that are difficult to keep track of or manage.
Recommendations and Pitfalls in COA Design
In practical terms, managers must think of COAs as more than just a list of accounts. They must think of all of the controlling data structures that (should) reflect the informational needs of the business for regulatory accounting to management economics. These should answer questions like what is the loan default rate on various portfolios of mortgages, how much revenue do we make per kilometre of optical fibre owned/operated, or simply what is our revenue this month/quarter/year from this product, product group business area. Understanding the reporting requirements is critical to ensuring the COA has enough but not too much detail.
It is difficult (if not impossible) to satisfy all of the informational needs with a single dimensional chart of accounts. ADempiere provides the following Accounting Dimensions which can be 'sliced and diced' in order to meet your reporting requirements:
- organization (business)
- account element (the actual account)
- business partner
- sales region
TIP: You should use the ADempiere accounting dimensions for the purpose they are intended rather than trying to recreate dimensions within your account elements. A common mistake is to build your products in to the account elements in order to report revenue / margin by product.
- In one case (a Telecoms company), one of their subsidiary businesses had over 130,000 accounts to account for a relatively small part of the business. This is by no means uncommon and I've seen it literately dozens of times. Obviously, as a result of the large number of accounts, there was a large amount of administration around changing an account and new accounts were still being added. A target to aim for in large businesses is around 1000-1400 accounts. This can be difficult when you operate in many countries and use of permissions in the system can be used to control access to posting to account combinations which allows accountants to feel happier about sharing account codes rather than creating specific accounts that belong only to them. (i.e. the people own a slice of the matrix of the code rather than the whole code and this is enforced with user permissions)
TIP: Create a process for adding and re-organising account codes and other organisational dimensions. Find and allocate owners in build them in to the approval process (you can use summary accounts to delegate sub-groups of your structure)
- Each country has special requirements imposed by the government and in some cases, reflective of that societies values. For example, when doing some work on a global chart of accounts for a business, the Japanese contingent explained to me that it is polite in Japanese culture when requesting payment from your customer, to provide them with a bank account at the same bank that they use for which they can use to pay you. As Japan has many banks, this requires polite organisations to maintain many bank accounts in order not to offend their business partners. Whilst I accept this is a business need, we do not need to manage these accounts at a management level (whilst I accept they need to be reconciled and accounted for separately). You can gain informational benefits by using sub-accounts to record the myriad of bank accounts. A similar technique can be used to sub-ordinate information about local payroll deductions and other social costs and taxes.
TIP: Use sub accounts to deal with local variations and names whilst preserving your COA structure
- Many organizations find themselves in a position where in each new region they have entered, they have allowed the accountant to select an accounting system and get on with it - knowing they will ensure the correct forms are lodged and that the business has complied with the filing requirements. However, with no common strategy defined, it is common to select an accounting system and structure your COA on your local financial and other reporting requirements. Whilst this practice is a fast track route to satisfying the requirements of external users, it does not balance the need for internal users and hence many organizations find themselves in a position where satisfying the internal users for never ending informational requests is time consuming. Whilst the use of a good BI tool and some analysts can mitigate this issue in some businesses, a better solution is to balance the informational needs when designing your COA (and other master data structures)
TIP: Consider designing your COA structure on your Management COA rather than your Financial COA
- A chart of accounts is different for every organization because:
- in many countries there is no hard and fast rule requiring COAs to be conforming to a specific structure (however there are suggested forms like the EU level 7 schedule of accounts which has been adopted to various degrees of prescription in EU member states)
- the chart of accounts should reflect the informational needs of the organization which include the needs of the regulatory environment(s) in which the operation (industries, countries, etc), the needs of the share holders & stakeholders (private, public owned businesses, banks, private equity firms etc) and the needs of management and various other reporting/informational requirements.
Creating and Importing a COA
ADempiere users may design and import their COA using an excel spreadsheet that they can adapt to their own format. This file can then be saved as a comma separated value file or accting.csv and imported into ADempiere.
Daniel Tamm has created a nice COA Editor to access that csv file to change or create a new COA without looking at the excel file.
Here is an image of the COA as inherited by us from the Compiere GPL project.
Here we lay out the general structure of the COA by displaying only the top level summary elements.
|Account Value||Account Name||Account Type|
|3||Owner's Equity/Net Worth||Owner's Equity|
|5||Cost of Goods Sold||Expense|
Example Charts of Accounts
Standard chart of accounts for UK government entities, funds, public corporations and reporting funds
The fields below are from the I_ElementValue table. I_* tables provide a 'staging area' for importing data before this data is tested against business rules and if found to be conforming to these rules, is imported in to the C_ElementValue table. These tables describe 'element values' which might otherwise be described as the members of the element dimension - and most notably the Accounts dimension known to accountants as the chart of accounts.
|i_elementvalue_id||ID for import processing|
|isactive||Is Active flag|
|createdby||Adempiere core field|
|created||Adempiere core field|
|updated||Adempiere core field|
|updatedby||Adempiere core field|
|i_isimported||Flag for import processing|
|i_errormsg||Error message if import failed|
|c_element_id||Element ID - see c_element|
|c_elementvalue_id||Internal Element ID|
|value||Account "Natural" code|
|accounttype||Account classification - A = Asset, L = Liability, E = Expense, R = Revenue, O = Owners Equity, M = Memorandum|
|accountsign||Indicates the Natural Sign of the Account as a Debit or Credit|
|isdoccontrolled||If the account is document controlled, users are unable to post directly to the account (you must post documents and they post to the account)|
|issummary||If the account is a summary account then it is a header / total of the children accounts|
|parentvalue||Key of the Parent|
|parentelementvalue_id||The parent (summary) account - Parent node reference|
|postactual||Is the user allowed to post actual values? (Y/N)|
|postbudget||Is the user allowed to post budget values? (Y/N)|
|poststatistical||Is the user allowed to post statistical values? (Y/N)|
|postencumbrance||Is the user allowed to post commitments / encumbrance values? (Y/N)|
|default_account||Name of the Default Account Column|
|ad_column_id||Column in the table|
|processing||Flags for import processing|
|processed||Flags for import processing|
COA Import File
The COA import file is a file provided to assist end users in importing their chart of accounts. The data contained in the spreadsheet is imported in to the I_ElementValue table and once validated, this is imported in to the C_ElementValue table where is is accessible via the element tree editor. The spreadsheet includes a number of fields to assist with the creation of report dimensions.
|Account value||unique ID of the account|
|Account name||short name of the account|
|Account description||a description of the account|
|Account type||type of the entries written to this account (Asset/Liability/Owner's Equity/Expense/Revenue/Memo)|
|Document controlled||if yes, then it is not possible to post manually to this account|
|Summary account||No entries can be posted to this account, this is a summary of the subaccounts. All entries have to be submitted to the subaccounts|
|Default account||Name of the Default Account Column - this is a link to a system controlled default account|
|Account parent||Summary account where the entries of this account are summarized to|
|Balance sheet||If this item appears in the balance sheet report - it's identifier|
|Balance sheet name||If this item appears in the balance sheet report - it's name as displayed in the report|
|US 1120 Balance Sheet||If this item appears in the form 1120 (US tax balance sheet) report - it's identifier|
|US 1120 Balance Sheet Name||If this item appears in the form 1120 (US tax balance sheet) report - it's name as displayed in the report|
|Profit&Loss||If this item appears in the profit and loss report - it's identifier|
|Profit&Loss Name||If this item appears in the profit and loss report - it's name as displayed in the report|
|US 1120 Income Stmt||If this item appears in the form 1120 (US tax profit and loss) report - it's identifier|
|US 1120 Income Stmt Name||If this item appears in the form 1120 (US tax profit and loss) report - it's name as displayed in the report|
|Cash Flow||If this item appears in the cash flow report - it's identifier|
|Cash Flow Name||If this item appears in the cash flow report - it's name as displayed in the report|
- tri (only in definition csv/xls) - ?
- reference in regards to US tax return form 1120: http://www.irs.gov/pub/irs-pdf/f1120.pdf