98
REDHUAN D. OON ADEMPIERE COMMUNITY www.adempiere.com E R P A C C O U N T I N G Nahmitzer Damm 32 12277 Berlin Germany telephone: +49-30-69203854-0 fax: +49-30-69203854-9

E R P ACCOUNTING - red1red1.org/aaa/ERPAccounting.pdf · Chapter 1 - How Far Has Accounting Gone? 1 Learning Objectives 1 ... what and how resources are dispensed so that he or she

  • Upload
    vuquynh

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

REDHUAN D. OON

ADEMPIERE COMMUNITY

www.adempiere.com

E R P A C C O U N T I N G

N a h m i t z e r D a m m 3 2 1 2 2 7 7 B e r l i n G e r m a n y • t e l e p h o n e : + 4 9 - 3 0 - 6 9 2 0 3 8 5 4 - 0 • f a x : + 4 9 - 3 0 - 6 9 2 0 3 8 5 4 - 9

E R P A C C O U N T I N G

N a h m i t z e r D a m m 3 2 1 2 2 7 7 B e r l i n G e r m a n y • t e l e p h o n e : + 4 9 - 3 0 - 6 9 2 0 3 8 5 4 - 0 • f a x : + 4 9 - 3 0 - 6 9 2 0 3 8 5 4 - 9

C602 - Asian Executive Master in

Open Source Software ERP

Conquering The World of Industry and Commerce

E R P A C C O U N T I N G

N a h m i t z e r D a m m 3 2 1 2 2 7 7 B e r l i n G e r m a n y • t e l e p h o n e : + 4 9 - 3 0 - 6 9 2 0 3 8 5 4 - 0 • f a x : + 4 9 - 3 0 - 6 9 2 0 3 8 5 4 - 9

Study Approach ▪ The mode of study is self research under guidance and discussion. The student is

encouraged to be communicative, sociable, creative, resourceful and critical. Wise non-conformity is a plus. Publishing or writing one's works and thoughts in the suggested places and in own original words can give excellent marks.

▪ From day one, the student joins Web 2.0 projects such as the chatroom, blogs, forums, wikiversity and SourceForge where exposed interactivity can occur with the community at large. Those who can solicit participation from others are considered successful advocates.

▪ The students are to use heavily the web and to derive source materials for creating their own pages based on the whole course roadmap which is purposely indicative and not exhaustive.

▪ The students have to act as a whole team to devise ways to make a better impression to attract the right attention and build a professional image.

E R P A C C O U N T I N G

N a h m i t z e r D a m m 3 2 1 2 2 7 7 B e r l i n G e r m a n y • t e l e p h o n e : + 4 9 - 3 0 - 6 9 2 0 3 8 5 4 - 0 • f a x : + 4 9 - 3 0 - 6 9 2 0 3 8 5 4 - 9

Study Schedule Schema

A. Credit Hour: 3 hours (120 learning hours per semester)

1. Self Independent Study - 42

2. Tutorial / Face-to-Face Interaction - 12

3. Online Interaction - 30

4. Doing Assignments - 18

5. Examination Preparation - 18

B. Teaching Method: Self Independent Study, Tutorial and On-line Participation

C. Assessment Detail:

1. On-line Participation 10%

2. Individual Assignment 10%

3. Case Study/Group Assignment 20%

4. Mid Term Exam 20%

5. Final Examination 40%

Module Topics SchemaThis course module comprises of 6 chapters. This student manual is the raw content for the online e-learning facility under production by Asia e-University.

COPYRIGHT NOTICE:

THIS WORK HAS PARTS DERIVED FROM THE ADEMPIERE COMMUNITY. IT IS ARRANGED AND AUTHORED BY RED1 FOR ASIA E-UNIVERSITY AND HEREBY ENTRUSTED ALL CONTENT TO THE CREATIVE COMMONS 3.0 LICENSING.

RED1 - www.red1.org

Table of Contents

MODULE 5 - ERP Accounting 1

Chapter 1 - How Far Has Accounting Gone? 1Learning Objectives 1Introduction 21.1 Accounting Conventions 3Having Fun With ADempiere 71.2 The Balance Sheet 101.3 Consistency of Standards 111.4 Conservative Rule 13Peer Review I 16Peer Review II 18Power of the Bazaar 25Quiz 26Glossary 26Summary 27References 28

Chapter 2 - Accounting Using Computers 29Learning Objectives 29Introduction 30Do You Know That? 302.1 Using the GL Journal 312.2 Suspense Balancing 372.3 GL Distribution 372.4 What Does ERP Handle? 392.5 What about Fraud? 402.6 Necessity of Standards 42

A D e m p i e r e C o m m u n i t y E R P S o f t w a r e E n g i n e e r i n g

i

2.7 Computer Assisted Accounting System 43Quiz 45Glossary 45Summary 46References 47

Chapter 3 - Accounting On The Web 48Learning Objectives 48Introduction 493.1 Using the Application Server 513.2 POSterita POS 523.3 Web Store 543.4 Further Security 583.5 Electronic Data Interchange 59Quiz 66Glossary 66Summary 67References 68

Chapter 4 - Default Accounts 69Learning Objectives 69Introduction 701.1 What is the Charts of Accounts? 711.2 The Default Accounts 761.3 Default Accounts Usage 771.4 Listing of Default Accounts from AccountingUS.xls 871.5 COA Editor by Daniel Tamm 89

A D e m p i e r e C o m m u n i t y E R P S o f t w a r e E n g i n e e r i n g

ii

“He who does not know how to give himself an

account of three thousand years may remain in the

dark, inexperienced, and live from day to day”

- Johann Wolfgang von Goethe

REFERENCES:

ASHUTOSH DESHMUKH, DIGITAL ACCOUNTING: THE EFFECTS OF THE INTERNET AND ERP ON ACCOUNTING, 2006, IRM PRESS, USA.

J. R. EDWARDS, A HISTORY OF FINANCIAL ACCOUNTING, 1989, ROUTLEDGE, GREAT BRITAIN.

LESZEK MACIASZEK, BRUC LEE LIONG , ADDISON WESLEY (AUGUST 9, 2004), PRACTICAL SOFTWARE ENGINEERING: A CASE-STUDY APPROACH

WALT SCACCHI, INSTITUTE FOR SOFTWARE RESEARCH, PROCESS MODELS IN SOFTWARE ENGINEERING, (FEBRUARY 2001 ) UNIVERSITY OF CALIFORNIA, IRVINE

ERIC RAYMOND, THE MAGIC CAULDRON, (1999) HTTP://WWW.CATB.ORG/~ESR/WRITINGS/MAGIC-CAULDRON/

A D e m p i e r e C o m m u n i t y E R P S o f t w a r e E n g i n e e r i n g

iii

MODULE 5 - ERP AccountingThis module is meant for students who feel that the subject of Accounting for the ERP is daunting. It helps them to examine up to ERP financials management that is now electronic and enterprise-ready for most organisations.

Module OutlineThis module brings the student a fresh approach to grasping the accounting subject matter and how it operates within a FOSS ERP such as ADempiere. It gives practical hands-on exercses where useful to allow students a more gentler path to tackle this difficult domain of Financials Integration in an ERP Application.

Learning is fun Graduating is more fun Ultimate fun when your life is fulfilled

Prior KnowledgeThis course module assumes some basic business understanding and previous Course Modules 1 through 4.

Module Objectives

1. To understand accounting practice in ERP Software

2. To get under the hood of how accounting works in ERP Software

3. To have hands-on capability in handling important accounting processes

4. To cover more breadth of the many features involving accounting

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 1

Chapter 1 - How Far Has Accounting Gone?

Learning Objectives

By the end of this chapter, the student shall be able to:

1. Give a conceptual perspective of Financial Accounting;

2. List important purposes of accounting in business;

3. Describe the important concepts and conventions in accounting;

4. Introduce the use of ADempiere for accounting.

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 1

Introduction

Charlie Munger, a famous wealthy investor was quoted as saying [1],

“You have to know accounting. It's the language of practical business life. It was a very useful thing to deliver to civilization. I've heard it came to civilization through Venice which of course was once the great commercial power in the Mediterranean. However, double entry bookkeeping was a hell of an invention.”

Accountants were the scribes and priesthood in ancient history. They occupied a high position next to feudal lords for able to say for sure about anything. They could as they know how to count and know how to write the figures down. Their role was ever prominent from the dawn of banking right through the ages of industrial revolution[2].

Figure 1.1 - Ancient Egyptian maths, to keep track of resources and expenditure

I myself see accounting as the art of measuring relevant human activity in terms of the materials consumed and produced in a particular endeavour. This art of measuring started since ancient recorded history such as in the times of the pyramid builders. If the Egyptians could not calculate how many stone blocks they need, they would have no

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 2

answer in the forced labour required. That in turn will impact their ability to determine the right amount of food to replenish the collective toil. There will be constant wastages and delays, and no one can be sure when the pyramid will get completed. As the saying goes, “If you cannot measure it, you cannot manage it”.

1.1 Accounting Conventions

Accounting therefore underwent some rules building through the ages. Some of its habits are picked up from ancient times and stuck to it since then. The unit of measure for accounting today is abit different from ancient times in that it is now done with a common denominator of money whether it be in USD or any local currency. The reason will be obvious shortly. Accounting goes further by having a measuring mechanism by which categories or accounting elements are used to appropriate such information so that the manager can see what and how resources are dispensed so that he or she can plan on meeting the input of such resources. In other words, unlike the ancient pharaohs who can exact resource by force in the form of slaves, the modern manager today has to purchase them and that is done by hard currency or capital and s/he has to keep track of that or else the resources run out and the venture is unfulfilled. Of which the business will go down and cease. Figure 1.2 - A more modern looking financial statement

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 3

In a later chapter, we shall get to know the Chart of Accounts which is the common reference table for those accounting elements touched on above. Another concept is the double-entry, where for every debit or credit there is an opposing one. The balance at every entry accumulates and there is no concept of subtraction perhaps due to the fact that ancient slabs or the likes of it have no eraser! Well, either that, or it is because there is some rule that everything noted cannot be erased - they must be accounted for.

Modern accounting today is mainly for business concerns. It seeks to provide clues on how well a business is doing. A trained accounting mind can look at the books of a company and tell if it is healthy or not. It doesn’t matter if that company has lots of cash, or lots of invoices. There are factors only an accountant can say if the business is going to make it or go bankrupt.

The accounting department before the advent of computerised tools, is liken to a huge department of clutter of desks and book-keeping clerks that detail every item that occurs in the company, be they a few cents from a smallest transaction. At the end of the day, their books must balanced up - correct to the last cent.

Figure 1.3 - An Income Statement from ADempiere

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 4

Figure 1.4 - A mindmap depiction of the accountng equation

