Lemon POS What Is It

Lemon is an open source point of sale for linux and other unix systems. It is targeted for the small and medium sized business, and has been conceived for ease of use and customization.

It allows to change the look by editing a CSS file and making personalized images. This, to provide a modern good-looking interface to impact the user and the client that looks at it.

It is considered a general point of sale, not focused to a specific sector. It can be used at a general store, a fast-food restaurant or a book store.

This guide is for lemonPOS 0.9.3

This is a users guide to Lemon and Squeeze it is to help you get familiar with the software. It is an open source software program so changes over time will occur as new features are add. Be sure that you have the most up-to-date guide because some features may not have the same name or location. Lemon and Squeeze are an open source Point of Sale(POS) and Administration software targeted for small and medium businesses. It is designed to be easy to use, yet powerful and flexible. They let you track inventory, print stock reports and sales reports, use bar-code scanners, set prices, check-in purchases, set promotional discounts and search your inventory. It uses MySQL(database) for data management and storage. MySQL can be used as single database with multiple POS terminals over a network.

Note: This program is mainly developed in a Kubuntu enviroment for the easiest install use Kubuntu and the deb package found at https://sourceforge.net/projects/lemonpos/

OS Configuration Tips

This section has tips to help you set up you computer using Lemon because some computer configurations can make it easier for the users.

Monitor Settings

When setting up Lemon it is best to run in 1024x768(native) or higher resolution. To check if your are using the right resolution:

Kubuntu: Click on [ K ] menu then [ Applications ] then [ Settings ] then [ System Settings ] and then [ Display and Monitor ].

Turning off Effects

Some operating systems come with pre-installed desktop effects we recommend turning these off because it will give you a little better performance.

Kubuntu: To turn off your effect settings click on [ K ] menu then [ Applications ] then [ Settings ] then [ System Settings ] and then [ Desktop Effects ]. In the general tab there is a check mark for Enable desktop effects un-check it then click Apply.

You can also in your [ System Settings ] click on [ Workspace Appearance ] then [ Desktop Theme ] and set it to Air for netbooks then click Apply.

One last thing in your [ System Settings ] click on [ Window Behavior ] then [ Virtual Desktops ] and under the Desktops tab Numbers of Desktops: set to 1 then click Apply.

Mouse Options

Setting your mouse to the Double-click to open files and folders option will make it easier for selecting products, venders, clients, etc. in Squeeze when you need to remove them. If you are using a touch screen on a client(register) computer we don't recommend changing this use this on a computer with a mouse or an administration computer.

Kubuntu: To check your resolution click on [ K ] menu then [ Applications ] then [ Settings ] then [ System Settings ] then [ Input Devices ] and then [ Mouse ]. In the general tab you will it will say Icons there will be two options select Double-click to open files and folders(select icons on first click).

Keyboard Options

For those people running just a touch screen at this point Lemon does not have an integrated on screen keyboard but is you are running Kubuntu you can click on the [ K ] menu then [ Applications ] then [ Utilities ] and then [ Virtual Keyboard ]. This will give you an on screen keyboard. One more setting you want is in the Configure (wrench icon) click Dock Keyboard and you should see a small keyboard appear in the top left corner this will let you close and open the big keyboard so it is not in the way. You can move the small keyboard icon anywhere on the screen.

Hiding Desktop Panel

This option will hide the desktop panel (where the K menu and the date and time seen) to make your desktop look a cleaner while running Lemon or Squeeze.

Kubuntu: To hide the desktop panel right-click on the panel you would like to hide then move the mouse over Panel Options and another menu will show and click [ Panel Settings ]. Now you want to click on the where it says [ More Settings ] it show another menu and you want to click on Auto-hide then click on the [ X ] next to the [ More Settings ] button to close.

Adding Lemon to Favorites

This option will make it easier to find Lemon when you want to start using it.

Kubuntu: To add Lemon to your Favorites menu found when you first open your K menu click on the [ K ] menu then [ Applications ] then if you installed using the repository then click [ Office ]. If you installed using the deb package then [ Lost & Found ]. Find Lemon Point of sale in that menu and right-click and click on [ Add to Favorites ].

Note for Kubuntu users if you turn you computer off at night leave Lemon open because it should open up when you turn the computer back on.

Changing Language

LemonPOS is already translated to English, Spanish, Chinese, Brazilian Portuguese, Catalan, French, and German.

Spanish is the most complete translation for lemonPOS.

