Touchscreen POS

From ADempiere ERP Wiki
Jump to navigationJump to search

Adempiere Touchscreen POS by Adaxa Pty Ltd[edit]

This contribution from Adaxa Pty Ltd builds on the rudimentary legacy Java POS (inherited from Compiere and already extended by various other parties) in order to provide a complete integrated POS solution for Adempiere. It is specifically designed to be compatible with modern touchscreen based POS terminals, allowing the user to interact with the application without mouse or keyboard.

The old layout has been significantly simplified and streamlined, as demonstrated in by the following screenshot (displayed using the Nimbus theme in screenshots further below). (Enhanced and QA for version iDempiere361. OpenBravo POS is also integrated.)

POS basemenu.png

Order information is displayed on the left of the screen, with large buttons giving access to the required functionality.

The keypad displayed on the right of the screen allows products to be added quickly and efficiently. As previously the key layout is completely user configurable within Adempiere, however Adaxa has made the following improvements:

  • user defined number of columns
  • dynamic sizing to make best use of available space
  • scrolling support if there are more buttons than will fit comfortably on the screen
  • enlarged scrollbars for ease of use with touchscreen
  • optional display of a product icon on each button
  • display font and colour control
  • buttons can span multiple rows and/or columns
  • nested keypad layouts. For example: pressing the top "All products" button causes the keypad to be redrawn with a new set of buttons as shown in the next screenshot

POS submenu.png

Pressing the "Popular Items" button returns the user to the original screen. This functionality allows complex hierarchies of products to be accessed through a few touches on the screen.

The "Product" field allows product identifiers to be entered directly to search for products. This can be done using a keyboard, a barcode scanner, or using an onscreen keyboard as shown below.

If enabled, the onscreen keyboard will display when any text field is clicked on, similarly an onscreen number pad will display for any numeric field. The key layouts are user definable using the same infrastructure as the main keypad, allowing arbitrary characters to be assigned to buttons and keyboard layouts to be nested (e.g. the button marked "ABC" leads to an uppercase version of the keyboard).

POS keyboard.png POS numpad.png

Product searches are conducted using the Product query dialog, accessible by pressing the button next to the Product field, or by entering a partial identifier in the Product field.

POS productQuery.png

Multiple orders can be opened simultaneously by pressing the "New" button without processing payment for the current order. All open orders are easily viewed and retrieved using the "History" button which displays the following dialog.

POS orderHistory.png

Once an order has been entered, payment can be taken by pressing the payment button at the top of the left panel. This displays a dialog offering various payment options, selectable from a drop down list. Multiple payments of any type can be accepted for the order until the balance has reached the order total and the order is paid.

POS cashPayment.png POS chequePayment.png POS creditcardPayment.png


  • Then recompile your source and deploy.
  • Then ant your build.xml at migration/354a-trunk/<DB> to get the latest model changes.


  • Follow this guide that describes the QA testing suite to the improved and integrated JavaPOS for version 361 (CarlosRuiz).