This illustration on this page is from QTunnel Business Consulting, Inc. [3] It gives a big picture in detailed descriptive language how modern accounting is organised. It shows how accounting data is first brought about by a double-entry posting and then represented in the General Ledger in the form of an Accounting Equation.

Double-entry is one convention that stems from the importance accountants placed on the value of accuracy and avoidance of mistakes by entering the same figure twice in two places.

The Accounting Equation divides accounting information into Assets, Liabilities, and Owner’s Equity.

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 5

For being so detailed and precise, it is no surprising that the computer age is most useful to this area of commercial activity and management. Among the first things the computers probably did is to give the clerks a good rest. No more counting numbers to the last digit of which an electronic computing device is absolutely ideal for. No longer is there a need to summarise balances at the end of the day as the computer program does that automatically. Particularly at the end of the month or accounting period. From month to month those pesky columns of ‘Balance c/f’ (carried forward) and ‘Balance b/f’ (brought forward) are granted. It is an easy electronic copy/paste. The modern computer is a tool that once infomation is recorded, it will always remember it. Today diskspace is dirt cheap. A thumb drive has now surpassed the 200 gigabytes volume mark.

Periodic accounting where the management has to look at the bottom line properly at the end of the period or sometimes end of the financial year, can now get a peek before-hand at anytime. This is coined as perpetual accounting[4] by Colin Rooney (see Peer Review II below). In Compiere/ADempiere, this feature does not override the concept of periodic control. Periods are still used, and the acts of opening, closing and final closing of periods are still available for the accounting manager to maintain control over the entry into the books.

Figure 1.5 - Period Control in ADempiere

Today there are stated and published understanding of how accounting should be such as GAAP (Generally Accepted Accounting Principles). The convention about value is also peculiar where if you recorded or post to the General Ledger and accounting value of say Ringgit Malaysia 0.50 for a lunch in 1970, you do not change that value even if C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 6

you are presenting that information today where the price of the lunch has certainly inflate to around Ringgit Malaysia 5.00. This is more important for assets such as land where its original cost is very low. To show its real value today, accountants use what is called book value which is that original cost less depreciation which is certainly negative depreciation (appreciation) and shall be much higher. More details about some of these conventions later.

Having Fun With ADempiere

Now let us start playing around with our ERP software to see what can it do for us on the topic of Financial Management. Let’s say we want to take a look at the Balance Sheet.

1. Launch your ADempiere application as GardenAdmin.

2. Go through the main menu.

3. Expand the menu tree under Performance Analysis, then Financial Reporting.

4. You will see the figure on the right.

5. Click on Financial Report. You will see a window below.

Figure 1.5 - Financial Report Creation

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 7

6. Uncheck the List Sources box. Click on the Create Report button at the lower screen.

Figure 1.6 - Create Report Parameter Selection Screen

7. Pull down the Period field to select Sep-02. This will access the Accounting Facts posted for GardenWorld sample client of that period. You shall see the figure below.

Figure 1.7 - Balance Sheet preview

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 8

8. Look at the top menu bar. At the right side, next to the exit button is the export icon . Click on that to call the export function.

Figure 1.8 - Export Format Selection

9. Pull down the Files of Type selection to choose xls - Excel file. This means we are going to save our report as a Microsoft Excel file format. Put in a File Name. Note the location you Save In.

There may various reasons why we are exporting it. Certainly it is to make life easier when we can send an output in the format desired. We can save it as a PDF file which is much nicer looking. Or we can have it in this excel format where the accountant can dress up further the output so to edit or add in further details before a final presentation with all the accompanying information. On the next screen below is how the Balance Sheet looks in Microsoft Excel format. You can note that it is presentable in a single page instead of 2 during the preview earlier.

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 9

Figure 1.9 - Excel Spreadsheet to view the exported Balance Sheet

See how far humanity has advanced since the days of stone slabs and papyrus.

1.2 The Balance Sheet

Since we are on the subject of Balance Sheet, we shall ponder on it closer to reflect why it exist and for what purpose. As alluded to earlier, business is now measured in terms of cash value. That will be simple if we all deal in cash and cash alone. But that is not the case with modern commerce. Value though still measured in cash takes many forms and meanings. There are cash that are given on loan to the business. There are cash changed into assets that cannot be turned back to cash readily. Those assets may undergo maintenance, depreciation, appreciation or even tax by the authotiries.

The loan given to a business is to be paid back and thus is a liability or constraint on it. Or as a starting capital or equity to enjoy dividends from the business when it gathers a profit at the end of the fiscal year. Or it may suffer losses. All such occurences and values are recorded in the General Ledger or books of the company and in order to undertand the company’s position is to look at its Balance Sheet. The Balance Sheet thus comprised of Owner’s Equity, Assets and Liabilities.

The balance in the end will be added with either profit or subtracted if there is a loss. That will affect the balance. In short, if there is good profit, the balance will increase. Thus at one glance the creditors, owners or shareholders can tell if the business is going

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 10

up or going down the tube. If it is good, it is said to have a strong balance sheet. If not, then you call it with demeaning terms such as a weak or poor balance sheet.

Balance sheets together with income statements form part of the common financial statements that public companies often prepare for relevant external parties in compliance with statutory boards and regulations such as FASB (in USA), Securities Commission and the Inland Revenue Service.

1.3 Consistency of Standards

GAAP was created by the Financial Accounting Standards Board (FASB) in 1973. As it came about in accordance with the AICPA’s (American Institute of Certified Public Accountants) Code of Professional Conduct, it is regarded as an american preference. The rest of the world is said to be following IFRS or International Financial Reporting Standards. GAAP requires members to provide financial statements free of unqualified opinions. GAAP guidelines provide publicly traded and privately held firms the various methods considered appropriate for conducting accounting business. They consist of assumptions, principles, and constraints that are the basic “building blocks” of the whole idea of GAAP.

Some regard such standards as a set of rules to follow particularly during the making of Financial Statements. GAAP seems more for external reporting or public consumption such as the use of cost principle, matching principle, and full disclosure. At the same time GAAP is said to allow more creativity in such reporting and is thicker than the simpler and static IFRS guidelines book. There can be a difference depending on which standard you use such as the appearance of higher value as in the case of an European bank in 2008 if it uses IFRS[5].

If the company shares are publicly traded, its financial statements will have to follow rules established by the U.S. Securities and Exchange Commission (SEC). This includes having its financial statements audited by an independent CPA (Certified Public Accountant) firm.

The Compiere/ADempiere family is made to follow GAAP by its creator Jorg Janke, but USA is considering transition to IFRS particularly after the Enron fiasco, to keep up with the world where about 100 countries are already following it. ADempiere wiki has started some insight into using IFRS[6]. Malaysia is said to be lagging in catching up with the 2012 deadline[7].

Whatever standards one choose to follow, it has to be consistent to avoid confusion and misleading representation of accounting data throughout a business.

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 11

COMMENTS BY HEE K.N.

* The COA follows accounting classifications underlying General Accepted Principles of Accounting (GAAP) in practice throughout the world.

* Most GAAP are based on the following principles

- Historical Cost Accounting - it means if you pay rent of $200 per month but the value of the rent in that area is $400, you still show it as an expense of $200 and not $400.

- Matching rule - you should match income to an expense in the same accounting period. In order to generate income, you most likely need to spend (an expense). So both income and expense should be posted to the same accounting period so that one can compare the net effect of doing business.

- Prudence - when it comes to income, you should not post to P&L unless you sure of getting it. When it comes to expense, if there is a possible chance that it may happen, you should post it to P&L. Basically a pessimistic way of looking at things. Sometimes, it contradicts the Matching rule but then accounting is full of contradictions.

- Materiality - principles only apply to items of a material value, which is judgemental. Things of immaterial value need not follow GAAP.

GAAP is the foundation of accounting and in each country there are Accounting Standards which are intended to expand on the GAAP, and address very specific areas of accounting.

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 12

1.4 Conservative Rule

Accounting assumes a rule that if a deal is not made it is not commited to the books. That is why a Sales Order when processed has no accounting consequence in ADempiere. It is merely a Sales Order where goods have not been delivered nor payments made. However for governmental accounting there is another principle of Commitment Accounting. For the government to issue a Purchase Order, it is considered to have committed to pay the vendor. Thus we can enter the books that the PO is committed for cash settlement. In ADempiere, we can switch such PO Commitment on. Follow the screens below to see how.

How to get PO Commitment

* First we login as a ClientAdmin, in this case we are using GardenAdmin sample

* Then we go to the Accounting Schema window as seen below

* We set the Commitment Type field to PO Commitment only

* It will ask you to restart your application server.

Figure 1.10 - Settting the PO Commitment in Accounting Schema

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 13

Test with a Purchase Order

* Now we try that out to see if indeed a completed PO can generate the accounting facts

* Previously there will not be any posting

* Go to a Purchase Window and create and complete a PO

* Ensure your Server2.sh is being launched before-hand

Figure 1.11 - Purchase OrderLine

Look up Account Viewer

* Click on the top menu bar, on the View pull down

* Select Account Info

* Note from the shortcut you can also call this up by keyboard Ctrl+Alt+I combination keys

Figure 1.12 - Launching the Account Viewer

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 14

* It will launch the Account Viewer window.

Figure 1.13 - Account Viewer set to query on date of account posting

* Click on the View Result tab.

* Note that before you process your PO or start your application server, there are no results for the same day you try this.

* After the PO is completed or app server started you will note the results.

* Note also that the Posting Type can be set to Commitment to view such facts only. .

Figure 1.14 - PO Commitment accounting facts posted

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 15

Such PO commitment is mostly practiced by government agencies where cash is encumbered or withheld whenever a purchase is made. Government is not in the business of making money but spending it according to budget. Private businesses are about making money and so they do not constrain their cash flow to allot for such purchase commitments.

In ADempiere we also have Sales Commitment where the reverse will happen. If a sales is made, then it is assumed to be paid. During the preparation of financial reports, we can select the Posting Type to allow examination of what cash is available or committed or expected. This in a way can assist in making an accounted Cash Flow Analysis if coupled with Payment Terms. Later we shall see how Aging Analysis is already using Payment Terms to derive its analysis. A cash on delivery payment term is good for its cash flow, but a long term credit such as in 90 days will affect it.

Purchases are also noted as Accounts Payables or AP where the company is liable to pay others. Sales are Accounts Receivables or AR where the company expects due payments. From here we can see that accounting tries to keep track of a business performance from these commitments and actual cash basis.

When we were calling up the Account Viewer above, we are looking into the accounting facts as they happen almost realtime. That is the example of perpetual accounting we talked about earlier. That is something new to traditional accounting which is already stated as periodic and manual. All such accounts posting in non-computerised environment would have to be done by hand and usually through a General Ledger journal entry. In the following chapter we will look more into how the computer has affected traditional accounting practice.

Peer Review I