Kubuntu: Global settings for kde: Start by clicking on the [ K ] menu then [ Applications ] then [ Settings ] then [ System Settings ] then [ Help ] then [ Switch Application Language ]. Change the 'Primary Language' to you language then click [ Ok ] and restart your computer.

Note: You can set squeeze under the help menu on the tool bar but this will not set Lemon.

Note: You need to setup your language in kde, using systemsettings tool (install it first).

Note: If you compiled lemonPOS, then before compiling you must install the "gettext" package.

Changing Currency

Depending on your installed OS you made need to change the currency, Lemon uses the currency default of your computer.

Kubuntu: Start by clicking on the [ K ] menu then [ Applications ] then [ Settings ] then [ System Settings ] then [ Locale ]. You will want to click on the tab that says [ Money ] and under the currency: field you can choose you currency and then click [ Apply ].

Note to regular Ubuntu users you will need to install kde-systemsettings package to preform this task.

Getting started

Once Lemon and MySQL are install, you can start using Lemon. As you may notice there are no products in the database; all you should see is nothing more than the administrator user, a general client, and some other default data. To start using and testing the POS you need to populate the database with some data. To do this tasks you will need to use Lemon's administration program Squeeze. If this is your first install then you need to have a database set up see Database Creation.

To run Squeeze find the program icon in the applications menu (it may sometimes show up in the Lost & Found menu in Kubuntu) or by running from a shell (command line) by typing Squeeze.

The default user and password

user-name: admin
password: linux

Adding a vendor

You should start by adding a vendor(user), by clicking on the button labeled [ Users ] and then by clicking on the [ Add User ] button in the bottom-right corner. Fill out the form with the correct information (you can add a photo, it will be scaled to an appropriate size) and then click [ OK ]. To edit you can double click on the vendor you would like to edit or single click to select the vendor and then click edit. Make sure to ether change the password on the vendor named “admin” or delete the vendor.

Note: User Roles are explained in the 'Definitions' section of this guide under User Role.

Adding a client

Clients are optional, if you have no need for clients then just use the default (you need at least one). Clients can have their own discount, accumulate points (for a loyalty program) and of course you can have their data such as address and phone for referencing. Adding a client is the same as adding a vendor. To add a client click on [ Clients ] the then click on [ Add Client ] in the bottom right corner. Fill out the form with the appropriate information and then click [ OK ]. To edit you can double click on the client you would like to edit or single click to select the client and then click edit.

Adding categories

Categories are for organizing products, you can have as many categories as you would like (they help with tracking products). The default category is the General and can be renamed if desired by double clicking on it. To create a new category, click on the button labeled [ Categories ] and then the click the [ Add Category ] button in the bottom-right corner. Fill in with the appropriate label and then click [ OK ]. To edit you can double click on the category you would like to edit.

Adding weights and measures

Measures are the way of labeling a products sale amount (lb, kg, each, pack, etc.) The default measure is the Piece (Pc) and you can change the text by double clicking on it. Measures can be integers or real numbers, the default Pc is an integer. To create a new one, click on the button labeled [ Weights and Measures ] and then click on the [ Add Measure ] button in the bottom-right corner. Then type in the name of your new measurement and then click [ OK ].

Adding a product

Products are the most important information stored in your database because these are the products witch you sell. It is important your information is accurate about the product because later you will need to recall it for use. To create a new product, click on the button labeled [ Products ] and then click on [ Add Product ] in the bottom-right corner. Fill in with the appropriate information using the tab key to navigate to each field and then click [ OK ]. If you have no tax enter 0 in both tax fields.

Note: There are some tips on setting up an inventory for the first time in the 'First Time?' section.

Adding a product(detailed)

First be sure to add a bar-code if any. Then press the tab key to move to the next field and type in a brief description. Then add how many you have on hand (purchased). Then add the number of points earned by purchase (only if using point system). Next add the category that item belongs to (Pepsi, Coca Cola, Meat, Milk, etc.). Next add a Sold by for the product. You will now need to enter the product price information (if you have no tax enter 0 in both fields). The Profit will calculate and give you a Public price based on a net profit margin:

(Cost + % of Cost) + Tax 1 + Tax 2 = Final Price

Example Cost + 25%: ($1.00 + .25) + 10% + 0 = $1.37

Code, Description, Purchase Qty, Category and Cost are self explanatory, but I will explain the others.

There are also Raw Product and Group/Pack that are explained in the definitions section of this guide.

Check In

