If you’re in the market for a point of sale (POS) system and working with a very limited budget, the ever popular QuickBooks is not an option. One possible solution worth checking out is Openbravo POS. This touch screen-ready software is incredibly easy to install, use, and support and comes with a feature set that includes:

  • Sales
  • Refunds
  • Daily reports
  • Cash management
  • Warehouse management
  • Restaurant module
  • Security


The software can be installed on Linux and Windows; in this tutorial, I show how the installation is handled from the Ubuntu 11.04 platform. In order to install Openbravo POS, Java Runtime Environment 1.6 or greater must be installed. Here are the steps to install Java on our Ubuntu desktop:

  1. Open the /etc/apt/sources.list file in your favorite text editor (with the help of sudo).
  2. Add deb http://archive.canonical.com/ubuntu maverick partner to the end of the file.
  3. Save and close the sources.list file.
  4. Issue the command sudo apt-get update.
  5. Issue the command sudo apt-get install sun-java6-jre sun-java6-fonts.

An optional requirement is a working MySQL account.

Openbravo POS installation

Openbravo POS can be installed as a client/server installation, though you must have the database set up on a centralized server. By default, Openbravo POS uses the Apache Derby localized database tool. This system is great, but it is limited to a single user connecting at once (at least in the default setup). I focus on installing the system as a local, dedicated system and configuring for connection to a remote MySQL database. First, we’ll install Openbravo POS as a local, dedicated system.

  1. Download the installer file for your platform from SourceForge (for Ubuntu, we’ll download openbravopos-XXX-linux-installer.bin, where XXX is the release number).
  2. Give the file executable permissions with the command chmod u+x openbravopos-XXX-linux-installer.bin.
  3. Issue the command (from within the same directory the downloaded file is in) ./openbravo-XXX-linux-installer.bin (where XXX is the release number). This will start the GUI installer.

The first screen of the Openbravo POS GUI installer is a welcome screen; you need to click the Forward button to move on to the actual installation. The second screen is the EULA screen; you need to click I Accept and then click Forward. The third screen requires you to fill out where you want the system to be installed (Figure A).
Figure A

By default, Openbravo POS will be installed in the /opt directory. You can change this location, but do so wisely.

The next screen informs you that Openbravo POS is ready to install; once you click the Forward button, the installation will begin. When you’re notified that the installation is complete, you can close out the installer GUI. Now you can run the system for the first time.

First run

When you run Openbravo POS for the first time, the system will detect there is no database and require you to click OK to allow for the database to be created. This will create a database using the built-in system (used for a local-only installation). Once this database is created, you are ready to fire up Openbravo POS. To do this on your Linux system, go to Start | Office | Openbravo POS. When your software opens, you will be at the main window (Figure B).
Figure B

In the main window, you can access the Administrator, Manager, and Employee screens.

You need to change the Admin, Manager, and Employee (if applicable) passwords because, by default, all of the passwords are set to blank. Follow these steps to change the passwords:

  1. Click either the Administrator, Manager, or Employee button.
  2. Click the Change Password button.
  3. Enter a new password in the Password Entry window (Figure C).
  4. Verify the new password.

Figure C

As you can see, this system was created with touch-screen displays in mind. It does, however, work well with standard keyboard/mouse setups.

After you create the passwords, it’s time to set up the system to be used; I’ll cover that in a future DIY post. For now, let’s see how we can connect this system to a MySQL remote database so more than one machine can be used at a time.

MySQL connection

The MySQL connector tool has to be downloaded, unpacked, and moved to the Openbravo POS installation directory. To do so, follow these steps:

  1. Download the connector (you need a MySQL account to get the file).
  2. Unpack the archive using either tar or unzip (depending upon which file you downloaded).
  3. Move the unpacked file to the Openbravo POS directory.

You also need to install the package libmysql-java with the command sudo apt-get install libmysql-java. Once that package is installed, copy (or link) the /usr/share/java/mysql.jar to the Openbravo POS installation directory.

I will assume that you have the MySQL server set up. You will also need to have a database created for Openbravo POS to use; you should call that database openbravopos. After Openbravo POS is up and running, you need to run the configuration utility, which you can do by opening a terminal window and changing to the directory housing Openbravo POS (such as /opt/openbravopos-2.30.2/). Now issue the command sudo sh configure.sh, which opens the configuration window (Figure D) where you can enter the details for the MySQL installation. A typical configuration for MySQL will look like this:
Driver library: mysql-connector-java-3.1.6-bin.jar
Driver class: com.mysql.jdbc.Driver
URL: jdbc:mysql://localhost:3306/openbravopos
User: yourname
Password: yourpass

Where localhost is the address of the MySQL server, yourname is a user who has full access to the database, and yourpass is the password for that user.

Figure D

The configuration settings aren’t exactly standard, so don’t just fill in what you would assume to be correct.

This type of connection will be more of a challenge than the default setup. If the connection is not working, I suggest setting up a MySQL setup on the local machine so you’re not possibly fighting remote connection issues. Once you’ve mastered connecting to MySQL locally, you can migrate to a remote system. You should now have a running Openbravo POS system.

Stay tuned

My clients find Openbravo POS to be solid and useful, and I hope you do too. I believe it is the best open source POS solution available. In upcoming DIY posts about Openbravo POS, I will address such topics as inventory, payment, employee management, and more.