This review is done by Hee K.N., Singapore, who is an accountant experienced in SAP (Europe). He is now a frequent visitor to our project chatroom and he repsonded to my public post to review from an accountant’s point of view on my text above. He has graciously done so here[8].

1. Page 6 - ‘Balance b/d’ (brought down) and ‘b/f’ (brought forward) are granted

It is more common to use the terms Balance C/F (carried forward and Balance B/F (brought forward) (edited in the text above)

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 16

2. We call this whole thing that you just described below - Historical Costing Accounting.The convention about value is also peculiar where if you recorded or post to the General Ledger and accounting value of say Ringgit Malaysia 0.50 for a lunch in 1970, you do not change that value even if you are presenting that information today where the price of the lunch has certainly inflate to around Ringgit Malaysia 5.00. This is more important for assets such as land where its original cost is very low. To show its real value today, accountants use what is called book value which is that original cost less depreciation which is certainly negative depreciation (appreciation) and shall be much higher. More details about some of these conventions later

3. I have a different understanding of Balance Sheet

To me, balance sheet is to report the financial position of an entity at a specific point in time. Financial position means Assets (something that adds value to the entity) and Liabilities (something that reduce value). So it should look like this :

Owners Equity = Assets less Liabilities + (profit or loss for the accounting period) where

Assets less Liabilities measures the FUTURE net value. That is why this is normally known as net asset value

Profit and Loss measures CURRENT net asset value. So the rule is if a financial transaction derives future value, you put in the Balance Sheet and if it derives current value to the business, u put it in the profit and loss.

So the end is Owners Financial Position is FUTURE VALUE + CURRENT VALUE = (Assets less Liabilities) plus (Revenue less Expense).

4. Definition of GAAPS and Standards

There are not the same things.

GAAPS are the foundation of accounting. It has a few rules that must be follow for the reader to understand the meaning. So it is like you want to learn Taiji.

Standards are implementations of GAAPS that are specific to each country. So most countries will have its country level Standards. If you dont have one, then you can follow the IFRS (which is like United Nations stds for accounting. You can choose to follow or ignore....). So standards is like u want to learn Chen Taiji, Wu Taiji, Yang Taiji, etc. Different implementation of similar thing...well almost ...

So if you say your accounting standards follow US GAAP, it means u follow US Standards plus certain basic accounting practices (like you need do Taiji walk and breathing...) that US Standards are based...the accounting practices....

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 17

5. More about Commitment Accounting

Before computers were invented, if you want to keep track of information, one way is to post it into the financial books because it is probably the only place you write things down diligently. But if you do that, the info may get mixed up with the real financial information. So to differentiate the information, these type of info is called Commitments. Over time, with computerised accounting, you can keep all this info in the database and the usefulness of commitment accounting disappeared. Of course, 3M invented a new type of commitment accounting when they came out with the 3M sticky notes. We stick them all over the place - on you computer monitor, the wall, and on documents.

The only place where it is still used and of value is in financial institutions. Read here

http://en.wikipedia.org/wiki/Off-balance-sheet .

Peer Review II

Steven Sackett, a prominent member of the ADempiere project, who happens to be a qualified and practicing accountant from Melbourne, Australia, took exception of the coined term “perpetual accounting” as used by Colin Rooney, another prominent member from Ireland. Colin has more than 20 years experience implementing ERP systems in Europe.

Steven’s comments are as follows:Red1, note that accountants do not use these terms.  Colin created them due to a misunderstanding of something I told him.  He confused it with “Perpetual Inventory”.

I then related Steven’s remarks to Colin who in return responded in a chat-room conversation with me below.

croo Yes I explained that ... I thought in the wiki page ... but I did it purposely

croo I made up this new term :)

croo indeed I had known about perpetual inventory

croo which is the official term for the way the inventory workd

croo which is the official term for the way the inventory works

croo but there is not term for how the accounting differes

croo but perpetual accounting is a good description and is similar to the perpetual inventory

croo perpetual inventory

croo is named so

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 18

croo because in accounting 101

croo they teach that Gross Profit = Sales less Cost of Sales

croo and that

croo Cost of Sales = Opening Stock PLUS Purchases LESS Closing STock

croo so to do this and say what yuo profit is

croo you must count your stock

croo but counting a stock every QTR or more is not really practical

croo and in big multinationals with potentially large stock columns inTRansit at any time not even possible

croo so the shift to perpetual inventory

croo we change how we calc Cost of Goods sold

croo now we count the item cost as we ship to a customer

croo just as adempiere does

croo we can stock count but only to ensure quantities are correct and account for breakage & theft

croo now also in accounts 101

croo we have Debtors & Creditors ledgers

croo and typically a Nominal Ledger

croo but actually you can have as many as you wish

croo but typical a debtors ledger keeps track of all the invoices and payments to a customer

croo these are not posted to the General Ledger

croo but at the QTR end or whenever

croo when you want to create your profit & loss and r balance sheet

croo these accounts are all added up and the balance from each is posted to the General Ledger

croo As with the inventory

croo you must do this before you can get a valid indicator of what your companies standing is

croo and in fact

croo in truth you can only say on this day (4 days a year if you post per qtr) this is how we stand

croo but you cannot say what is it today or what was it last week

croo but the accounting we use in Adempiere

croo by passes all the debtors, creditor and any other ledgers and post immediately directly to the General Ledger

croo so at any moment we can say ... what is my Profit and Loss

croo what is my balance sheet

croo they are perpetual ... always available

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 19

croo so I named our accounting approach Perpetual Accounting - because I could not find a description for this approach anywhere else

croo end of story

croo I thought I had added this to the article discussion in the wiki but I don't see it ... it must have been somewhere else

croo I did bold the here in the opening sentence ... ADempiere implements the modern Accounting Theory referred to here as 'Perpetual Accounting'.

red1 yes now i recollect .. about c/f and b/f .. they do not show if you are within a period red1 but maybe steve mean is that those periods always matter red1 u have to close off

red1 interim figures are not that useful yet

croo no what steve said stands

red1 perpetual has no closings in inventory.. that can be understood of its value

red1 as inventory is ongoing

red1 but for accounts.. its an offline affair

croo yes

croo not in adempiere

red1unlike inventory its a business

croo in accounting 101 it is

red1 offline in the sense that u can withhold processing until the next working day

red1 u can put on hold all acounting and let the business process run

croo because the ledger does not include ALL transactions until a period is closed

red1 u can buy, sell, move...

red1 then end of mth u can just turn on the accounting processor

croo you could do that but that's not the same

red1 yeah u re rite with that

red1 so in what way is it perpetual?

croo normally you would write to other ledgers like debtors or creditors

croo in fact you can have an number of ledgers

croo but when you close a period then you consolidate all those to post into the general ledger

croo only a period end

croo we post now

croo so the accounts are always valid now

croo the period control does not close off debtors ledgers and post totals to the general ledger

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 20

croo our period control simple stops additional posting in a period

croo in the basic 101 accounting you cannot post in a previous period because well it;s been totalled and posted to the ledger anyway

croo making changes there would not effect the general ledger from which the P&L and Balance Sheet reports are craeted

croo so it's perpetual because it always is the correct balance

red1 how will it be then in non perpetual accounting prior?

croo the thing is there is no definition of either way

croo I google all over

croo well I said how it was above

croo I make a sale... I post it to be debtor ledger

red1 i reckon nothing change with traditional accounting in significant way

red1 just that it is more tedious previosly

croo why are so many people confused then?

croo no

red1 cos we are not accountants?

croo it is different in that we have many books in stead of one

croo no not it

red1 so in adempiere there are also 'debtors'?

croo no

croo debtors ledger

red1 or equivalent

red1 so no debtors ledger?

croo someone who owes you money is a debtor... so customers are debtors

croo but we do not keep a debtors ledger

croo no

red1 but we do have that in another form

red1 under BPartner defaults

red1 its Trade Receivables or sumtin

croo in a traditional system the period end posts the balance of the many ledgers to the general ledger

croo that's an account in the general ledger

red1 ah so its the timing then

red1 ok i can explain that

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 21

croo think about it this way

croo we have no computers

croo you are the acocntant for a company

croo you write in a book everything they sell

croo and everything you receive

croo now you get very busy

croo so I join up as a second

croo you have only one book and we cannot write in it at the same time!

croo so we make two books

croo but to keep it organised you say .. you look after all the people we sell to

croo and you give me a book and call it the debtors ledger

croo at the end of the month./qtr/year whenever

croo if you add up what's in your book you do not have the whole story anymore

croo you must consolidate what is in my book with yours

croo no supposed we have lots & lots of busienss

croo so you hire lots and lots of clerks

croo each is given a book!

croo some might be a book for one customer

croo some a book for one supplier

croo to know if you are making any money or not you must know what is in all books

croo so everyone totals up their books

croo and the balances go into a general book

red1 ok so in our computerised system we wont need to do that

croo and the balance of that book is the answer to profit & loss

red1 we can 'perpetually' close anytime?

croo when we moved to computers the programmers said to the accountants

croo tell me how you work and I will write a program

croo and the accountants said well, we have many books called ledgers

croo some are for debtors, some creditors, some are nominal or general, this is what goes in each

croo then at the end of the month we totals them and put the balance in this general ledger

croo what compiere/adempiere does is said

croo we have computers why do we have to put all this in many books?

croo when it's in many books I cannot say what my balance is

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 22

croo because the balance is from the general ledger

red1 so now we can automatically total up into the GL

red1 summary is granted

croo but we can put all this straight in the general ledger

croo and beacuse it is

red1 so thats what you mean when u say 'perpetual'?

croo wel always know what our P&L or Balance sheet is not just at that moment of the end of a period

croo and because it is not only available at a period end but always

croo I called it perpetual

croo Steve was not saying my term was wrong!

red1 i think there is a better word

croo just that it is not at term accountant use

croo and they have no term for it

croo I looked

red1 based on this understanding i would say the GL is 'virtual'

croo it actual not virtual

red1 you have a 'virtualised' GL

red1 virtually actual

red1 actualised?

croo and perpetual fits in with that actual accounting term pertpetual inventory

croo I think perpetual is better

croo the point steve is making is that this isn't a standard term in accounting

croo but there is no term to describe it

red1 vs virtual machine

croo because it is not a universal way of doing it

red1 hmm we can invent this then

red1 how about 'realised'?

croo if you go to accounting school they will teach the old periodic system

croo well exactly that;s what I did

red1 realising the GL

red1 but i see in the context of periods, the word perpetual is apt

red1 it gives the context

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 23

red1 periodic vs perpetual

croo exactly

red1 i will put this conversation and your mailed one as a 'proffesional review'

croo you cannot simple say it is the standard accounting term used

croo you must describe it AND coin the term

croo as I say I do not believe steven was saying it's back or wrong

croo just that it's not a standard term

red1 as long as we bare its discovery

red1 i will caveat its not a standard term

