You are on page 1of 205

Table of Contents

MODULE 2 - ERP Application Setup and Operation 1

Chapter 1 - Install Application 1


Learning Objectives 1
Introduction 2
1.1 FOSS Stack 1
1.2 Windows Stack 2
1.3 Installing Java, PostgreSQL and ADempiere 3
1.4 Installing ADempiere in Windows 10
1.5 RUN_Setup 15
1.6 RUN_ImportAdempiere.sh 18
1.7 RUN_ImportAdempiere.bat 19
1.8 Windows Installer 20
1.9 RUN_Server2 25
1.10 RUN_ADempiere 26
Quiz 31
Glossary 32
Summary 33

Chapter 2 - Functional Structure 34


Learning Objectives 34
Introduction 35
2.1 Concept of Functional Structure 37
2.2 Concept of Application Dictionary 39
2.3 Standard CRUD 43
2.4 Application Reference 45
A D e m p i e r e C o m m u n i t y ERP Application Setup

i
M1 SYSTEM ADMIN 45
M1.1 GENERAL RULES 45
M1.2 Client Rules 51
M1.3 Organization Rules 51
M1.4 Data 52
M1.4.2 Data Import 52
M2 Application Dictionary 54
M2.1 Application Packaging 56
M3 Partner Relations 57
M3.1 Business Partner Rules 57
M3.2 Web 58
M3.3 Service 58
M3.4 Request 59
M4 Quote To Invoice 61
M4.2 Sales Orders 62
M4.3 Shipments 64
M4.2 Sales Invoices 64
M4.5 Invoice Inquiry 65
M5 Requisition-to-Invoice 66
M6 Open Items 68
M7 Material Management 70
M7.1 Material Management Rules 70
M7.2 Product Attributes 71
M8 Project Management 73
M9 Performance Analysis 74
M9.1 Accounting Rules 74
M9.2 Financial Reporting 76
M9.3 Performance Measurement 77
M9.4 Costing 77
M10 Assets 78
M11 Others 79
Glossary 80
A D e m p i e r e C o m m u n i t y ERP Application Setup

ii
Summary 81

Chapter 3 - Setup New Shop 82


Learning Objectives 82
Introduction 82
Form: Initial Client Setup 83
Beginning of Implementation 84
Refining The Implementation 89
Workflow: Initial Client Setup Review 91
Window: Import Loader Format 92
Tab: Format Field 93
Window: Import Accounts 94
Tab: Element (Window: Account Element) 95
Window: Role 96
Window: User 99
Window: Organization 102
Quiz 103
Glossary 104
Summary 105

Chapter 4 - Materials 106


Learning Objectives 106
Introduction 106
Workflow: Product Setup 107
3 Types Of Product 108
Storage of Products 109
Creating The Product 110
Tab: Product 111
Tab: Purchasing 115
Tab: Price 117
Tab: Accounting 118
WebStore 121
Glossary 122

A D e m p i e r e C o m m u n i t y ERP Application Setup

iii
Summary 123

Chapter 5 - Business Partners 124


Learning Objectives 124
Introduction 124
Tab: Business Partner 125
Tab: Customer 128
Tab: Customer Accounting 131
Tab: Vendor 133
Glossary 138
Summary 139

Chapter 6 - Purchase Cycle 140


Learning Objectives 140
Introduction 140
Tab: Requisition 141
Process: Create PO from Requisition 142
Window: Purchase Order 143
Pop-Up: New Record 144
Material Receipts 150
Tab: Receipt Line 152
Posting Accounts 153
Generate Invoice From Receipt 155
3-way Matching 156
Inventory Check 157
Making Payments 157
Window: Payment 158
Window: Payment Selection 162
Form: Payment Print/Export 164
Glossary 166
Summary 167

Chapter 7 - Sales Cycle 168


Learning Objectives 168
A D e m p i e r e C o m m u n i t y ERP Application Setup

iv
Introduction 168
Window: Sales Order 169
Window: Document Type 171
Value Preference 175
Resource Product 176
Window: Print Format 180
Glossary 185
Summary 186

Appendix of Functional Schema 187

“The illiterate of the 21st century will not be those


who cannot read and write, but those who cannot
learn, unlearn, and relearn.”

- Alvin Toffler

A D e m p i e r e C o m m u n i t y ERP Application Setup

v
MODULE 2 - ERP Application Setup and Operation
This module takes on the promise of community open source, by been able to download
and install ADempiere ERP application from scratch for a new user. Students will get to
go through important components of the ERP System. The focus is to gain a complete
walk through of the system without getting lost in advanced details.

Module Outline
This module gives a detailed guide for each student to master the important elements in
the whole ADempiere New CIient Setup process. It covers the generating of standard
master tables, organisational structure, product pricing and supply chain cycles.

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

Prior Knowledge
This course module assumes basic PC literacy and basic business appreciation. An ac-
counting mind is more adapt to the ERP part of this module.

Module Objectives
1. To download and install ADempiere completely from Open Source Softwares.

2. To create a new client complete with working data.

3. To examine basic components of the ERP System.

4. To view standard financial and operational management of the 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 ERP Appliration Setup and Operation

1
Chapter 1 - Install Application

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

1. Identify the online resources needed for the installation of the ERP Suite;

2. Download all the resources;

3. Setup each resource according to its requirements;

4. Ensure the properties are correctly set;

5. Go through the ERP Application process;

6. Launch succcessfully the ADempiere 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 ERP Appliration Setup and Operation

1
Introduction
In order for the software to run in your server or PC, or notebook PC, the necessary
softwares has to be present in your environment. You have to first download them from
the internet. You have to practice downloading and installing each software as from
time to time their steps or processes may be changed. Usually they become easier as
each new version is published. Some of the latest versions may not be compatible with
the whole suite. Usually we use the common versions in use about 3 months to 1 year
from its publication date to ensure that they are most stable with the rest of the suite
softwares.

Installing a new software is the first most challenging task for a beginner. At times it is
still daunting for a seasoned practitioner. It can be approached in a fun way, accepting
the challenge as a learning process of discovery. I will encourage you to make learning
notes to not only improve this content but also share with the community that can earn
you some dimes in your kudo-bank.

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n ERP Appliration Setup and Operation

2
Resources List

Resource Purpose

Guru Someone whom you have to pay to tell you the time.

Specifications of Equipment you need, coffee not in-


Hardware
cluded.

Software List of software that is still free the last time we checked.

Guide This coursebook is what will help you through the setup.

Minimal Hardware Requirements


Item Minimal Purpose


Duo Core Processor or
CPU Higher core processing
equivalent.

Memory 2 gigabytes RAM More caching that increase speed

3 partitions of 10 gigabytes Convenient management of sepa-


Harddisk
each. rate locations of OS, App and DB

Standard for ADSL broad- For web access and communica-


Wireless or LAN
band tions.

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 ERP Appliration Setup and Operation

1
Lesson Plan According To Platform

Windows Linux Subject

1.2 1.1 Installing Java and Postgres


L
1.4 1.3 Installing ADempiere
E Installer

S 1.5 1.8 1.5 RUN_Setup App

S
1.7 1.6 ImportAdempiere (metadata)
O
1.9 Running App Server
N
1.1O Running ADempiere

What Is Your Operating System?


• Is it Linux? Or Windows? Or Apple Mac? Different OS (operating system) will mean
you have to select different version of the software you will be downloading.
• We know that most of you will be having Windows. But there is a way to make your
windows system to dual boot into Linux and switch to the FOSS stack:

https://help.ubuntu.com/community/WindowsDualBoot

• For those who are used to Microsoft Windows and the installer style there is a tool
contributed by Kai Schaeffer of Germany. Please find that at topic 1.8 Windows In-
staller.

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 ERP Appliration Setup and Operation

2
Asia e-University Master in Open Source ERP

1.1 FOSS Stack


The following list is the FOSS stack needed for the complete ERP system to work on a
server PC. It is more for the Linux based platform. This is for a total FOSS stack where
the user need not pay a single cent of licensing. But this can be technically difficult for
newbies.

Software List

Software Location Purpose


Ubuntu Linux https://help.ubuntu.com/com Operating System or Platform
munity/Installation where everything else runs on.
8.04 LTS
Java SDK Java helps run the ERP software.
http://www.java.com/getjava/ It is in between the ERP and the
version 6 for linux computer.
PostgreSQL PG is the database system. It
http://www.postgresql.org/do
stores all the dynamic informa-
Linux version 8 wnload/
tion of the ERP.
ADempiere http://sourceforge.net/project/
AD is the ERP application. It
showfiles.php?group_id=1769
version 3.5.3a runs on Java.
62&package_id=207834

The list above shows the latest version in use at date of writing. It will change with
time. However the links are quite dynamic with its latest info. It is good to avoid too old
or too new versions that is incompatible.

• So we are basing our installation on Linux, Ubuntu flavour is known to be the easiest
and dead easy. Here is the link for an Ubuntu installation guide:

https://help.ubuntu.com/community/Installation

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

1
Asia e-University Master in Open Source ERP

1.2 Windows Stack


You can follow the software list above for Java, Postgres and ADempiere. Choose the
Windows version. For ADempiere it is the file that ends in .zip.

An online guide to follow for installing ADempiere on a Windows platform is:

http://www.adempiere.com/wiki/index.php/Adempiere_Install_WinXp

COMPUTER NAME MUST BE EASY

Ensure that your computer name is a short and easy name to type and not a long ma-
chine name as it will be constantly repeated in the installation setup and certain system
operations. An easy name is easier to recall when needed.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

2
Asia e-University Master in Open Source ERP

1.3 Installing Java, PostgreSQL and ADempiere


We can obtain and install Java and Postgres direct from the Web too. Issue the following
command in your Ubuntu terminal:

sudo apt-get install sun-java6-jdk postgresql-8.3 postgresql-server-dev-8.3 sudo wget

Enter ‘root’ password for sudo, and answer ‘yes’.

It will most likely install the following. To see what is there for Postgres you use the

gabriel@erpdev:~$ dpkg -l|grep postgres


ii postgresql-8.3 8.3.3-0ubuntu0.8.04 object-
relational SQL database, version 8.3
ii postgresql-client-8.3 8.3.3-0ubuntu0.8.04 front-end pro-
grams for PostgreSQL 8.3
ii postgresql-client-common 87 manager for
multiple PostgreSQL client versi
ii postgresql-common 87 PostgreSQL
database-cluster manager
ii postgresql-doc-8.3 8.3.3-0ubuntu0.8.04 documentation
for the PostgreSQL database ma
ii postgresql-server-dev-8.3 8.3.3-0ubuntu0.8.04 development
files for PostgreSQL 8.3 server-

gabriel@erpdev:~$ dpkg -l|grep java