Check-In is the process to which you add products from your vendors into you inventory database. When you enter a products bar-code that is already in your systems database the products information will be automatically filled into the check-in list. You will then need to enter in the number of items you have purchased then click [ add this item ]. If a product is not in your database you can add the new product while you are checking in. If you are adding a new item fill in all the information for your new product then click [ add this item ] (make sure to fill in the purchase amount). In the bottom table you can see all products to be add into your inventory database.

Note to be added Boxed product purchase.

Starting Lemon

Now that you have products, you can start selling with lemon, so lets start it to run Lemon find the program icon in the applications menu under Office (it maybe in the Lost & Found menu in Kubuntu) or by running from a shell (command line) by typing Lemon.

At the log-in screen, you can type your user-name and password you created or you can use the administrator user. You will now see Lemon is all grayed out except for [ Log in ], [ Start Operation ], [ Configure lemon ], and [ Quit ].

Configuring Lemon

Once logged into Lemon you will now see Lemon is all grayed out except for [ Log in ], [ Start Operation ], [ Configure lemon ], and [ Quit ]. Click on [ Configure lemon ]. In the Configre – lemon window there are 6 buttons on the left General, Store, Database, appearance, Security, and Printer you can find more information on these in the definitions section under Configure-lemon. Lets start in [ General ]. Put the terminal number you want in field where it says This is the terminal number. In the area that says Low Stock you can type in the minimum number in stock you want any item to get (this is over all). In the area that says Drawer Cash Level you can type in the minimum amount of cash you want in the draw. Next click on [ Store ]. This is where you can enter in your store's information that you want on your receipt. Next you will want to click on [ Printer ] and set up your printing options (if you do not have a printer you can save your end of the day reports to PDF). Now click [ OK ]

Starting operations

To start using Lemon you need to click on the [ Start Operation ] button. You should get a window that asks what your draws balance is (this will help keep track of your cash). Now everything should be operational it being you first time you should see the search window, total, sales window, and all the buttons should be colored in.

Setting up Lemons window

Sometimes when you open Lemon for the first time it may not look like it fits so you will want to adjust some things. First start by hiding the product grid by pressing Ctrl+P on your key board. This will hide the products if you want the grid back just press Ctrl+P to un-hide it. Next where the icons are right clicking on them will bring up a menu. Move you mouse over Text Position and then click on [ Icons Only ]. Your window may still not look correct but if you left click just above where it says code and drag you mouse to the top of your screen and let go it should adjust (If not drag to the left side of your screen and let go the to top).

Your first sale

To perform your first sale you can ether scan an item into the field that says bar-code or you can find the item in the search window and double click on it. Once you have finished scanning all the items you can then click on the field that say cash amount or press + and type in the dollar amount they are paying with. You should notice that Lemon will tell you how much change to give back and then when you press enter you should see a print screen pop up press Enter to print receipt or cancel.

Using weights

In order to sell a scaled/weighted product in Lemon you must first weight the item on an external scale that uses tenths of a pound or grams. Then in the barcode area type the weight (up to 0.00001) and then type an asterisk symbol ( * ) then enter the bar code or alpha code(new 0.9.4rc4).

Example: 1.25*32132100 or 1.25*fruit(new 0.9.4rc4)

Other useful tasks for vendors

Searching products [ F3 ]: You can search for a product by typing into the field provided. It will search by any letters found in the words.

Example: typing – mo - could bring up almonds or moose

Incrementing a product in the list: If you type the quantity then ( * ) then the bar-code it will add that number of items.

Example: 2*03422104 = 2 candy bars

Decrementing a product in the list [ Ctrl + minus ( - ) ]: You can delete an item out of a transaction.

Deleting products in the list [ Ctrl + minus ( - ) ]: You can delete an item out of a transaction.

Canceling an in-progress transaction [ F10 ]: This will cancel your current transaction.

Canceling a completed transaction [ F11 ]: This will let you cancel a past receipt.

Reprint tickets [ F5 ]: This will let you reprint a receipt.

Cash Available in the drawer [ F6 ]: This will tell you how much cash is in the register draw.

Price Checker [ F9 ]: This will check the price without ringing in the product.

Cash In [ F8 ]: If for some reason you run out of cash this will let you put money in and give a reason.

Cash Out (cash drop) [ F7 ]: If you want to pull cash out of the draw because there is to much

Make a Balance for the vendor

End of day report

This will print a days summery report of what transactions happened. It will save out as a PDF file saved into the Documents folder which is located inside the Quick access browser folder (the one with the star next to the K menu)

Some other administrative tasks

Some other useful administration tasks that you can use in Squeeze. (To be added)

Quick Information Plots

Transaction Reports

Balances Reports

Cash Flow Reports

Configuring Squeeze