croo well I looked for an official term to describe it

croo I had been reading about perpetual inventory

croo and I thought well ... that's a good fit

------------------------------------------------------------------------------------------------------------------------------------------

GuysI read it and I think it will confuse the readers! It certainly confused me ;-)Maybe you could say something like this.

The standard accounting equation of Assets - Liabilities = Equity is only correct if the year end closing entries have been made so that the sum of the P&L accounts is zero. There was traditionally a manual process that actually did this.

Before those period-end entries happen the equation is actuallyAssets - Liabilities = Equity +Revenue- Expense. This is because it is only if you include the Revenue and Expenses accounts that the sum of ALL accounts will be zero (so nothing will balance!).

In years gone by it was traditional to put all purchases of inventory into a purchases expense and then do a stocktake at year end, put the value ascribed to the stock into the balance sheet and reduce the purchases amount by that value. The accounting system thus only showed the value for inventory at the end of the period.

This process was replaced over time by methods where every purchase of stock was put into the balance sheet inventory account and every sale caused a reduction in the balance sheet inventory account. This meant that there was always a value of inventory in the company's books. This process was called "Perpetual Inventory"

[perpetual inventory - DefinitionKeeping book inventory continuously in agreement with stock on hand within specified time periods. In some cases, book inventory and stock on hand may be reconciled as often as after each transaction, while in some systems these two numbers may be reconciled less often. This process is useful in keeping track of actual availability of goods and determining what the correct time to reorder from suppliers might be. Sometimes also called continuous inventory.]

Similarly the process where Assets - Liabilities = Equity +Revenue- Expense gives rise to a balance sheet that always balances because the Equity value contains the Revenue - Expenses figure at all times.

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 24

Colin coined the term "Perpetual Accounting" to describe this method to non-accountants reading the ADempiere forums.

Colin ... Is that a fair statement of what happened?

regardsSteven

===============================================

Hi Guys,

Well I do agree with Steven in that it is not 100% clear & precise. ButI also think only accountants will understand Steven's explanation ...or the initial bit at least. :)

But I'm not sure how to make it simple for non-accountants and yet stilltechnically correct. Maybe if you clearly describe Revenue & Expenses,Assets & Liabilities, and Equity first.

My understanding was; typical Accounting 101 approach was periodicbecause pre computers it required multiple physical books. So these hadto be periodically consolidated. The first programs to computeriseaccounts simply this mimicked this procedure.

Perpetual Inventory was a first step to rationalise this in a moderncomputing business environment.

"Perpetual Accounting" is a further extension of this rationalization.How it changed is precisely how Steven describes. But Steven I usedthis term because I could not find an "official" term to describe it.There is obviously a difference between the old accounts 101 periodicapproach you learn in school and this approach which largemultinational's computing systems are beginning to adopt because finallysomeone has realised that we computerised a procedure that actually isnot required once you have computers. We addressed the manual procedureto solve this problem rather than the actual problem itself. How todetermine how much money I made (Profit & Loss) and what is the currentstate of my affairs (Balance Sheet).

Colin

Power of the Bazaar

The above here is a demonstration of Web2.0 or web facilitated interactivity in evolving learning among the community irrespective of level of expertise and experience. It is a peerocratic meritocracy in action.

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 25

Quiz

1. What is the main purpose of accounting?

2. What does Colin Rooney mean by ‘perpetual accounting’?

3. What is the difference between GAAP and IFRS?

Glossary

Term Description

Giving an account

To provide relevant, important and complete but balanced set of information

Double-entry Accounting practice where for every debit there is an opposing and equal credit and vice versa

Accounting Equation

Accounting information showing the balanced sum of Assets, Liabilities and Owner's Equity

Journal Chronological entry of accounts

General Ledger A book where journal entries are organised into separate accounts topics

GAAP Generally Accepted Accounting Principles

IFRS International Financial Reporting Standards

Aging Analysis Details of terms of paymentsʼ maturity over a date-time range

Financial Statements

Accounting Facts presented in conventional formats such as Balance Sheet and Profit & Loss Statement

PO Commitment Occurence of PO has accounting consequence in the books

Perpetual Accounting

A term invented by Colin Rooney to best explain the impact of electronic computing on some aspect of accounting practice

Peerocratic Meritocracy

A term derived from Linus Torvalds description of how the online community behind an open source project works

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 26

Summary

1. Accounting has a long history from ancient times to count resources and record them.

2. Modern accounting keeps tracks of transactional elements that have contractual value between parties and budgeting purposes.

3. Accounting standards are important to help prevent misrepresentation of financial reports.

4. GAAP is now giving way slowly to IFRS as the defacto international accounting standard system to follow.

5. Though ERP systems still have periodic control, they allow perpetual views of Financials statements.

6. In Compiere/ADempiere there is GardenWorld sample data to generate accounting reports from.

7. Open Source brings about a learning and adoption environment that is collaborative and evolving that is easily accesible via the web.

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 27

References

1. http://www.woopidoo.com/business_quotes/authors/charlie-munger/index.htm

2. http://acct.tamu.edu/giroux/Shorthistory.html

3. http://www.qtunnelconsulting.com/Controlling/Cg_DE_Accounting.html

4. http://www.adempiere.com/index.php/Perpetual_Accounting

5. http://www.aleablog.com/ifrs-vs-us-gaap-european-banks-leverage-overstated-picture/

6. http://adempiere.com/index.php/IFRS

7. http://biz.thestar.com.my/news/story.asp?file=/2009/2/7/business/3212426&sec=business

8. http://sites.google.com/site/red1accountingmodulereview/my-review-notes

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 28

Chapter 2 - Accounting Using Computers

Learning Objectives

By the end of this chapter, the student shall be able to:

1. Map out the areas covered by computerised accounting;

2. Identify the issues and concern with computerised accounting;

3. Detail the compliance standards needed for computer based accounting.

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 29

Introduction

The computer has the greatest impact on the age-old accounting practice. Its ability to crunch numbers, maintain high accuracy, repeat processes and organise large data storage makes it perfect for accounting. Tedious redundant clerical work such as budgetary control, making copies of documents and posting its values to the General Ledger can now be done by computer software.

Object Oriented software such as Java can model closely the accounting structure and processes to be precise and integrated. Java having enterprise capability allow the subject of accounting to be portable and usable in large organisations having a wide network of locations and different departmental functions.

Computing precision guarantees an error free application for accounting. Double entry is always balanced. Otherwise the program will rollback the operation. Each activity in the computer can also be logged and tracked for audit requirement which is an important one in accounting discipline. All these are very possible, but it is up to the final implementation to ensure that is fully complied.

Computing has further impact in the way accounting information is stored and organised. Computer technology allows information to be gathered at a single virtual location or database system. This means high integration and efficiency or non-redundancy of information reference and integrity. However it also opens to a new way of committing fraud, by unethical practice of course. There will be requirements of safeguarding from new methods of intrusion and manipulation.

Do You Know That?

The Java language data type to hold financial amounts is BigDecimal? The mathematical precision of BigDecimal is higher than Float[1]. Compiere/ADempiere uses BigDecimal to represent any financial figure in its code logic.

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 30

2.1 Using the GL Journal

Here we call up ADempiere again to do journal entries into the General Ledger. We start seeing how the computer has an electronic version of the traditional General Ledger book-keeping.

1. Launch your ADempiere application as GardenAdmin.

2. Go through the main menu or search for GL Journal.

Figure 2.1 - Calling up GL Journal

3. The following window will open. It has 3 tabs:-

a. Batch - for maintaining the whole batch.

b. Journal - for maintaining the batch information.

c. Line - for entering the journal posting details.

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 31

Figure 2.2 - The GL Journal window

4. We will just fill in the fields coloured pink which are mandatory.

Figure 2.3 - Filling in mandatory fields in GL Batch

5. Select GL Journal as Document Type.

6. Go to the Journal tab (see next page).

7. Fill in a Control Amount of 100.00.

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 32

Figure 2.4 - Filling in the Control Amount

8. Go to the Line tab.

9. Click on the icon on the right of the Combination field.

10. Note the open Combination window below.Figure 2.5 - Combination window pop-up

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 33

11. Give any text value for Alias.

12. Select an Organization.

13. Click on the icon at the right of the Account field.

14. Choose a value such as Salaries.

Figure 2.6 - Combination Account selection

15.Click on the Save icon on the right side.

16. Note the new line in the lower panel.

17. Click on the OK button at the bottom right.

18. Give an amount value of 50.00 in the source debit field.

Figure 2.7 - Journal Line value

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 34

19. Do another Journal entry line for Rental

Figure 2.8 - Another Combination for Rental

20. Put in an amount of 50.00 in the same field too.

21. Go back to the Journal tab.

22. Note the total is same as the Control Amount. This helps to manage the hard-copy source to be correct as entered.

Figure 2.9 - Journal Tab completed

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 35

23. Press the Complete button

24. Ok the Complete option

25. Note that the Journal batch is processed and a completed status should appear at the button and at the status bar on the bottom left

26. After starting the Application Service so that accounts posting can take place automatically, go to the top menu.

27. From the View menu pull-down, select the Account Viewer. Select today’s date and click on the OK button on the bottom right

28. Alternatively you can just click on the ‘Posted’ button of the Journal window after a refresh.

Figure 2.10 - GL Journal accounts concequence

You will note some strange things in the accounts posted. Can you see what it is? First there is this line called Suspense balancing. Where did it come from? Then there is this Intercompany lines. Furthermore, the Salaries line seems to be contraed and split into 2 lines with one for Store Central organization! Interesting. Now you will get to appreciate the power of the computer in doing those stuff in the background without you knowing or caring about it.

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 36

2.2 Suspense Balancing

Suspense account is created when there is a human fault in the double entry process. In our above case, we did not do our double-entry! Bad accountant. The Pharaoh will have your head. We should have make an equivalent ‘debit’ entry into some ‘Expense’ account so that we have equal amounts on both sides of the General Ledger.

So is it with the 2nd entry. Another Expense debit against the Rental credit. Then the computer would not kick in and do the dirty work for us, and put a corresponding amount on the debit side. But heh, that is what we are trying to prove here. The computer can now do all the dirty manual clerical work which is very much redundant now.

2.3 GL Distribution

There is another cool and automatic feature in ADempiere to do GL Distribution. It allows any posting to any account be distributed among different organisations. You can specify the percentages for each organisation

Figure 2.11 - GL Distribution

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 37

1. Go and look up the menu item GL Distribution

2. You will notice that there is already an entry for Salaries (previous page)

3. Examine its contents and you can see the distribution logic (below)

Figure 2.12 - Distribution Percentages

