Vous êtes sur la page 1sur 98

E

R

P

ACCOUNTING

E R P ACCOUNTING REDHUAN D. OON ADEMPIERE COMMUNITY www.adempiere.com Nahmitzer Damm 32 12277 Berlin Germany

REDHUAN D. OON

ADEMPIERE COMMUNITY

www.adempiere.com

Nahmitzer Damm 32 12277 Berlin Germany

telephone :

+49-30-69203854-0 fax :

+ 4 9 - 3 0 - 6 9 2 0 3 8 5 4 - 9

E

R

P

ACCOUNTING

E R P ACCOUNTING C602 - Asian Executive Master in Open Source Software ERP Conquering The

C602 - Asian Executive Master in Open Source Software ERP

E R P ACCOUNTING C602 - Asian Executive Master in Open Source Software ERP Conquering The

Conquering The World of Industry and Commerce

Nahmitzer Damm 32 12277 Berlin Germany

telephone :

+49-30-69203854-0 fax :

+ 4 9 - 3 0 - 6 9 2 0 3 8 5 4 - 9

E

R

P

ACCOUNTING

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.

Nahmitzer Damm 32 12277 Berlin Germany • telephone : +49-30-69203854-0 • fax : + 4 9
Nahmitzer Damm 32 12277 Berlin Germany
• telephone :
+49-30-69203854-0 • fax :
+ 4 9 - 3 0 - 6 9 2 0 3 8 5 4 - 9

E

R

P