Keyboard Shortcuts

These are keyboard shortcuts that let you press keys on the keyboard to get to options and menus faster without having to navigate to them or click on them with the mouse.

General shortcut

Alt + an underlined letter (File, Data, Reports, Add User, Delete Selected, etc.)

Lemon short cut keys

Start operations – Ctrl + N
Focus code input box - F2
Payment method – CASH – Alt + S
Payment method – CARD – Alt + R
Focus the payment amount – Alt + A
Search products - F3
Show products grid - Ctrl+P
Deleting a product from list – Ctrl+minus ( - )
Cancelling current transaction - F10
Cancelling a ticket - F11
Reprint tickets - F5
Show price checker - F9
Cash Available in drawer - F6
Cash Out - F7
Cash In - F8
Balance – Ctrl + B
End of day report – Ctrl + W
Log in / log out – Ctrl + L
Add Special Order - Pg Up
Complete a Special Order - Pg Down
Change Special Order Status – Ctrl + PgUp
Lock Screen – Ctrl + Space
Suspend Sale – Ctrl + Backspace
Resume Suspended Sale – Ctrl + R
Apply an occassional Discount - Ctrl-D

Squeeze short cut keys

Log in – Ctrl + L
Browse products – Ctrl + P
Browse offers – Ctrl + O
Browse categories – Ctrl + C
Browse weight and measures – Ctrl + M
Browse users – Ctrl + U
Browse clients – Ctrl + I
Browse transactions – Ctrl + T
Browse balances – Ctrl + B
Browse cashflow – Ctrl + F
Check In - F2
Check Out - F3
Stock Correction - F4


General Definitions

Low security mode:Enabled it does not ask for user/password when exiting.

Raw Product:This are products used only for Special Orders, they cannot be sold separately. This are the pieces/ingredients to make the Special Order. (These cannot be used in group/packs they are only for specail orders.)

Special orders: are products that need to be prepared/manufactured/assembled/cooked/etc... and delivered (or picked-up by the client at store) at some time after the order is taken. It can be partial paid (to make the full payment at delivery/pick-up).

Group Product:These are products that group other products together. It has a barcode/code/alpha-code to be identified, the price is AUTO calculated based on the components prices (applying a discount if desired) and taxes. A product can be asigned to multiple groups. (These cannot contain a grouped product or RAW products.)

For example a "Combo" formed by "1 hamburger, 1 coke, 1 slice of cake". Another example is "two bottles of water". All the components of the combo must exists before creating the group/pack/combo.

User Role:

Vendor: Only Sell
Supervisor: Authorize occasional discounts, authorize ticket re-print (new, since version 0.9.4), authorize product remove from the "cart" (if configured to do so), Authorize Start Operations, Authorize Cash-in/Cash-out, Configure lemon. Can use squeeze to edit users and clients only. Also can sell.
Administrator: Full privileges.

Purchase: This is the number of items you have in your inventory

Points: These are points used for the loyalty program they are added to the clients total points when a client buys a product with points.

Sold by: This is the Weight/Measure the product is sold by.

Tax 1 and Tax 2: This is the tax for the product, in percentage. Depending on the configuration (Add Taxes) the taxes will be calculated and showed for informative purposes or will be added to the total sale. AddTaxes = True means that the price does not include taxes, AddTaxes = False means that the price already includes the taxes, and the taxes are calculated only for informative purposes. The AddTaxes=True is what is used in the U.S., you see a price tag and when you pay the sale taxes are added. Also with this information plus the profit field the price can be auto calculated in squeeze's product editor.

Public price: This is the price to be sold, with taxes included. This price can also be calculated with the Profit and taxes fields.

Profit: This field is for calculating the public price with the desired net profit margin, also taxes are taken into account; after entering cost and taxs press the $ button to calculate price.

Configure-lemon Definitions


This has general setting for the terminals look and warnings

Dialogs and Authorizations:
Show a dialog when printing ticket: this toggles if you will see a receipt appear on screen when the receipt is printing.
Time showing the dialog: This is how long the printing receipt will show on the screen.
Require authorization to delete item from shopping list: With this checked it will ask for a supervisor or administrator's long in and password to delete and item out of the shopping list.
Products Grid:
Show products grid: This will hide the product grid when you start Lemon.
Low Stock:
Minimum value for alert: This will show an alert for when any item gets down to the specified amount.
Draw Cash Level:
Display warning message when level is lower than: This will do what it says. When the cash in you draw is lower then the dollar amount you specify Lemon will warn you.
Add taxes to sale (not included in price): This will add taxes to the total price not each item.