As seen above, computing capability allows such accounting work to go through without the handicap of human error and redundancy. You need not check what you have entered to ensure all accounts are posted. You can easily search what is done, and obtain a listing to refer to. You need not remember what rules of distribution are being set. They just automatically enact when an amount is posted to the set account element. That saves alot of manual effort. Avoiding manual or human intervention also reduce possibility of fraud or omissions. Explain about these benefits next time you have to convince an end-user who has no such system in place.

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 38

2.4 What Does ERP Handle?

With programmability, we can do more things than just a smart GL Journal processing. Thinking ERP system, we can handle document processing involving Sales Orders, Invoices, and Payments, and trigger associated accounting consequences such as the Debits and Credits for each document process.

Previously what an accounting system does is allowing the electronic data entry to do Journal entries into the General Ledger, but the above description goes one step further in allowing document processing to trigger such GL entries. This is called ‘event-based accounting’. Being event-based, makes it a perpetual accounting system rather than periodic. After capturing such business process, the ERP outputs Financial Statements such as Profit and Loss, and Balance Sheet. A Chart of Accounts (COA) detailing the specific element IDs will determine where each posting is made to. The COA will be looked in detail at a later chapter. Below is a diagram showing a big picture.

Figure 2.1 - Event-based Accounting has automated postings

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 39

From the above diagram, we can better see that with the advent of computing software, the boring and manual repetitive work of keeping the General Ledger and doing double-entry posting is being removed, in stages. This redundant work is taken away when an event associated with a trigger that does the double accounts posting during such an occurence.

Now it is up to how much of business events are being resolved. For a start, it is the normal common business process such as Purchasing and Sales. Then its the materials movements, into and out of the organisation. All these affect the respective accounts. In the Default Accounting chapter we shall see exactly what are the accounts programmed to be posted during events in ADempiere.

We shall examine in depth under the Accounts Posting chapter how such postings take place when a document is processed.

2.5 What about Fraud?

You may feel happier to do much less work now with such an automated ERP Financials system. Now, are you aware that another form of danger may crop up? Sure, most of your staff or yourself wouldn’t know how to twitch the codes or even comprehend how the system does what it does. Everything will run as programmed and that is all behind the scenes and under the hood. As the software running your system is provided by a vendor, that vendor or its coders know exactly what is happening in your system. In future, if one of them have access to your system, intrusions unknown to you can happen. Bad news is that they have happened before and are happening all the time. In US alone, there is a reputed $6 billion worth of fraud being committed yearly[2].

What about being Open Source? Wouldn’t that be even more dangerous? Now that even your own staff knows about the codes. The answer is not necessary. On the contrary it is much safer for you. For two simple reasons:

1. The vendor can no longer lock you in. What they know, you also know. Or other experts that you can engage independently also knows. That isolate the first predicament.

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 40

2. But this leads to the second predicament. How about your staff? Precisely that even if they know, so do the rest of the world. Anything they might do can be exposed, by again engaging and outside expert.

You thus have to protect yourself by instituting security procedures such as proper documentation and audit of code changes done by authorised coders within your management. Sometimes mishaps occur innocently due to improper update or change process to the codes or scripts or data. There has to be a strict set of best practice that are clear and understandable at least by middle management. The latest tales of Enron and Satyam fraudulent declaration of financial data is only the tip of an iceberg. Many must have escaped the weak human eyes.

A standard open source routine secured server referenced by remote financials system can be an ingenious way to prevent fraud because the system is verifiable at a single point and not replicable to a closed instance. For example, the server can act as an ID issuance hub where each ID given is a unique running number. it can be used by others to verified that all taken IDs for financial transations are accounted for. It can be some sort of a digital certification that is easily understood. If such a routine is disabled in the financials system, we can know as it becomes a mainstream open source feature. Another way can be a self-checking routine rendered active via embedded code checks or locks within the binary that can be secured via jar signature matching with the main project release binary signature.

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 41

2.6 Necessity of Standards

Now, though computers seem to work like magic but it cannot make our life any easier without a certain basis. Things have to be standardised. Computers are after all dumb machines and rely on human input. “Garbage in, Garbage Out”. Particularly when the input is not following standard datatypes, formats, value reference and process.

As seen above, Financial Statements are printed based on certain standards such as the Accounting Equation and Charts of Accounts. The GL Distribution works because it is tied via accounting element IDs. And the whole thing works because they are intergrated from the ground up. They followed an overall master design that must work in tandem and not in disparate silos.

In the previous chapter we touched on standards such as IFRS but here we mean standards as in standardisation from the usage, data-model and technical systems point of view. We often refer to a ‘standard design or interface’, ‘standard integration’, ‘standard data dictionary’, ecetera. It can also refer to the the standard use of periods, unit of measures (UOM), currencies and other common contemporary accounting terminology.

One important aspect of standards is the issuing or certifying body. This is usually the an accountancy regulatory organisation such as an Association of Chartered Accountants. It has to be a recognised responsible body by the public or other professionals relevant to the industry such as managers and financial officers of both public and private sectors. In this way the standards assume legitimacy and industrial acceptance.

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 42

2.7 Computer Assisted Accounting System

Computer Assisted Accounting System or CAAS is a description of such systems and there is a compliance advisory that lays out the standards and safeguards to be in place for any such accounting system that uses computing technology such as stated in an online PDF document about GAAP/CAAS[3].

Figure 2.2 - GAAP-CAAS Document from Germany

The referenced document stresses the importance of sound accounting rules such as GAAP and the audit trail preservation of the data. Since computer data is in mangetic form whether on disk or other backup media, they are erasable or modifiable. Thus compliance rules are introduced about what documents are allowed to be kept on such media. For example, tax related documents are scanned into microfiche or microfilm if

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 43

they are archived or linked to magnetic media transactions. Then when calling such transactions by auditors they are assured that the scanned orignals are present and traceable as well as verifiable.

At the moment ADempiere does not have a microfiche/microfilm linkage but it is something that is easy and viable for an open source project. A very important attribute for CAAS to be in compliance with GAAP or other standards is the audit trail traceability all along the process chain, with forward and backward document type referencing and its content details’ matching.

ADempiere already has 3-way document matching for its Orders-Invoices-Receipts. In the accounts postings, there are also intermediate accounting such as Non-Inoviced Receipts to keep track of shipments or receipts that have not being invoiced and thus left out of the payment or AR/AP (accounts receivable/accounts payable) list.

ADempiere also disallow arbitrary deletion of records and the conventional advice is to deactivate any record instead of outright deletion. This pertains to documents such as Business Partners (Vendors, Customers, Employees), Products, and Organisations where financial reportings may still refer to such information. By deactivating them instead, make them still referenced but not allowed for being used in any further transactions. In this way, no information is destroyed or wiped out and is archived instead.

Figure 2.3 - Active checkbox for deactivating a record

It is important to note that even though the term ‘paperless office’ and ‘save a tree’ sounds contemporary and futuristic, it is seriously not applicable in the financials world. Hardcopy and printed documents served very important purpose of being

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 44

traceable, enforceable, and legally acceptable in court. A magnetic media is not as it can be easily forged. A piece of paper can be tested in a forensics lab for tampering. That is why I often advice a journal proof and hardcopy end-of-day printouts to capture the daily transactions. It serves as an important backup and sound practice against runaway manipulation of a computer system that is waiting to happen as information and systems usage explode exponentially[4]. it is getting bigger due to the cheap cost of computing but the human element of control and fraud-prevention is not human-intervention-independent. You still need a human and a trusted one at the end of the line. And s/he cannot be dependent on a digital system to tell him or her that everyhing is under control. There must be a verifiable physical evidence.

Quiz

1. When is a transaction rollbacked?

2. In what tasks does a computerised system takes over from an accounts clerk?

3. What are the disadvantages of using a computerised ERP system?

Glossary

Term Description

Redundancy Repetitive acitivity that humans leave to computers to handle

Rollback Cleanly aborting by reversing back to the original state

CAAS Computer Assisted Accounting System

COA Chart of Accounts

AP Accounts Payable

AR Accounts Receivables

Journal proof Hardcopy printout of a transaction with accounting consequence

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 45

Summary

1. Accounting being mathematical is perfect for computing technology to manage it.

2. An ERP system automates much of the double-entry balance checking and accounting consequences of document processing.

3. ADempiere has a General Ledger Journal entry system that does Suspense balancing and GL Disctribution.

4. You can view the state of the accounting facts through the Account Viewer.

5. Fraud can still occur in computerised system if there are no proper compliance to audit standards and human surveillance

6. Open source can help to prevent internal fraud as its codes are open to outside peer review.

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 46

Chapter 3 - Accounting On The Web

Learning Objectives

By the end of this chapter, the student shall be able to:

1. Understand the use of web application server in accounts processing;

2. Describe the shopping cart process via the web;

3. List the requirements for web transaction security.

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 48

Introduction

Figure 3.1 - Web computing means enterprise service to many users

The Web opens up enterprise computing. It means now many more users will be accessing an application that is web-enabled. This demands performance from the system. It must be scalable to perhaps thousands of online users at one time. Though this is the more of the work of hardware, CPU speed and large RAM size, it is also important to have the application designed in a distributable way and using optimal object componentisation such as what EJB 3.0 can offer.

At the moment ADempiere has not become EJB 3.0 ready yet but with some fundings or added developer resource, it can easily get there as it is already in Java with a knowledgable community behind it.

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 49

ADempiere is still robust for the web as it already has Web Services capability where a certain component is called exclusively by another 3rd party web application. This is ideal for many web service providers such as online stores or B2B (business to business) systems.

The most common type of websites with accounting requirements are e-shops or e-commerce ones. Private closed systems are also beginning to use web-based services or protocols such as https because they are now cheaper and easier to manage. Certain legacy protocols are now usable in ADempiere such as EDI (electronic data interchange). EFT (electronic fund transfer) is more for the banking industry which is very closed and will not expose what system they are using. However, ADempiere can easily utilise such EFT standards if decided so by a bank, discretely. Banking after all is now a very competitive business on the net.

Accounting on the web exposes even more to security issues. For previously stated reasons, being Open Source is the best option for higher security, over-the-web systems at normal costs[1].

The most common use of web with accounting systems is for e-commerce integration where shopping or transactions done over the web is processed at the backoffice of the system. The trasaction record does not end there but are further processed as documents of sales orders or invoices for completion such as checking of stock availability and payment clearance if it is using some form of online payment such as via a credit card.

It must be noted that using the web is actually pushing the workload of a backoffice in handling a sales transaction to the end-users. That is why this is also called self-service. Thus having the web in the picture is going one bigger step forward for automation and supply-chain management or economics. It is removing the role of the middleman sales or downsizing the backoffice depending on how you look at it.

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 50

3.1 Using the Application Server

Accounts processing in ADempiere is done via an applications server such as JBoss or Glassfish. Reason being that it is a transational activity and requires perfect accuracy and higher performance. It also needs to handle multiple transactions at the same time and OLTP (online transaction processing) rules such as exact balanced postings or rollback are managed. We shall see in a later chapter how that is done within the codes.

