Open Source ERP Tool – PostBooks

As the global financial crunch chokes companies badly across industries, ways and means to cut costs are now high on corporate agenda – be it large corporations or SMEs. One of the costs associated with business operations is that of software licensing. And when it comes to computerization, there’s no better solution than an Enterprise Resource Planning system which has traditionally been a high ticket software investment mostly out of reach of small businesses. With Open Source, this trend is set to change as there are a number of free ERPs available which businesses can use to automate and centrally manage their dispersed accounting, purchasing and inventory activities through a single integrated interface. These ERPs mostly have a paid support package in addition to a free version so as to support those having purchasing power, as well as those who just need the system to get started with with in-house expertise. One such ERP is PostBooks available in the shape of PostBooks.

This guide walks through the installation process over a Ubuntu 7.04 (and higher) system and brief introduction of the system. Note that unlike other software systems which are ready to run after download, ERPs require a bit more configuration as these systems are not self-contained. They make use of a database application to keep all the user-data and reports etc, whereas the front-end provides interface to enter business transactions. Often, ERPs are web-based, which means they require a web-server where the entire application is hosted. For this reason, there could be multiple files to download – one for the main program, and there could be database scripts to create necessary tables etc. Over a period of time, these installation steps are being made easier though.

Installing PostBooks in Windows:

Window installation is pretty simple process as the installer comes with database installation along with sample data. Simply download and install using the single executable file and run using username and password admin.

Installing PostBooks in Ubuntu:

Uubntu installation requires database and a bit of manual configuration. Here’s how:

Step 0 – Install PostgreSQL

This is a perquisite database for PostBooks ERP. Install it using the following command:
sudo apt-get install postgresql-8.1 postgresql-contrib-8.1

Step 1 – Download Postbooks

PostBooks offers multiple types of downloads that might suit different needs. For example, complete installers, separate client and database, documents, videos and even virtual machine version which means ready to run image of a complete pre-installed system in Virtual Box and VMWare formats. This guide walks through a common and easy to test installation where everything resides on one system. Advanced users can install database separately on a different machine to allow multiple client access across network.

Download the following 3 setup files using wget command:

The tar.bz2 file for Linux
Quick Start file
init.sql file

Note that the wget command downloads in the existing folder.

Step 2 – unpack the compressed file

Use the following command which unpacks the downloaded archive and creates a folder with the same name as the file.

tar xvfj PostBooks-2.2.0Beta3-Linux6.tar.bz2

Step 3 – Configure PostgreSQL and set it up for PostBooks

Open the file /etc/postgresql/8.1/main/pg_hba.conf in Text Editor and see the last section titled # TYPE DATABASE USER CIDR-ADDRESS METHOD. Here, comment out all the 3 uncommented lines by placing hash character in front of them and replace them with the underlined lines as shown below:

Existing section of the file:

# TYPE DATABASE USER CIDR-ADDRESS METHOD
# “local” is for Unix domain socket connections only
local all all ident sameuser
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5

Updated section of the file (updates shown as underlined)

# TYPE DATABASE USER CIDR-ADDRESS METHOD
# “local” is for Unix domain socket connections only
#local all all ident sameuser
local all all trust
# IPv4 local connections:
#host all all 127.0.0.1/32 md5
host all all 127.0.0.1/32 trust
# IPv6 local connections:
#host all all ::1/128 md5
host all all ::1/128 trust

And then restart the server using:
sudo /etc/init.d/postgresql-8.1 restart

Now create PostBooks database
sudo su postgres
psql -U postgres -f init.sql template1
createdb -U mfgadmin mfg
pg_restore -U mfgadmin -d mfg postbooks_quickstart.backup -v

Note that these commands have to be executed from the same folder where the downloaded files reside.

Step 4: Start PostBooks

From the folder where PostBooks is unpacked, use the following command to start PostBooks:

./PostBooks

Username and password is: mfgadmin

Overview of PostBooks

As is the case with any ERP, PostBook caters for all major operations of a small to medium sized production company. It can also serve other firms say in services sector or retail as only a sub-set of modules are required and rest become automatically redundant. The main interface has got menus at top describing each functional area of business that it caters to. This includes Products, Inventory, Purchase, Manufacturing, CRM, Sales and Accounting. Start off with System menu to configure basic structure of the organization. Sub-menu Master Information allows the user to define calender, currencies, exchange rates and departments etc. Second important area to configure is sub-menu Configure Modules where each details of handling earlier listed modules can be set. For example, while handling inventories, a check can be put in place to disallow purchase order receipt if the quantity differs from the order, or to pop-up a warning if the difference is in a user-defined range. Similarly, there are a number of configuration items that can define business rules – such as allowing sales discounts or not. General Ledger can be defined in detail through Accounting module configuration by setting format of GL hierarchy showing main segment, profit center, sub-accounts and their character lengths, along with defining mandatory accounts such as retained earning, exchange rate difference and discrepancy accounts.

Once the modules are configured for basic characteristics and parameters, the next task is to define Maser Information for each relevant module using its own menu. This entails module specific information. For example, in Products, units of measurement, product category and product class constitute its master information. For accounts, this includes bank accounts, cost and expense categories etc. Under each module there are sub-menus for reports and analysis which makes this ERP quite comprehensive in nature.

There are other free ERPs available for Ubuntu as well – and most of them run on Mac and Windows as well. With ample documentation, user manuals, and free online demos available, small businesses can invest some time in researching the available options to save cost of acquiring a custom built ERP.

Options that can be explored include MyERP5, OpenBravo, Compiere etc.

OpenSource ERPs have come a long way from just being a concept to a reality in use by many companies around the world – with and without paid support. Its ironic that OpenSource solutions have not been explored to the fullest extent. But if done so, it holds a lot of promise starting right at the operating system level and growing up to the level of specialized applications such as ERPs.

Note: All the commands are to be used as root user.