Open source enterprise applications often have a hard time earning a hearing in many corporate board rooms. Enterprise Resource Planning (ERP) is one of those areas typically relegated to traditional players like Lawson, Oracle/Peoplesoft and SAP. But attitudes may be changing as companies struggle to stay profitable and look for ways to trim their IT budgets. Open source alternatives should also appeal to government and non-profit agencies in times of zero and negative budget growth.
The OpenERP project recently pushed out their first release candidate (RC1) for version 6.0 with a goal of releasing RC2 sometime in November 2010. OpenERP is a true multi-platform application written in the Python language. It utilizes the cross-platform PostgreSQL database engine to store data and has been architected in a multi-tier fashion with traditional desktop and Web-based clients available.
There are a number of ways to get started with OpenERP. For testing purposes you might want to consider a “Live CD” such as one available from the PostgreSQL site. There is a CentOS version with PostgreSQL 8.4.3 pre-installed, suitable for stand-alone (boot from USB) or dedicated installation. Documentation for OpenERP includes installation manuals, tutorials and a detailed developer guide. Be aware that most of the documentation refers to version 5 and will need minor updates for the latest release.
The installation manual has instructions for several different distributions, most notably Ubuntu, Fedora and CentOS. There are a number of comments in the forums relating to missing dependencies (most notably python-xml). PostgreSQL is also default set to require authentication. The solution to this problem was also found referenced on the forums and involves changing one line in the pg_hba.conf file from:
local all all ident
local all all md5
An example command line for Ubuntu server to edit this file would be:
$ sudo gedit /etc/postgresql/8.4/main/pg_hba.conf
At this point you must restart the database server with the following command:
$ sudo /etc/init.d/postgresql-8.4 restart
This should allow you to continue with the installation procedure as written in the documentation. There are a number of post-installation tasks that need to be accomplished including the creation of a database, server configuration and client installation. You should only have to change the server configuration if you won’t be testing everything on the same machine. Client installation is relatively straightforward and should not be a problem. Once the installation has completed you can launch the server to confirm its operation. The figure below shows a typical startup screen:
Launching the client will present the following screen and only allow you to log in if everything is working properly:
Testing OpenERP on your Linux system
With the client and server software installed you’ll need to create a database for testing purposes. OpenERP includes a sample database with dummy entries to allow you to evaluate the different functions of the software. This can be accomplished before you login to the system by clicking on the cancel button. From there you create the new database by selecting File / Databases / New database. This will present the following dialog box:
Selecting the “Load Demonstration Data:” checkbox will populate the “test” database with sample data for testing purposes. At this point you should be ready to log in and begin testing. A typical menu screen should look like the following screenshot:
The modules appearing on the left-hand side are configured during initial installation and can be tailored to fit many different operational scenarios. There are a number of modules routinely installed as most companies require some type of basic accounting and timekeeping. Startup screens can also be modified to display different options based on the role of the user.
OpenERP application support
OpenERP supports a number of application scenarios right out of the box. Currently available modules include Customer Relationship Management (CRM), Purchasing, Manufacturing, Warehouse Management, Project Management, Accounting, Human Resources and Marketing. Each of these modules function either as stand-alone applications or integrated with any of the other available modules. Integrated applications are one of the big draws for a true ERP system, making it possible to link manufacturing with purchasing and warehouse management. All OpenERP modules are tied together in a single database and give a manager access to the key information necessary to keep projects on track.
It’s pretty much a given with any ERP project that some amount of customization will be required. This typically comes in the form of custom database fields and entry screens. OpenERP provides a number of customization tools for modifying workflows, creating or modifying reports and data entry views. These do not require knowledge of the Python language or specific database skills. It is important to note at this point that additional modules could be developed but would require Python knowledge.
OpenERP supports a number of other capabilities as a part of the overall application including document management, electronic data interchange (EDI), and project management tools for tracking software bugs. Personal productivity tools, including an implementation of the “getting things done” methodology, are also included.
OpenERP is a solid and stable ERP solution with a substantial user base. The goal of the OpenERP team is to provide a core set of functionality that can be easily customized and modified to meet specific customer needs. Installation and customization assistance is available through a global network of partners.