Though JBoss like any J2EE server, already has specifications such as JTA (Java transaction API) but ADempiere is not using that but its own Java coded balance checking and rollback mehanism when it does not balance. A possible reason being Compiere, its parent, was created around 1999 that has not seen the maturity of such JTA yet. However I feel this self-customised implementation can be lighter and easier to maintain, since its quite simple in purpose as you can see from its codes later.

In the GL Journal example above, we noted that we need to start the application server. This is done by going to the ADempiere application home or binary folder and further to its subfolder called /utils. There we execute either the shell script or batch file called RUN_Server2.sh or RUN_Server2.bat respectively.

Figure 3.2 - Launching the application server for web clients to access the application

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 51

3.2 POSterita POS

Selling goods across the web usually uses an e-shopping cart that has a credit card payment gateway to capture the agreed sale and process the transactions. ADempiere has a web client that does that. Once we launched the application server as shown above we can get to that shopping cart via a web browser and calling its URL as shown below, in this case its IP address is http://10.37.129.2/admin/ .

Figure 3.3 - ADempiere’s web interface main page

The IP address is obtained from the Server2.sh launch terminal prompt. Otherwise you can use localhost or the computer host name. Note that there is two e-commerce applications appearing there. One is the Web Based POS or point of sales system. The other is the Web Store.

As you can also see, the Web Application is there as the old UI HTML or ZK Ajax UI. You can still do those GL Journal entries done earlier over the web here, even from home. Now you can cut down the transport costs of your clerical staff!

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 52

First we take a peek into the Posterita Web POS. Click on the link and you shall see a new screen. Look for the GardenWorld sample store on the right panel and click on it. In the POS Login displayed below, key in SuperUser/System for Username/Password and the Pin number should be 1234. Figure 3.4 - Posterita POS Login

You then select a till, in this case its Garden-World, and it will come to the main menu as shown below. From there you can play around clicking on the links. It is ok to try out as it is a sample client and not a live production site. That is a good way to learn. Posterita is a 3rd party vendor that contributed this POS to the ADempiere project and any business inquiry should be directed to them at their website http://www.posterita.org/.

Figure 3.5 - Posterita POS Main Menu

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 53

3.3 Web Store

Now we go through some e-commerce process through a self-service mode in the Web Store of ADempiere.

Go back to the admin web page and see that there is a self-service area with Web Store and Request links. The Web Store allows ordering of goods over the web and the Request is for raising trouble-tickets and triggering email notifications to those in charge. We will now try to add some orders and go through a payment process using the credit card payment facility.

We have to login again through a secure protocol by adding the SSL port setting:

https://10.37.129.2:4443/admin

• Click on the Web Store link.

Figure 3.6 - Web Store window

• If you have not created your own account you can do so by clicking on the Login on the top right.

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 54

Figure 3.7 - Creating User Account

• Click on the New User button.

• Fill in the coloured boxes with your details.

• Click on the Create New User when completed.

• You can then login with your email-id and password.

Figure 3.8 - Web Basket of orders

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 55

We shall order some things into the Web Basket. I have created a product before that called Tiket. I will have one of that and 2 of Azalea Bush. Then click on the Create Secure Order.

Figure 3.9 - Confirm Personal Information

Figure 3.10 - Credit Card payment submission

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 56

It will ask you to confirm your personal information. Check that and click on Submit Info.

Fill in your credit card number and other details as requested. If your system is setup with the credit card merchant certificate your payment will go through. If not you will get the following error in your log.

21:14:37,845 ERROR [STDERR] ===========> PP_PayFlowPro.<init>: No cert file /Applications/Adempiere/lib/

f73e89fd.0 [20]

Click on the My Orders link on the right panel of the screen.

Figure 3.11 - My Orders page

You will see that a Sales Order is made but In Progress for today (Sep 23, 2009). From here you can see that you are able to do a virtual self-service throughout. You need not bother calling up the business operator for many details. You can check if your sales is completed, and see if shipment is being made. You can print out your own invoice for your own record. All this is done securely across the web. You can also check the Account Viewer and see that the accounting consequence will kick in once Invoice or Shipments are made. You can check more if you have access via the Ajax UI or old HTML UI.

This proves importantly that commerce can be conducted safely via the web and is integrated fully to the whole ERP system in the backoffice. For large scale operations over the web, it is important to separate the Application server and the Database server. Any file attachments should also be set onto a different directory so that backup is more optimal. DB space can run into gigabytes easily if not structured well.

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 57

3.4 Further Security

Besides https encryption, there are further security concerns and steps that can be taken. Earlier we alluded about the use external auditors to look at the computerised accounting system. We also touched on sound audit trail practice where each transaction is traceable. There is also need of the computerised system to be efficient in extracting data and such data has to be complete and comprehensive in giving a 360 degrees view of the business.

Such strigent measures will discourage or prevent fraud from happening without detection for long. The designed financials system must have human checks to prevent a programmable fraud from accidently happen. Checks of amounts to be written in cheques for example or flagged out for more exceptional reporting if they are above a ceiling control.

Large firms that exposes its application to the web can engage security consultants that keep up to date on latest security developments and measures.

Much security breaches are done in very creative manner and that often involves experts with inside knowledge of the system. Some popular exploits are based more on social engineering rather than technical ingenuity. To ensure more security is thus an awareness among the end-users and implementors to invest resources in security thinking, that look out for holes, to perform continous analysis of security loopholes that may happen when we are not looking.

One of our community members managed to find one shocking hole in our old web UI where using a short URL could expose the User record window and thus the password in it. It was not shocking to that person who found it because he is used to noticing such scripts and knows that its insecure. It is shocking to the rest of us because we do not bother to look. That hole was immediately patched, and the patch was sent also to our parent project, Compiere, and thus took subsequent action to patch their code.

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 58

3.5 Electronic Data Interchange

EDI is a popular buzz word for the communication of business data from one host system to another. It determines a standard format language of data content so that disparate remote systems can electronically exchange any information with each other. EDI is mostly used for commercial networks such as banking and international trading. EDI started in the 1960s and became associated with the X12 ANSI standard[2].

Figure 3.12 EDI FACT as a standard for data exchange with external systems (source: mentem.com)

Example in Wikipedia: EDIFACT source codeA name and address (NAD) segment, containing customer ID and customer address, expressed in EDIFACT syntax:NAD+BY+CST9955::91++Candy Inc+Sirup street 15+Sugar Town++55555'

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 59

In ADempiere, EDI was integrated into the trunk and made available in recent releases. It uses the Electronic Data Interchange for Administration, Commerce and Transport (EDIFACT) document translation standards. The following is from the wiki pages in www.adempiere.com contributed by Trifon Trifonov.

Sponsored Development: EDI Fact Import/Export

Figure 3.13 - EDI function in Invoice

Requirement Steps In the Invoice (Customer) window Press the Submit EDI button which is active only after document is Completed.The submit button runs process that:

• Look up the DocumentType to see what "Doc Type" to use.

• Look up the BPartner

• Look up right "EDI Format", "EDI Processor" for BPartner and DocType.

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 60

• Read the EDI Format and the document lines to construct the EDI document.

• Get the data strings using ColumnID, and use Type to decide which separator to use.

• Order them by position.

• Truncate lengths, validate usage.

• Using the info from C_EDIProcessor submit the EDI document. .

Figure 3.14 - Successful submission via EDI

Inbound Processing

• Use the scheduler to schedule a process that will poll according to the rules configured on C_EDIProcessor

• Look up the Business Partner and EDI_DocType to determine which format to use to parse the file and which document type to create.

• EDI element ST01 stores EDI code. Read this code and look it up in C_EDI_DocType.EDI_Code to return C_EDI_DocType_ID

• EDI element ISA06 stores Interchange Sender ID. This represents a Business Partner. Read this code and look it up in C_Bpartner.C_EDI_Sender to return C_BPartner_ID.

• Use C_EDI_DocType_ID and C_BPartner_ID to find the right C_BPartner_EDI record. This will tell you which doctype (AD_DocType_ID) to create, and which format (C_EDI_Format_ID) to use to translate the file.

• As an alternative, C_EDIProcessor could define a JMS queue to post to.

• Then we could manage the movement of the data with ServiceMix. .

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 61

Create new windows

Figure 3.15 - EDI Features in ADempiere

Add Table: "C_EDI_DocType"

• FIELDS: C_EDI_DocType_ID; Value, Name, Description, Help, C_EDI_DocCode (String, used to match with EDI element ST01)

• Samples: (850 PO, 810 Invoice)

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 62

Add to "Document Type" window

• FIELD: C_EDIFormat_ID

Add Table: "C_EDIFormat"

• FIELDS: C_EDIFormat_ID, EDI Format Name, Value, C_EDI_DocType_ID, AD_Table_ID, SegmentSeparator, FieldSeparator

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 63

Add Table: "C_EDIFormat_Line"

•FIELDS: C_EDIFormat_ID, Position, Value, Name, Comments, Type(Element, Segment)

Add Table: "C_EDIFormat_LineElement"

•FIELDS: C_EDIFormat_LineElement_ID, Position, Value, Name, IsMandatory, ElementType(Constant, Field), ConstValue, MinFieldLength

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 64

Add Table: "C_EDIProcessorType"

•FIELDS: Host, Account, Password Info, C_EDIProcessorType_ID

Add Table: "C_BPartner_EDI"

• FIELDS: C_BPartner_ID, C_EDIFormat_ID, Inbound(Y,N), C_EDIProcessor_ID, C_DocType_ID

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 65

Quiz

1. How does an application allow remote users to access it?

2. What kind of industry will generally use EDI?

3. Elaborate if accounts posting is affected by the Web layer.

Glossary

Term Description

Enterprise Computing

System that can cater to a high number of users

EDI Electronic Data Interchange - for business data information communication format between 3rd party systems

API Application Programming Interface, a software library of standard functionals to be used by 3rd party software

GL General Ledger that stores all operational accounting and transactions and records for later analysis and reporting

POS Pont of Sales system that is used for handling sales on the spot

Event Accounting

Accounts posting done when there is a document process activated from a business event such as Sales of Shipment.

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 66

Summary

1. The Web extends the power of applications with financials capability to remote users.

2. The ADempiere application framework is suitable for extensions such as EDIFACT.

3. Posterita and Web Store is a UI layer for self service, e-commerce across the web

4. Web layer is an alternative user interface whereas the ERP backend is similiar and able to exceute the accounts posting automatically

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 67

Chapter 4 - Default Accounts

Learning Objectives

By the end of this chapter, the student shall be able to:

1. Describe the Chart of Accounts and its format;

2. Explain the usage of default accounts in ERP;

3. Use the COA Editor.

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 69

Introduction

