Openbravo POS Integration
| Languages: |
English | Français | Translate this article... |
Contents |
Summary
In an organization, more than one software application often exists to support a particular aspect of operational requirements. The result is an heterogeneous set of software applications requiring data sharing and integration. An ERP system like Openbravo tries to solve this problem by offering one solution for every operational requirement. Openbravo maintains one shared database for all data, integrated processes among different departments, a consistent interface for every user, and homogeneous reports/score cards that display operational data of the whole organization.
However there are specific corners of an organization that an ERP system cannot solve. For example, POS systems like Openbravo POS where special user types and hardware device support are required. The POS system user is a salesman who uses an ERP in a different manner. The interface has to be very easy to use and provide the only the specific information the salesman needs. This salesman needs to operate the POS as fast as possible as his job is to sell, not to operate the POS. For example he does not want to deal with a mouse and a keyboard, rather he prefers a touch screen. In addition, the POS system needs to support a lot of POS hardware available for the real solution: receipt printers, barcode scanners, customer displays, cash drawers, scales, etc.
Openbravo POS is a point of sales application designed for touch screens. And can be downloaded from Openbravo POS Downloads.
This document describes the integration effort done between Openbravo and Openbravo POS to integrate and work with the same set of data. This integration is based on web services and using the integration released in the Melinux Linux distribution and developed by Opentrends.
Integration overview
The focus of this integration is to create a system where Openbravo is the central repository of data. Products, categories and orders are maintained and Openbravo POS has the ability to operate with the products catalog downloaded from Openbravo and to upload orders created by the sales activity of Openbravo POS.
This integration has been developed with webservices. Openbravo ERP has two webservice endpoints called ExternalSales and WebService. The methods of these endpoints are called on by Openbravo POS whenever the integration is required.
This document refers to Openbravo POS 2.10 or greater and Openbravo ERP 2.40 or greater.
The Synchronize POS process
In an integrated environment all the products information, warehouse information, product categories, taxes and customers information is maintained in Openbravo ERP. This process is executed when is required to synchronize in Openbravo POS the information that changed in Openbravo ERP.
In the Synchronize POS process the following methods are invoked.
-
getProductsPlusCatalogfromExternalSales, when invoked, downloads the product catalog from Openbravo to Openbravo POS as well as the product categories taxes records and warehouse information for these products. The set of products downloaded is defined in the External Point of Sales window of Openbravo ERP. After downloading the products list, Openbravo POS checks all the products downloaded as available in the sales panel catalog.
-
getCustomersfromWebService, downloads all the customers from Openbravo ERP.
The Synchronize Orders process
Every Openbravo POS receipt created has to be uploaded to Openbravo ERP to allow this information be processed by the ERP system.
The method invoked is the following
-
uploadOrdersfromExternalSaleswhen invoked upload to Openbravo ERP all the sales closed Openbravo POS that has not been previously updated. After uploaded an user of Openbravo ERP must process the imported orders in the Import Orders window of Openbravo ERP. The options of the External Point of Sales window are used when processing the orders uploaded.
Openbravo configuration
Install Openbravo webservices
You need to install the Openbravo webservices that enable the integration functionality in Openbravo. To do this open a terminal window, navigate to the directory AppsOpenbravo inside the Openbravo base directory and execute the next command.
# ant installWebService
After installing the webservices you can see if it is properly installing opening in your web browser the page http://localhost:8000/openbravo/services/ExternalSales?wsdl and http://localhost:8000/openbravo/services/WebService?wsdl where localhost:8000 is the host you installed Openbravo. And you will see an XML file that describes the services Openbravo POS uses.
Edit the external point of sales
In Openbravo edit the external point of sales to define the products that will be available for every point-of-sale. This way, when a point of sale tries to get the product catalog from Openbravo, the products defined in this window for this point of sale are sent. And the options defined are used in the process of orders imported.
To edit the external point of sale you have to change the role to the Openbravo ERP entity administrator of the entity you are working with, and open the menu option Sales management / Setup / External Point of Sales.
In this window you define your point of sales and include/exclude products and product categories associated with your point of sale.
You can select the products set to synchronize by category or by product. To select the product by category choose All Selected in the Included Product Categories selector and add the category records wanted. To select the products list by product, choose All Selected in the the Included Products selector and add the product records wanted.
You have to check for the products included in the External Point of Sale definition that have been properly defined and that have a price for the price list used.
Also check that the Business Partner used is a customer of the Openbravo ERP entity you are working with. This Business Partner will be used as the default Business partners for the orders created in Openbravo POS and for example it cannot be the Openbravo ERP entity you are working with.
Add permissions to invoke the external point of sale web service
To invoke the external point of sale you need an Openbravo user with authorization to invoke it.
To have authorization to invoke the external point of sale web service you need access to a task with class name org.openbravo.erpCommon.ws.externalSales.ExternalSales. Tasks are defined in the menu option General Setup / Application / Task. In the database provided with the default installation there is already a task External Point of Sales with class name org.openbravo.erpCommon.ws.externalSales.ExternalSales.
Once this task is created you need a user with a role that have access to this task. To edit users and roles associated go to the menu option General Setup / Security / User. And to edit roles and the task access go to the menu option General Setup / Security / Role.
Openbravo POS configuration
Configure the Openbravo webservices
Login as administrator and open the panel Maintenance / Resources. Create a new resource record called openbravo.properties of type Text and copy the following example configuration text:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<comment>Openbravo Websevice configuration</comment>
<entry key="url">
http://localhost:8000/openbravo/services
</entry>
<entry key="id">1000000</entry>
<entry key="org">1000000</entry>
<entry key="pos">1234</entry>
<entry key="user">Openbravo</entry>
<entry key="password">openbravo</entry>
</properties>
The configuration values are as follows:
- url: The base url location where the Openbravo webservice endpoints are installed.
- user: The Openbravo user used to invoke the integration functionality. This user must have access permissions to the class name
org.openbravo.erpCommon.ws.externalSales.ExternalSales. - password: The password of the Openbravo user.
- id: The Openbravo internal client identifier of the external point of sale.
- org: The Openbravo internal organization identifier of the external point of sale.
- pos: The search key of the external point of sale defined in Openbravo used to identify the Openbravo POS system inside Openbravo.
Execute the integration actions
Products synchronization and Orders synchronization in Openbravo POS
Login as administrator an go to the menu panel Maintenance. Here you have the two available options: Synchronize POS to download from Openbravo the products list defined for this Point of Sale and the customers list, and Synchronize Orders to upload to Openbravo the pending orders generated in this Point of Sale.
Import orders in Openbravo
Once orders are imported from Openbravo POS, these orders must be processed in Openbravo to complete the importation.
To process the orders imported you have to change the role to the Openbravo ERP entity administrator of the entity you are working with, go to the menu option Master Data Management / Import Data / Import Orders and execute the process Import Orders. When the process ends a dialog with the result of the process is shown to the user.
Categories: Configuration | OpenbravoPOS