ii java-common 0.28ubuntu3 Base of all
Java packages
ii sun-java6-bin 6-06-0ubuntu1 Sun Java(TM)
Runtime Environment (JRE) 6 (ar
ii sun-java6-jdk 6-06-0ubuntu1 Sun Java(TM)
Development Kit (JDK) 6
ii sun-java6-jre 6-06-0ubuntu1 Sun Java(TM)
Runtime Environment (JRE) 6 (ar

‘grep’ command.

The next page is another way to install Java and Postgres.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

3
Asia e-University Master in Open Source ERP

If you have downloaded the softwares in your machine you can follow the following
steps.

INSTALLING JAVA

▪ Copy the java jdk (jdk-6-linux-i586.bin) to your home directory for e.g. /home/
user/

▪ Open a terminal ( Application -->> Accessories -->> Terminal )

▪ Type in the command

./jdk-6-linux-i586.bin

EXTRACTING ADEMPIERE

▪ Copy the Adempiere_<VERSION>.zip to your home directory for e.g. /home/


user/

▪ Right click on the zip file and extract here

▪ It will create a folder Adempiere with all the its files and folders

SETTING PROFILE FOR JAVA AND ADEMPIERE HOME

▪ Go to your home directory /home/user/ on your file browser

▪ Go to View -->> Show Hidden Files on the menu bar ( or simply Ctrl + h )

▪ Open .profile file and add the following lines at the bottom

export JAVA_HOME=/home/user/jdk1.6.0/
export ADEMPIERE_HOME=/home/user/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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

4
Asia e-University Master in Open Source ERP

SETTING TRUST

▪ After installing PostgtreSQL, Open a terminal

▪ Do su and and enter your password (to login as root):

su root
******

▪ Do passwd postgres to set the user postgres a password which is required

passwd postgres
******

▪ Now we edit the pg_hba.conf (config) file for the trust declarations

gedit /etc/postgresql/8.2/main/pg_hba.conf

▪ Change the authentication method to trust

▪ Add your database host IP under IPv4 if you are on a network (in my case my IP
is 192.168.0.161)

# Database administrative login by UNIX sockets


local all postgres trust

# TYPE DATABASE USER CIDR-ADDRESS METHOD

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

5
Asia e-University Master in Open Source ERP

# "local" is for Unix domain socket connections only


local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 trust
host all all 192.168.0.161/24 trust
# IPv6 local connections:
host all all  ::1/128 trust

SETTING UP PGADMIN

▪ Launch pgAdmin III

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

6
Asia e-University Master in Open Source ERP

▪ Fill in the New Server Registration for Postgres

▪ Fill in the database host IP

▪ Give a description

▪ Enter the password that you have set for user postgres

▪ Next we create a new role and database for ADempiere use

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

7
Asia e-University Master in Open Source ERP

▪ From the New Login Role window:

▪ Fill in Role field with ‘adempiere’

▪ Set the password as ‘adempiere’

▪ Tick all the privleges boxes

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

8
Asia e-University Master in Open Source ERP

▪ Create a database and assign the owner to adempiere

Now jump to section 1.5 RUN_Setup (Linux Version) to continue.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

9
Asia e-University Master in Open Source ERP

1.4 Installing ADempiere in Windows


Here we repeat back the previous lessons on installing under linux OS but this time for

MS Windows.

PLATFORM

• Windows XP SP2

STEP 1 - SETUP ENVIRONMENT


• NOTE: if you are using Windows VISTA, make sure UAC is turned off through
user accounts.
• Download & install the Java SE Development Kit (JDK) from

http://java.sun.com/javase/downloads/index.jsp

You can choose something like JDK 6.


It is best that you install your Java in a separate root directory i.e. D:/Java6
• Open Explorer and navigate to the D:\Java6 directory (or where-ever your Java is
installed) and carefully note the JDK directory you just installed. Note that you
may have a number of jdk and jre directories.
• On your Desktop (or using Start button / My Computer) right click My Computer
and select System Properties / Advanced / Enviromental Variables
• Alternatively: Start > Control Panel > System > Advanced tab > Enviromental
Variables
• Add a new System Variable for your new JDK directory:
• JAVA_HOME = D:\Java6
• (or whatever your JDK directory is called)
• Add a new System Variable for your new JRE directory:
• JRE_HOME = D:\Java6\jre1.6.0 (or whatever your JRE directory is called)
• Open a DOS shell with Start Button / Run / Open: cmd
• Type "echo %JAVA_HOME%" (without the quotes) and press Enter key

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

10
Asia e-University Master in Open Source ERP

echo %JAVA_HOME%

• Carefully check the result to ensure the path to the JDK is correct
• Type "echo %JRE_HOME%" (without the quotes)
• Carefully check the result to ensure the path to the JRE is correct
• Close the shell

STEP 2 - SETUP PATH


• Still in My Computer / System Properties / Advanced / Environmental Variables:
• In System Variables, scroll down to locate the Path variable and click Edit
• Append the following JRE and PostgreSQL paths to the end of Path variable after
putting in a connector semi-colon ";" (Note: do not delete or overwrite the paths
that are already in the Path variable! Also, make sure you don't have an extra "\" at
the end of D:\PostgreSQL\8.2\bin)
• D:\Java6\jre1.6\bin;D:\Java6\jre1.6\;C:\Program Files\PostgreSQL\8.2\bin
• Edit the commands that you just pasted to make sure that in each of the two JRE
references you have referred to your latest JRE. You must do this exactly, so open
Windows Explorer and navigate to D:\Java and check the exact naming of the JRE
directory!
• Open a DOS shell with Start Button / Run / Open: cmd
• Type PATH
• Carefully check the result to ensure the two paths to the jre are correct

STEP 3 - APP LOCATION


▪You should have downloaded the ADempiere binary release from the above link
• Extract the zip file to D\Adempiere . Extract to any root drive without parent
folder so that it is easy to recall.
• Make sure you have achieved that all the Adempiere files are directly in the
D:\Adempiere directory and not in a chained directory like
D:\Adempiere\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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

11
Asia e-University Master in Open Source ERP

STEP 4 POSTGRES SETUP


• Download to your Desktop the PostgreSQL binary from
http://www.postgresql.org/
• Unzip the PostgreSQL binary to a directory Postgres on your desktop (you can de-
lete this and the zip file later)
• Install PostgreSQL using the Windows msi installer. If you are re-installing Post-
gresql then you need to remove Postgresql with Control Panel, then remove the
directory D:\Postgresql\ then remove the user postgres with "net user postgres
/delete".
• If you are using Vista then you need to deactivate User Access Control from Con-
trol Panel and install PostgreSQL using the Windows msi installer by right clicking
and selecting Run AS Administrator. If you don't have "Run As Administrator" on
the context menu, then install the following registry fix:
http://juice.altiris.com/download/1382/msi-run-as-administrator-context-menu-
for-vista
• Install as a Service (later you can set the service to manual start if you don't want
PostgreSQL to run when you start-up)
• Allow a Windows user to be created with name ‘postgres’ and password ‘postgres’
• Instead of C select your local language
• Instead of SQL-ANSI select UTF8
• Allow a database administrator to be created with name ‘postgres’ and password
‘postgres’

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

12
Asia e-University Master in Open Source ERP

MAKE SHORTCUTS
You can do this while the PostgreSQL database is being installed. You can save time by
creating Desktop shortcuts to:
• D:\Adempiere\Run_Setup.bat
• D:\Adempiere\utils\RUN_ImportAdempiere.bat (the bat may not be showing in
your Explorer)
• D:\Adempiere\utils\RUN_Server2.bat
• D:\Adempiere\utils\RUN_Server2Stop.bat
• D:\Adempiere\RUN_Adempiere.bat

SETTING APP DATABASE


STEP 1
• Open pgAdmin III from Start Button / PostgreSQL / pgAdmin III

STEP 2
• Connect to postgresql
• --Right click on the Postgresql database server and connect. --Enter password &
tick the save box
• Now, expand all the database server tree by clicking the plus-sign

STEP 3
• Down the bottom, you will see a user called "postgres". Do not modify this user.
This database username will be entered during adempiere server setup or else you
will have errors in dump restore.
• Right click on Login Roles and create a new user "adempiere" with password
"adempiere". Check superuser rights plus all boxes below superuser rights(see im-
age below, left).

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

13
Asia e-University Master in Open Source ERP

STEP 4
• Now return to Database at the top and right click. Select create database. Name it
"adempiere" and select the owner "adempiere" and encoding "UTF8" (see image on
the right). Leave all the other variables blank.

Did You Know That?


• Software is very expensive because of the man-days needed to develop and maintain it? It is
also due to the constant changes needed to make it to any specific condition.

• ERP is complex? It is said that 92% of the ERP projects fail to meet all its stated objectives.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

14
Asia e-University Master in Open Source ERP

1.5 RUN_Setup
LINUX VERSION

Installing Adempiere

▪ Go to $ADEMPIERE_HOME
▪ Run RUN_setup.sh and enter your settings, test and save

You can follow the values as in Windows Version below. The values above are for Ora-
cle DB.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

15
Asia e-University Master in Open Source ERP

WINDOWS VERSION

If you installed a Desktop Shortcut as suggested while you were waiting for PostgreSQL
to install, then you can just click the Desktop icon RUN_setup

Otherwise:

▪ Open a DOS shell with Start Button / Run / Open: cmd


▪ Navigate to D:\adempiere
▪ launch RUN_setup.bat
Continuing:

▪ Click the Test button


▪ Accept the Licence and Keys provided
▪ Put in the correct parameters until the Test gives no errors and accepts 5432 as
the Database Port
You will need to change:

▪ Database Type from oracleXE to postgresql


▪ Database Name from xe to adempiere
▪ Database Password to adempiere
▪ System Password to postgres (or whatever you entered above for the database
administrator)
▪ Don't change anything in the Mail Server settings unless you want to set-up
Adempiere for production purposes
You may also need to change the following:

▪ Adempiere Home to C:\Adempiere (if somehow it has been set to the wrong lo-
cation)
▪ Database Server from <your-computer-name> to localhost
▪ Application Server Web Port to 8080 (if 80 is being used by something else) and
SSL to 8443 (instead of 443)
When the Test is without errors, click the Save button at the bottom right and wait
until the deployment is finished

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

16
Asia e-University Master in Open Source ERP

COMMON REASONS FOR ERRORS DURING SETUP

▪ Error on JDK: install JDK (the JRE is not sufficient!)


▪ Java 6 (such as update 4) does not work with some versions of Adempiere. If
there are application server or other errors it may be better to use the older Java 5
JDK and JRE, say 1.5.0_14. If you change your Java then make sure you change
the Environmental Variables JAVA_HOME, JRE_HOME, the two (or three) refer-
ences in PATH, and the RUN_setup.bat "Java Home"
▪ Sometimes pljava is broken in Postgresql, for example in version 8.3.0. You will
not know this until you try to locate Products in Adempiere (see Step 11 below).
If you have problems you will need to use the latest of version Postgresql 8.2
▪ Make sure you follow every instruction exactly because there are many small de-
tails that must be correct!
▪ Java Home: in My Computer / System Properties / Advanced / Environmental
Variables create a System Variable JAVA_HOME for the location of your JDK
▪ Web Port: probably port 80 is already used by other web server. You can use
something like 8080 or 8088 (and correspondingly 8443 for the secure port)
▪ If you get "Error Database Port (DB Server Port = 5432)", change the 'Database
Server' from <your-computer-name> to localhost. The alternative is to use a fixed
IP address on your server or desktop and put this address in the Database Server,
or if you have a laptop then you need to install a loopback adapter
▪ If you move the Adempiere directory (or update Adempiere) after already exe-
cuting RUN_setup.bat, then you should delete the file adempiere.properties in
C:\Documents & Settings\<your-user-name>
▪ If you did not include in your path C:\Program Files\PostgreSQL\8.2\bin or the
separate drive and root location you specified, then you will need to replace the
psql command with:

D:\PostgreSQL\8.2\bin\psql

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

17
Asia e-University Master in Open Source ERP

1.6 RUN_ImportAdempiere.sh
This routine is for importing ADempiere application metadata under Linux OS or Unix

or Mac OS.

What is .sh?
▪ SH is short for SHELL. So .sh is a shell program. In windows it is usually
.bat or batch program.
▪ Both .sh and .bat are files that has typed comands in them to be executed
in the computer where they are run.

The Metadata defines the application sturcture such as menu, windows, tables and col-
umns structure. Later you will understand more about this. For now below is a better
way to execute the ImportAdempiere command.

IMPORTING PG DUMP

▪ Go to pgAdminIII

▪ Connect to the server

▪ Go to Adempiere database and drop cascade sqlj schema

▪ Now you can import your database

▪ Open a terminal and type in

su - postgres
psql -d adempiere </home/user/Adempiere/data/Adempiere_pg.dmp

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

18
Asia e-University Master in Open Source ERP

1.7 RUN_ImportAdempiere.bat

STEP 1 - PREPARE DATABASE

▪ Open a DOS shell with Start Button / Run / Open: cmd


▪ Navigate to C:\Adempiere\data
▪ Run each of the following commands by selecting the text and then pasting into
the shell using Right Click / Paste:

psql -U adempiere -d adempiere -c "drop schema sqlj cascade"

psql -U adempiere -d adempiere -f Adempiere_pg.dmp >> dump_errors.log

Notes:

▪ You may need to review the file dump_errors.log to ensure no errors occur dur-
ing import
▪ To quickly check whether pljava is working issue the following command in
pgAdmin III query window against your adempiere database: select * from
rv_openitem

STEP 3 - IMPORTING METADATA

Import the Adempiere data. If you installed a Desktop Shortcut as suggested while you
were waiting for PostgreSQL to install, then you can just click the Desktop icon
RUN_ImportAdempiere.

Otherwise:

▪ Open a DOS shell with Start Button / Run / Open: cmd


▪ Navigate to D:\Adempiere\utils
▪ Type ‘RUN_ImportAdempiere.bat’

D:\Adempiere\utils\RUN_ImportAdempiere.bat

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

19
Asia e-University Master in Open Source ERP

1.8 Windows Installer


Contributed by Kai Schaeffer, Germany

▪ This installer runs under MS Windows platform and will install everything you need:
▪ Java JDK
▪ Postgres Database
▪ ADempiere
▪ Import the database dump
▪ Create the environment and home settings
All you need to do after this is just to double-click on the application icon and it runs!

Download Installer

▪ (link in progress - meanwhile get it from this thread


http://sourceforge.net/forum/message.php?msg_id=5697059
▪ Opening screen

Just Click Next like any good old Windows installer until finish. There will be some questions
along the way that you have to answer.

NOTE: Remember to give your machine name a simple one. New machines always come with
very long names and it is hard to recall them later.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

20
Asia e-University Master in Open Source ERP

Simple enough. Just click Next.

Of course you agree.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

21
Asia e-University Master in Open Source ERP

Here you choose


your harddisk loca-
tion to put your
ADempiere and
PostgreSQL installa-
tions. I would advice
to choose a separate
drive location and
make it a root direc-
tory so that it is easy
to find things later.

Here we key in the


passwords that will
be used to access the
PostgreSQL data-
base. I would sug-
gest to use a simple
and easy to remem-
ber one such as
‘adempiere’. Often
than not users forgot
due to keying some-
thing else. Also dur-
ing troubleshooting
it can be confusing
when you are not
sure which is which.
So it is best to use
the same password throughout. At least for a start.
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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

22
Asia e-University Master in Open Source ERP

You notice the installation is smart that it detects if you got Java installed before. It will just pro-
ceed with the rest till the end. Meanwhile take note that a log is saved to refer to later for errors.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

23
Asia e-University Master in Open Source ERP

You are finally there when you see the Close button lighting up for you to click on.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

24
Asia e-University Master in Open Source ERP

1.9 RUN_Server2
LINUX VERSION

./Applications/Adempiere/utils/RUN_Server2.sh

WINDOWS VERSION

If you installed a Desktop Shortcut as suggested while you were waiting for PostgreSQL to in-
stall, then you can just click the Desktop icon RUN_Server2

Otherwise:

▪ Open a DOS shell with Start Button / Run / Open: cmd


▪ Navigate to F:\Adempiere\utils
▪ Type 'RUN_Server2.bat'

F:\Adempiere\utils\RUN_Server2.bat

Later, to shut down the Application Server, you can either:

▪ click the Desktop icon RUN_Server2Stop


▪ crash the Server by just closing the shell

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

25
Asia e-University Master in Open Source ERP

1.10 RUN_ADempiere
LINUX VERSION

▪ Once it's done, then run RUN_Adempiere.sh to start Adempiere.


▪ You have to provide the opening dialog box with your login and password. Just
type in SuperUser/System for the test sample login.
▪ Here I am just fooling around with the language selection.

▪ Click on the Host connection icon to conduct tests if needed.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

26
Asia e-University Master in Open Source ERP

NOTES:

1. After pressing the lower test button it returns a green pass indicating the database
is active and functioning.
2. The upper button is for testing the Application Server, which is used for web ac-
cess to your ADempiere and it can only be tested positive if you have
RUN_Server2.

3. Note that you can still run your ADempiere at your PC where you install it with-
out the application server.
4. You need not go into this test box. It is only called when you want to do a test be-
fore continuing.
5. Just keep clicking OK and you shall proceed to the figures on the next page.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

27
Asia e-University Master in Open Source ERP

This is the login selection box where


you select your Role, Client, Organisa-
tion, Warehouse and Printer.

Usually you just select your Role and


pressed the OK button.

Below is the welcome screen when


you successfully gone through the
above steps. It is a User Dashboard
containing KPI (Key Performance Indi-
cators information)

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

28
Asia e-University Master in Open Source ERP

This is the main menu of the ADempiere ERP System. Its menu display is dependant on
your Role definition of the 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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

29
Asia e-University Master in Open Source ERP

WINDOWS VERSION

Start the Adempiere Java Client:


If you installed a Desktop Shortcut as suggested while you were waiting for
PostgreSQL to install, then you can just click the Desktop icon RUN_Adempiere
Otherwise:
▪ Open a DOS shell with Start Button / Run / Open: cmd
▪ Navigate to C:\Adempiere\
▪ Type RUN_Adempiere.bat
Continuing ...
▪ On the first Login Screen labelled Connection, the Server will probably be
a pink line. Click the pink line so the Adempiere Connection window
opens
▪ Enter <your-computer-name> for the Application Host. Click Test Applica-
tion Server and it should result in a green tick as well as sort out the Data-
base parameters.\
▪ Click Test Database, which should result in a green tick (Vista Users may
need to sort out security as in the Note below)
▪ Select the green tick to close the Adempiere Connection window.
Note for Vista users: If when you Test Application Server you get a green tick but
a red cross for Test Database you have a problem with PostgreSQL security on
your computer. As a safety feature PostgreSQL will only let you access it if you
are NOT an administrator, which helps to stop any hackers in the real world.
▪ Solution-> Make a new user on your computer. Name it "postgres" and
make sure its a standard user, NOT ADMIN. Now run the Setup.bat (same
settings should still be there). Click save. Then run the RUN_Server2.bat
and then RUN_Adempiere.bat. Do the test now and it should work. Also,
for Test Application server use your computer name (ie Gregs_PC) but for
the Database use localhost

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

30
Asia e-University Master in Open Source ERP

Create a Purchase Order to test that all is working:


▪ Login to Adempiere as GardenAdmin with password GardenAdmin. On the next screen
accept the defaults and click the green tick. The Java Client will open!
▪ Select Menu tab
▪ Select Requisition-to-Invoice / Purchase Order
▪ A new record will open with the Business Partner field in pink
▪ Click the icon at the end of the Business Partner and a Business Partner Info window will
open
▪ Press Enter and all the Business Partners will show
▪ Highlight Tree Farm or another partner, and click the green tick
▪ On the left menu, select PO Line
▪ Click icon on the end of the Product field and the Product Info window will open
▪ Press Enter and all the Products should appear. If the Products do appear the PL/Java is
operational. If the Products do not appear then your PL/Java is not working and you need
to check that you have activated PL/Java in the method above!
To Exit:

▪ Click the red cross to Exit


▪ Close the Purchase Order window to Exit this PL/Java confirmation test.
Congratulations!!!:

You might want to check for patches though. See Patches_Installation for a manual on how to
install them.

Quiz
1. What is the hardest part in installing ADempiere?

2. What is the intial database dump of ADempiere and where is it stored?

3. What platforms can ADempiere operate in?

4. What kind of databases does ADempiere run on?

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

31
Asia e-University Master in Open Source ERP

Glossary

Terminology Explanations

FOSS Free and Open Source Software

Enterprise Resource Planning - for integrated running of an or-


ERP
ganisation processes and its audit and reporting.

A version of Linux Operating System that can replace Microsoft


Ubuntu
Windows

Windows Stack A set of software that runs well on MS Windows only

An Object-Oriented language that also has virtual machine to


Java
run on different platforms

PostgreSQL A FOSS database engine that can replace Oracle DB

ADempiere A FOSS ERP software that includes CRM, POS and SCM

PGAdmin PostgreSQL Administrator panel to maintain the DB functions.

Environment Settings in the computer system for locations and values

Right Location Such as drive and root directory: D:/

RUN_Setup ADempiere program to run first after softwares setup

RUN_ImportAD- Program to import the initial database into the ERP System
empiere
RUN_Adempiere Progam to launch the ADempiere ERP application

RUN_Server2 Program to launch ADempiere’s application service

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

32
Asia e-University Master in Open Source ERP

Summary
1. We need to install 3 important softwares for ADempiere to run;

2. We can install either on Windows with the easy Windows Installer or more manual
methods in Linux platform;

3. Java is a common pre-requisite software to be present in the system first before in-
stalling the datbase and ERP application.;

4. For database we can use either the proprietary Oracle or the free PostgreSQL;

5. After intallation of the 3 softwares, we import the starting database into the engine;

6. Then ADempiere ERP can be operated;

7. We use the application server to run ADempiere in a web environment. It also con-
trols the accoints posting to be centralised and consistent;

Did You Know That?


ADempiere can also run on the IBM DB2 database? It is ported over by a student team
led by Professor Stuart Nettleton at the University of Technology Sydney, Australia in
cooperation with the IBM Innovation Centre. The team also port the system to run on
IBM’s application server which is WebSphere.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

33
Asia e-University Master in Open Source ERP

Chapter 2 - Functional Structure

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

1. Identify the menu structure of the ERP application;

2. Make reference to the functional elements in the menu;

3. Identify each functional item as either window, process, report or customised;

4. Trace each item in the Application Dictionary.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

34
Asia e-University Master in Open Source ERP

Introduction
In this chapter we try to explain the whole menu tree structure and its underlying
common design. Each menu item has a function to do and that is facilitated alot by
what is called the Application Dictionary. It determines the menu tree, window tabs,
table’s columns, and embedded functions as well as properties or rules or scope of its
behaviour. This section serves as a full reference guide to each menu item so that the
student can come back to this again and again when needing to know what is behind
each menu in a fast manner.

Main Reference
Much of the ADempiere menu tree reference and its item information provided here are
derived from the community project’s resource wiki which can be accessed online at
http://www.adempiere.com/wiki.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

35
Asia e-University Master in Open Source ERP

The reference indexes of the ADempiere menu tree shall be laid out in the following
pages. They are based on ADempiere 3.4.0’s menu which is the most stable to date. As
an aggregated value you will find:

▪ in second column the program type: Workbench, WorkFlow, Process, Report, Task,
Window, Form, Menu.

▪ in third column the name of associated tables, or the name of reports and/or proc-
esses inside that option.

This information is already a good technical help, i.e. if you want to know which win-
dow is used to maintain a table, you can find that table on this page and it will show
you which is the corresponding maintenance window. Same if you want to find which
window executes a process, you find it and it will show the window/process/report.

Prior to that I have made some illustration with info-boxes to try to help you visualise
which is which. It will take some time for you to absorb the facts. Just take it easy. ERP
is highly complex, and the menu items seems to make up of quite alot of things. How-
ever many items are not necessarily used or at least not most of the time.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

36
Asia e-University Master in Open Source ERP

2.1 Concept of Functional Structure


Below is a snapshot of the System Admin Menu Tree. It is seen when you login with a
role as SystemAdmin. Here we will just preview at the first upper part of the tree. I will
explain the various icons on the tree structure. I will also explore each item to explain
what are the details behind or within them. More details about them on the next pages.

CUSTOM TABLE IN FOR EACH


WINDOW WINDOW TAB MENU ITEM ATTACHED CODE
IN TABLE

AD_System (org.compiere.process.SystemValidate)
STANDARD AD_Registration (org.compiere.process.RegisterSystem)
WINDOW

AD_Language (org.compiere.install.LanguageMaintenance)
org.compiere.install.TranslationDialog
WORKFLOW AD_Language (org.compiere.install.LanguageMaintenance)
+AD_Element_Trl +AD_Message_Trl +AD_Window_Trl +AD_Tab_Trl
+AD_Field_Trl +AD_FieldGroup_Trl +AD_Process_Trl +AD_Form_Trl
+AD_Task_Trl +AD_Workflow_Trl +AD_WF_Node_Trl +AD_Menu_Trl
+AD_Ref_List_Trl

org.compiere.process.UserPassword

PROCESS or
REPORT
ROUTINE

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

37
Asia e-University Master in Open Source ERP

This is the standard or common window format or user interface in the


ADempiere ERP System. Such a window will have at least one tab and up
STANDARD to as many tabs as defined by the user. Standard windows have standard
WINDOW CRUD functions (create, read, update, delete of records). This is the beauty
of the ERP System in that we need not define the look and feel of each win-
dow as it is done by the Application Dictionary. The developer or user only need to de-
fine the Window sub elements such as the number of tabs, and fields in each tab table.

The large green box on the right contains more information about each
FOR EACH
MENU ITEM menu item. Information are labeled by the following brown boxes.

Each standard window’s tab will be assigned to a defined table and col-
TABLE IN umn in the system. That table contains actual data and is part of the data-
WINDOW TAB
base. You use the name stated to look for it in the Oracle or Postgres DB.

ATTACHED CODE There may be attached code in a certain field of the defined table. Or it can
IN TABLE
be a procedure or embedded in a processing button in the tab field. Such a
procedure will be executed when launched or pressed if its a button.

A Workflow is an index to other items arranged in a flow diagram. This is a


workflow because it is shaped differently. How an item is defined as a
WORKFLOW window or workflow or otherwise is set in the Menu of System Admin.

Sometimes standard windows cannot fulfill properly a need of the func-


tion or user-defined ones such as a Point Of Sales interface. A developer
CUSTOM will then create a customised panel based on the Java language and attach
WINDOW
it to this menu item. Such a customised window is called a ‘Form’ as op-
posed to a window.

Another type of standard function window is what is called a Report &


Process type. It handles specific process or launch reports as defined.
PROCESS or
REPORT Now the next page will go through this concept again with some of the la-
ROUTINE
belled examples so that you can try to visualise all this more readily.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

38
Asia e-University Master in Open Source ERP

2.2 Concept of Application Dictionary


Here I shall explain further in general so as to quickly grasp the big picture without getting lost
in too much details. Later in the course we would get deeper. You can see the first menu item
‘System’ which is said to be a Window as it has that double window graphics and a table defined
within it as stated in the green box. If it is double-clicked on, it will open into a window with a
single tab. We know its a single tab because it has only one table assigned for it. That tab’s single
table is ‘AD_System’. How we know that shall be explained a bit later.

Notice that at the bottom right is a button with the words “Validate Support”. That shows an
attached java code or procedure and this is shown in the greenbox too within brackets:
(org.compiere.process.SystemValidate). Again such matters are explained in due time later.

Let us look for a window that has


many tabs. There is a ‘System AD_Language (org.compiere.install.LanguageMaintenance)
+AD_Element_Trl +AD_Message_Trl +AD_Window_Trl +AD_Tab_Trl
Translation Check’ window. +AD_Field_Trl +AD_FieldGroup_Trl +AD_Process_Trl +AD_Form_Trl
+AD_Task_Trl +AD_Workflow_Trl +AD_WF_Node_Trl +AD_Menu_Trl
Note that in the greenbox it has +AD_Ref_List_Trl
many Tab-Tables:

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

39
Asia e-University Master in Open Source ERP

Now let’s go to another item which is ‘Translation Import/Export’ is stated as a customised


window because it has no defined tab table. Thus its java code that will open up is defined in
‘org.compiere.install.TranslationDialog’. As you can see here, its is a uniquely defined win-
dow panel and is not the standard form
as in the previous two windows. Such a
window is called a ‘Form’. It is deter-
mined purely by the Java code that is
called which is TranslationDialog.

Now we have other type of items such


as Report & Process and Printouts.
However we won’t go into them as they
are along the same concept we are try-
ing to explain here. For now just under-
stand this little bits and see if it makes
sense.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

40
Asia e-University Master in Open Source ERP

Ok, how do we know how many tabs does each window has and what table is within each tab in
the menu? We know by going into the Application Dictionary or start with the Window Tab and
Column item in the menu. Remember this menu I am talking about is the SystemAdmin menu.
You log into it by choosing the SystemAdmin role. From the Tab menu we see how many tabs
each window has.

Each tab is stated the name of the Table & Field object it is relying on. Now you know where we
got this green box info from:

If there is more than one +


such as ++ it means that the AD_Language (org.compiere.install.LanguageMaintenance)
+AD_Element_Trl +AD_Message_Trl +AD_Window_Trl +AD_Tab_Trl
Tab is a child of the previous +AD_Field_Trl +AD_FieldGroup_Trl +AD_Process_Trl +AD_Form_Trl
+AD_Task_Trl +AD_Workflow_Trl +AD_WF_Node_Trl +AD_Menu_Trl
Tab. A child tab is one that +AD_Ref_List_Trl
has records within the same
parent key such as for a Sales Order, its child tab will contain the Sales Order’s Orderlines.
Another term for this is Master-Detail.

Thus, you can say that the way the windows are defined with the tabs or not, with how many
tabs, and its associated tables and then its associated processes within each table as what the Ap-
plication Dictionary is all about. Taking one step back, all the items are placed in the Menu by
another Application Dictionary control called 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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

41
Asia e-University Master in Open Source ERP

Now that we have seen abit how the whole application structure is defined, we are
lucky that it has all been pre-defined nicely for us. What is left for us now is to just go
through each defined item on the menu tree. We will now list both the SystemAdmin
and the Client menus which has the ERP functional flows. System Admin is more for
defining the Application. Don’t worry if you cannot differentiate which is which. Just
remember that System Admin is for Application Dictionary or ERP configuration work
and Client Admin is for real ERP business. And it is all laid out for us when we log into
our own role in the system. (The following menu tree functional reference is mainly the
work of Carlos Ruiz of Colombia. There are also many other community members that
have assisted and shall assist as the wiki is dynamic and constantly receive contribu-
tions everyday).

Did You Know That?


• The ADempiere Application Dictionary is the brainchild of its parent project Compiere? Its
owner Jorg Janke described the AD, as it is called in short, as metadata about the ERP that can
adapt to the ‘everything changes’ concept of real life busineses.

• The software coding of an ERP is just 10% of the effort? 90% is about knowing the subject
matter, knowing what goes where and how.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

42
Asia e-University Master in Open Source ERP

2.3 Standard CRUD


As stated earlier, the Application Dictionary sort of resolves the CRUD (Create, Read,
Update, Delete controls) of the application without the user or implementor worrying
about programming that part at all. This means that the user just need to concern about
the model of the ERP System. S/he go straight to defining the table and field structure
and its relationship with each other and its validation rules without thinking about
touching sourcecode which s/he is most likely not that technical. This means you can
do fast prototyping and extensions to the model or data model. You can also make
changes after that in like convenient fashion.

Below here shall be shown the parts of the system that is standard and granted wheve-
ner you define a new extension to the model.

It is the top menu panel that always appear in every window. This is already preset in
the ADempiere software. So you need not think about how to get it out on every new
window anymore. It has pull down menus from FILE to HELP options. Then it has a
row of graphical icons that does a specific task when clicked on. We shall go through
some of them so that you can learn of thier common controls which are available in
every window that you shall encounter from now on.

GRID NAVIGATE CHECK


VIEW BETWEEN REQUESTS
UNDO TOGGLE RECORDS; OR
FIRST AND CREATE
LAST. NEW
ATTACHMENT
NEW RECORD -
lights up when REFRESH NAVIGATE BETWEEN TABS WAREHOUSE
creating one is
allowed SAVE RECORD - Lights up when there is change PRINT OUT

DELETE single
DELETE multiple records PREVIEW RECORD ARCHIVED DOCUMENTS
record

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

43
Asia e-University Master in Open Source ERP

Earlier I have shown you that the window tabs are controlled by
the AD under the Window, Tab and Field window. As you can see
on the left, the tabs will appear according to what is configured
there. Now, all windows will have the left tab structure. This is a
display that is done automatically. It is already arranged and each
tab also has a hierarchy indent. As you can see the Customer Ac-
counting Tab lies further to the right than the Customer one which
in turn is right to the Business Partner. This left-to-right positioning
is set within the Window, Tab and Field for each Tab.

The top down layout is according to the number of tabs defined.


Each tab will now respond to your mouse click upon any of them.

At the bottom left of the panel you can see a status message “Navi-
gate or Update Record”. This status message is according to what is
happening in the application. During processing, if there is error, it
will show according to the error status message. If it is ok, it shows
a succesfull status message.

At the bottom right of the window you can see markings such as *1/
which means that it is a new record and not yet saved. If there are a
number of records in this table, let’s say 10, and you are at the 3rd
record it will show 3/10.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

44
Asia e-University Master in Open Source ERP

2.4 Application Reference

M1 SYSTEM ADMIN

M1.1 GENERAL RULES


M1.1.1 System Rules

System Window AD_System (org.compiere.process.SystemValidate)

System Registration Window AD_Registration (org.compiere.process.RegisterSystem)

Language Setup WorkFlow

Language Window AD_Language (org.compiere.install.LanguageMaintenance)

Synchronize Doc Translation Process org.compiere.process.TranslationDocSync

Translation Import/Export Form org.compiere.install.TranslationDialog

System Translation Check Window AD_Language (org.compiere.install.LanguageMaintenance)


+AD_Element_Trl
+AD_Message_Trl +AD_Window_Trl
+AD_Tab_Trl +AD_Field_Trl
+AD_FieldGroup_Trl
+AD_Process_Trl +AD_Form_Trl +AD_Task_Trl
+AD_Workflow_Trl +AD_WF_Node_Trl
+AD_Menu_Trl
+AD_Ref_List_Trl

Menu Window AD_Menu +AD_Menu_Trl

Tree Window AD_Tree (org.compiere.process.TreeMaintenance)

Replication Strategy Window AD_ReplicationStrategy +AD_ReplicationTable

Tree Maintenance Form org.compiere.apps.form.VTreeMaintenance

Task Window AD_Task


+AD_Task_Trl
+AD_Task_Access

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

45
Asia e-University Master in Open Source ERP

Replication Window AD_Replication (org.compiere.process.ReplicationLocal)


+AD_Replication_Run
++AD_Replication_Log

System Color Window AD_Color

System Image Window AD_Image

Error Message Window AD_Error

Notice Window AD_Note (org.compiere.process.NoteDelete)

Country Region and City Window C_Country


+C_Country_Trl
+C_Region ++C_City

System Configurator Window AD_SysConfig

M1.1.2 Security

User Window AD_User


+AD_User_Roles
+AD_User_Substitute
+C_OrgAssignment
+AD_User_OrgAccess
+AD_UserMail
+AD_UserQuery
+AD_LdapAccess
Reset Password Process org.compiere.process.UserPassword

Role Window AD_Role


+AD_Role_OrgAccess
+AD_User_Roles
+AD_Window_Access
+AD_Process_Access
+AD_Form_Access
+AD_Workflow_Access +AD_Task_Access
+AD_Document_Action_Access

Role Access Update Process org.compiere.process.RoleAccessUpdate

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

46
Asia e-University Master in Open Source ERP

CopyRole Process org.compiere.process.CopyRole

.Role Data Access Window AD_Role


+AD_Table_Access
+AD_Column_Access
+AD_Record_Access

Session Audit Window AD_Session


+AD_ChangeLog (org.compiere.process.ChangeLogProcess)
(org.compiere.process.ChangeLogProcess)

Process Audit Window AD_PInstance +AD_PInstance_Para +AD_PInstance_Log

Change Audit Window AD_ChangeLog (org.compiere.process.ChangeLogProcess)


(org.compiere.process.ChangeLogProcess)
Archive Viewer Form org.compiere.apps.form.ArchiveViewer

M1.1.3 SERVER

Scheduler Window AD_Scheduler


+AD_Scheduler_Para
+AD_SchedulerRecipient +AD_SchedulerLog

Alert Processor Window AD_AlertProcessor +AD_AlertProcessorLog

Request Processor Window R_RequestProcessor


+R_RequestProcessor_Route +R_RequestProcessorLog

Workflow Processor Window AD_WorkflowProcessor +AD_WorkflowProcessorLog

Accounting Processor Window C_AcctProcessor +C_AcctProcessorLog

LDAP Server Window AD_LdapProcessor +AD_LdapProcessorLog

Request EMail Processor Process org.compiere.process.RequestEMailProcessor

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

47
Asia e-University Master in Open Source ERP

M1.1.4 Workflow

Workflow Responsible Window AD_WF_Responsible

Workflow Window AD_Workflow (org.compiere.wf.WorkflowValidate)


+AD_Workflow_Trl
+AD_Workflow_Access +AD_WF_Block
+AD_WF_Node
++AD_WF_Node_Para
++AD_WF_Node_Trl
++AD_WF_NodeNext
++AD_WF_NodeNext
+++AD_WF_NextCondition

Workflow Editor Form org.compiere.apps.wf.WFPanel

Workflow to Client Process org.compiere.wf.WorkflowMoveToClient

Workflow Activities (all) Window AD_WF_Activity (org.compiere.wf.WFActivityManage)

Workflow Activities Form org.compiere.apps.wf.WFActivity

Workflow Process Window AD_WF_Process (org.compiere.wf.WFProcessManage)


+AD_WF_Activity (org.compiere.wf.WFActivityManage)
++AD_WF_ActivityResult +AD_WF_EventAudit
+AD_WF_ProcessData

M1.1.5 Printing

Print Paper Window AD_PrintPaper (AD_PrintPaper_Default)

Print Color Window AD_PrintColor

Print Font Window AD_PrintFont

Print Table Format Window AD_PrintTableFormat

Print Format Window AD_PrintFormat (org.compiere.print.MPrintFormatProcess)


+AD_PrintFormatItem
+AD_PrintFormatItem +AD_PrintFormatItem
++AD_PrintFormatItem_Trl
++AD_PrintGraph
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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

48
Asia e-University Master in Open Source ERP

Print Format Detail Report

Print Form Window AD_PrintForm

Label Printer Window AD_LabelPrinter


+AD_LabelPrinterFunction

Print Label Window AD_PrintLabel


+AD_PrintLabelLine
+++AD_PrintLabelLine_Trl

M1.1.6 Collaboration

Chat Type Window CM_ChatType


+CM_ChatTypeUpdate

View Chat Window CM_Chat


+CM_ChatEntry
+CM_ChatUpdate

Web Project Window CM_WebProject


+CM_Container
++CM_Container_Trl
++CM_Container_Element
+++CM_Container_Element_Trl
++CM_ContainerTTable
+CM_CStage (org.compiere.cm.CStageValidate)
++CM_CStage_Trl
++CM_CStage_Element
+++CM_CStage_Element_Trl
++CM_CStageTTable
+CM_Template (org.compiere.cm.TemplateValidate)
++CM_TemplateTable
++CM_Template_Ad_Cat
+CM_Media (org.compiere.cm.MediaDirectDeploy)
+CM_WebProject_Domain +CM_Media_Server

Web Ad Management Window CM_Ad_Cat +CM_Ad


+CM_Template_Ad_Cat

Web Access Window CM_AccessProfile


+CM_AccessListRole
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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

49
Asia e-University Master in Open Source ERP

+CM_AccessListBPGroup
+CM_AccessStage +CM_AccessContainer
+CM_AccessNewsChannel
+CM_AccessMedia

Web Broadcast Server Window CM_BroadcastServer

Deploy Web Project Process org.compiere.cm.WebProjectDeploy

News Channel Window CM_NewsChannel +CM_NewsItem

Media Item Window CM_WebProject +CM_Media ++CM_MediaDeploy

M1.1.7 Knowledge Base

Text Index Window K_Index

Text Index Stop Window K_IndexStop

Text Search Log Window K_IndexLog

Rebuild Index Process org.compiere.process.KIndexRerun

Knowledge Category Window K_Category +K_CategoryValue

Knowledge Source Window K_Source

Knowledge Synonym Window K_Synonym

Knowledge Base Window K_Type


+K_Topic
++K_Entry
+++K_EntryCategory
+++K_EntryRelated
+++K_Comment
Test Window Test

Java Version Task java -version

SQL Process Form org.compiere.apps.form.VSQLProcess

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

50
Asia e-University Master in Open Source ERP

Database export Task @ADEMPIERE_HOME@@/@utils@/@RUN_DBExport.@bat@

Database transfer Task @ADEMPIERE_HOME@@/@utils@/@RUN_PutAdempiere.@sh@

Synchronize Terminology Process org.compiere.process.SynchronizeTerminology

Recompile DB Objects Process DBA_Recompile

Sequence Check Process org.compiere.process.SequenceCheck

Cache Reset Process org.compiere.process.CacheReset

M1.2 Client Rules


Initial Client Setup Form org.compiere.apps.form.VSetup

Initial Client Setup Review WorkFlow

Client Window AD_Client (org.compiere.process.EMailTest)


+AD_ClientInfo AD_ClientShare
Web Store Window W_Store +W_Store_Trl +W_MailMsg ++W_MailMsg_Trl

Merge Entities Form org.compiere.apps.form.VMerge

Position Category Window C_JobCategory

Position Window C_Job +C_JobAssignment


+C_JobRemuneration

Remuneration Window C_Remuneration


+C_JobRemuneration
+C_UserRemuneration

ASP Subscribed Modules Window ASP_ClientLevel ASP_ClientException

M1.3 Organization Rules


Organization Window AD_Org +AD_OrgInfo
+C_InterOrg_Acct
+C_OrgAssignment

Dashboard Content Edit Window PA_DashboardContent

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

51
Asia e-University Master in Open Source ERP

Organization Type Window AD_OrgType

Bank Window C_Bank


+C_BankAccount
++C_BankAccountDoc
++C_PaymentProcessor
++C_BankStatementLoader
++C_BankAccount_Acct

Bank Statement Matcher Window C_BankStatementMatcher

Cashbook Window C_CashBook


+C_CashBook_Acct

Recurring Window C_Recurring (org.compiere.process.Recurring)


+C_Recurring_Run

M1.4 Data
M1.4.1 Utility

Attachment Window AD_Attachment


+AD_AttachmentNote

Location Window C_Location

Preference Window AD_Preference

M1.4.2 Data Import

Import Loader Format Window AD_ImpFormat (org.compiere.impexp.CopyImportFormat)


+AD_ImpFormat_Row

Import File Loader Form org.compiere.apps.form.VFileImport

Import Product Window I_Product (org.compiere.process.ImportProduct)

Import Business Partner Window I_BPartner (org.compiere.process.ImportBPartner)

Import Account Window I_ElementValue (org.compiere.process.ImportAccount)

Import Report Line Set Window I_ReportLine (org.compiere.process.ImportReportLine)


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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

52
Asia e-University Master in Open Source ERP

Import Inventory Window I_Inventory (org.compiere.process.ImportInventory)

Import Order Window I_Order (org.compiere.process.ImportOrder)

Import Invoice Window I_Invoice (org.compiere.process.ImportInvoice)

Import Confirmations Window I_InOutLineConfirm (org.compiere.process.ImportInOutConfirm)

Import Currency Rate Window I_Conversion_Rate (org.compiere.process.ImportConversionRate)

Import GL Journal Window I_GLJournal (org.compiere.process.ImportGLJournal)

Import Payment Window I_Payment (org.compiere.process.ImportPayment)

Load Bank Statement Process org.compiere.process.LoadBankStatement

Import Bank Statement Window I_BankStatement


(org.compiere.process.BankStatementPayment)
(org.compiere.process.ImportBankStatement)
(org.compiere.process.BankStatementMatcher)

Delete Import Process org.compiere.process.ImportDelete

System Issue Report Window AD_Issue (org.compiere.process.IssueReport)

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

53
Asia e-University Master in Open Source ERP

M2 Application Dictionary

Entity Type Window AD_EntityType (org.compiere.process.EntityTypeRegister)


+AD_Modification
Element Window AD_Element +AD_Element_Trl
+AD_Column (org.compiere.process.ColumnEncryption)
(org.compiere.process.ColumnSync)

Table and Column Window AD_Table (org.compiere.process.TableCreateColumns)


(org.compiere.process.CopyColumnsFromTable)
+AD_Table_Trl +AD_Column
(org.compiere.process.ColumnEncryption)
(org.compiere.process.ColumnSync)
++AD_Column_Trl
+AD_Table_ScriptValidator

Field Group Window AD_FieldGroup +AD_FieldGroup_Trl

Window, Tab & Field Window AD_Window (org.compiere.process.WindowCopy)


+AD_Window_Trl +AD_Window_Access +AD_Tab
(org.compiere.process.TabCopy)
(org.compiere.process.TabCreateFields)
++AD_Tab_Trl
++AD_Field
++AD_Field
+++AD_Field_Trl

Info Window Window AD_InfoWindow


(org.compiere.process.InfoWindowValidate)
+AD_InfoWindow_Trl
+AD_InfoColumn
++AD_InfoColumn_Trl

Form Window AD_Form +AD_Form_Trl +AD_Form_Access

Workbench Window AD_Workbench

+AD_Workbench_Trl +AD_WorkbenchWindow

Desktop Window AD_Desktop


+AD_Desktop_Trl
+AD_DesktopWorkbench

Reference Window AD_Reference


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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

54
Asia e-University Master in Open Source ERP

+AD_Reference_Trl
+AD_Ref_List
++AD_Ref_List_Trl
+AD_Ref_Table
+AD_Column (org.compiere.process.ColumnEncryption)
(org.compiere.process.ColumnSync)

Validation Rules Window AD_Val_Rule


+AD_Column (org.compiere.process.ColumnEncryption)
(org.compiere.process.ColumnSync)

Model Validator Window AD_ModelValidator



Message Window AD_Message +AD_Message_Trl

Report View Window AD_ReportView +AD_ReportView_Col

Report & Process Window AD_Process +AD_Process_Trl


+AD_Process_Access
+AD_Process_Para
++AD_Process_Para_Trl

Rule Window AD_Rule

Window Customization Window AD_UserDef_Win


+AD_UserDef_Tab
++AD_UserDef_Field

Reapply Customizations Process org.compiere.process.ChangeLogProcess

Migration Scripts Window AD_MigrationScript


(org.adempiere.process.ApplyMigrationScripts)

Prepare Migration Scripts Process org.adempiere.process.PrepareMigrationScripts

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

55
Asia e-University Master in Open Source ERP

M2.1 Application Packaging


Common Package Details Window AD_Package_Exp_Common

PackOut - Create a package Window AD_Package_Exp (org.adempiere.pipo.PackOut)


+AD_Package_Exp_Detail

PackIn - Import a package Window AD_Package_Imp_Proc (org.adempiere.pipo.PackIn)

Packages Installed Window AD_Package_Imp_Inst

Package Maintenance Window AD_Package_Imp (org.adempiere.pipo.PackRoll)


+AD_Package_Imp_Detail
++AD_Package_Imp_Backup

Did You Know That?


• A typical ERP System is often crticised as a ‘One Size Fits All’ which is too bulky for most?
Not every business can use everything that the ERP system provides.

• The Application Dictionary allows 90% coding not needed for many changes that a business
need? You can just configure its window tabs and field layout.

• Robert Klein from USA contributed the 2Pack facility? It allows the transfer of changes from
one instance to another instance easily.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

56
Asia e-University Master in Open Source ERP

M3 Partner Relations

M3.1 Business Partner Rules

Business Partner Setup WorkFlow

Business Partner Group Window C_BP_Group


+C_BP_Group_Acct (org.compiere.process.BPGroupAcctCopy)
+C_BPartner (org.compiere.process.BPartnerOrgLink)

Greeting Window C_Greeting +C_Greeting_Trl

Payment Term Window C_PaymentTerm(org.compiere.process.PaymentTermValidate)


+C_PaymentTerm_Trl
+C_PaySchedule

Invoice Schedule Window C_InvoiceSchedule

Withholding (1099) Window C_Withholding


+C_Withholding_Acct

Dunning Window C_Dunning


+C_DunningLevel
++C_DunningLevel_Trl

Business Partner Window C_BPartner (org.compiere.process.BPartnerOrgLink)


+C_BPartner (org.compiere.process.BPartnerOrgLink)
++C_BP_Customer_Acct
+C_BPartner(org.compiere.process.BPartnerOrgLink)
++C_BP_Vendor_Acct +C_BPartner
(org.compiere.process.BPartnerOrgLink)
++C_BP_Employee_Acct
+C_BP_BankAccount
+C_BPartner_Location
+AD_User
++AD_UserBPAccess
++R_ContactInterest
+C_BP_Withholding

Validate Business Partner Process org.compiere.process.BPartnerValidate

Business Partner Organization Process org.compiere.process.OrgOwnership

Partner Relation Window C_BP_Relation


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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

57
Asia e-University Master in Open Source ERP

Counter Document Window C_DocTypeCounter


(org.compiere.process.DocTypeCounterValidate)

UnLink Business Partner Org Process org.compiere.process.BPartnerOrgUnLink

Revenue Recognition Window C_RevenueRecognition


+C_RevenueRecognition_Plan
++C_RevenueRecognition_Run

M3.2 Web
Click Window W_ClickCount +W_Click

Clicks Monthy Report

Clicks Unprocessed Report

Counter Window W_CounterCount +W_Counter

Advertisement Window W_Advertisement

M3.3 Service
Resource Type Window S_ResourceType

Resource Window S_Resource


+S_ResourceUnAvailable
+M_Product (M_Product_BOM_Check)
++M_ProductPrice
++M_Product_Acct
+S_ResourceAssignment

Expense Type Window S_ExpenseType


+M_Product (M_Product_BOM_Check)
++M_ProductPrice ++M_Product_Acct

Time Type Window S_TimeType

Expense Report Window S_TimeExpense +S_TimeExpenseLine

Expenses (to be invoiced) Window C_BPartner (org.compiere.process.BPartnerOrgLink)


+S_TimeExpenseLine

Create Sales Orders from Expense Process org.compiere.process.ExpenseSOrder


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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

58
Asia e-University Master in Open Source ERP

Expenses (not reimbursed) Window C_BPartner (org.compiere.process.BPartnerOrgLink)


+S_TimeExpenseLine
Create AP Expense Invoices Process org.compiere.process.ExpenseAPInvoice

Service Level Window C_ServiceLevel


+C_ServiceLevelLine

Training Window S_Training


+S_Training_Class

M3.4 Request
Request Setup WorkFlow

Request Type Window R_RequestType


+R_RequestTypeUpdates

Request Group Window R_Group


+R_GroupUpdates

Request Category Window R_Category +R_CategoryUpdates

Request Resolution Window R_Resolution

Request Status Window R_StatusCategory +R_Status

Request Standard Response Window R_StandardResponse

Request (all) Window R_Request


+R_RequestUpdate
+R_RequestAction
+R_RequestUpdates
+RV_RequestUpdates

Invoice Requests Process org.compiere.process.RequestInvoice

Reopen Request Process org.compiere.process.RequestReOpen

Interest Area Window R_InterestArea


+R_ContactInterest
+AD_LdapAccess

Issue Status Window R_IssueStatus

Issue Recommendation Window R_IssueRecommendation


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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

59
Asia e-University Master in Open Source ERP

Issue Project Window R_IssueProject

Issue System Window R_IssueSystem

Issue User Window R_IssueUser

Known Issue Window R_IssueKnown

Request Window R_Request


+R_RequestUpdate
+R_RequestAction
+R_RequestUpdates

Business Partner Info Window C_BPartner (org.compiere.process.BPartnerOrgLink)


+C_Order (org.compiere.process.CopyFromOrder)
+M_InOut (org.compiere.process.InOutCreateInvoice)
(org.compiere.process.InOutCreateConfirm)
(org.compiere.process.PackageCreate)
+C_Invoice (org.compiere.process.InvoiceCreateInOut)
(org.compiere.process.CopyFromInvoice)
+C_Payment (org.compiere.process.PaymentOnline)
+A_Asset +R_Request

Business Partner Detail Report

Business Partner Open Report

Sales Rep Info Window AD_User


+C_Order (org.compiere.process.CopyFromOrder)
++C_OrderLine +C_Invoice
(org.compiere.process.InvoiceCreateInOut)
(org.compiere.process.CopyFromInvoice)
++C_InvoiceLine

Mail Template Window R_MailText


+R_MailText_Trl
+AD_UserMail

Send Mail Text Process org.compiere.process.SendMailText

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

60
Asia e-University Master in Open Source ERP

M4 Quote To Invoice

M4.1 Sales and Marketing

Sales Setup WorkFlow

Sales Region Window C_SalesRegion

Commission Window C_Commission (org.compiere.process.CommissionCopy)


(org.compiere.process.CommissionCalc)
+C_CommissionLine

Commission Run Window C_CommissionRun


(org.compiere.process.CommissionAPInvoice)
+C_CommissionAmt
++C_CommissionDetail
Commission Run Detail Report

Marketing Channel Window C_Channel

Marketing Campaign Window C_Campaign

Did You Know That?


• The highest ranked committers to the ADempiere software is Carlos Ruiz of Colombia, Low
Heng Sin of Malaysia and Teo Sarca of Romania?

• Many other contributions to the project is in the form of wiki pages and forum replies?

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

61
Asia e-University Master in Open Source ERP

M4.2 Sales Orders


M4.2.1 Web POS

Update Role Menu Process org.adempiere.process.UpdateRoleMenu

Web POS BlackListCheque Window U_BlackListCheque

Web POS Properties Window U_Web_Properties

Web POS Role Menu Window U_RoleMenu

Web POS Menu Window U_WebMenu

Setup Web POS Process org.posterita.process.SetupWebPOS

M4.2.2 Market Place

Auction Topic Type Window B_TopicType


+B_TopicCategory
Bid Topic Window B_Topic
+B_Bid
++B_BuyerFunds
+B_Offer
++B_SellerFunds
+B_BidComment

Auction Seller Window B_Seller


+B_BuyerFunds
+B_Offer

Auction Buyer Window B_Buyer


+B_BuyerFunds
+B_Bid

Sales Order Window C_Order (org.compiere.process.CopyFromOrder)


+C_OrderLine
+C_OrderTax

Order Detail Report

Quote convert Process org.compiere.process.CopyOrder

RePrice Order/Invoice Process org.compiere.process.OrderRePrice

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

62
Asia e-University Master in Open Source ERP

Generate PO from Sales Order Process org.compiere.process.OrderPOCreate

Reopen Order Process org.compiere.process.OrderOpen

Order Batch Process Process org.compiere.process.OrderBatchProcess

Open Orders Report

Order Transactions Report

Distribution List Window M_DistributionList


(org.compiere.process.DistributionCreate)
+M_DistributionListLine

Distribution Run Window M_DistributionRun (org.compiere.process.DistributionRun)


+M_DistributionRunLine

Subscription Type Window C_SubscriptionType

Subscription Window C_Subscription


+C_Subscription_Delivery

POS Key Layout Window C_POSKeyLayout +C_POSKey

POS Terminal Window C_POS

POS Form org.compiere.pos.PosPanel

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

63
Asia e-University Master in Open Source ERP

M4.3 Shipments
Generate Shipments (manual) Form org.compiere.apps.form.VInOutGen

Generate Shipments Process org.compiere.process.InOutGenerate

Shipment (Customer) Window M_InOut (org.compiere.process.InOutCreateInvoice)


(org.compiere.process.InOutCreateConfirm)
(org.compiere.process.PackageCreate)
+M_InOutLine
++M_InOutLineConfirm
++M_InOutLineMA

Shipment Details Report

Package Window M_Package


+M_PackageLine
RMA Type Window M_RMAType

RMA Window M_RMA (org.adempiere.process.RMACreateOrder)


+M_RMALine

M4.2 Sales Invoices


Generate Invoices (manual) Form org.compiere.apps.form.VInvoiceGen

Generate Invoices Process org.compiere.process.InvoiceGenerate

Invoice (Customer) Window C_Invoice (org.compiere.process.InvoiceCreateInOut)


(org.compiere.process.CopyFromInvoice)
+C_InvoiceLine
+C_InvoiceTax
+C_InvoicePaySchedule
(org.compiere.process.InvoicePayScheduleValidate)
+C_AllocationLine

Invoice Payment Schedule Window C_Invoice (org.compiere.process.InvoiceCreateInOut)


(org.compiere.process.CopyFromInvoice)
+C_InvoicePaySchedule
(org.compiere.process.InvoicePayScheduleValidate)

Print Invoices Process org.compiere.process.InvoicePrint

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

64
Asia e-University Master in Open Source ERP

M4.5 Invoice Inquiry


Invoice Transactions (Acct) Report

Invoice Transactions (Doc) Report

Invoice Detail & Margin Report

Daily Invoice Report

Weekly Invoice Report

Weekly Invoice Prod Cat Report

Monthly Invoice Report

Monthly Invoice Prod Cat Report

Monthly Invoice Vendor Report

Monthly Invoice Product Report

Quarterly Invoice Customer by Vendor Report

Quarterly Invoice Customer by Product Report

Quarter Invoice Product Report

Did You Know That?


• The greatest value of an ERP system is in its reporting? Top management particularly appreci-
ates those great one-view analysis about the operations and status with nice graphics.

• ADempiere is integrated with JasperReports, a 3rd party reporting tool?

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

65
Asia e-University Master in Open Source ERP

M5 Requisition-to-Invoice
RfQ Topic Window C_RfQ_Topic
+C_RfQ_TopicSubscriber
++C_RfQ_TopicSubscriberOnly

RfQ Window C_RfQ (org.compiere.process.RfQCreateSO)


(org.compiere.process.RfQClose)
(org.compiere.process.RfQCreatePO)
(org.compiere.process.RfQCreate)
(org.compiere.process.RfQCopyLines)
(org.compiere.process.RfQResponseRank)
+C_RfQLine
++C_RfQLineQty
RfQ Response Window +C_RfQResponse (org.compiere.process.RfQResponseInvite)
(org.compiere.process.RfQResponseCComplete)
++C_RfQResponseLine
+++C_RfQResponseLineQty

RfQ Unanswered Report

RfQ Response Report

Requisition Window M_Requisition +M_RequisitionLine ++C_OrderLine

Create PO from Requisition Process org.compiere.process.RequisitionPOCreate

Open Requisitions Report

Purchase Order Window C_Order (org.compiere.process.CopyFromOrder)


+C_OrderLine
++M_MatchPO
(org.compiere.process.MatchPODelete)
++M_RequisitionLine
+C_OrderTax

Material Receipt Window M_InOut (org.compiere.process.InOutCreateInvoice)


(org.compiere.process.InOutCreateConfirm)
(org.compiere.process.PackageCreate)
+M_InOutLine
++M_InOutLineConfirm
++M_MatchPO (org.compiere.process.MatchPODelete)
++M_MatchInv (org.compiere.process.MatchInvDelete)

Material Receipt Details Report

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

66
Asia e-University Master in Open Source ERP

Expense Invoice (Alpha) Window C_Invoice (org.compiere.process.InvoiceCreateInOut)


(org.compiere.process.CopyFromInvoice) C_InvoiceLine

Invoice (Vendor) Window C_Invoice (org.compiere.process.InvoiceCreateInOut)


(org.compiere.process.CopyFromInvoice)
+C_InvoiceLine
++C_LandedCost(org.compiere.process.LandedCostDistribute)
++C_LandedCostAllocation
++M_MatchPO (org.compiere.process.MatchPODelete)
++M_MatchInv (org.compiere.process.MatchInvDelete)
+C_InvoiceTax
+C_AllocationLine

Invoice Batch Window C_InvoiceBatch (org.compiere.process.InvoiceBatchProcess)


+C_InvoiceBatchLine

Matching PO-Receipt-Invoice Form org.compiere.apps.form.VMatch

Matched Purchase Orders Window M_MatchPO (org.compiere.process.MatchPODelete)

Matched Invoices Window M_MatchInv (org.compiere.process.MatchInvDelete)

Did You Know That?


• ADempiere is a community open source which is not owned by any commercial body? It only
has an ADempiere Inc, USA which is booked by Idalica USA to prevent squatters from hijack-
ing the project name. The only other standing not-for-profit organisation representing
ADempiere is in Berlin Germany.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

67
Asia e-University Master in Open Source ERP

M6 Open Items
Cash Journal Window C_Cash
+C_CashLine

Cash Journal Detail Report

Invoice Tax Report

Open Items Report

Aging Report org.compiere.process.Aging

Invoice Not Realized Gain/Loss Report org.compiere.process.InvoiceNGL

Dunning Run Window C_DunningRun (org.compiere.process.DunningRunCreate)


+C_DunningRunEntry
++C_DunningRunLine

Print Dunning Letters Process org.compiere.process.DunningPrint

Payment Window C_Payment (org.compiere.process.PaymentOnline)


+C_PaymentAllocate
+C_AllocationLine

Payment Details Report

Payment Allocation Form org.compiere.apps.form.VAllocation

View Allocation Window C_AllocationHdr


+C_AllocationLine

Allocation Report

UnAllocated Invoices Report

UnAllocated Payments Report

Reset Allocation Process org.compiere.process.AllocationReset

Auto Allocation Process org.compiere.process.AllocationAuto

Receivables Write-Off Process org.compiere.process.InvoiceWriteOff

Payment Selection Window C_PaySelection

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

68
Asia e-University Master in Open Source ERP

(org.compiere.process.PaySelectionCreateCheck)
(org.compiere.process.PaySelectionCreateFrom)
+C_PaySelectionLine
+C_PaySelectionCheck

Payment Selection (manual) Form org.compiere.apps.form.VPaySelect

Payment Print/Export Form org.compiere.apps.form.VPayPrint

Payment Batch Window C_PaymentBatch


+C_Payment (org.compiere.process.PaymentOnline)

Bank Statement Window C_BankStatement


(org.compiere.process.BankStatementMatcher)
+C_BankStatementLine
(org.compiere.process.BankStatementPayment)
(org.compiere.process.BankStatementMatcher)

UnReconciled Payments Report

Did You Know That?


• Most reports in the standard ADempiere package is controlled via the Print Format window?
You can define the master detail layout and the field contents.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

69
Asia e-University Master in Open Source ERP

M7 Material Management

M7.1 Material Management Rules


Product Setup WorkFlow

Warehouse & Locators Window M_Warehouse


+M_Locator
++M_Storage
+M_Replenish
+M_Warehouse_Acct
+M_Transaction

Warehouse Organization Process org.compiere.process.OrgOwnership

Unit of Measure Window C_UOM


+C_UOM_Trl
+C_UOM_Conversion

Product Category Window M_Product_Category


+M_Product_Category_Acct
(org.compiere.process.ProductCategoryAcctCopy)
+M_Product (M_Product_BOM_Check)

Vendor Details Window C_BPartner (org.compiere.process.BPartnerOrgLink)


+M_Product_PO

Vendor Selection Report

Freight Category Window M_FreightCategory

Product Window M_Product (M_Product_BOM_Check)


+M_Product_BOM
+M_Substitute
+M_RelatedProduct
+M_Replenish
+M_Product_PO
+C_BPartner_Product
+M_ProductPrice
+M_ProductDownload
+M_Product_Acct
+M_Transaction
+M_Product_Trl

Product Organization Process org.compiere.process.OrgOwnership


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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

70
Asia e-University Master in Open Source ERP

Product BOM Window M_Product (M_Product_BOM_Check)


+M_BOMAlternative
+M_ProductOperation
++M_OperationResource
+M_BOM
++M_BOMProduct

Price List Setup WorkFlow

Price List Schema Window M_DiscountSchema


(org.compiere.process.DiscountSchemaReSeq)
+M_DiscountSchemaLine

BOM Change Notice Window M_ChangeNotice


+M_BOM
++M_ChangeRequest
+++R_Request
+M_ChangeRequest

Change Notice Window M_ChangeNotice


+M_ChangeRequest
++R_Request
+M_ChangeRequest

Price List Window M_PriceList


+M_PriceList_Version (M_PriceList_Create)
++M_ProductPrice

Discount Schema Window M_DiscountSchema


(org.compiere.process.DiscountSchemaReSeq)
+M_DiscountSchemaBreak

Shipper Window M_Shipper +M_Freight

Verify BOMs Process org.compiere.process.BOMValidate

Perpetual Inventory Window M_PerpetualInv

M7.2 Product Attributes


Lot Control Window M_LotCtl +M_LotCtlExclude

Serial No Control Window M_SerNoCtl


+M_SerNoCtlExclude
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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

71
Asia e-University Master in Open Source ERP

Attribute Window M_Attribute +M_AttributeValue

Attribute Set Window M_AttributeSet


+M_AttributeUse
+M_AttributeSetExclude

Lot Window M_Lot

Attribute Search Window M_AttributeSearch +M_Attribute

Product Attribute Grid Form org.compiere.apps.form.VAttributeGrid

Material Transactions Form org.compiere.apps.form.VTrxMaterial

Forecast Window M_Forecast


+M_ForecastLine

Transaction Detail Report

Product Transaction Value Report

Product Transaction Summary Report

Demand Window M_Demand +M_DemandLine


++M_DemandDetail

Inventory Move Window M_Movement


+M_MovementLine
++M_MovementLineMA

Move Confirmation Window M_MovementConfirm


+M_MovementLineConfirm

Physical Inventory Window M_Inventory (org.compiere.process.InventoryCountUpdate)


(org.compiere.process.InventoryCountCreate)
+M_InventoryLine
++M_InventoryLineMA

Internal Use Inventory Window M_Inventory (org.compiere.process.InventoryCountUpdate)


(org.compiere.process.InventoryCountCreate)
+M_InventoryLine

Replenish Report Report org.compiere.process.ReplenishReport

Production Window M_Production (M_Production_Run)

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

72
Asia e-University Master in Open Source ERP

+M_ProductionPlan
++M_ProductionLine

Ship/Receipt Confirm Window M_InOutConfirm (org.compiere.process.PackageCreate)


+M_InOutLineConfirm

Open Confirmations Report

Open Confirmation Details Report

BOM Drop Form org.compiere.apps.form.VBOMDrop

Storage Detail Report

Storage Cleanup Process org.compiere.process.StorageCleanup

Product UOM Convert Process org.compiere.process.ProductUOMConvert

Inventory Valuation Report Report org.compiere.process.InventoryValue

Material Reference Report org.compiere.process.TransactionXRef

Attribute Set Instance Window M_AttributeSetInstance


+M_InOutLineMA_v
+M_MovementLineMA_v
+RV_C_InvoiceLine

M8 Project Management
Project Setup and Use WorkFlow

Project Type Window C_ProjectType


+C_Phase
++C_Task

Project Window C_Project (org.compiere.process.ProjectGenOrder)


(org.compiere.process.CopyFromProject)
(org.compiere.process.ProjectSetType)
(org.compiere.process.ProjectClose)
+C_ProjectLine (org.compiere.process.ProjectLinePricing)
+C_ProjectPhase
(org.compiere.process.ProjectPhaseGenOrder)
++C_ProjectLine (org.compiere.process.ProjectLinePricing)
++C_ProjectTask
+++C_ProjectLine (org.compiere.process.ProjectLinePricing)
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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

73
Asia e-University Master in Open Source ERP

+C_Project_Acct

Project (Lines/Issues) Window C_Project (org.compiere.process.ProjectGenOrder)


(org.compiere.process.CopyFromProject)
(org.compiere.process.ProjectSetType)
(org.compiere.process.ProjectClose)
+C_ProjectLine (org.compiere.process.ProjectLinePricing)
+C_ProjectIssue +C_Project_Acct

Generate PO from Project Process org.compiere.process.ProjectGenPO

Issue to Project Process org.compiere.process.ProjectIssue

Project Lines not Issued Report

Project POs not Issued Report

Project Margin (Work Order) Report

Project Reporting Window C_Cycle


+C_CycleStep
++C_CyclePhase

Project Cycle Report Report

Project Detail Accounting Report Report

M9 Performance Analysis

M9.1 Accounting Rules


Accounting Setup WorkFlow

Calendar Year and Period Window C_Calendar +C_Year


(org.compiere.process.YearCreatePeriods)
++C_Period (org.compiere.process.PeriodStatus)
+++C_PeriodControl
(org.compiere.process.PeriodControlStatus)
+C_NonBusinessDay

Account Element Window C_Element


+C_ElementValue
++C_ElementValue_Trl

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

74
Asia e-University Master in Open Source ERP

++C_SubAcct
Accounting Dimensions Window AD_Org C_SalesRegion C_Activity C_Project
(org.compiere.process.ProjectGenOrder)
(org.compiere.process.CopyFromProject)
(org.compiere.process.ProjectSetType)
(org.compiere.process.ProjectClose) C_BPartner
(org.compiere.process.BPartnerOrgLink)
M_Product (M_Product_BOM_Check) C_Campaign

Accounting Schema Window C_AcctSchema (org.compiere.process.AcctSchemaCopyAcct)


+C_AcctSchema_Element
+C_AcctSchema_GL
+C_AcctSchema_Default
(org.compiere.process.AcctSchemaDefaultCopy)

Account Combination Window C_ValidCombination

GL Category Window GL_Category

Currency Type Window C_ConversionType

Currency Window C_Currency


+C_Currency_Trl
+C_Currency_Acct
+C_Conversion_Rate

Currency Rate Window C_Conversion_Rate

Tax Setup WorkFlow

Document Type Window C_DocType


+C_DocType_Trl

Verify Document Types Process org.compiere.process.DocumentTypeVerify

Document Sequence Window AD_Sequence

Update Sequence No Process org.adempiere.process.UpdateSequenceNo

GL Distribution Window GL_Distribution (org.compiere.process.DistributionVerify)


+GL_DistributionLine
Tax Category Window C_TaxCategory
+C_TaxCategory_Trl
Tax Rate Window C_Tax +C_TaxPostal +C_Tax_Trl +C_Tax_Acct

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

75
Asia e-University Master in Open Source ERP

Tax Declaration Window C_TaxDeclaration


(org.compiere.process.TaxDeclarationCreate)
+C_TaxDeclarationLine
+C_TaxDeclarationAcct

Charge Window C_Charge


+C_Charge_Acct

Generate Charges Form org.compiere.apps.form.VCharge

Activity (ABC) Window C_Activity

GL Budget Window GL_Budget

Budget Control Window GL_BudgetControl

GL Fund (Alpha) Window GL_Fund +GL_FundRestriction

Resubmit Posting Process org.compiere.process.FactAcctReset

UnPosted Documents Window RV_UnPosted

Reset Accounting Process org.compiere.process.FactAcctReset

Update Accounting Balance Process org.compiere.report.FinBalance

M9.2 Financial Reporting


Report Line Set Window PA_ReportLineSet
(org.compiere.process.ReportLineSet_Copy)
+PA_ReportLine
++PA_ReportSource

Report Column Set Window PA_ReportColumnSet


(org.compiere.process.ReportColumnSet_Copy)
+PA_ReportColumn

Reporting Hierarchy Window PA_Hierarchy

Financial Report Window PA_Report (org.compiere.report.FinReport)


(org.compiere.report.FinReportJasper)

Statement of Accounts Report org.compiere.report.FinStatement

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

76
Asia e-University Master in Open Source ERP

Trial Balance Report org.compiere.report.TrialBalance

M9.3 Performance Measurement


SLA Criteria Window PA_SLA_Criteria +PA_SLA_Goal
(org.compiere.sla.SLAGoalProcess)
++PA_SLA_Measure (org.compiere.sla.SLAMeasureProcess)

SLA by Partner Window C_BPartner (org.compiere.process.BPartnerOrgLink)


+PA_SLA_Goal (org.compiere.sla.SLAGoalProcess)
++PA_SLA_Measure (org.compiere.sla.SLAMeasureProcess)

Alert Window AD_Alert


+AD_AlertRule
+AD_AlertRecipient

Performance Measurement Setup WorkFlow

Performance Color Schema Window PA_ColorSchema

Performance Measure Window PA_Measure +PA_Achievement

Performance Measure Calculation Window PA_MeasureCalc

Performance Ratio Window PA_Ratio +PA_RatioElement

Performance Goal Window PA_Goal +PA_GoalRestriction

Performance Benchmark Window PA_Benchmark


+PA_BenchmarkData

Performance Indicators Form org.compiere.apps.graph.ViewPI

M9.4 Costing
Cost Type Window M_CostType

Cost Element Window M_CostElement

Product Costs Window M_Product (M_Product_BOM_Check)


+M_Cost +M_CostDetail
+M_CostQueue +M_Product_Costing

Create Costing Records Process org.compiere.process.CostCreate


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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

77
Asia e-University Master in Open Source ERP

Standard Cost Update Process org.compiere.process.CostUpdate

Product Costing Report (old) Report

Product Cost Summary Report

Product Cost Report

Product Cost Detail Report

GL Journal Window GL_JournalBatch (org.compiere.process.CopyFromJournal)


+GL_Journal
++GL_JournalLine

Accounting Fact Details Window Fact_Acct

Accounting Fact Details Report

Access Audit Window AD_AccessLog

Accounting Fact Balances Window Fact_Acct_Balance

Accounting Fact Daily Report

Accounting Fact Period Report

M10 Assets
Asset Group Window A_Asset_Group

Asset Window A_Asset


+A_Asset_Delivery
+R_IssueProject

Deliver Assets Process org.compiere.process.AssetDelivery

Customer Assets Report

Asset Delivery Details Report

Asset Delivery Month Report

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

78
Asia e-University Master in Open Source ERP

M11 Others
Registration Attributes Window A_RegistrationAttribute
+A_RegistrationProduct

Registration Window A_Registration


+A_RegistrationValue

ASP Modules Window ASP_Module


+ASP_Level (org.adempiere.process.ASPGenerateLevel)
++ASP_Window
+++ASP_Tab (org.adempiere.process.ASPGenerateFields)
++++ASP_Field
++ASP_Process
+++ASP_Process_Para
++ASP_Form
++ASP_Task
++ASP_Workflow

Quiz
• What is the Application Dictionary about?

• How many tabs can a window have? Where is it defined?

• Where do you define the data model of the ERP?

• How would you control a process that you want to run in the ERP?

• What is the programming language used in most of the AD functions?

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

79
Asia e-University Master in Open Source ERP

Glossary

Term Explanations

Application Dic- A configurator to define the menu structure, windows and its itabs
tionary and fields in the ERP system. It requires no code changes.

Menu Tree To layout all the items needed by a user role.

An Application Dictionary tool to handle the window layout as to


Window, Tab and
its tabs, what table it is refering to and the arrangement of its
Field
fields.

Window A display that has a number of tabs as defined by the AD

Tab Is an element in the Window and is attached to a database table.

Model Refers to the structure of tables within the system

Master-Detail Model of two tables one has further children records of the parent

Form (menu) A menu definition that refers to a custom java panel.

Report & Process Another menu definition for a configurable process or report

CRUD Standard database functions such as Create, Read, Update, Delete

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

80
Asia e-University Master in Open Source ERP

Summary
1. The functional layout is accessible via a Menu Tree;

2. Users can have uniquely defined Roles that sees its own Menu Tree for easy access to
their frequent tasks under their job functions;

3. Most of the tables in the database are managed via standard Window-Tabs;

4. The Application Dictionary allow easy and standard configuration of the User Inter-
face and relates it to the application model;

5. Items in the menu are either of type Window, Report & Process or Form;

6. A Report & Process configure the parameters when refering to some procedures or
java code to run;

7. A Form is a customised POJO (plain old java object) panel to display functions that
the standard Window cannot present. Example is a dedicated POS (point of sales
system);

8. The AD (Application Dictionary) standardised the most common properties of the


ERP system which handles most of the requirements;

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

81
Asia e-University Master in Open Source ERP

Chapter 3 - Setup New Shop

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

1. Setup a New Client and its users in the ERP;

2. Import the Chart Of Accounts;

3. Use the Import Loader;

4. Setting up of other important features;

5. Examine the accounts posted at the end.

Introduction
After setting up the application and going through its menu tree, we will now try the
next big thing to do which is to create a completely new client in the ERP. There is al-
ready a ready-made client called ‘GardenWorld’ which you can use to play around and
test things.

We will go through a some walk-through of the whole new client to get a feel of its
functional operations. The idea is to familiarise with many of its key functions and be
aware of its fuller scope and capabilities. From there you can then judge as to what en-
vironment is a suitable fit for such an ERP.

Each operational step will try to keep to the menu tree treatment from the last chapter.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

82
Asia e-University Master in Open Source ERP

Form: Initial Client Setup


Description : Initial new Client/Tenant Setup

Help : Set up a new Client/Tenant of the system

Class Name: org.compiere.apps.form.VSetup

Definition

Before you can start using ADempiere for your business, you have to define a new Cli-
ent, Organization, Roles, Users, etc. These become the initial parameters in your system.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

83
Asia e-University Master in Open Source ERP

About the Client

▪ The Client is the highest level of an independent business entity. Each Client will
have one or more
▪ Organizations reporting to it. Each Client defines the
▪ accounting parameters (Accounting Schema,
▪ Tree definition,
▪ Non Monetary UOM's).
ADempiere has already two clients predefined for you. The first is the

▪ System Client, which you will use to add your Client and configure your system.
▪ GardenAdmin is a sample Client, you can use for testing purposes, and have
some datas inserted
▪ (as Business Partners,
▪ Products,
▪ Banks accounts, etc.).
You do not delete these two clients, but create a new one for your business.

Beginning of Implementation
▪ Login into ADempiere with the System or SuperUser User,

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

84
Asia e-University Master in Open Source ERP

System Administrator Role and System as Client

▪ Go to Initial Client Setup window:

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

85
Asia e-University Master in Open Source ERP

▪ and open:

▪ and fill the fields with your data.


Some of those fields are:

▪ Client: is the name of your company, we filled with YourClient.


▪ Organization: is often a legal entity or sub-unit for which documents and transac-
tions are processed. By example, we filled with YourOrganization; you may de-
fine others organization in a later time. Often, in small companies the Client and
the Organization are the same.
▪ YourclientAdmin and YourclientUser are the initial users that will be enabled to
login into the system.
▪ Leave the Business Partner and the Product checkboxes checked and
▪ the others unchecked. Those selection will be used to define the Accounting
Schema. Afterwards, if you want, you can change these settings, for example to
add Sales Region, Projects, etc.
Please, note the Ok button is disabled. Before you can continue, you must

▪ select the Load Accounting Values Format button.


▪ you select a comma separated file,

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

86
Asia e-University Master in Open Source ERP

▪ AccountingUS.csv which is a US sample of Chart of Accounts


(COA).
You can define your own COA based on that sample and load that instead. The COA is
required by ADempiere for its Financial Integration operations.

▪ Then, press the Load Accounting button...

▪ and choose your COA file.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

87
Asia e-University Master in Open Source ERP

Now you can see the Ok button en-


abled, and now the path to the ac-
counts file is displayed with your
choosed. Press the Ok button to con-
tinue...

▪ and wait for the process to


finish.
Then a new window with a heading

Initial Client Setup is opened:

It shows you all the Users, Roles


and all the standard entities that
were created.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

88
Asia e-University Master in Open Source ERP

Refining The Implementation


The next step will be to check and update the initial settings. To do it,

▪ logout from ADempiere,


▪ and login again,
but with your client-level Role you have just created (YourclientAdmin in the example).
The initial password to your client-level Role is same as your client-level role name.

Then we'll go to the Initial Client Setup Review workflow to continue (see next section).

Tips (In summarised form for easy reference. Details will be in following pages)

▪ In order to assure the standard default entities were created and the security in-
frastructure was defined correctly, the only way to add new clients is through the
Initial Client Setup form.
▪ The Initial Client Setup will load only the defaults accounts. In order to load all
your non default accounts and create your account hierarchy, you must log in the
system with your new Admin Role. Now there are two steps to follow. First go
down the Menu to System Admin > Data > Data Import > Import File Loader
and choose your COA file (set the Import Format to 'Accounting - Accounts'
value). Confirm your choice and the accounts already reside in an I_* table in the
database. The second step in the import procedure (by placing the imported ac-
counts into a PA_* table in the database) is to go down the Menu to System Ad-
min > Data > Data Import > Import Account window. In there just press the 'Im-
port Accounts' button. Choose your relevant Element and data-importing behav-
ior and confirm. After the process is finished you have to log out and log back in.
If you select the 'Element Value' tab in the Account Element you will see your
Chart Of Accounts organized in your preferred hierarchy. By the way this two-
staged importing mechanism is employed in the addition of the major business
objects into your system (e.g. Business Partners, Products, etc.).
▪ About Accounts File: If you change the .csv example file, to adapt to your needs,
be careful: you must have only and only one account defined for each of the De-
fault Accounts. Otherwise, the process will fail. The file is required with un-
modified structure when you initially create a new Client. To change the example
account file, we advice you:
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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

89
Asia e-University Master in Open Source ERP

Delete all lines with exception of the ones, which have Default Accounts.
Change the lines (value/key, name, description) as you need for your chart of accounts.
Add the other accounts in your chart of accounts.
Above steps are easily done using Adempiere Account editor (see the wiki article)

Have you done Checklist

▪ InstallServer DONE
▪ InstallClient DONE
▪ Installing ADempiere DONE

The next pages will illustrate through the steps described above which is the Initial
New Client Review and the Import Accounts process. It will show you in more detail
including how the Import Loader works.

Did You Know That?


• A company is called a Client in the ERP? Its departments are refered to as Organisations.

• The Client can have an organisation tree that is of unlimited hierarchy structure? Some orgs
can be a summary org so that there are other child orgs under them.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

90
Asia e-University Master in Open Source ERP

Workflow: Initial Client Setup Review


Description : Review of system level setup of a new Client

Help : This workflow reviews the system setup of a new client as performed by the automatic
Initial Client Setup. You may want to check also the following Workflows: - Accounting Setup -
Business Partner Setup - Product Setup - Price list Setup - Warehouse Setup - Tax Setup

This workflow acts as a checklist for you to make sure that you do not miss any of the stated box
items. You can define more users with different roles for each important person in your organi-
sation that is going to use this ERP system

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

91
Asia e-University Master in Open Source ERP

Window: Import Loader Format


Description : Maintain Import Loader Formats

Help : The Import Loader Format Window is used for defining the file layout for product infor-
mation which will be imported.

Tab: Import Format

Table Name: AD_ImpFormat

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

92
Asia e-University Master in Open Source ERP

Tab: Format Field


Description : Maintain Format Fields

Help : Define the individual field based on the table definition. Please note that you have to
make sure that a Constant has the correct SQL data type (i.e. if it is a 'string', you need to enclose
it like 'this').

Table Name : AD_ImpFormat_Row

▪ After defining the import format and its fields, the next step is to import calling the Import
File Loader.
▪ The column contents depend on the table selected in the Import Format tag.
▪ The date format must have the months in capital letters (MM). Otherwise, the data will not
be recognized as of the Date format.
▪ You can define some fields as "constants". The columns of the fields defined as constants do
not need to be imported, but are fed with the same value for all imported lines.
▪ Start No determines the field of the import file which is to be processed.
▪ It is possible that a column retrieves information out of several fields of the import file. End
No determines the last field of the import file which is to be processed. End No appears only
for fixed position import files.

See also http://red1.org/compiere/ImportPriceSetup.zip

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

93
Asia e-University Master in Open Source ERP

Window: Import Accounts


Description : Importing and updating to Accounts Schema Chart of Accounts
Table Name : I_ElementValue

When you use the Import Loader (below) to import the accounts into the above screen, you can
press the Import Accounts button at the bottom to begin the process. There may be a few errors-

due to starting blank records which won’t affect the results as all the right records are in.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

94
Asia e-University Master in Open Source ERP

Tab: Element (Window: Account Element)


Description : Account Element definition

Help : The Element Tab defines the Name, Description and Format for an Element. Additionally,
a Type of Account or User Defined is selected. Each Account Schema must have an Account
Element type. The User Defined Elements are optional.

Table Name : C_Element

After doing the importing as described in the previous page, you can examine the re-
sults through the above window tab.

Then we have to setup other parts of the system such as Roles, Users, Organisations and
Calendar.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

95
Asia e-University Master in Open Source ERP

Window: Role
Description : Maintain User Responsibilities
Help : The Role Window allows you to define the different roles that users of this system will
have. Roles control access to windows, tasks, reports, etc. For a client an Administrator and User
role are predefined. You may add additional roles to control access for specific functionality or
data. You can add users to the role. Note that access information is cached and requires re-login
or reset of cache.
Tab: Role
Description : Define responsibility roles
Help : Define the role and add the client and organizations the role has access to. You can give
users access to this role and modify the access of this role to windows, forms, processes and re-
ports as well as tasks.
If the Role User Level is Manual, the assigned acces rights are not automatically updated (e.g. if
a role has a restricted number of Windows/Processes it can access). You need to add organiza-
tional access unless the role has access to all organizations. The SuperUser and the user creating
a new role are assigned to the role automatically.
If you select an Organization Tree, the user has access to the leaves of summary organizations.
Note: You cannot change the System Administrator role.
Table Name : AD_Role
(See next page for screenshot)

Notes on important and interesting fields:

User Level System Client Organization


The User Level field determines if users of this Role will have access to System level data, Or-
ganization level data, Client level data or Client and Organization level data.

Approval Amount The approval amount limit for this role


The Approval Amount field indicates the amount limit this Role has for approval of documents.

Approve own Documents Users with this role can approve their own documents
If a user cannot approve their own documents (orders, etc.), it needs to be approved by someone
else.
(continue next page)

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

96
Asia e-University Master in Open Source ERP

Supervisor Supervisor for this user/organization - used for escalation and


approval
The Supervisor indicates who will be used for forwarding and escalating issues for this user - or
for approvals.

Overwrite Price Limit Overwrite Price Limit if the Price List enforces the Price Limit
The Price List allows to enforce the Price Limit. If set, a user with this role can overwrite the
price limit (i.e. enter any price).

Preference Level Determines what preferences the user can set Preferences
allow you to define default values. If set to None, you cannot set any preference nor value pref-
erence. Only if set to Client, you can see the Record Info Change Log.

Show Accounting Users with this role can see accounting information This allows to prevent
access to any accounting information.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

97
Asia e-University Master in Open Source ERP

Access all Orgs Access all Organizations (no org access control) of the client When
selected, the role has access to all organizations of the client automatically. This also increases
performance where you have many organizations.
Use User Org Access Use Org Access defined by user instead of Role Org Access You can define
the access to Organization either by Role or by User. You would select this, if you have many
organizations.

Personal LockAllow users with role to lock access to personal records If enabled, the user
with the role can prevent access of others to personal records. If a record is locked, only the user
or people who can read personal locked records can see the record.

Personal Access Allow access to all personal records Users of this role have access to all
records locked as personal.

Confirm Query Records Require Confirmation if more records will be returned by the query
(If not defined 500) Enter the numer of records the query wil return without confirmation to
avoid unnecessary system load. If 0, the system default of 500 is used.

Max Query Records If defined, you cannot query more records as defined - the query criteria
needs to be changed to query less records Enter the numer of records a user will be able to
query to avoid unnecessary system load. If 0, no restrictions are imposed.

From the window screen you can see many other tabs which control or refine the types
of access for that role. This allows many different roles been fulfilled for any type of or-
ganisational needs.

Next we look at how the User and Organisation windows are used.

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

98
Asia e-University Master in Open Source ERP

Window: User
Description : Maintain Users of the system
Help : The User Window allows you to maintain User of the system. Users can log into the sys-
tem and have access to functionality via one or more roles. A user can also be a business partner
contact.
Tab: User Contact
Description : Maintain User or Business Partner Contact
Help : The User Tab defines the log in for Users who have access to the system. For application
access, users need to have a role assigned.
Table Name : AD_User

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

99
Asia e-University Master in Open Source ERP

The User account is what is needed to login into the ERP system. Thus everyone who
has access to the ERP has a login ID and Password. Under the Queries tab, is stored all
the defined Advanced Search filters by the User.

NOTES on important and interesting fields:

EMail Address Electronic Mail Address


The Email Address is the Electronic Mail ID for this User and should be fully qualified (e.g.
joe.smith@company.com). The Email Address is used to access the self service application func-
tionality from the web.

Password Password of any length (case sensitive)


The Password for this User. Passwords are required to identify authorized users. For Adempiere
Users, you can change the password via the Process "Reset Password".

UserPIN Pin number used in POSterita

Full BP Access The user/concat has full access to Business Partner information
and resources
If selected, the user has full access to the Business Partner (BP) information (Business Docu-
ments like Orders, Invoices - Requests) or resources (Assets, Downloads). If you deselet it, the
user has no access rights unless, you explicitly grant it in tab "BP Access"

EMail User ID User Name (ID) in the Mail System


The user name in the mail system is usually the string before the @ of your email address. Re-
quired if the mail server requires authentification to send emails.

EMail User Password Password of your email user id


Required if the mail server requires authentification to send emails.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

100
Asia e-University Master in Open Source ERP

Supervisor Supervisor for this user/organization - used for escalation and


approval The Supervisor indicates who will be used for forwarding and escalating issues
for this user - or for approvals.

LDAP User Name User Name used for authorization via LDAP (directory) serv-
ices Optional LDAP system user name for the user. If not defined, the normal Name of the
user is used. This allows to use the internal (LDAP) user id (e.g. jjanke) and the normal display
name (e.g. Jorg Janke). The LDAP User Name can also be used without LDAP enables (see sys-
tem window). This would allow to sign in as jjanke and use the display name of Jorg Janke.

Trx Organization Performing or initiating organization


The organization which performs or initiates this transaction (for another organization). The
owning Organization may not be the transaction organization in a service bureau environment,
with centralized services, and inter-organization transactions.

Verification Info Verification information of EMail Address


The field contains additional information how the EMail Address has been verified

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

101
Asia e-University Master in Open Source ERP

Window: Organization
Description : Maintain Organizations
Help : The Organization Window allows you to define and maintain Organizational entities. An
Organization is often a legal entity or sub-unit for which documents and transactions are proc-
essed
Tab: Organization
Description : Define Organizations
Help : The Organization Tab is used to define an Organization. Each Organization has a Key and
Name and optionally a Description. When adding a new organization, you must re-login to be
able to access the new organization.
Table Name : AD_Org

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

102
Asia e-University Master in Open Source ERP

Organisation structure is more of reporting impact where you can organise your data
according to the organisation tree. There can be unlimited summary organisations to
govern over the whole structure. The * (asterisk) organisation means ‘All’ organisations.

The following chapters will use the Garden World client to examine the various compo-
nents and business cycles of the ERP. It won’t use the new client so as not to burden the
new student. In a later module such as Presales and Business Analysis, we can look
deeper into how to develop the new client to function more fully. Still, for those who
wish to do that earlier may refer to the ADempiere online wiki.

Quiz
1. Why would a User need a Role?

2. What else do you define first within the system for a User?

3. What does an Import Loader do?

4. How many Default Accounts are there in the COA?

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

103
Asia e-University Master in Open Source ERP

Glossary

Terminology Explanations
Client Highest sole entity in ADempiere, commonly as Company

Organisation Sub section in the Company such as Departments or Units.

Role Definition of access rules for certain users of the system

Chart of Accounts - Hierarchy listing of all accounting elements


COA
to record transactions within an entity.

UOM Unit of Measure used as a counting property of Products

Import Loader A program to bring in external data into ADempiere format.

Garden World Sample Client in ADempiere for referencing and testing.

Mandatory accounting elements for standard functions in case


Default Accounts
not defined by end-user.
Accounts Editor Contribution by Daniel Tamm to better edit the COA

Accounting Period Traditional alotment of accounting time frame in months.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

104
Asia e-University Master in Open Source ERP

Summary
1. After successful installation, you can setup a new company for the ERP;

2. The new company or Client will have its own Organisations, Users and Roles;

3. Its basic data can be imported via Import Loaders;

4. Each Role is defined as to what it can do and cannot do in the system;

5. Users are for individual logins and assigned to specific roles.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

105
Asia e-University Master in Open Source ERP

Chapter 4 - Materials

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

1. Desribe the 3 types of products in an ERP;

2. Show where products are stored;

3. Create categories of products in the ERP System;

4. Associate products to suppliers;

5. Provide other properties to a product such as UOM and Price;

6. Setting up business rules such as replenishment and delivery;

Introduction
This chapter and the others after the New Client Setup will start on the functionality of
the main components in ADempiere. It will rely on the sample Garden World client al-
ready included in the system. In the Presales and Analysis Module will we go into the
new client setup further.

In many ERP systems, the term materials refers to what is commonly known as prod-
ucts. Products are the heart of any business and thus is also core in an ERP System. It is
what you use to trade with. You buy and sell products. All activities associated with
such trading makes up alot of functionaility in the ERP. The handling of a product will
involve the supplier of the product, its price, its attributes and its accounting conse-
quences when a movement or trade is made.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

106
Asia e-University Master in Open Source ERP

Workflow: Product Setup


Description : Set up Products

Help : Define your products manually. You should verify the settings especially if you import
your products.

This workflow allows you to plan your product creation starting from defining what are your
warehouse locators that you would have in your ERP. Small users may just have one or not at all
(they would still have a default one as system reference). Each product will have its own Unit of
Measure (UOM), at least as an ‘each’. Produc Category allows the users to plan the grouping of
the products for better reporting and accounting purposes. Tax Category is associated with the
Product Category to save from defining again for each similar product.

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

107
Asia e-University Master in Open Source ERP

3 Types Of Product
The concept of products in ERP can be divided into 3 types - Item, Resource or Service.

As you can see in the illustration, each type of product has its uses.

ITEM - this is the standard understanding of a product. It is something you can touch
and store in the warehouse. It has a location for you to put it in if it is stockable. If not it
is just bought and sold without having a location in your ERP System.

RESOURCE - this is a type of product that is time-based and not stockable. Its Unit of
Measure (UOM) is in Minutes, Hours, Days, Months and so on. Examples are consult-
ants selling their man-days, premises for occupying and vehicles for rent.

SERVICE - this is a kind of product that is virtual and repeatable such as website sub-
scription, prepaid phone subscription and club membership where its supply is not ex-
haustable.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

108
Asia e-University Master in Open Source ERP

Storage of Products
All products will show up in the storage window or Warehouse Locators of the ERP
System as you can see in the screenshot below of the Product Info window.

Study the window particularly the Available column. Note that the Resource and Serv-
ice products have 99,9999 as quantity to signify that they are not counted based on
stockable basis.

NOTE: This window is called from the top menu > View and not from the Main Menu.
It is a standard item on every ERP window’s top menu panel.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

109
Asia e-University Master in Open Source ERP

Creating The Product


Window: Product
Description : Maintain Products
Help : The Product Window defines all products used by an organization. These products in-
clude those sold to customers, used in the manufacture of products sold to customers and prod-
ucts purchased by an organization.

You can create the product in this window as a first step in the product creation process even
without creating Product Category or UOM. In such a case you just use the Standard and Each
values. You may also create the product on the fly from a Sales Order or Purchase Order by
zooming from there into this Product window.
One picky prerequisite for a product is its Locator and Price List. If there is no Locator or Price
List, the product may not be processed in an Order document. But if you are in a hurry, you can
still proceed with a Standard Locator and a Standard Price List with a zero price! But this may
have accounting consequences particularly when you are using Average Costing or LIFO/FIFO
rule. But then again you can use Standard Costing!
Note the following page showing the Product window. In the first Product Tab there we can see
many fields. Don’t worry about that. The Application Dictionary can take care of that. But more
on that in the Presales and Business Analysis module.
For now you can take note of some interesting boxes such as the Stocked, Purchased and Sold
boxes.
STOCKED will mean that it will show up its quantities in the Product Info or Locator window.
PURCHASED would allow it to appear when enquring in the Purchase Order. SOLD will be
likewise allowing it to appear in a Sales Order.
In further tabs the important ones are Purchasing to set costing information, Business Partner
to set the supplier of the product that will automatically appear in the Purchase Order and the
Price tab.
The Accounting tab is usually defaulted to standard defaults in your COA (Chart of Accounts).
The BOM (Build of Materials) tab is used only when you are designing a manufactured product
such as a furniture set. The BOM is also undergoing migratin to the Libero more fuller manufac-
turing function. However there is need to maintain the BOM as a simple Sales Kit where simple
items can be bundled into product packages.
The Self Service box indicates whether end users can order the items on the WebStore compo-
nent of the ERP System.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

110
Asia e-University Master in Open Source ERP

Tab: Product
Description : Define Product
Help : The Product Tab defines each product and identifies it for use in price lists and orders.
The Location is the default location when receiving the stored product.
Table Name : M_Product

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

111
Asia e-University Master in Open Source ERP

NOTES on some important and useful fields:

Client Client/Tenant for this installation


A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a syno-
nym for Client.

Organization Organizational entity within client


An organization is a unit of your client or legal entity - examples are store, department. You can
share data between organizations.

Search Key Search key for the record in the format required - must be
unique
A search key allows you a fast method of finding a particular record.
If you leave the search key empty, the system automatically creates a numeric number. The
document sequence used for this fallback number is defined in the "Maintain Sequence" window
with the name "DocumentNo_<TableName>", where TableName is the actual name of the table
(e.g. C_Order).

Active The record is active in the system


There are two methods of making records unavailable in the system: One is to delete the record,
the other is to de-activate the record. A de-activated record is not available for selection, but
available for reports.
There are two reasons for de-activating and not deleting records: (1) The system requires the re-
cord for audit purposes. (2) The record is referenced by other records. E.g., you cannot delete a
Business Partner, if there are invoices for this partner record existing. You de-activate the Busi-
ness Partner and prevent that this record is used for future entries.

SKU Stock Keeping Unit


The SKU indicates a user defined stock keeping unit. It may be used for an additional bar code
symbols or your own schema.

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

112
Asia e-University Master in Open Source ERP

Summary Level This is a summary entity


A summary entity represents a branch in a tree rather than an end-node. Summary entities are
used for reporting and do not have own values.

Product Category Category of a Product


Identifies the category which this product belongs to. Product categories are used for pricing and
selection.

UOM Unit of Measure


The UOM defines a unique non monetary Unit of Measure.

Product Type Type of product


The type of product also determines accounting consequences.

Mail Template Text templates for mailings


The Mail Template indicates the mail template for return messages. Mail text can include vari-
ables. The priority of parsing is User/Contact, Business Partner and then the underlying business
object (like Request, Dunning, Workflow object).
So, @Name@ would resolve into the User name (if user is defined defined), then Business Part-
ner name (if business partner is defined) and then the Name of the business object if it has a
Name. For Multi-Lingual systems, the template is translated based on the Business Partner's lan-
guage selection.

Drop Shipment Drop Shipments are sent from the Vendor directly to the Customer
Drop Shipments do not cause any Inventory reservations or movements as the Shipment is from
the Vendor's inventory. The Shipment of the Vendor to the Customer must be confirmed.

Exclude Auto Delivery Exclude from automatic Delivery


The product is excluded from generating Shipments. This allows manual creation of shipments
for high demand items. If selected, you need to create the shipment manually.
But, the item is always included, when the delivery rule of the Order is Force (e.g. for POS).
This allows finer granularity of the Delivery Rule Manual.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

113
Asia e-University Master in Open Source ERP

Image URL URL of image URL of image


The image is not stored in the database, but retrieved at runtime. The image can be a gif, jpeg or
png.

Guarantee Days Number of days the product is guaranteed or available


If the value is 0, there is no limit to the availability or guarantee, otherwise the guarantee date is
calculated by adding the days to the delivery date.

Min Guarantee Days Minumum number of guarantee days


When selecting batch/products with a guarantee date, the minimum left guarantee days for auto-
matic picking. You can pick any batch/product manually.

Attribute Set Product Attribute Set


Define Product Attribute Sets to add additional attributes and values to the product. You need to
define a Attribute Set if you want to enable Serial and Lot Number tracking.

Attribute Set Instance Product Attribute Values


The values of the actual Product Attributes. Product Instance attributes are defined in the actual
transactions.

Featured in Web Store If selected, the product is displayed in the inital or any empty
search
In the display of products in the Web Store, the product is displayed in the inital view or if no
search criteria are entered. To be displayed, the product must be in the price list used.

Self-Service This is a Self-Service entry or this entry can be changed via Self-Service
Self-Service allows users to enter data or update their data. The flag indicates, that this record
was entered or created via Self-Service or that the user can change it via the Self-Service func-
tionality.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

114
Asia e-University Master in Open Source ERP

Tab: Purchasing
Description : Purchasing
Help : The Purchasing Tab define the pricing and rules ( pack quantity, UPC, minimum order
quantity) for each product.
Table Name : M_Product_PO

NOTES on some important and useful fields:

Current vendor Use this Vendor for pricing and stock replenishment
The Current Vendor indicates if prices are used and Product is reordered from this vendor.

UPC/EAN Bar Code (Universal Product Code or its superset European


Article Number)

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

115
Asia e-University Master in Open Source ERP

Use this field to enter the bar code for the product in any of the bar code symbologies (Codabar,
Code 25, Code 39, Code 93, Code 128, UPC (A), UPC (E), EAN-13, EAN-8, ITF, ITF-14,
ISBN, ISSN, JAN-13, JAN-8, POSTNET and FIM, MSI/Plessey, and Pharmacode).

Minimum Order Qty Minimum order quantity in UOM


The Minimum Order Quantity indicates the smallest quantity of this product which can be or-
dered.

Order Pack Qty Package order size in UOM (e.g. order set of 5 units)
The Order Pack Quantity indicates the number of units in each pack of this product.

Did You Know That?


• The BOM (build of materials) in the ERP system was to be replaced by the more sophisticated
Libero BOM? But due to its unclear impact to previous settings, it is taken out after 353a and
stabilised first as a branch. It is due for further decision on its admisability in future revisions.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

116
Asia e-University Master in Open Source ERP

Tab: Price
Description : Product Pricing

Help : The Pricing Tab displays the List, Standard and Limit prices for each price list a product
is contained in.

Table Name : M_ProductPrice

NOTES on some important and useful fields:


Price List Version Identifies a unique instance of a Price List
Each Price List can have multiple versions. The most common use is to indicate the dates that a
Price List is valid for.
List Price List Price
The List Price is the official List Price in the document currency.
Standard Price Standard Price
The Standard Price indicates the standard or normal price for a product on this price list

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

117
Asia e-University Master in Open Source ERP

Tab: Accounting
Description : Define Accounting Parameters

Help : The Accounting Tab defines the defaults to use when generating accounting transactions
for orders and invoices which contain this product.

Table Name : M_Product_Acct

NOTES on important and useful fields:

Product Asset Account for Product Asset (Inventory)


The Product Asset Account indicates the account used for valuing this a product in inventory.

Product Expense Account for Product Expense

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

118
Asia e-University Master in Open Source ERP

The Product Expense Account indicates the account used to record expenses associated with this
product.

Cost Adjustment Product Cost Adjustment Account


Account used for posting product cost adjustments (e.g. landed costs)

Inventory Clearing Product Inventory Clearing Account


Account used for posting matched product (item) expenses (e.g. AP Invoice, Invoice Match).
You would use a different account then Product Expense, if you want to differentate service re-
lated costs from item related costs. The balance on the clearing account should be zero and ac-
counts for the timing difference between invoice receipt and matching.

Product COGS Account for Cost of Goods Sold


The Product COGS Account indicates the account used when recording costs associated with this
product.

Purchase Price Variance Difference between Standard Cost and Purchase Price (PPV)
The Purchase Price Variance is used in Standard Costing. It reflects the difference between the
Standard Cost and the Purchase Order Price.

Invoice Price Variance Difference between Costs and Invoice Price (IPV)
The Invoice Price Variance is used reflects the difference between the current Costs and the In-
voice Price.

Trade Discount Received Trade Discount Receivable Account


The Trade Discount Receivables Account indicates the account for received trade discounts in
vendor invoices

Trade Discount Granted Trade Discount Granted Account

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

119
Asia e-University Master in Open Source ERP

The Trade Discount Granted Account indicates the account for granted trade discount in sales
invoices

Product Revenue Account for Product Revenue (Sales Account)


The Product Revenue Account indicates the account used for recording sales revenue for this
product.

Quiz
• Where do you setup the Replenishment information for a product?

• What kind of product is a hotel room?

• What kind of product is a human trainer?

• What will be the UOM of the renting of a conference room?

• Where would you keep all the prices of a product?

• How do you get a product to be featured on the web-store?

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

120
Asia e-University Master in Open Source ERP

WebStore
Those items that are marked as self-service and webstore will appear when you RUN_Server2
and assign an IP to your web server for others in the web to access it. Below is a screenshot of
the webstore.

It is called from the web browser in the form of http://<IP>:port no/admin and clicking on the
Web Store link.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

121
Asia e-University Master in Open Source ERP

Glossary

Terminology Explanations

Setup to show what steps (windows) are involved. Use as refer-


Workflow
ence. Need not follow strictly.

A product that is based on time as the UOM such as hours, days


Resource
and weeks.

A product that is virtual or electronic and has no limit in quan-


Service
tity such as e-magazine and prepaid telephony facilities.

Product Category Grouping of products for better reporting and organising.

On-hand quantity The amount that is physically there in the locator

Available quantity The amount that can be sold (on-hand less sold quantity)

Build of Materials is a parent product with numerous child


BOM
products such as a furniture set with few chairs and a table

Webstore E-Commerce interface presented over a web-browser

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

122
Asia e-University Master in Open Source ERP

Summary
1. Product is the concept of what is traded by a user.

2. There are 3 types of products including Resource and Service.

3. There are various information associated with a product to govern its treatment in
the ERP system.

4. A product must have a price and can have a supplier.

5. There can be different PriceList Versions such as Purchase and Export pricings.

6. It can be stored in a Location and be counted. A Resource and Service cannot be


counted.

7. It can have a Unit of Measure and other properties.

8. It can be assigned to a Category and appear on the Web Store for Self-Service pur-
chase by online customers.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

123
Asia e-University Master in Open Source ERP

Chapter 5 - Business Partners

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

1. Explain what is a Business Partner;

2. List the types of Business Partners;

3. Identify the different properties and Default Accounts of a Business Partner;

4. Go through the different tabs in a Business Partner window;

5. Understand the properties of a User and Sales Representative.

Introduction
Just like products there is a larger concept to what is Business Partners. It can stand for
Vendors, Customers, Sales Reps and Employees. Just like the Product window the BPartner
as it is commonly refered to, has also many tabs to handle various types of properties.

There is a Standard BPartner that acts as default if no one is defined such as for Walk-in
customers or testing purchases. You can create BPartner on the fly and with minimal in-
formation. Each user login should have a BPartner record besides the User record.
BPartner also has base information for CRM (Customer Relationship Management) such
as prospecting and credit-worthiness information.

Also like Products, BPartners have their own categories.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

124
Asia e-University Master in Open Source ERP

Tab: Business Partner


Description : Business Partner

Help : The Business Partner Tab defines any Entity with whom an organization transacts.

Table Name : C_BPartner

NOTES on important and useful fields:

Employee Indicates if this Business Partner is an employee


The Employee checkbox indicates if this Business Partner is an Employee. If it is selected, addi-
tional fields will display which further identify this employee.

Credit Status Partner Credit Status


Credit Management is inactive if Credit Status is No Credit Check, Credit Stop or if the Credit
Limit is 0.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

125
Asia e-University Master in Open Source ERP

If active, the status is set automatically set to Credit Hold, if the Total Open Balance (including
Vendor activities) is higher then the Credit Limit. It is set to Credit Watch, if above 90% of the
Credit Limit and Credit OK otherwise.

Open Balance Total Open Balance Amount in primary Accounting Currency


The Total Open Balance Amount is the calculated open item amount for Customer and Vendor
activity. If the Balance is below zero, we owe the Business Partner. The amout is used for Credit
Management.
Invoices and Payment Allocations determine the Open Balance (i.e. not Orders or Payments).

D-U-N-S Dun & Bradstreet Number


Used for EDI - For details see www.dnb.com/dunsno/list.htm

NAICS/SIC Standard Industry Code or its successor NAIC -


http://www.osha.gov/oshstats/sicser.html The NAICS/SIC identifies either of these codes that
may be applicable to this Business Partner.

Business Partner Group Business Partner Group


The Business Partner Group provides a method of defining defaults to be used for individual
Business Partners.

Language Language for this Business Partner if Multi-Language enabled


The Language identifies the language to use for display and formatting documents. It requires,
that on Client level, Multi-Lingual documents are selected and that you have created/loaded the
language.

Prospect Indicates this is a Prospect


The Prospect checkbox indicates an entity that is an active prospect.

Link Organization Link Business Partner to an Organization

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

126
Asia e-University Master in Open Source ERP

If the Business Partner is another Organization, select the Organization or set to empty to create a
new Organization. You link a Business Partner to an Organization to create explicit Documents
for Inter-Org transaction.
If you create a new Organization, you may supply a Organization Type. If you select a Role, the
access to the new Organization is limited to that role, otherwise all (non manual) roles of the Cli-
ent will have access to the new Organization.

Potential Life Time Value Total Revenue expected


The Potential Life Time Value is the anticipated revenue in primary accounting currency to be
generated by the Business Partner.

Actual Life Time Value Actual Life Time Revenue


The Actual Life Time Value is the recorded revenue in primary accounting currency generated by
the Business Partner.

Acquisition Cost The cost of gaining the prospect as a customer


The Acquisition Cost identifies the cost associated with making this prospect a customer.

Employees
Number of employees Indicates the number of employees for this Business Partner. This field
displays only for Prospects.

Share Share of Customer's business as a percentage


The Share indicates the percentage of this Business Partner's volume of the products supplied.

Sales Volume in 1.000 Total Volume of Sales in Thousands of Currency


The Sales Volume indicates the total volume of sales for a Business Partner.

First Sale Date of First Sale


The First Sale Date identifies the date of the first sale to this Business Partner

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

127
Asia e-University Master in Open Source ERP

Tab: Customer
Description : Define Customer Parameters

Help : The Customer Tab defines a Business Partner who is a customer of this organi-
zation. If the Customer check box is selected then the necessary fields will display.

Table Name  : C_BPartner

NOTES on important and useful fields:

Customer Indicates if this Business Partner is a Customer


The Customer checkbox indicates if this Business Partner is a customer. If it is select additional
fields will display which further define this customer.

Document Copies Number of copies to be printed


The Document Copies indicates the number of copies of each document that will be generated.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

128
Asia e-University Master in Open Source ERP

Invoice Rule Frequency and method of invoicing


The Invoice Rule defines how a Business Partner is invoiced and the frequency of invoicing.

Invoice Schedule Schedule for generating Invoices


The Invoice Schedule identifies the frequency used when generating invoices.

Delivery Rule Defines the timing of Delivery The Delivery Rule indicates
when an order should be delivered. For example should the order be delivered when the entire
order is complete, when a line is complete or as the products become available.

Delivery Via How the order will be delivered


The Delivery Via indicates how the products should be delivered. For example, will the order be
picked up or shipped.

Price List Unique identifier of a Price List


Price Lists are used to determine the pricing, margin and cost of items purchased or sold.

Discount Schema Schema to calculate the trade discount percentage


After calculation of the (standard) price, the trade discount percentage is calculated and applied
resulting in the final price.

Flat Discount % Flat discount percentage

Payment Rule How you pay the invoice


The Payment Rule indicates the method of invoice payment.

Payment Term The terms of Payment (timing, discount)


Payment Terms identify the method and timing of payment.

Sales Representative Sales Representative or Company Agent


The Sales Representative indicates the Sales Rep for this Region. Any Sales Rep must be a valid
internal user.
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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

129
Asia e-University Master in Open Source ERP

Dunning Dunning Rules for overdue invoices


The Dunning indicates the rules and method of dunning for past due payments.

Order Reference Transaction Reference Number (Sales Order, Purchase Order)


of your Business Partner
The business partner order reference is the order reference for this specific transaction; Often
Purchase Order numbers are given to print on Invoices for easier reference. A standard number
can be defined in the Business Partner (Customer) window.

Invoice Print Format Print Format for printing Invoices


You need to define a Print Format to print the document.

Min Shelf Life % Minimum Shelf Life in percent based on Product Instance
Guarantee Date
Miminum Shelf Life of products with Guarantee Date instance. If > 0 you cannot select products
with a shelf life ((Guarantee Date-Today) / Guarantee Days) less than the minum shelf life, un-
less you select "Show All"

Credit Limit Total outstanding invoice amounts allowed


The Credit Limit indicates the total amount allowed 'on account' in primary accounting currency.
If the Credit Limit is 0, no ckeck is performed. Credit Management is based on the Total Open
Amount, which includes Vendor activities.

Credit Used Current open balance


The Credit Used indicates the total amount of open or unpaid invoices in primary accounting
currency for the Business Partner. Credit Management is based on the Total Open Amount,
which includes Vendor activities.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

130
Asia e-University Master in Open Source ERP

Tab: Customer Accounting


Description : Define Customer Accounting

Help : The Customer Accounting Tab defines the default accounts to use when this business
partner is referenced on an accounts receivable transaction.

Table Name : C_BP_Customer_Acct

NOTES on important and useful fields:


Accounting Schema Rules for accounting
An Accounting Schema defines the rules used in accounting such as costing method, currency
and calendar

Customer Receivables Account for Customer Receivables


The Customer Receivables Accounts indicates the account to be used for recording transaction
for customers receivables.

Receivable Services Customer Accounts Receivables Services Account

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

131
Asia e-University Master in Open Source ERP

Account to post services related Accounts Receivables if you want to differentiate between Serv-
ices and Product related revenue. This account is only used, if posting to service accounts is en-
abled in the accounting schema.

Customer Prepayment Account for customer prepayments


The Customer Prepayment account indicates the account to be used for recording prepayments
from a customer.

Did You Know That?


• A consultant that sells his/her time as a service can be defined as a Product? It is further de-
fined as a Resource in ADempiere.

• A Resource Product can be engaged and view in a Schedule Info panel? It shows within a cal-
endar format so that we know when that resource is engaged and for how long.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

132
Asia e-University Master in Open Source ERP

Tab: Vendor
Description : Define Vendor Parameters

Help : The Vendor Tab defines a Business Partner that is a Vendor for this Organization. If the
Vendor check box is selected the necessary fields will display.

Table Name : C_BPartner

NOTES on important and useful fields:

Vendor Indicates if this Business Partner is a Vendor


The Vendor checkbox indicates if this Business Partner is a Vendor. If it is selected, additional
fields will display which further identify this vendor.

PO Payment Term Payment rules for a purchase order


The PO Payment Term indicates the payment term that will be used when this purchase order
becomes an 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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

133
Asia e-University Master in Open Source ERP

Tab: Location
Description : Define Location

Help : The Location Tab defines the physical location of a business partner. A business partner
may have multiple location records.

Table Name : C_BPartner_Location

NOTES on important and useful fields:

Ship Address Business Partner Shipment Address


If the Ship Address is selected, the location is used to ship goods to a customer or receive goods
from a vendor.

Invoice Address Business Partner Invoice/Bill Address

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

134
Asia e-University Master in Open Source ERP

If the Invoice Address is selected, the location is used to send invoices to a customer or receive
invoices from a vendor.

Pay-From Address Business Partner pays from that address


and we'll send dunning letters there If the Pay-From Address is selected, this location is the ad-
dress the Business Partner pays from and where dunning letters will be sent to.

Remit-To Address Business Partner payment address


If the Remit-To Address is selected, the location is used to send payments to the vendor.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

135
Asia e-University Master in Open Source ERP

Tab: Contact (User)


Description : Maintain User within the system - Internal or Business Partner Contact

Help : The User identifies a unique user in the system. This could be an internal user or a busi-
ness partner contact

Table Name : AD_User

NOTES on important and useful fields:

EMail Address Electronic Mail Address


The Email Address is the Electronic Mail ID for this User and should be fully qualified (e.g.
joe.smith@company.com). The Email Address is used to access the self service application func-
tionality from the web.

Password Password of any length (case sensitive)

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

136
Asia e-University Master in Open Source ERP

The Password for this User. Passwords are required to identify authorized users. For Adempiere
Users, you can change the password via the Process "Reset Password".

Full BP Access The user/concat has full access to Business Partner information
and resources
If selected, the user has full access to the Business Partner (BP) information (Business Docu-
ments like Orders, Invoices - Requests) or resources (Assets, Downloads). If you deselet it, the
user has no access rights unless, you explicitly grant it in tab "BP Access"

Quiz
• What are Business Partners?

• What is a Payment Rule?

• What is Dunning?

• What are the Default Accounts (for posting to in a transaction) of a Customer?

• Can a BPartner be both a vendor and a customer?

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

137
Asia e-University Master in Open Source ERP

Glossary

Terminology Explanations
Any party that is transacted with which is either a creditor or
Business Partner
debtor or both.

User A BPartner that can login into the system

Sales Representative A User that has a contact and sales role in the organisation

Vendor BPartner that is a supplier or is purchased from or is paid to.

Customer Bpartner that is sold to and expected payments from.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

138
Asia e-University Master in Open Source ERP

Summary
1. A Business Partner is the generic term to describe any party or person that has busi-
ness dealings in a transaction. A Resource (consultant) may not be a BP as s/he is a
product that is 'sold' in the ERP.

2. Customers are those we transact with where we can receive money from them. A
person taking a loan is thus a customer.

3. Vendors are those that we have to pay to.

4. These different forms of BPartners have different accounting consequences as they


have different Default Accounts.

5. A Vendor can be a Customer too if we pay and also collect payments from that party
at the same time.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

139
Asia e-University Master in Open Source ERP

Chapter 6 - Purchase Cycle

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

1. Go through the whole purchase to payment cycle to a vendor;

2. List down the windows involved in the process;

3. List down the steps in successive order;

4. Explain the purpose of each step;

5. Workaround potential issues.

Introduction
A Purchase Cycle can start from a Requisition where upon approval is converted into a
Purchase Order, and then Material Receipt the ordered goods into storage. From there
the system can generate an Invoice and allow for Payment to the Vendor. The system
will also automatically update the accounts.
During Receipts, it can be full or partial receipt. The system remembers the unreceived
balanced. This is an example of the power of an ERP system. Things are integrated so
that you need not remember everything.
In essence you need not use the Requisition in order to make a purchase. In fact, you
can just issue a PO with a few keystrokes - creating a new PO, making all the manda-
tory fields default to standard options and go to the PO detail line to state your product.
Upon pressing the complete button your PO is processed and you can print it to hand
over to your supplier.
Here we will go through as much detail as possible so as to be more confident of the
whole process. Also as we encounter new tricks we will also elaborate them such as the
Zoom and Preference functions.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

140
Asia e-University Master in Open Source ERP

Tab: Requisition
Description : Maintain Material Requisition
Table Name  : M_Requisition

Notes:

1. A pink coloured field would mean that it is mandatory and has to have a value or else
it won’t be saved as a new record.

2. The processing button is at the right bottom and is pressed after filling in the header
here and the detail tab Requisition Line.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

141
Asia e-University Master in Open Source ERP

Process: Create PO from Requisition


Class Name: org.compiere.process.RequisitionPOCreate

Notes:
1.Leaving the parameter fields blank will still work unless it is been coded to accept
non-blank values.
2. By putting in values and making selections will filter or reduce the results.
3. It is interesting to note that the design of the above Process can be done by you with-
out any coding! It is taken care at the System Admin’s Application Dictionary. In the
Presales and Analysis Module we shall go through this in more detail.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

142
Asia e-University Master in Open Source ERP

Window: Purchase Order


Description : Manage Purchase Orders
Help : The Purchase Order Window defines a purchase order for an organization. When a Pur-
chase Order has been entered you can generate a Shipment Document or Invoice from this Pur-
chase Order
Tab: Purchase Order
Description : Order Header
Help : The Order Header Tab defines the parameters of an order. The field values defined will
determine how the Order Lines are processed.
Table Name : C_Order

You can have your PO generated from the Requisition or you can start just here without any
Requisition especially if you are a small company that need no requisition and approval process.
Let’s say you got a call from a supplier and you agreed to order something from him. You can
create his vendor record just by right clicking on the Business Partner field and select New Re-
cord as shown on the figure below.
C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

143
Asia e-University Master in Open Source ERP

Pop-Up: New Record


Here you see a small pop up selection box appears for you to click on. Zoom is for you to go into
the field’s object component, in this case its the Business Partner’s window. You do that if you
want to edit or find out from the records on a particular Vendor which is stored there. But in this
case we just want to create that newly found Supplier on the fly. You then click on New Record
for that.

You will have the following window opened. Notice the difference in size from the fuller Busi-
ness Partner window. It has less values to key in so that you can quickly create the vendor’s re-
cord and get right to filling out the
PO details.
Remember that we are trying out the
sample Garden World, so you have
to login into that before proceeding
this exercise. Here we try some sim-
ple test data such as PaperShop for
the Search Key value, Amigo for the
Name of the Business Partner.
When filling in you will notice the
Address field. That is for creating a
sub record called BPartner Loca-
tion which is mandatory before the
PO can be processed. It is because
the system will need to know where
is the purchase going to be made
from and to where will its payment
be made to later.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

144
Asia e-University Master in Open Source ERP

By clicking on the right


small box at the right
side of the Address
field will lead you to
another box. You can
fill in just the necess-
sary information to shut
it up. Here I fill in with
No.1 Hill Road, Da-
mansara, Malaysia.
Now click on the OK
button to get back to
the New Record and
proceed to fill in the
rest.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

145
Asia e-University Master in Open Source ERP

Now back to the PO header. You will notice the header information now contains the new Busi-
ness Partner and its Location is also filled in automatically.

The other field that is still pink is the Company Agent which is the Sales Rep of your company
or your employee that is suppose to handle this Purchase or Supplier. You can just choose Gar-
denAdmin to shut it up.
Note that you have other fields already preset such as Payment Rule where it is already set at
On Credit. You can choose to have the Cash or Cheque payment rule. There is also the Payment
Term where you can choose to pay in part payments and so on. If you wish to change them again
you can use the right-click of the mouse over the respective fields and choose Zoom to get into
the associated windows controlling those values. You can then create new terms or rules. For
now we accept what we have here to get a feel of the whole process of purchasing.
Note also the Price List which is now set to Standard. But you can set it to Purchase. Now we
can go to the PO Line tab to start ordering our product from this supplier.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

146
Asia e-University Master in Open Source ERP

Tab: PO Line
Description : Purchase Order Line
Help : The Purchase Order Line Tab defines the individual items in an order.
Table Name  : C_OrderLine

Here, again we can also


right click with the mouse
on the Product field to cre-
ate a new product on the
fly as we have just been
introduced to what this
supplier can provide us
with. Let us create a
Paper product and set
its price to $12 for each
of the box of paper.
You can set the UOM
to box instead of each,
but you need to create
the Box UOM first.
That is no problem
(again Zoom into the
UOM window at the
Product tab) but for
now we just conven-
iently use this Each
first.
Returning back to the
PO Line tab we now
have the Paper product
set in the Product
field. Let’s order 10 in
quantity. Note that the
total price at the Line
Amount is now show-
ing $120.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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

147
Asia e-University Master in Open Source ERP

Processing the PO
At the main PO header tab we then just go to the bottom right button which shows the action
recommended which is Complete. Click on it.

The Complete process will check the PO document to be in order and complete with all the rules
checked. It will also set aside for the Ordered Qty in the Product Info window.

In the Warehouse Locator information you can see that the Paper product which has no avail-
ability is now set with an Ordered Qty of 10. This will tell the user that such an item is been or-
dered from the stated Vendor.
You can pay attention to this information later. When there is Material Receipt from this Ven-
dor, the On Hand Quantity and the Available Qty shall change to whatever quantity is re-
ceived. This we shall demonstrate at the Material Receipt window after this.
(Note that we will show the printing facility under Sales Order later to spread out the notes. Here
we assume that you will print it yourself the PO and hand it over to the vendor.)

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

148
Asia e-University Master in Open Source ERP

When it is ok you will see the bottom screen.

Accounts Posting
Note that a new button Not Posted appeared. That is the Financials Integration part of the ERP
System. It will post when the Application Server is running. We will get to that later. However
for Purchases, there won’t be any accounting unless the Accounting Schema is set to PO Com-
mitment Accounting which is mostly used in government agencies which regard that a processed
PO is a committed one that has factual impact on the Cash position of the Balance Sheet.

Completed Status
Note at the absolute bottom of the screen is a Completed status. The processing button has also
turned to show Close.

Document Types
It is a good time to talk abit about the Document Type and the way it is processed in the ERP
system. Now you already hear about the PO or Purchase Order. From there if you are familiar
with the organisation of a purchasing department you will come across Vendor Invoice, Shi-
ments, Payments and Delivery Orders. Those are what we called Document Types. The system
takes note what that is during processing. (For a Sales Order which will also go through its cycle
later, there are several Document Types associated with it. Among them are POS (Point of Sales)
where cash is paid and goods are shipped over the counter.)
At the PO level, when that is processed, the system will allow other Document Types to follow.
They are the Invoice and Material Movement documents. If the PO is not processed the subse-
quent processes will not pick it up. Thus the documents are managed in a supply chain where
initiated information at the PO level is passed on from Receipts, to Invoice, to Payments without
the user bothering to remember everything and repeat the same input again and again at each
document process.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

149
Asia e-University Master in Open Source ERP

Material Receipts
Here we will now see what happens next. After issuing a PO to a vendor, we will just wait for the
vendor to send the ordered goods. We then track the status of that in Material Receipts.

Window: Material Receipt


Description : Vendor Shipments (Receipts)
Help : The Vendor Shipment Window defines the receipt of product or material from a Vendor.
The Shipment may be manually entered or may be generated from a Purchase Order or Vendor
Invoice.
Tab: Material Receipt
Description : Enter Receipts and Vendor Returns
Help : The Shipments Tab allows you to generate, maintain, enter and process Shipments from a
Vendor or Returns to a Vendor.
Table Name : M_InOut

This new document is an inward Shipment record, that shows what a vendor is sending for re-
siding in our warehouse locator.
This can also be looked upon as a Delivery Order from the vendor. However we have to double
check the quantities delivered. We do not have to key in again the product as that information is
carried forward from the PO. Note that here we just key in the vendor name Amigo (when he did
show up with the delivery!).

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

150
Asia e-University Master in Open Source ERP

Then we click on the Create lines from button. We shall get the following screen.
We can now view the vendor’s outstanding undelivered POs by pulling down the menu of the
Purchase Order list as shown here. We can also do the same for issued Invoices. In this case there
is only one record from this BPartner vendor.

Upon selecting that and clicking on the OK sign, it will generate the Receipt Line record for us
without us filling the details in ourselves.
By adjusting the delivered quantity, will tell the system to remember what is not delivered. So
that the next time you Create lines from again, it will still show the same PO but carries only the
balance undelivered. When the total quantity is delivered, then the PO will not show up again in
the pull down list for that vendor.
Now, this is true integration power. That is what an ERP is about and that is what you want for
saving your organisation time and effort in handling more and more 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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

151
Asia e-University Master in Open Source ERP

Tab: Receipt Line


Description : Shipment Line

Help : The Shipment Line Tab defines the individual items in a Shipment.

Table Name : M_InOutLine

Then go to the Receipt Line tab and you can see one record created as a result of our last action.
It has details such as even the Purchase Order Line from which it is derived from. Note that the
quantity is stated exactly as we ordered it. If the vendor delivered a lesser quantity, then you may
change that. I would try it out and admit only 6 this time. Then we go to the header tab and com-
plete the process. After confirming the
Complete action, you will see the bottom to
change accordingly with a ‘Completed’
status and a Not Posted button appears.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

152
Asia e-University Master in Open Source ERP

Posting Accounts
Let’s change that by turning on the application server. By RUN_Server2 we can turn it on so that
the accounts posting can happen. Go to your Adempiere/utils directory and execute this:

./RUN_Server2.sh

You will see prompts for a few minutes while the apps server start up until it comes to the line
‘Server startup in 47 ms’ (or the time it does in your server PC).

Go back to your Not Posted button and click on it (or refreshing the window by leaving and
coming in again later). A dialog to confirm will appear.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

153
Asia e-University Master in Open Source ERP

There may be an error message saying that the application server is not running. But look at the
button again to see if it you get the Posted status.

If so, you can click on it again (or from the top menu bar, select View, select Accounts Info).
It will show you the accounts that was just posted:

The financials integration has worked! Again, this a demonstration of the power of an integrated
ERP system. Your accounts department need not be doing the extra human and manual work to
ensure the details are correct and faithfully post the accounts at the end of the month. It is all
done here for this action. Later in the ERP Accounting module we shall go into this in greater
detail.
As you can see in the accounts info view, there is a line that says Not invoiced receipts. It means
that the vendor has not served its invoice to you. Once you get that invoice you can create a re-
lated Invoice (Vendor) in the system so that it remembers that you need to pay for it later. You do
that by first Complete your Material Receipt. After clicking on the processing button, you then
click on the Generate Invoice From Receipt button. This dialog box will appear:

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

154
Asia e-University Master in Open Source ERP

Generate Invoice From Receipt


If the vendor’s in-
voice has its own
number, you can key
that in the Invoice
Document No field.
After clicking on the
OK button, the in-
voice will be gener-
ated. You will notice
on the bottom left of
the window showing
the Invoice number.
You can examine that by opening up the Invoice (Vendor) win-
dow.

You can see that the total amount is for 6 delivered paper units instead of the ordered 10. You can
go to the Invoice Line tab and see the invoiced quantity. So, the system can keep track of the ac-
tual events in the trading cycle for your convenience without taking out a pen and writing it eve-
rywhere. Try completing this invoice and post the accounts and check it on 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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

155
Asia e-University Master in Open Source ERP

3-way Matching
The figure below shows the latest accounts after completing the Invoice (vendor).

The system also does a matching with the PO and the Receipt documents. Examine them by
looking at the respective tabs in the Invoice (vendor) - Matched POs and Matched Receipts.

Now that the supplier has sent in some goods and all the papers seem to be in order let us think
about paying the vendor!

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

156
Asia e-University Master in Open Source ERP

Inventory Check
But first let’s take a look again at the Product Info viewer to see whether the paper is in.

As you can see, The paper item is showing up in the Available and On Hand Quantity columns
with the expected count of 6. The Ordered Quantity is now at 4. All this happened when we
confirmed the Material Receipt document just now.
Now you can keep track of what has not been delivered yet. At the same time you will be able to
check your inventory of available paper that you might want to sell to your customers.
Hmm, now what did we forget? Oh yes, we forgot to pay the suppler! We shall do that via the
Payment window.

Making Payments
There are a couple of ways payments can be made in the system. Firstly there are payments com-
ing in from Sales Transactions. Payments out will be for the suppliers or vendors. In our case
here it is payment out.
Then there are the types of payment modes. Some are paid in cash. Some by cheque. Or even
credit card. In our case we wish to pay by cheque. Still there are 2 ways of making payments in
ADempiere. First is the Payment and Allocation way. But we prefer the Payment Selection
way which results in a Cheque print. In ADempiere which uses US terminology a cheque is
called a ‘check’. We shall then examine the accounting consequences of our actions. At the mo-
ment it is unclear why the first way doesn’t print a cheque. So we shall go into it more deeply in
other modules such as in ERP Accounting later. For now, we show both. We repeat by making
another similar purchase for the 2nd way.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

157
Asia e-University Master in Open Source ERP

Window: Payment
Description : Process Payments and Receipts
Help : The Process Payments Window allows you to enter payments and reaipts for invoices. If
the payment is for a single invoice then it can be processed here. If it is for multiple invoices or
is a partial payment then it should be processed in the Payment Allocation Window.

Tab: Payment
Description : Payment or Receipt
Help : Enter payment or receipt for a Business Partner. If it is for a single invoice it can be allo-
cated directly to that invoice using this screen. You can also apply over/under payments:
You have an over-payment, if you received more money than due for a single invoice. Instead of
writing the difference off (i.e. would be a gain), you can leave the amount unallocated and use it
for later invoices or credit memos. Please note that the Amount is the payment amount, so you
need to enter the over-payment as a negative amount.
You can also receive a partial payment (under-payment). If you decide not to write off the re-
maining invoice amount, enter the under-payment as a positive amount.
Note that printed payments are archived in Payment Selection (Prepared Payment).
For Posting, the bank account organization is used, if it is not a charge.
Table Name : C_Payment

NOTE: We have to select AP Payment as we are paying, and put in the name of the vendor:
Amigo. Then we go to the Allocation tab.
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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

158
Asia e-University Master in Open Source ERP

Tab: Allocate
Description : Allocate Payments to Invoices
Help : You can directly allocate payments to invoices with the same currency when creating the
Payment. Note that you can over- or under-allocate the payment. When processing the pay-
ment, the allocation is created.<b> The Organization is set to the invoice organization
Table Name : C_PaymentAllocate

The pink Invoice field is mandatory. We click on it to open up another window:

We click on the refresh button on the bottom left to get the line above. Then click OK.
Note that there is a Sales Transaction checkbox. That is ticked when you want to accept pay-
ments from customers.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

159
Asia e-University Master in Open Source ERP

After accepting the detail line, we return to the main header of the Payment window and process
it.

When the process is complete, you can examine the results in the lower tabs. You notice that an
Allocation Line has been created for the amount of 6 unit of papers at $72.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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

160
Asia e-University Master in Open Source ERP

Let’s peek into the Account Viewer and see what happens when a Payment has been Allocated.

But then later I found out that I could not issue a cheque under Payment Print/Export as the mat-
ter seems to be accounted for and does not appear again. Thus I created another PO for 10 units
again and received 6 units to attempt the 2nd way of issuing payments. This time I use the Pay-
ment Selection window instead and found out that a cheque print can happen. Let’s see how it is
done.

Quiz
• How many ways are there to create a PO?

• How is a Shipment similar to a Material Receipt?

• How can we quickly create a BPartner?

• What happens during a Shipment?

• What happens during a Payment?

• What other fields affect the payment amount?

• What is needed in order for Accounts Posting to happen?

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

161
Asia e-University Master in Open Source ERP

Window: Payment Selection


Description : Select Invoices for Payment
Help : The Payment Selection Window allows you to select and process the invoices you want to
pay. (a) You can create a Payment Selection and select the invoices manually or generate the
suggestions based on criteria. You can change the amount to be paid or delete invoices, you do
not want to pay.
(b) If you are happy with the Payment Selection, you create the payments.
(c) You print or export your payments in the Window Payment Print/Export
Tab: Payment Selection
Description : Define Payment
Help : The Payment Selection Tab defines the bank account and date of the payments to be made.
You also create the payments here.
Table Name : C_PaySelection

Then we click on the Create


From button to get this. Put in
the vendor’s name and un-
check the boxes if 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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

162
Asia e-University Master in Open Source ERP

Now the payment selection record is created from the source invoice and done.

We check the Prepared Payment tab.

We can now give the header a once over and complete the Payment before proceeding to print
the cheque. We do that in the Payment Print/Export window.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

163
Asia e-University Master in Open Source ERP

Form: Payment Print/Export


Description : Print or export your payments
Class Name: org.compiere.apps.form.VPayPrint

We click on the print button.

Note that the printout is in 2 portions. The upper portion is printed over a pre-printed cheque. It
has wordings for the amount tendered. This can be printed in local currency wordings too. The
following figure shows a sample I did using the local Malaysian currency for another case.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

164
Asia e-University Master in Open Source ERP

The cheque printout showing amount wording in Malaysian language.

You can also print out the remittance when prompted to do so. The printout is as follows.

With this we come to the end of a transaction cycle which is the Purchase cycle. There are other
functions of the ERP system you can call on such as reports to show the status of your purchases,
receipts and payments. Also financial statements such as the Balance Sheet or Profit & Loss
Statement. That will be given more attention under the ERP Accounting module.
Next we will examine some exceptional parts of the Sales cycle.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

165
Asia e-University Master in Open Source ERP

Glossary

Terminology Explanations

Requisition A document process before an authorised PO

PO Purchase Order to be made to a supplier or vendor

The checking of document transactional information related in


Matching
the same process

Name of the DB table containing Purchase and Sales header


C_Order
records

Specific differentiation of document according to function and


Document Type
associated processes

Payment Selection Payment that is done leading to Cheque printing

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

166
Asia e-University Master in Open Source ERP

Summary
1. The Purchase Cycle is a systematic process starting from Requisition to Payment.

2. Purchase is made from a Business Partner for their product.

3. New information can be created on the fly via the Zoom and New Record from
right-click selection at that field.

4. When a purchase is made, the inventory is ‘ordered; and appears in the Product Info
Viewer.

5. After a purchase, an invoice or a material receipt can be made.

6. Any documents processed will result in automatic accounts posting according to the
document type and posting rules.

7. The Application Server has to be up before the accounts posting can be done.

8. 3-way matching is to synch between the completed documents.

9. Payment record with cheque printing is made after the invoice process.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

167
Asia e-University Master in Open Source ERP

Chapter 7 - Sales Cycle

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

1. List the important processes in the Sales Cycle;

2. List the type of sub DocTypes associated with a Sales Order;

3. Identify the sub DocTypes of other standard documents;

4. Steps in setting the usage of a Resource product in its Info Schedule;

5. Print out the Sales Order;

6. Modify the Print Fornat template.

Introduction
A Sales Cycle is like the Purchase Cycle but in the opposite direction. A Sales is made to
a Customer instead of a Purchase from a Vendor Supplier. Similar to Purchases, Sales
are recorded in a C_Order and C_OrderLine (master/detail) tables. So is the Shipment
similar to the Material Receipts which is in M_Shipment/Line. Both Invoices are in
C_Invoice/Line. Payments in C_Payment/Line.

Sales can have backorders which is from partial shipment or deliveries.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

168
Asia e-University Master in Open Source ERP

Window: Sales Order


Description : Enter and change sales orders
Help : The Order Window allows you to enter and modify Sales Orders.
Tab: Order
Description : Order Header
Help : The Order Header Tab defines the parameters of an Order. Changing the Organization,
Business Partner, Warehouse, Date Promised, etc. changes these values on all the lines.
Table Name : C_Order

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

169
Asia e-University Master in Open Source ERP

As said, the Sales Order or SO in short, is directed to a customer. However an SO is quite a ver-
satile document. It can have the following sub document types:

DocType Details
POS Point of Sales - where Payment and Shipment is immediate

Proposal / Quotation No booking of inventory

Standard Order Reservation of inventory is made upon completion

Credit Order Will generate the Order, Delivery Note and Invoice.

Return Material Create RMA - Return Material Authorization

Warehouse Order Will generate the Order and Delivery Note.

After an SO is completed, it can then generate a Shipment or Invoice record. When an SO is


completed, the product quantity in the Locator will be deducted in its Availability column with
the quantity that is sold. Its On-Hand column is still unafffected because it has not been shipped
out yet.

A Shipment document (like the Material Receipt document) has an effect on inventory and uses
the same database table which is M_InOut. After the Shipment document generated from an SO
is processed, then only the On-Hand column figure takes effect.

Next page we will look more closely at the Document Type window and its notes on its types in
full. They are the heart of an ERP document flow and processing.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

170
Asia e-University Master in Open Source ERP

Window: Document Type


Description : Maintain Document Types
Help : The Document Type Window defines any document to be used in the system. Each
document type provides the basis for processing of each document and controls the printed name
and document sequence used.
Tab: Document Type
Description : Define a Document Type
Help : The Document Definition Tab defines the processing parameters and controls for the
document. Note that shipments for automatic documents like POS/Warehouse Orders cannot
have confirmations!
Table Name : C_DocType

NOTES on important fields with details:

Print Text The label text to be printed on a document or correspondence.


The Label to be printed indicates the name that will be printed on a document or correspondence.
The max length is 2000 characters.

GL Category General Ledger Category


The General Ledger Category is an optional, user defined method of grouping journal lines.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

171
Asia e-University Master in Open Source ERP

Sales Transaction This is a Sales Transaction


The Sales Transaction checkbox indicates if this item is a Sales Transaction.

Document BaseType Logical type of document


The Document Base Type identifies the base or starting point for a document. Multiple document
types may share a single document base type.

SO Sub Type Sales Order Sub Type


The SO Sub Type indicates the type of sales order this document refers to. This field only ap-
pears when the Document Base Type is Sales Order. The selection made here will determine
which documents will be generated when an order is processed and which documents must be
generated manually or in batches.
The following outlines this process.
SO Sub Type of Standard Order will generate just the Order document when the order is proc-
essed.
The Delivery Note, Invoice and Receipt must be generated via other processes.
SO Sub Type of Warehouse Order will generate the Order and Delivery Note.
The Invoice and Receipt must be generated via other processes.
SO Sub Type of Credit Order will generate the Order, Delivery Note and Invoice.
The Reciept must be generated via other processes.
SO Sub Type of POS (Point of Sale) will generate all document

Pro forma Invoice Indicates if Pro Forma Invoices can be generated from this
document The Pro Forma Invoice checkbox indicates if pro forma invoices can be generated
from this sales document. A pro forma invoice indicates the amount that will be due should an
order be shipped.

Document Type for ProForma Document type used for pro forma invoices generated
from this sales document The Document Type for Invoice indicates the document type that
will be used when an invoice is generated from this sales document. This field will display only
when the base document type is Sales Order and the Pro Forma Invoice checkbox is selected

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

172
Asia e-University Master in Open Source ERP

Document Type for Invoice Document type used for invoices generated from this sales
document The Document Type for Invoice indicates the document type that will be used
when an invoice is generated from this sales document. This field will display only when the
base document type is Sales Order.

Document Type for Shipment Document type used for shipments generated from this
sales document The Document Type for Shipments indicates the document type that will
be used when a shipment is generated from this sales document. This field will display only
when the base document type is Sales Order.

Document is Number Controlled The document has a document sequence


The Document Number Controlled checkbox indicates if this document type will have a se-
quence number.

Pick/QA Confirmation Require Pick or QA Confirmation before processing


The processing of the Shipment (Receipt) requires Pick (QA) Confirmation. Note that shipments
for automatic documents like POS/Warehouse Orders cannot have confirmations!

Ship/Receipt Confirmation Require Ship or Receipt Confirmation before processing


The processing of the Shipment (Receipt) requires Ship (Receipt) Confirmation. Note that ship-
ments for automatic documents like POS/Warehouse Orders cannot have confirmations!

Split when Difference Split document when there is a difference


If the confirmation contains differences, the original document is split allowing the original
document (shipment) to be processed and updating Inventory - and the newly created document
for handling the dispute at a later time. Until the confirmation is processed, the inventory is not
updated.

In Transit Movement is in transit


Material Movement is in transit - shipped, but not received.
The transaction is completed, if confirmed.
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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

173
Asia e-University Master in Open Source ERP

Create Counter Document Create Counter Document


If selected, create specified counter document. If not selected, no counter document is created for
the document type.

Default Counter Document The document type is the default counter document type
When using explicit documents for inter-org transaction (after linking a Business Partner to an
Organization), you can determine what document type the counter document is based on the
document type of the original transaction. Example: when generating a Sales Order, use this
Sales Order document type.
This default can be overwritten by defining explicit counter document relationships.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

174
Asia e-University Master in Open Source ERP

Value Preference
We shall start the Sales Order process but attempt to encounter new stuff along the way not seen
while on the Purchase Order cycle. Firstly you will notice that your Sales Order may be set to
POS DocType. You can make another DocType as your default. First select your prefered one in
this case I set it to Standard Order. Then right click on the field to see the options. We want to
select the Value Preference setting option.

It will open up its dialog box.

Just click the OK sign and that Key setting of Standard Order will be set for this User (your
login) and Window. As you can see you can set it with finer organisation differentiation.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

175
Asia e-University Master in Open Source ERP

Resource Product
Let us try to sell something else. We more or less already know what is an item that is stored in
the warehouse. How about another kind of item such as a consultant’s time? That will be called a
Resource Product. At the Order Line tab, we click on the Resource Assignment field.

It will pop up a panel box shown here


with a selection of Resource Type and
Resource for you to choose from.
There is also a calendar schedule start-
ing at today’s date. Let’s double click
on a certain time and see what hap-
pens.
Another pop-up appears for you to set
the Quantity, Name and Description.
Here I put in 3 to mean 3 hours and
put in the customer name. I am going
to sell Amigo 3 hours of ADempiere
training.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

176
Asia e-University Master in Open Source ERP

You may feel that it is redundant to key in again the Name ‘Amigo’. Why can’t the system takes
the BPartner’s name right away? Well, since it is an Open Source project we can do that by
modifying the codes. That we shall do later in the ERP Software Development module. Now just
click on the OK button.

Here we detected a bug. The Quantity field


does not get the value 3 from the Resource
Assignment box. So we have to manually key
in again the value 3 here. Now that can mean
it is a bug. Again, we like to solve this in our
ERP Software Development module. Let’s
view the Schedule Info (pull from the top
menu bar). Note that it is painted blue for 3
hours of the slot.

Next we shall proceed to the header tab and


process our Sales Order and print it to Amigo.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

177
Asia e-University Master in Open Source ERP

Here we are back at the Sales Order header tab. Note that we are trying out a new Payment Term
here which is 50% down and the balance 50% in 30 days time. Let’s see what the system can
make out of it later.
Click on the Complete button and then head for the
Print icon which is circled in red.

The system will call the Print Format module and gen-
erate the Sales Order printout. Print Format is part of the Application Dictionary that sets what
document prints what format. The formats can be reused across the Client and its organisations.
It can also be modified for particular users and conditions. In the next screen we show the pre-
view mode of the Sales Order printout.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

178
Asia e-University Master in Open Source ERP

Note that the Order Header format is pulled to show other options to create a new version or
modify the Template. Note also the deisgn editor icon on the right of it. It allows you to modify
your version.

But look. There is another inconvenient twitch. It came out in 2 pages instead of one.

On examination it seems that maybe the Description column can be slimmer. Also the content is
repeated. Let’s see how easy it is to fix a print format. Click on the design editor icon to get to
the Print Format window.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

179
Asia e-University Master in Open Source ERP

Window: Print Format


Description : Maintain Print Format
Help : The print format determines how data is rendered for print.
Tab: Print Format
Table Name : AD_PrintFormat

We will delve deeper into the Print Format under ERP Intelligence. For now we go to the detail
panel. That is an embedeed Print Format within this Print Format. Go to the Format Item tab to
look for it. Note the Sales Order record.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

180
Asia e-University Master in Open Source ERP

View it in single record grid view.

You can see that it has an Included Print Format. That is the embedded item I stated earlier. It
means that the line is actually another Print Format but in row layout mode. Bring your mouse
pointer to that line and do a right-click.

Nice. Now you can zoom into another Print Format but of that record. Select Zoom option.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

181
Asia e-University Master in Open Source ERP

Now you are in the Order LineTax print format. Note that both the header and this format refers
to tables that have ‘_v’ suffix. That signifies a View table. More on that in the ERP Intelligence
module. We now go looking for that Description field that we want to fix. Click on the Format
Item tab.

Click on the single record grid view so that we can examine its properties more easily.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

182
Asia e-University Master in Open Source ERP

Noted that the Max Width was at 200.


I adjusted the Max Width to 150. Now
we shall see the effect. But for Print
Format, you have to exit your windows
and do a Cache Reset first. Go to the
main menu tree and look for it by keyin
in the Search box. Double-click on it to
perform the cache reset.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

183
Asia e-University Master in Open Source ERP

After going through it, you can call up again your Sales Order and printout again. See if it is
fixed.

From here you should be able to do Shipment out and Invoice Customer. Also try the accounts
posting. From here we can conclude that you have gone through some good hard learning curve!

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

184
Asia e-University Master in Open Source ERP

Quiz
• How is a Sales Order different from a PO?

• How do you change a Print Format?

• What does a Cache Reset do?

Glossary

Terminology Explanations

SO Sales Order, that is directed to a customer

Point of Sales, the Sales process that includes immediate ship-


POS
ment and payment.

Value Preference To set the value of the field for subsequent documents to use.

a template to modify the printing layout design for reuse by


Print Format
similar documents

Included Print For- the embedding of another printformat object within another
mat print format object

X and Y the positioning of a point along horizontal or vertical axes.

ADempiere A FOSS ERP software that includes CRM, POS and SCM

Cache Reset to clear the cache of saved settings so that new changes can take
effect.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

185
Asia e-University Master in Open Source ERP

Summary
1. The Sales process is opposite of the Purchase process but uses the same document
tables such as C_Order, M_InOut, C_Invoicand C_Payment.

2. Sales pricing also depends on the PriceList version with discounts.

3. Sales Order uses different sub document types based on a common Document Type
as a concept in the functional processes in the ERP.

4. Many fields can have its own setting of default values selected by the users, done via
Value Preference.

5. The Print Format utility is used for modifying standard documents printout.

6. Detail lines part of a Print Format is easily accessed via the Zoom key.

7. Cache Reset is used when certain Application Dictionary data is changed.

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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

186
Asia e-University Master in Open Source ERP

Appendix of Functional Schema

C o p y r i g h t ( C ) 2 0 0 9 R e d h u a n D . O o n , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

187
Asia e-University Master in Open Source 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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

188
Asia e-University Master in Open Source 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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

189
Asia e-University Master in Open Source 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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

190
Asia e-University Master in Open Source 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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

191
Asia e-University Master in Open Source 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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

192
Asia e-University Master in Open Source 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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

193
Asia e-University Master in Open Source 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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

194
Asia e-University Master in Open Source 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 , A D e m p i e r e C o m m u n i t y ERP Application Setup and Operation

195

You might also like