We see earlier during a Sales or Purchase cycle where accounts are automatically posted to its categories in the General Ledger. This is because those accounts categories are associated with their respective events. Likewise, we see during the demonstration on a GL Journal entry where suspense balancing is affected. Again, default postings happening on its own. In fact, all standard document types have its own accounts postings that:

(a) happens in the ‘document-type’ java classes or sourcecode, and;

(b) does double entry to a set of credit/debit account elements or ID pairs.

Figure 4.1 ERP Accounting Flow

The above shows how documents refers to the COA to post to the respective accounts. The right panel are the financial reports that will derive from such postings. This give a big picture of the accounting flow environment in an ERP.

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 70

We shall look at these in detail within this chapter. The figure below depicts this again in a more technical sense. Compare this with the earlier figure. The document-type action happens in the Document Engine.

The double-entry is done in the Accounting Engine. You can see the role of the COA there to dictate the use of the default settings.

ADempiere being an international ERP system, inherited from Compiere, allows internationalisation or localisation according to country and language. For accounts postings that means different accounting or tax rules. That is usually handled in the exception ModelValidator or Callout scripts.

Figure 4.2 Automatic Accounts Posting in action

1.1 What is the Charts of Accounts?

The COA is a reference table of accounts for use by the business or operations. It lists out each type of posting title and is numbered in an orderly fashion. The COA is segmented according to the Accounting Equation such as Assets, Liabilities and P & L items such as Revenue and Expenses.

In our COA, some of the items are marked as DEFAULT and they are mandatory and cannot be altered as to their markings. The COA in use by Compiere/ADempiere is laid out in the following pages.

The COA is refered to everytime an accounts posting is to be done. Either via the GL Journal where direct postings is done, or via the automated document-type based postings. Below is the sample Chart of Accounts that you can find as an excel file stored in the adempiere_home/utils/ folder. Note the column for Default Accounts.

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 71

Figure 4.2 Chart of Accounts

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 72

Each country or even company have have different set of accounts in their COA. But the main segments of accounts shall be present. So is it with the DEFAULTS. Later we shall see how the ERP system knows about the DEFAULTS.

