Java POS

From ADempiere ERP Wiki
Jump to navigationJump to search

This is now deprecated by Touchscreen POS from Adaxa Pty Ltd, Australia.


OpenXpertya enhanced Swing POS

IMPORTANT NOTE: This functionality is still marked as beta in Adempiere - in order to enable it you must enable beta functionalities in the tenant (check Use Beta Functions on window Client) - Note you could also modify dictionary and uncheck beta on the windows.

  • This Java based Point of Sales was inherited from the parent project Compiere. However it was incomplete and not working fully.
  • It is then repaired and tested further by Contributors#Java_POS.
  • Now it is fully working and part of the ADempiere main menu.
  • It can act as a good alternative Sales Order screen.
  • It has a preset touchscreen shortcuts in the POS Key Layout for use during fast order-taking like any POS station.
  • It can have Credit Card feature and Cash Drawer control.
  • It is fully integrated to the whole ADempiere system including Inventory, Customers, Orders, and Cash Book.
  • It is very fast due to its standalone customised java code for a LAN based Client.

Setup Overview[edit]

  • Login as ClientAdmin and browse through the main menu tree to find the POS section.
  • Then we setup POS Terminal account for user authorisation to login and use the Java POS.
  • Then we setup the Products touchscreen buttons - POS Key Layout.
  • Now you can click on the POS window and see it.
  • Then we setup the opening cash balance in tiller via the POS Cash Functions window.
  • Now we are ready for business!


Taking A Normal Order[edit]

POS Order Line

  • Increase the Qty ordered.
    • You can press the same item keypad again to increase the Qty.
    • It will increase the Qty count of the same item line without inserting a new line.
  • Getting the total payable.
    • Press the Payment icon on the right (see below).
  • Taking Cash Given from the customer and noting the Return change.
  • The checkout line also has the Document No field displayed for reference in the Register later.

POS Process and Change

Finishing the Sales[edit]

  • Opening Cash Drawer and giving the change.
    • Press the Process icon on the left (see below).
    • That will Complete the order.

POS Complete and Print

  • Printing the receipt.
    • The receipt is automatically printed when you processed the order.
    • You can still print an extra receipt by pressing the Print icon on the right (see above).

Using the Current Order Line[edit]

  • Selecting the Product
    • Try keying part of the product name such as 'Patio C' and it will search for the nearest unique match which is Patio Chair and display its name and price in the Current Line section.
  • Adjusting Quantity Ordered
    • Press the plus sign + to increase the quantity
    • Press the minus sign - to decrease the quantity
    • In our example we press 2 more times to set 3 units.

POS Menu

BarCode UPC Scanning[edit]

  • The Java POS is already BarCode ready. [1]
  • Just attach a barcode scanner as input device and scan the product. As long as the UPC is present in the system the product will be displayed in the Current Order Line.
  • Then add the quantity or press the Save icon to accept the line.

Accepting the CurrentLine[edit]

  • When ok, press the left new icon to enter the current line into the sub lines section

POS Menu

Deleting Order Lines[edit]

  • Using the selection arrows
    • In our Normal Order above, lets say we want to delete the Oak Tree item in the order.
    • You can press on that line or use the arrow keys on the right of it, which you have to press twice to get to the Oak Tree item.

POS Line Highlight and Delete

  • Deleting the order line
    • Press the Recycle Bin icon on the middle right.
    • The highlighted line will be deleted from the order and the prices readjusted.

POS Line Deleted with prices adjusted

    • You can check the Sales Order window to confirm.
  • Deleting all order lines
    • Keep pressing each line with the Recycle icon. It shall delete until the whole order is empty.
    • You may resume and key in new orderlines and that Order will be reused until you process it.
    • If you exit POS at this moment, the Sales Order window will have an empty order but with a running Document No, so auditor knows there is no fraud or missing Documents.

Making A New Order[edit]

POS Business Partner and New Order

  • At the Business Partner section at the top of the screen, you can click on the New Icon on the left to refresh the sub lines to start on a new sales order.
  • The previous order is still there and you can access it via the POS Cash Register.

Further Functions[edit]

  • POS Cash Functions allows you to manage the Cash Journal with cash movements and balances.
  • POS Cash Register allows you to review your previous orders and resume on any in-progress ones.
    • 'Cafetaria' use where different BPartners (customers) occupy separate orders can be seen via this Register.


Small Areas To Improve[edit]

  • Credit Card - code already present in trunk from WebStore package and need proper activating.
  • Cash drawer - already present in POS package. Needs minor stitching
  • Order Lines scrolling. Now need keyboard to get to last line or via scroll arrow keys. Wish it auto scroll when falling out of box borders.

Source Codes[edit]

  • The sourcecode to handle Java POS is already in SVN Trunk of the ADempiere project space
    • Under Client Source Folder
    • org.compiere.pos (see java classes listed below)

Source Code List


  • This is best deployed in Local Area Network (LAN) environment i.e. within an area with a common network due to it been Java or thick client based.
  • It should work well over wireless LAN.
  • It may not give quick responses if done over a WAN and may not be secured too unless tweaking is done with extra effort. However this is not tested and so is not conclusive.
  • For web based POS, it is best to rely on Posterita.