View source | Discuss this page | Page history | Printable version   
Main Page
Upload file
What links here
Recent changes

PDF Books
Show collection (0 pages)
Collections help


Retail:Store Server BP Segmentation


Bulbgraph.png   This functionality is available from RR16Q3.


Depending on the country and law, it is possible that restrictions apply on what data can be present on a store server. Also in the case of external stores (franchising) there can be restrictions.

Therefore the OB Commerce suite provides advanced logic for sharing business partner/customer data with stores in your organization. This concept is called BP Segmentation.

BP synchronization and segmentation plays a role in 2 distinct moments:

Runtime sync is relevant when a BP is created through WebPOS. When the store server is offline then the BP can be created in the central server and needs to be synchronized back to the store server (when it gets back).

How business partner are segmentated

Changes done to a business partner will be synchronized to specific stores to which the business partner is linked.

The logic makes a distinction between business partners which are standard store customers. A standard store customer is only synchronized to a store to which it is explicitly linked. A standard store customer is a normal customer. A non-standard customer for example is then a sales representative or the default store customers. So non-standard customers are more for internal WebPOS usage.

Non-standard customers are synchronized to all the stores.

For standard customers there are 2 ways in which a business partner can be explicitly linked to a store:


Both the table that stores the business partner-store relation and the flag to determine if a business partner is a standard customer are initialized using the following ant task:

ant -f modules/org.openbravo.retail.storeserver.synchronization/build.xml initialize.bp.segmentation.tables

After this initialization there are so-called event handlers which update the 'standard customer' flag and the default store/BP by server table based on the usage of the Business Partner. For example when an order is created for a business partner in a store, the business partner will be automatically added to the store if it was not already included. If it is the first store then the 'Default Store' property is set, for the relation to the second or third, etc. store the BP by server table is used.

Synchronizing Related Tables

When a business partner is included in a store by adding a row to the Business Partner by Server window, it is required to synchronize to the store the relevant rows of c_bpartner and other tables related to it. The list of tables related with c_bpartner is defined in this window:


This tables, along with c_bpartner, are synchronized to the server by "touching" (updating the updated column to the current timestamp) the relevant rows, so that the changes are detected by SymmetricDS, whose business partner router will now be able to route these data to the proper store, as the router takes into account the Business Partner by Server window.

When entering a new record it is probably easiest to look at an existing example to find how to set the correct values:

Retrieved from ""

This page has been accessed 1,283 times. This page was last modified on 16 March 2017, at 09:04. Content is available under Creative Commons Attribution-ShareAlike 2.5 Spain License.