Below is a wiki article started by Michael Judd, an accountant based in London, and a long time community member since Compiere days. (from http://adempiere.com/index.php/COA)

Chart of Accounts Design

A Chart of Accounts (COA) means literally a list of accounts that are available in the system. Some of these accounts may be postable and others may not - such as summary accounts or those accounts controlled by the system.

However, managers think of COAs as more than just a list of accounts. In practise, they think of all of the controlling data structures that (should) reflect the informational needs of the business. 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. Whilst these are all legitimate informational requests, I often find that businesses' financial system are unable to serve quality data to report users.

ADempiere users may import their COA using an excel spreadsheet that users may 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.

The COA follows accounting classifications underlying General Accepted Principles of Accounting (GAAP) in practice throughout the world.

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 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 organisation which include the needs of the regulatory environment(s) in which the operation

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 73

(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:

* organisation

* element

* product

* business partner

* sales region

* activity

* project

* campaign

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) 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

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 74

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 structureMany organisations 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 practise is a fast track route to satisfying the requirements of external users, it does not balance the need for internal users and hence many organisations 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.

Summary List of COA

Here we lay out the general structure of the COA by displaying only the top level summary elements. The rest of the elements will have subequent digits added to those and appearing under the leading summary digit.

Account Value Account Name Account Type1 Assets Asset

2 Liabilities Liability

3 Owner's Equity/Net Worth Owner's Equity

4 Sales Revenue

5 Cost of Goods Sold Expense

6 Expenses Expense

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 75

1.2 The Default Accounts

Some of the elements in COA are reserved as DEFAULT accounts. Their description markings are not to be changed as they are hard-coded in the ADempiere software. However their accounting IDs or numbers in use can be changed. It is advisable that those are edited before commencing a new client in the system. Once accounts are posted against those IDs, changing them will break its association with new ones. If accounts have not been posted, the DEFAULT can be changed and refreshed. There is a movie in the SoureForge files download to show how that is done if need be.

In other words, the DEFAULT accounts are mappings of common accounting transactions. ADempiere (as an ERP) is quite different from Accounting systems because in ERP, the documents you enter into the system have rules and these rules generate the majority of the accounting transactions. The default accounts are a mapping between the rules that create accounting entries and the chart of accounts.

The following is written by Carlos Ruiz in the wiki.

Prefixes in Default Columns

Most of default accounts are prefixed this way:

Prefix Table

B C_BankAccount_AcctC C_BP_Customer_AcctV C_BP_Vendor_AcctCB C_CashBook_AcctCH C_Charge_AcctPJ C_Project_AcctT C_Tax_AcctP M_Product_AcctW M_Warehouse_Acct

M_Product_Acct default accounts are inherited from M_Product_Category_Acct (but can be modified)

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 76

Some C_BP_Customer_Acct and C_BP_Vendor_Acct are inherited from C_BP_Group_Acct (but can be modified)

1.3 Default Accounts Usage

Figure 4.3 Default Accounts settings in Accounting Schema > Defaults

The defaults are assigned here and they shall come into play during auto-postings where Used In as shown in the table series below.

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 77

The table here shows how each DEFAULT element is represented in the Window, Tab (in the ERP main menu), existing in which Table and Column, and in what process is it used. You can see that the column value is one-to-one corelation with each DEFAULT name.

Window, Tab Table Column Used in

Not Available

A_ASSET_ACCT A_ACCUMDEPRECIATION_ACCT Not Used

A_ASSET_ACCT Not Used

A_DEPRECIATION_ACCT Not Used

Not Available

A_ASSET_GROUP_ACCT A_ACCUMDEPRECIATION_ACCT Not Used

A_ASSET_ACCT Not Used

A_DEPRECIATION_ACCT Not Used

Accounting Schema -> Defaults

C_ACCTSCHEMA_DEFAULT B_ASSET_ACCT Default Level 1 -> Bank

B_EXPENSE_ACCT Default Level 1 -> Bank

B_INTERESTEXP_ACCT Default Level 1 -> Bank

B_INTERESTREV_ACCT Default Level 1 -> Bank

B_INTRANSIT_ACCT Default Level 1 -> Bank

B_PAYMENTSELECT_ACCT Default Level 1 -> Bank

B_REVALUATIONGAIN_ACCT Default Level 1 -> Bank

B_REVALUATIONLOSS_ACCT Default Level 1 -> Bank

B_SETTLEMENTGAIN_ACCT Default Level 1 -> Bank

B_SETTLEMENTLOSS_ACCT Default Level 1 -> Bank

B_UNALLOCATEDCASH_ACCT Default Level 1 -> Bank

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 78

Window, Tab Table Column Used in

B_UNIDENTIFIED_ACCT Default Level 1 -> Bank

C_PREPAYMENT_ACCT Default Level 2 -> BP_Group

C_RECEIVABLE_ACCT Default Level 2 -> BP_Group

C_RECEIVABLE_SERVICES_ACCT Default Level 2 -> BP_Group

CB_ASSET_ACCT Default Level 1 -> CashBook

CB_CASHTRANSFER_ACCT Default Level 1 -> CashBook

CB_DIFFERENCES_ACCT Default Level 1 -> CashBook

CB_EXPENSE_ACCT Default Level 1 -> CashBook

CB_RECEIPT_ACCT Default Level 1 -> CashBook

CH_REVENUE_ACCT Default Level 1 -> Charge

E_EXPENSE_ACCT Default Level 1 -> BP_Employee

E_PREPAYMENT_ACCT Default Level 1 -> BP_Employee

NOTINVOICEDRECEIPTS_ACCT Default Level 1 -> BP_Group

NOTINVOICEDRECEIVABLES_ACCT Default Level 1 -> BP_Group

NOTINVOICEDREVENUE_ACCT Default Level 1 -> BP_Group

P_ASSET_ACCT Default Level 2 -> Product_Category

P_COGS_ACCT Default Level 2 -> Product_Category

P_COSTADJUSTMENT_ACCT Default Level 2 -> Product_Category

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 79

Window, Tab Table Column Used in

P_EXPENSE_ACCT Default Level 2 -> Product_Category

P_INVENTORYCLEARING_ACCT Default Level 2 -> Product_Category

P_INVOICEPRICEVARIANCE_ACCT Default Level 2 -> Product_Category

P_REVENUE_ACCT Default Level 2 -> Product_Category

P_TRADEDISCOUNTGRANT_ACCT Default Level 2 -> Product_Category

P_TRADEDISCOUNTREC_ACCT Default Level 2 -> Product_Category

PAYDISCOUNT_EXP_ACCT Default Level 1 -> BP_Group

PAYDISCOUNT_REV_ACCT Default Level 1 -> BP_Group

PJ_ASSET_ACCT Default Level 1 -> Project

PJ_WIP_ACCT Default Level 1 -> Project

REALIZEDGAIN_ACCT Allocation

REALIZEDLOSS_ACCT Allocation

T_CREDIT_ACCT Default Level 1 -> Tax

T_DUE_ACCT Default Level 1 -> Tax

T_EXPENSE_ACCT Default Level 1 -> Tax

T_LIABILITY_ACCT Default Level 1 -> Tax

T_RECEIVABLES_ACCT Default Level 1 -> Tax

UNEARNEDREVENUE_ACCT Default Level 1 -> BP_Group

UNREALIZEDGAIN_ACCT Default Level 1 -> BP_Group

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 80

Window, Tab Table Column Used in

UNREALIZEDLOSS_ACCT Default Level 1 -> BP_Group

V_LIABILITY_ACCT Default Level 2 -> BP_Group

V_LIABILITY_SERVICES_ACCT Default Level 2 -> BP_Group

V_PREPAYMENT_ACCT Default Level 2 -> BP_Group

W_DIFFERENCES_ACCT Default Level 1 -> Warehouse

W_INVACTUALADJUST_ACCT Default Level 1 -> Warehouse

W_INVENTORY_ACCT Default Level 1 -> Warehouse

W_REVALUATION_ACCT Default Level 1 -> Warehouse

WITHHOLDING_ACCT Default Level 1 -> Withholding

WRITEOFF_ACCT Default Level 1 -> BP_Group

Accounting Schema -> General Ledger

C_ACCTSCHEMA_GL COMMITMENTOFFSET_ACCT MatchInv Order (PO) Requisition

CURRENCYBALANCING_ACCT General Fact

INCOMESUMMARY_ACCT Not Used

INTERCOMPANYDUEFROM_ACCT General Fact

INTERCOMPANYDUETO_ACCT General Fact

PPVOFFSET_ACCT MatchPO

RETAINEDEARNING_ACCT Not Used

SUSPENSEBALANCING_ACCT General Fact

SUSPENSEERROR_ACCT Not Used

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 81

Window, Tab Table Column Used in

Bank -> Account -> Accounting

C_BANKACCOUNT_ACCT B_ASSET_ACCT Bank

B_INTERESTEXP_ACCT Bank

B_INTERESTREV_ACCT Bank

B_INTRANSIT_ACCT Bank

Cash

Payment

B_PAYMENTSELECT_ACCT Allocation

Payment (PO)

B_REVALUATIONGAIN_ACCT Not Used

B_REVALUATIONLOSS_ACCT Not Used

B_SETTLEMENTGAIN_ACCT Not Used

B_SETTLEMENTLOSS_ACCT Not Used

B_UNALLOCATEDCASH_ACCT Allocation

Payment (SO)

B_UNIDENTIFIED_ACCT Not Used

Business Partner -> Customer -> Customer Accounting

C_BP_CUSTOMER_ACCT C_PREPAYMENT_ACCT Allocation

Payment

C_RECEIVABLE_ACCT Allocation

Invoice (SO)

C_RECEIVABLE_SERVICES_ACCT Invoice (SO)

Business Partner -> Employee -> Employee Accounting

C_BP_EMPLOYEE_ACCT E_EXPENSE_ACCT Not Used

C_BP_EMPLOYEE_ACCT E_PREPAYMENT_ACCT Not Used

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 82

Window, Tab Table Column Used in

Business Partner Group -> Accounting

C_BP_GROUP_ACCT C_PREPAYMENT_ACCT Default Level 1 -> BP_Customer

C_RECEIVABLE_ACCT Default Level 1 -> BP_Customer

C_RECEIVABLE_SERVICES_ACCT Default Level 1 -> BP_Customer

NOTINVOICEDRECEIPTS_ACCT InOut MatchInv

NOTINVOICEDRECEIVABLES_ACCT Not Used

NOTINVOICEDREVENUE_ACCT Not Used

PAYDISCOUNT_EXP_ACCT Allocation

PAYDISCOUNT_REV_ACCT Allocation

UNEARNEDREVENUE_ACCT Invoice (SO)

V_LIABILITY_ACCT Default Level 1 -> BP_Vendor

V_LIABILITY_SERVICES_ACCT Default Level 1 -> BP_Vendor

V_PREPAYMENT_ACCT Default Level 1 -> BP_Vendor

WRITEOFF_ACCT Allocation

Business Partner -> Vendor -> Vendor Accounting

C_BP_VENDOR_ACCT V_LIABILITY_ACCT Allocation

Invoice (PO)

V_LIABILITY_SERVICES_ACCT Invoice (PO)

V_PREPAYMENT_ACCT Allocation Payment

Cashbook -> Accounting

C_CASHBOOK_ACCT CB_ASSET_ACCT Cash

CB_CASHTRANSFER_ACCT Allocation Cash

CB_DIFFERENCES_ACCT Cash

C_CASHBOOK_ACCT CB_EXPENSE_ACCT Cash

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 83

Window, Tab Table Column Used in

CB_RECEIPT_ACCT Cash

Charge -> Accounting

C_CHARGE_ACCT CH_EXPENSE_ACCT Bank

Cash

Inventory

Invoice Payment

CH_REVENUE_ACCT Bank

Cash

Inventory

Invoice

Payment

Currency -> Accounting

C_CURRENCY_ACCT REALIZEDGAIN_ACCT Not Used

REALIZEDLOSS_ACCT Not Used

C_CURRENCY_ACCT UNREALIZEDGAIN_ACCT Not Used

C_CURRENCY_ACCT UNREALIZEDLOSS_ACCT Not Used

Not Available

C_INTERORG_ACCT INTERCOMPANYDUEFROM_ACCT Not Used

C_INTERORG_ACCT INTERCOMPANYDUETO_ACCT Not Used

Project -> Accounting

C_PROJECT_ACCT PJ_ASSET_ACCT ProjectIssue

C_PROJECT_ACCT PJ_WIP_ACCT ProjectIssue

Revenue Recognition -> Revenue Recognition Plan

C_REVENUERECOGNITION_PLAN

P_REVENUE_ACCT Created

C_REVENUERECOGNITION_PLAN

UNEARNEDREVENUE_ACCT Created

Tax Rate -> Accounting

C_TAX_ACCT T_CREDIT_ACCT Invoice (PO)

C_TAX_ACCT T_DUE_ACCT Invoice (SO)

C_TAX_ACCT T_EXPENSE_ACCT Invoice (PO)

C_TAX_ACCT T_LIABILITY_ACCT Not Used

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 84

Window, Tab Table Column Used in

C_TAX_ACCT T_RECEIVABLES_ACCT Not Used

Withholding -> Accounting

C_WITHHOLDING_ACCT WITHHOLDING_ACCT Not Used

Product -> Accounting

M_PRODUCT_ACCT P_ASSET_ACCT InOut

Inventory

Movement

Production

ProjectIssue

P_COGS_ACCT InOut

P_COSTADJUSTMENT_ACCT Invoice

P_EXPENSE_ACCT InOut

Invoice (PO)

MatchInv

Order (PO)

ProjectIssue

Requisition

P_INVENTORYCLEARING_ACCT Invoice (PO)

MatchInv

P_INVOICEPRICEVARIANCE_ACCT MatchInv

P_PURCHASEPRICEVARIANCE_ACCT

MatchPO

P_REVENUE_ACCT Invoice (SO)

P_TRADEDISCOUNTGRANT_ACCT Invoice (SO)

P_TRADEDISCOUNTREC_ACCT Invoice (PO)

Product Category -> Accounting

M_PRODUCT_CATEGORY_ACCT

P_ASSET_ACCT Default Level 1 -> Product

P_COGS_ACCT Default Level 1 -> Product

P_COSTADJUSTMENT_ACCT Default Level 1 -> Product

M_PRODUCT_CATEGORY_ACCT

P_EXPENSE_ACCT Default Level 1 -> Product

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 85

Window, Tab Table Column Used in

P_INVENTORYCLEARING_ACCT Default Level 1 -> Product

P_INVOICEPRICEVARIANCE_ACCT Default Level 1 -> Product

P_PURCHASEPRICEVARIANCE_ACCT

Default Level 1 -> Product

P_REVENUE_ACCT Default Level 1 -> Product

P_TRADEDISCOUNTGRANT_ACCT Default Level 1 -> Product

P_TRADEDISCOUNTREC_ACCT Default Level 1 -> Product

Warehouse & Locators -> Accounting

M_WAREHOUSE_ACCT W_DIFFERENCES_ACCT Inventory

W_INVACTUALADJUST_ACCT Not Used

W_INVENTORY_ACCT Not Used

W_REVALUATION_ACCT Not Used

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 86

1.4 Listing of Default Accounts from AccountingUS.xls

Here we list the DEFAULT accounts again for convenient and simple reference.

B_ASSET_ACCTB_INTRANSIT_ACCTB_UNIDENTIFIED_ACCTB_UNALLOCATEDCASH_ACCTCB_ASSET_ACCTCB_CASHTRANSFER_ACCTC_RECEIVABLE_ACCTC_RECEIVABLE_SERVICES_ACCTNOTINVOICEDRECEIVABLES_ACCTV_PREPAYMENT_ACCTE_PREPAYMENT_ACCTT_CREDIT_ACCTT_RECEIVABLES_ACCTINTERCOMPANYDUEFROM_ACCTW_INVENTORY_ACCTP_ASSET_ACCTP_WIP_ACCTP_FLOORSTOCK_ACCTPJ_ASSET_ACCTPJ_WIP_ACCTV_LIABILITY_ACCTNOTINVOICEDRECEIPTS_ACCTV_LIABILITY_SERVICES_ACCTB_PAYMENTSELECT_ACCTC_PREPAYMENT_ACCTT_DUE_ACCTT_LIABILITY_ACCTWITHHOLDING_ACCTINTERCOMPANYDUETO_ACCTRETAINEDEARNING_ACCTP_REVENUE_ACCTUNEARNEDREVENUE_ACCTNOTINVOICEDREVENUE_ACCTP_TRADEDISCOUNTGRANT_ACCTPAYDISCOUNT_EXP_ACCTP_COGS_ACCTP_COSTOFPRODUCTION_ACCTP_SCRAP_ACCTP_OUTSIDEPROCESSING_ACCTP_EXPENSE_ACCTP_COSTADJUSTMENT_ACCTP_INVENTORYCLEARING_ACCTW_DIFFERENCES_ACCTW_INVACTUALADJUST_ACCTW_REVALUATION_ACCTP_INVOICEPRICEVARIANCE_ACCTP_PURCHASEPRICEVARIANCE_ACCTPPVOFFSET_ACCTP_USAGEVARIANCE_ACCT

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 87

P_METHODCHANGEVARIANCE_ACCTP_RATEVARIANCE_ACCTP_MIXVARIANCE_ACCTP_TRADEDISCOUNTREC_ACCTPAYDISCOUNT_REV_ACCTE_EXPENSE_ACCTB_EXPENSE_ACCTT_EXPENSE_ACCTWRITEOFF_ACCTCB_DIFFERENCES_ACCTDEFAULT_ACCTSUSPENSEBALANCING_ACCTSUSPENSEERROR_ACCTCB_EXPENSE_ACCTCB_RECEIPT_ACCTCH_EXPENSE_ACCTCH_REVENUE_ACCTB_INTERESTREV_ACCTB_REVALUATIONGAIN_ACCTB_SETTLEMENTGAIN_ACCTUNREALIZEDGAIN_ACCTREALIZEDGAIN_ACCTB_INTERESTEXP_ACCTB_REVALUATIONLOSS_ACCTB_SETTLEMENTLOSS_ACCTUNREALIZEDLOSS_ACCTREALIZEDLOSS_ACCTCURRENCYBALANCING_ACCTP_LABOR_ACCTP_BURDEN_ACCTP_OVERHEAD_ACCTINCOMESUMMARY_ACCTCOMMITMENTOFFSET_ACCTCOMMITMENTOFFSETSALES_ACCT

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 88

1.5 COA Editor by Daniel Tamm

Amending or building a COA using the Excel spreadsheet can be difficult. Now it is much easier with a tool created by Daniel Tamm of Sweden.

Figure 4.3 Daniel Tamm’s Account Editor for COA

As seen in the figure above, the Account Editor is a new standalone software that allows us to call up the accounting*.xls file and have it configurable in a structured and controlled manner. The sub-accounting elements are in a tree to the left of the box. As each item is selected its details can be filled in on the right side. DEFAULT accounts are remembered in a pull down list, so that you won’t commit any error when defining or changing them to another accounting element (see next figure below).

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 89

Figure 4.4 Selection of DEFAULT account

A confirmation dialog will pop up reminding you what you are doing.

Once that is accepted, the new account element will be there, replacing the one before. You can read more of Daniel’s work in the wiki here http://www.adempiere.com/index.php/COA_Editor.

3.

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n E R P S o f t w a r e E n g i n e e r i n g

P a g e 90