Wednesday, November 9, 2011

Lesson #1 - The Chart of Accounts/Balance Sheet Accounts


Notice :  Please see this important update before trying to follow any of the steps described here.



This page should get you through the preparation of a chart of accounts in OpenERP, according to the examples provided in "Hour 1" of the very excellent book Alpha Teach Yourself Accounting in 24 Hours.  Hereafter referred to as TYAi24H

If you have not yet done so, please review Lesson #0.  It will explain the course and get you setup and ready to work.

To understand this section you'll need to:
  1. read "Hour 1" of TYAi24H.
  2. read the OpenERP book, section 8.5.1 Configuring Accounts, which you can find in the online documentation here...


One small point of order.
Hour 1 and Hour 2 deal with the same topic: the Chart of Accounts.  However, it divides the problem into two parts, an hour for each, according to the data requirements for the two primordial management reports:
  1. Balance Sheet - code range 1000 - 3999
  2. Profit and Loss Statement - code range 4000 - 6999
This isn't a useful distinction for the purpose of preparing OpenERP for first use, but we'll respect it anyway, for the purpose of keeping in step with the goal of 24 hours of study.


Mapping contradiction #1
The OpenERP example proposes account types: View, Income, Expense and Cash.  Meanwhile TYAi24H doesn't seem to talk explicitly about Account Types.  So our learning tasks are to understand:
  1. each of the Types and why they matter, 
  2. why the OpenERP book picks them, particularly
  3. understand how they relate to the OpenERP's "Internal Types"

Before we address that, there's a deeper problem -- neither book actually defines "Account".  In answer to that, I found this:
Account - a separate list of records for each type of asset, liability, equity, revenue, and expense used to show the beginning balance and to record the increases and decreases for a period and the resulting ending balance at the end of a period.

With that in mind, let's try to grasp the three issues above:

First.  The Types:
  • View -- Easy enough to understand; that's a virtual account, as opposed to a real account.  Real accounts are like the leaves on the tree.  Virtual accounts are the trunk, limbs, branches and twigs.  View accounts are just category headings that "contain" derived values summed from the raw (leaf) data items.  To be overly precise they don't even "contain" values; they merely label the General Ledger sections that contain values.  They're the map, not the territory.
  • Income and Expense -- These aren't hard to understand either.  They're the elements on the two sides to the Profit and Loss Statement.
  • Cash -- I don't understand why OpenERP breaks the symmetry here.  I'd have put Assets, Liabilities and Equity since those together constitute the elements of the other key report, the Balance Sheet.  I suppose that, without saying so, the OpenERP book proposes to use Cash as an abbreviated surrogate for the whole Balance Sheet


Second.  Why those Types:

The OpenERP book proposes the Types in the context of an example system that enables you to: buy products from a supplier, stock the products in a warehouse and sell these products to a customer.  It is very much an operations manager's view rather than a financial controller's view, so it's reasonable to abbreviate the Balance Sheet down to positive and negative amounts of Cash.


Third.  About the "Internal Types":


