February 18, 2010

LemonPOS: Your Open Source Point of Sale


In what is hopefully an upswing for the economy, small businesses are still looking for as many ways to cut costs as possible. And when you take a look at the pricing schemes of some of the point of sale systems available, you can see how easy it would be to save some critical dollars. Point of sale systems can skyrocket well into the tens of thousands of dollars - depending upon how much functionality and support you desire. They don't have to be that costly. Instead you can turn to an open source solution to keep your small business flowing.

LemonPOS is an open source point of sale software that was registered on SourceForge only 3 years ago, and has already become quite stable and useful. It will run on Linux and/or UNIX systems and requires minimal hardware (standard desktop PC will be fine). Some of the features include:


  • Inventory management.
  • Client/vendor managment.
  • Price checker
  • Ticket printer
  • Reports
  • Categories
  • Weights and measures
  • Offers
  • Check in/check out stock
  • Export inventory as cvs

LemonPOS has a solid backend and a very well though-out interface. LemonPOS requires a MySQL database and can be a bit tricky to install. In this article I will show you how to install and set up LemonPOS on a Ubuntu 9.10 environment.

When I first attempted to install LemonPOS on a Ubuntu system there were a few serious issues. The issues surrounded the code that was put into the repositories not working well with the version of MySQL Ubuntu used. That issue has since been resolved and installation has become quite a bit easier. And although you can install from the Add/Remove Software application (such as Synaptic and the Ubuntu Software Center), you will still have to download some packages in order to get the database installed and connected. Fear not, the installation is not complicated.


Just follow these steps:

  1. Open up your Add/Remove Software tool (Synaptic or Ubuntu Software Center work great).
  2. Search for "lemonpos" (no quotes).
  3. Mark both LemonPOS and Squeeze for installation (if you mark LemonPOS for install, Squeeze should automatically be picked up as a dependency).
  4. If you do not already have MySQL up and running, you will need to install that as well. NOTE: I will address the installation of a MySQL server in an upcoming article.
  5. Click Apply to begin the installation.
  6. While these packages are installing, download the LemonPOS source, as you will need these files in a moment.
  7. Uncompress the source package (which is in bz2 format) with the command bunzip2 lemonpos-pers.XXX.bz2 Where XXX is the release number.
  8. Change into the newly created directory with the command cd persa.
  9. Change into the database_resources subdirectory.
  10. Install the database with the command cat lemon_mysql.sql | mysql -u root -p
  11. When prompted, give the MySQL administrator password.

LemonPOS is now installed and ready to go.

Setting it Up

You will now see two new entries in your Applications > Office menu: LemonPOS and Squeeze. Before you run LemonPOS you need to fire up Squeeze to take care of some configurations. Squeeze is where you set up your Vendors, Clients, Inventory, Categories, and other options.

 Main windowWhen you first fire up Squeeze (you will not be asked for a password, as that has already been taken care of in the creation of the database) you will immediately see a report of your five most sold items and your five almost sold out items (see Figure 1). Before you launch LemonPOS you will need to begin setting up your store. To do this you will want to begin by setting up Vendors, Clients, and Products. One thing you might notice is how similar Clients and Vendors are. As of the current version, these categories are really only used for contact information. They do not integrate with the actual purchasing or selling of items. Nor can you add customers to POS. The addition of customer tracking would make LemonPOS much more viable to many businesses that like to track customer loyalty. So, truth be told, the only thing you HAVE to set up, before you use LemonPOS, is the products. 

The only possible "gotcha" is when creating a new product you have to actually fill in all of the information.  If you do not fill in all necessary information, the OK button will be grayed out.  Outside of that, everything should be fairly straight-foward. Just remember, before you begin adding products to inventory, consider creating Categories first. This will make searching and filtering your products much easier. You don't have to go crazy, just ensure your products can easily be categorized.

After you have taken care of Categories and Products, it's time to fire up LemonPOS for the first time.


Upon starting, you will be aske for credentials in order to enter LemonPOS. By default the credentials are:

  • Username: admin
  • Password: linux

LemonPOS Main WindowWhen LemonPOS finally starts, it runs in full screen mode. You can get to other running applications by restoring them from the Winlist (on your lower GNOME panel). You can not, however, minimize LemonPOS. Before you begin using LemonPOS, you have to enter an amount (dollars) to represent Cash In Drawer. To do this follow these steps:

  1. Click the Start Operation button.
  2. Enter an amount for the Cash In Drawer (This can act as either your beginning of day total or your beginning of shift total). 

Making sales with this system is simple:

  1. Search for the item to be sold.
  2. When found, double-click the item.
  3. If more than one quantity is to be sold of the same item, double-click the item listing in the lower screen to add another (double-click it for as many items as you need to sell).
  4. If you want to add a new item, follow the above directions.
  5. Click Finish Transaction in the left pane.
  6. Select if the transaction is to be credit or cash.
  7. If cash, enter the amount tendered.
  8. If card, enter the card number and authorization number for the transaction.
  9. Hit Enter.
  10. If you want to print a receipt, click Print. If you do not want to print a recipt, click Cancel.

The transaction is complete.

At any time you can view a Balance of the drawer by clicking the Balance button and at the end of the day you can print out an End of day report by clicking the End of day report button.

Final Thoughts

If your small business is looking for a solid point of sale system, without so many bells and whistles as to increase the learning curve, LemonPOS might be just what you are looking for. It's not Quickbooks POS, but it will help you to get your business up and running quickly and inexpensively. And, since it's running on top of the Linux operating system, you know it's running on top of a proven, reliable system.

Click Here!