This is where you can enter in your store's information that you want on your receipt.


For setting up your database that Lemon will be using.


For configuring the theme of Lemon


For configuring what needs a password to use.


For setting up your printing options.

First Time?

Is this your first time setting up a POS system? If so these are some help tips to help you get started off in the right direction.


If you have a business that is in operation you do not want to have to stop everything just to input item bar codes and item descriptions for 24 hours. You can over time add product codes and information while you have some down time by in Squeeze adding the item (1.5 Adding products) and putting into the purchase field 1 and filling in all the other information. Then when you are ready to change over to using your new POS system you can use in Squeeze the use the purchase function (1.6 Checking in) to add the rest. Purchase will automatically fill in the information that you have already filled in and all you have to do is count what is on the shelf and minus 1 (because you put one in already). Example: You have 3 bottles of Coke on the self so 3-1=2 in the purchase put 2 and then click [ OK ] it will add it to the 1 you have in you system already.

Note you can do this without adding a product it will just say "out of stock"

Database Creation

For the first time, you have to create a database. Database is used to store all things related to the operation of the POS, like sales, users, and products.

Remember that MySQL should be running and configured before creating the database, and before running LemonPOS.

To create database, run the script(using terminal) included inside lemonpos/database_resources/ or on recent releases this file is located at /usr/share/kde4/apps/lemon/

Open your terminal program and type(if you used repository or deb package): cd /usr/share/kde4/apps/lemon/

then type: cat lemon_mysql.sql | mysql -u root -p

Open your terminal program and type (if you compiled it yourself): cd lemonpos/database_resources/

then type: cat lemon_mysql.sql | mysql -u root -p

Note 1:If you are updating lemonPOS, you may look in the release README and/or in the lemonpos/database_resources/README for instructions to update the database if needed. When a fix is provided the file looks like "fixme_VERSION.sql" where VERSION is the version you may have installed and will update, for example for 0.9.3rc2, the file is "fixme_0.9.2.sql", meaning that you must have 0.9.2 version installed and upgrading to 0.9.3rc2.

Note 2: If you do not know what "fix_sql" files you need when you are in terminal you have opened your "lemonpos/database_resources" file or "/usr/share/kde4/apps/lemon/" file type ls and then press enter, that will show you all the database updates. If you are installing LemonPOS for the first time from git or using natty_rc8 you will need to run all updates for 0.9.3 and ones that have names.

Database Back up

It is good practice to back up your database information over time and after a large change. To back up your database open terminal(Linux), command prompt(Windows) in order to backup your database.

Backing up a database type: mysqldump -u root -p database_name > name_of_back_up.sql

Example: mysqldump -u root -p lemondb > lemon_backup.sql

If you do not know the database name type show databases;

Also you can back up all databases if you have multiple: mysqldump -u root -p --all-database

Note: The file will save in the file it says you are located in your command line

Example: C:\Users\Jon Dough> Means: in the "C:\" drive in the "Users" file \ in the "Jon Dough" User file (To change file save location see "changing save location")

Database Restore

It is good practice to back up your database information over time and after a large change (see Database Back up). If you have a backed up database and would like to restore is first you need to open terminal(Linux), command prompt(Windows). Locate move to the file location were the backed up file is located(see Changing file location) .

To restore a database type: mysql -u root -p -h DBSERVER dbname < dbname.sql

(localhost is the default DBSERVER name)

Example: mysql -u root -p -h localhost lemondb < lemon_backup.sql

If you do not know the database name to see databases log in to mysql: mysql -u root -p

Then: (Enter your password)

Then type: show databases; (Do not forget the ; at the end)

How to delete a database: echo "drop database lemondb" | mysql -uroot -p

Changing file location(extra database help)

Sometimes you would like to change directory (dir) or file using terminal(Linux), command prompt(Windows). First you need to determine were you would like to save your file or where your file is located. Once you have located your file you need move into its location. If it is on an external hard drive or flash drive you will need to go there first. Open terminal(Linux), command prompt(Windows). It should show up something like this.

terminal(Linux): office@server:~$

command prompt(Windows): C:\Users\Office>

Now remember the drive letter this is were you need to type it in.

terminal(Linux): office@server:~$ cd /f

command prompt(Windows): C:\User\office> f:

Then you need to navigate to the folder you would like to save into. If you do not already have a folder you can make one using mkdir folder_name(name it something easy to identify what is it).

terminal(Linux): office@server:~/F$ cd folder_name

command prompt(Windows): F:> cd folder_name