OpenERP's bubble-help explains the internal types as follows -- "These types are used to differentiate types that have special effects in OpenERP:
  • Consolidation -- are accounts that can have children accounts for multi-company consolidations.
  • View -- can not have entries. (vague -- these hold NO raw data, but serve to classify single-company summary amounts)
  • Payable and Receivable -- are for partners accounts (for debit/credit computations.  (vague -- I'd classify these as credit transactions)
  • Regular -- (unexplained -- these appear to apply to purchases and sales, but as cash transactions)
  • Liquidity -- (unexplained -- not surprisingly, these appear to apply to various forms of cash)
  • Closed -- for deprecated accounts.

To resolve the mismatch between the two books, we'll ignore the OpenERP book's abbreviation and break Cash out into the main headings of the Balance Sheet:
  1. Cash
  2. Asset
  3. Liability
  4. Equity
To stay compatible with "Hour 2" of TYAi24H we need one more...
  1. Cost of Sales
¿¿Is that a standard of some kind??  Since I don't know, I'll leave it in.  If you know better please leave a comment and I'll fix it.
 
Mapping contradiction #2
Closing Method.  Deferral Method.   OpenERP specifies 4 types with bubble-help that states:
Set here the method that will be used to generate the end of year journal entries for all the accounts of this type.
  • 'None' means that nothing will be done. 
  • 'Balance' will generally be used for cash accounts.
  • 'Detail' will copy each existing journal item of the previous year, even the reconciled ones.
  • 'Unreconciled' will copy only the journal items that were unreconciled on the first day of the new fiscal year.
Presumably this will be covered in future lessons.  For now, since the OpenERP book uses three out of four of them, we'll use their choices, as shown here...
http://doc.openerp.com/v6.0/book/1/1_3_Real_Case/1_3_Real_Case_db_setup.html#account-types

Of course, since we expanded Cash into Cash, Asset, Liability & Equity we'll apply the same type (Balance) to them.



Theory problem:
The following two diagrams serve to show the debit/credit behavior for transactions of increase and transactions of decrease:





It has never made sense to me that one is supposed to debit Assets when they are increasing!!  Don't debits take something away?

The usual explanations are, "because it's on the left-hand side", or Wikipedia's entry:
The reasoning for an asset account being called a "debit account" is due to the fact that businesses usually purchase assets to be used in normal business activities; for example, the purchase of a "delivery vehicle".
Clear as mud.  I think the correct explanation is that, since accounting is a management report to owners, all the givings and takings are recorded from  the owners' point of view.  The owners put in their Equity (Capital) and the business consumes it.  Liquidating the entity's Assets is one way the owners can recuperate Capital.  So, in keeping with Pacioli's original Latin debere, I understand that the business owes all Assets to the owners.  Management isn't supposed to see Assets as their property, so the more Assets they have the more they owe back to the owners, including Cash that an owner might Draw.

The same would apply to Expenses.  One form of Expense is an owner's Draw -- liquidating an Asset so as to Draw some Equity back out.  That too is "a credit" to the management of a company, since the sum of total expected outlay decreases.



Filling the Chart of Accounts.

We are ready to prepare OpenERP with the data from the example in Hour 1 of TYAi24H.  Here are links to the scripts for that.
  1. This script runs the wizard to install the Accounting and Finance module then exits immediately...
    https://github.com/martinhbramwell/SeleniumForOpenERP/tree/master/ConfigureAccounting 
  2. After that you'll want to run "ChartOfAccounts_AccountTypes" contained in the folder of the same name here:
    https://github.com/martinhbramwell/SeleniumForOpenERP/tree/master/ChartOfAccounts_AccountTypes
  3. This script sets up the Balance Sheet accounts in the coded range of 1000 - 3999 as per the examples in Hour 1 of TYAi24H: https://github.com/martinhbramwell/SeleniumForOpenERP/tree/master/ChartOfAccounts_BalanceSheet


The Discrepancies Explained

You will notice immediately that I have changed the numeric coding scheme proposed by TYAi24H.  Instead of...

TYAi24Hrs Version
1000 Cash in Checking
1010 Cash in Savings
1020 Cash on Hand
1100 Accounts Receivable

 ... we now have ...

Our Version
00000 LogiChem -- Chart of Accts View
10000 Assets View
11000 Cash View
11001 Cash in Checking Regular
11002 Cash in Savings Regular
11003 Cash on Hand Regular
12000 Accounts Receivable View
12001 Accounts Receivable Receivable

Perhaps there is some consistent structure to their scheme, but I don't see it.  I'm not saying our alternative is perfect, but at least it:
  • is section structured
  • distinguishes section headings from section content
  • offers greatly increased expandability in each section
Moving on...
Most of our learning so far about correctly grouping accounting information.

In the next lesson we carry on with the second half preparing the Chart of Accounts.



1 comment:

  1. Balance sheet is not an account. It is a financial statement which is prepared with ledger balances. Ledger balances are not transferred to balance sheet.

    ReplyDelete