Chart of Accounts
Purpose of the Chart of Accounts
Chart of Accounts Design
- The COA as found in ADempiere is in the form of an excel spreadsheet where users can adapt to their own format.
- It can then be saved as a comma separated value file or accting.csv and imported into ADempiere.
- Daniel Norin has created a nice COA Editor to access that csv file to change or create a new COA without looking at the excel file.
- The COA follows accounting classifications underlying General Accepted Principles of Accounting (GAAP) in practice throughout the world.
Summary List of COA
- 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|
Te 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
Common Errors in Design
This section is designed to provide assistance with COA design and provide you with a few examples of what to do and what not to do when implementing your chart of accounts.
A chart of accounts is different for every organisation because:
- in many countries there is no hard and fast rule requiring COA's 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 organisation 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.
It is difficult (if not impossible) to satisfy all of the informational needs with a single dimensional chart of accounts. Adempiere provides the following dimensions which can be 'sliced and diced' in order to meet your reporting requirements:
- business partner
- sales region
- TIP: You should use these 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)
- Add product names to account codes