ACCOUNTING

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 Schema

    This 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

    Nahmitzer Damm 32 12277 Berlin Germany

    telephone :

    +49-30-69203854-0 fax :

    + 4 9 - 3 0 - 6 9 2 0 3 8 5 4 - 9

    Table of Contents

    MODULE 5 - ERP Accounting

     

    1

    Chapter 1 - How Far Has Accounting Gone?

    1

    Learning Objectives

    1

    Introduction

    2

    • 1.1 Accounting Conventions

    3

    Having Fun With ADempiere

    7

    • 1.2 The Balance Sheet

    10

    • 1.3 Consistency of Standards

    11

    • 1.4 Conservative Rule

    13

    Peer Review I

    16

    Peer Review II

    18

    Power of the Bazaar

    25

    Quiz

    26

    Glossary

    26

    Summary

    27

    References

    28

    Chapter 2 - Accounting Using Computers

    29

    Learning Objectives

    29

    Introduction

    30

    Do You Know That?

    30

    • 2.1 Using the GL Journal

    31

    • 2.2 Suspense Balancing

    37

    • 2.3 GL Distribution

    37

    • 2.4 What Does ERP Handle?

    39

    • 2.5 What about Fraud?

    40

    • 2.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

    2.7

    Computer Assisted Accounting System

    43

    Quiz

    45

     

    Glossary

    45

    Summary

    46

    References

    47

    Chapter 3 - Accounting On The Web

    48

    Learning Objectives

    48

    Introduction

    49

    3.1

    Using the Application Server

    51

    3.2

    POSterita POS

    52

    3.3

    Web Store

    54

    3.4

    Further Security

    58

    3.5

    Electronic Data Interchange

    59

    Quiz

    66

     

    Glossary

    66

    Summary

    67

    References

    68

    Chapter 4 - Default Accounts

    69

    Learning Objectives

    69

    Introduction

    70

    1.1

    What is the Charts of Accounts?

    71

    1.2

    The Default Accounts

    76

    1.3

    Default Accounts Usage

    77

    1.4

    Listing of Default Accounts from AccountingUS.xls

    87

    1.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

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

    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

    MODULE 5 - ERP Accounting

    This 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 Outline

    This 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.

    MODULE 5 - ERP Accounting This module is meant for students who feel that the subject
    MODULE 5 - ERP Accounting This module is meant for students who feel that the subject
    MODULE 5 - ERP Accounting This module is meant for students who feel that the subject

    Learning is fun

    Graduating is more fun

    Ultimate fun when your life is fulfilled

    Prior Knowledge

    This 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

    Page 1

    E R P

    S o f t w a r e

    E n g i n e e r i n g

    Chapter 1 - How Far Has Accounting Gone?

    Chapter 1 - How Far Has Accounting Gone? Learning Objectives By the end of this chapter,

    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

    Page 1

    E R P

    S o f t w a r e

    E n g i n e e r i n g

    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].

    Introduction Charlie Munger, a famous wealthy investor was quoted as saying [1] , “You have to

    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

    Page 2

    E R P

    S o f t w a r e

    E n g i n e e r i n g

    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

    answer in the forced labour required. That in turn will impact their ability to determine the

    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

    Page 3

    E R P

    S o f t w a r e

    E n g i n e e r i n g

    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.

    In a later chapter, we shall get to know the Chart of Accounts which is the

    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

    Page 4

    E R P

    S o f t w a r e

    E n g i n e e r i n g

    C o p y r i g h t ( C ) 2 0 0 9
    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

    Page 5

    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.

    E R P

    S o f t w a r e

    E n g i n e e r i n g

    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.

    For being so detailed and precise, it is no surprising that the computer age is most

    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

    Page 6

    E R P

    S o f t w a r e

    E n g i n e e r i n g

    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

    you are presenting that information today where the price of the lunch has certainly inflate to
    C o p y r i g h t ( C ) 2 0 0 9
    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

    Page 7

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

    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.

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

    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

    Page 8

    E R P

    S o f t w a r e

    E n g i n e e r i n g

    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.

    8. Look at the top menu bar. At the right side, next to the exit button

    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

    Page 9

    E R P

    S o f t w a r e

    E n g i n e e r i n g

    Figure 1.9 - Excel Spreadsheet to view the exported Balance Sheet See how far humanity has

    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

    Page 10

    E R P

    S o f t w a r e

    E n g i n e e r i n g

    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

    Page 11

    E R P

    S o f t w a r e

    E n g i n e e r i n g

    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

    Page 12

    E R P

    S o f t w a r e

    E n g i n e e r i n g

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

    Page 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

    Test with a Purchase Order * Now we try that out to see if indeed a

    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 R P
    S o f t w a r e
    E n g i n e e r i n g

    Page 14

    * It will launch the Account Viewer window.

    * It will launch the Account Viewer window. Figure 1.13 - Account Viewer set to query

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

    Page 15

    E R P

    S o f t w a r e

    E n g i n e e r i n g

    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

    Page 16

    E R P

    S o f t w a r e

    E n g i n e e r i n g

    2.

    We

    call

    this

    Accounting.

    whole thing that you just described below - Historical Costing

    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

    Page 17

    E R P

    S o f t w a r e

    E n g i n e e r i n g

    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 o"cial term for the way the inventory workd

    croo which is the o"cial term for the way the inventory works croo but there is not term for how the accounting di#eres

    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

    Page 18

    E R P

    S o f t w a r e

    E n g i n e e r i n g

    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

    Page 19

    E R P

    S o f t w a r e

    E n g i n e e r i n g

    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 been somewhere else

    ...

    it must have

    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 o#

    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 o%ine a#air

    croo yes

    croo not in adempiere

    red1

    unlike inventory its a business

    croo in accounting 101 it is

    red1 o%ine 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 o# 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

    Page 20

    E R P

    S o f t w a r e

    E n g i n e e r i n g

    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 e#ect 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 di#erent 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

    Page 21

    E R P

    S o f t w a r e

    E n g i n e e r i n g

    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

    Page 22

    E R P

    S o f t w a r e

    E n g i n e e r i n g

    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

    Page 23

    E R P

    S o f t w a r e

    E n g i n e e r i n g

    red1 periodic vs perpetual

    croo exactly

    red1 i will put this conversation and your mailed one as a 'pro#esional 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 o"cial term to describe it

    croo I had been reading about perpetual inventory

    croo and I thought well

    ...

    that's a good fit

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

    Guys

    • I 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 actually Assets - 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 - Definition Keeping 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

    Page 24

    E R P

    S o f t w a r e

    E n g i n e e r i n g

    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?

    regards

    Steven

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

    Hi Guys,

    Well I do agree with Steven in that it is not 100% clear & precise. But

    • I 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 still technically correct. Maybe if you clearly describe Revenue & Expenses, Assets & Liabilities, and Equity first.

    My understanding was; typical Accounting 101 approach was periodic because pre computers it required multiple physical books. So these had to be periodically consolidated. The first programs to computerise accounts simply this mimicked this procedure.

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

    "Perpetual Accounting" is a further extension of this rationalization. How it changed is precisely how Steven describes. But Steven I used this term because I could not find an "official" term to describe it. There is obviously a difference between the old accounts 101 periodic approach you learn in school and this approach which large multinational's computing systems are beginning to adopt because finally someone has realised that we computerised a procedure that actually is not required once you have computers. We addressed the manual procedure to solve this problem rather than the actual problem itself. How to determine how much money I made (Profit & Loss) and what is the current state 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

    Page 25

    E R P

    S o f t w a r e

    E n g i n e e r i n g

    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

     

    To provide relevant, important and complete but balanced set of

    account

    information

    Double-entry

     

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

    Accounting

     

    Accounting information showing the balanced sum of Assets,

    Equation

     

    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

     

    Accounting Facts presented in conventional formats such as

     

    Statements

     

    Balance Sheet and Profit & Loss Statement

    PO Commitment

    Occurence of PO has accounting consequence in the books

     

    Perpetual

     

    A term invented by Colin Rooney to best explain the impact of

    Accounting

     

    electronic computing on some aspect of accounting practice

    Peerocratic

     

    A term derived from Linus Torvalds description of how the online

    Meritocracy

    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

    Page 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

    Page 27

    E R P

    S o f t w a r e

    E n g i n e e r i n g

    Chapter 2 - Accounting Using Computers

    Chapter 2 - Accounting Using Computers Learning Objectives By the end of this chapter, the student

    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

    Page 29

    E R P

    S o f t w a r e

    E n g i n e e r i n g

    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

    Page 30

    E R P

    S o f t w a r e

    E n g i n e e r i n g

    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.

    2.1 Using the GL Journal Here we call up ADempiere again to do journal entries into

    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

    Page 31

    E R P

    S o f t w a r e

    E n g i n e e r i n g

    Figure 2.2 - The GL Journal window 4. We will just fill in the fields coloured

    Figure 2.2 - The GL Journal window

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

    Figure 2.2 - The GL Journal window 4. We will just fill in the fields coloured

    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

    Page 32

    E R P

    S o f t w a r e

    E n g i n e e r i n g

    Figure 2.4 - Filling in the Control Amount 8. Go to the Line tab. 9. Click

    Figure 2.4 - Filling in the Control Amount

    8. Go to the Line tab. 9. Click on the icon on the right of the
    8. Go to the Line tab.
    9. Click on the icon on the right of
    the Combination field.
    10. Note
    open
    window below.
    the
    Combination
    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

    Page 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.

    11. Give any text value for Alias . 12. Select an Organization . 13. Click on

    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 R P
    S o f t w a r e
    E n g i n e e r i n g

    Page 34

    19.

    Do another Journal entry line for Rental

    19. Do another Journal entry line for Rental Figure 2.8 - Another Combination for Rental 20.

    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.

    19. Do another Journal entry line for Rental Figure 2.8 - Another Combination for Rental 20.

    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

    Page 35

    E R P

    S o f t w a r e

    E n g i n e e r i n g

    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

    23. Press the Complete button 24. Ok the Complete option 25. Note that the Journal batch
    • 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.

    23. Press the Complete button 24. Ok the Complete option 25. Note that the Journal batch

    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

    Page 36

    E R P

    S o f t w a r e

    E n g i n e e r i n g

    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

    2.2 Suspense Balancing Suspense account is created when there is a human fault in the double

    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

    Page 37

    E R P

    S o f t w a r e

    E n g i n e e r i n g

    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)

    1. Go and look up the menu item GL Distribution 2. You will notice that there

    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

    Page 38

    E R P

    S o f t w a r e

    E n g i n e e r i n g

    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.

    2.4 What Does ERP Handle? With programmability, we can do more things than just a smart

    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

    Page 39

    E R P

    S o f t w a r e

    E n g i n e e r i n g

    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

    Page 40

    E R P

    S o f t w a r e

    E n g i n e e r i n g

    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

    Page 41

    E R P

    S o f t w a r e

    E n g i n e e r i n g

    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

    Page 42

    E R P

    S o f t w a r e

    E n g i n e e r i n g

    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].

    2.7 Computer Assisted Accounting System Computer Assisted Accounting System or CAAS is a description of such

    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

    Page 43

    E R P

    S o f t w a r e

    E n g i n e e r i n g

    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

    they are archived or linked to magnetic media transactions. Then when calling such transactions by auditors

    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

    Page 44

    E R P

    S o f t w a r e

    E n g i n e e r i n g

    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

    Page 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

    Page 46

    E R P

    S o f t w a r e

    E n g i n e e r i n g

    Chapter 3 - Accounting On The Web

    Chapter 3 - Accounting On The Web Learning Objectives By the end of this chapter, the

    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

    Page 48

    E R P

    S o f t w a r e

    E n g i n e e r i n g

    Introduction

    Introduction Figure 3.1 - Web computing means enterprise service to many users The Web opens up

    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

    Page 49

    E R P

    S o f t w a r e

    E n g i n e e r i n g

    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

    Page 50

    E R P

    S o f t w a r e

    E n g i n e e r i n g

    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.

    3.1 Using the Application Server Accounts processing in ADempiere is done via an applications server such

    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

    Page 51

    E R P

    S o f t w a r e

    E n g i n e e r i n g

    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/ .

    3.2 POSterita POS Selling goods across the web usually uses an e-shopping cart that has ahttp://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 Page 52 E R P S o f t w a r e E n g i n e e r i n g " id="pdf-obj-59-11" src="pdf-obj-59-11.jpg">

    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

    Page 52

    E R P

    S o f t w a r e

    E n g i n e e r i n g

    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-

    First we take a peek into the Posterita Web POS . Click on the link andhttp://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 Page 53 E R P S o f t w a r e E n g i n e e r i n g " id="pdf-obj-60-30" src="pdf-obj-60-30.jpg">

    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/.

    First we take a peek into the Posterita Web POS . Click on the link andhttp://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 Page 53 E R P S o f t w a r e E n g i n e e r i n g " id="pdf-obj-60-74" src="pdf-obj-60-74.jpg">

    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

    Page 53

    E R P

    S o f t w a r e

    E n g i n e e r i n g

    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:

    Click on the Web Store link.

    3.3 Web Store Now we go through some e-commerce process through a self-service mode in thehttps://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 Page 54 E R P S o f t w a r e E n g i n e e r i n g " id="pdf-obj-61-22" src="pdf-obj-61-22.jpg">

    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

    Page 54

    E R P

    S o f t w a r e

    E n g i n e e r i n g

    Figure 3.7 - Creating User Account

    Figure 3.7 - Creating User Account Click on the New User button. Fill in the coloured

    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.7 - Creating User Account Click on the New User button. Fill in the coloured

    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

    Page 55

    E R P

    S o f t w a r e

    E n g i n e e r i n g

    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.

    We shall order some things into the Web Basket. I have created a product before that

    Figure 3.9 - Confirm Personal Information

    We shall order some things into the Web Basket. I have created a product before that

    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

    Page 56

    E R P

    S o f t w a r e

    E n g i n e e r i n g

    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.

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

    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

    Page 57

    E R P

    S o f t w a r e

    E n g i n e e r i n g

    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

    Page 58

    E R P

    S o f t w a r e

    E n g i n e e r i n g

    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].

    3.5 Electronic Data Interchange EDI is a popular buzz word for the communication of business data

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

    Example in Wikipedia: EDIFACT source code

    A 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

    Page 59

    E R P

    S o f t w a r e

    E n g i n e e r i n g

    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

    In ADempiere, EDI was integrated into the trunk and made available in recent releases. It useswww.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 Page 60 E R P S o f t w a r e E n g i n e e r i n g " id="pdf-obj-67-8" src="pdf-obj-67-8.jpg">

    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

    Page 60

    E R P

    S o f t w a r e

    E n g i n e e r i n g

    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 validate usage.

    lengths,

    Using

    the

    info

    from

    C_EDIProcessor submit

    the EDI

    .

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

    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

    Page 61

    E R P

    S o f t w a r e

    E n g i n e e r i n g

    Create new windows

    Create new windows Figure 3.15 - EDI Features in ADempiere Add Table: "C_EDI_DocType" • FIELDS: C_EDI_DocType_ID;

    Figure 3.15 - EDI Features in ADempiere

    Add Table: "C_EDI_DocType"

    • FIELDS: C_EDI_DocType_ID; Value, Name, Description, Help, C_EDI_DocCode
    • 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

    Page 62

    E R P

    S o f t w a r e

    E n g i n e e r i n g

    Add to "Document Type" window

    Add to "Document Type" window FIELD: C_EDIFormat_ID Add Table: "C_EDIFormat" • FIELDS: C_EDIFormat_ID, EDI Format Name,

    FIELD: C_EDIFormat_ID

    Add Table: "C_EDIFormat"

    • FIELDS: C_EDIFormat_ID, EDI Format Name, Value, C_EDI_DocType_ID,
    • 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

    Page 63

    E R P

    S o f t w a r e

    E n g i n e e r i n g

    Add Table: "C_EDIFormat_Line"

    • FIELDS: C_EDIFormat_ID, Position, Value, Name, Comments, Type(Element,
    • 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,
    • 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

    Page 64

    E R P

    S o f t w a r e

    E n g i n e e r i n g

    Add Table: "C_EDIProcessorType"

    Add Table: "C_EDIProcessorType" FIELDS: Host, Account, Password Info, C_EDIProcessorType_ID Add Table: "C_BPartner_EDI" • FIELDS: C_BPartner_ID, C_EDIFormat_ID,

    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,
    • 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

    Page 65

    E R P

    S o f t w a r e

    E n g i n e e r i n g

    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

    System that can cater to a high number of users

    Computing

    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

    Accounts posting done when there is a document process

    Accounting

    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

    Page 66

    E R P

    S o f t w a r e

    E n g i n e e r i n g

    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

    Page 67

    E R P

    S o f t w a r e

    E n g i n e e r i n g

    References

    1.

    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

    Page 68

    E R P

    S o f t w a r e

    E n g i n e e r i n g

    Chapter 4 - Default Accounts

    Chapter 4 - Default Accounts Learning Objectives By the end of this chapter, the student shall

    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

    Page 69

    E R P

    S o f t w a r e

    E n g i n e e r i n g

    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

    Introduction We see earlier during a Sales or Purchase cycle where accounts are automatically posted to

    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

    Page 70

    E R P

    S o f t w a r e

    E n g i n e e r i n g

    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?

    We shall look at these in detail within this chapter. The figure below depicts this again

    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

    Page 71

    E R P

    S o f t w a r e

    E n g i n e e r i n g

    Figure 4.2 Chart of Accounts C o p y r i g h t ( C

    Figure 4.2 Chart of Accounts

    C o p y r i g h t