View source | Discuss this page | Page history | Printable version   

Modules:OMS Engine/User Guide



This module provides a web service that can propose the best suitable warehouse/store to fulfill a given order.

The engine will run a set of algorithms in priority order till a solution is reached. These algorithms can be configured in BO as a set of criterias sorted in priority order. The module contains a set of algorithms, and other modules can provide new ones. Each of this algorithms can as well add the required configuration windows tabs and fields. Each organization can determine the set of rules to be used by the engine as well as the priority for each of the rules. Once a rule finds a solution the engine stops executing and next rules are not eval.

Bulbgraph.png   Note: In order to use OMS with Openbravo Web POS it is necessary to install OMS for Retail module.


OMS Configuration

OMS configuration window allows defining a set of OMS rules for each organization. These rules are defined in secuential order. The engine will loop through the rules in secuential order till a solution is reached.

OMS configuration window

OMS Configuration window has two main tabs. In the first one (OMS Configuration) user cans select the organization the rules will apply to. Just one record per organization is allowed.

The rules tab is where to describe the set of rules to be used by the engine for the given organization.

These rules follow a secuential order defined by Line No field. Engine will start with the first rule trying to get the final solution. If the solution is not reached with the first rule, engine will then run the second rule trying to find the solution again. This process continues till the final solution is found. If all the algorithms are run and no solution is found, the engine will return an empty proposal.

Partial Allocation Allowed field determines whether a partial solution is acceptable or not. In case a partial allocation is allowed, the rule can fulfill the order partially, and then next rule will try to attend the remaining quantities for the order.

Each criteria can as well add new configuration fields or tabs. Taking 'Warehouses by priority' criteria as an example, it adds a new tab called OMS Warehouse Priority. That tab can be used to define the different priorities the organization has for each warehouse.

OMS Rule

OMS Rule window allows defining a rule as a combination of Criteria in a well-defined order. It represents the list of criteria the OMS rule should take into account to propose the sourcing for an order.

OMS Rule window

Criteria tab can be used to configure the sequence of criterias the rule needs to eval to get the final proposal.

Engine will use as input the available stock. Each criteria will then transform this input sorting or just removing stock which is discarder by the criteria.

The rule will run each of the criterias in secuential order (See field Line No).

Algorithms can be defined as final. When a criteria is associated to an algorithm declared as final, it has to be the last criteria for a rule. Final criterias output is the one used to fullfill the order, while previous criterias are used to sort or filter the available stock.

Each criteria can as well deploy its own configuration fields. Taking 'Warehouses by priority' as an example, this criteria adds a couple of new configuration fields:

In this particular case this values are used to filter out the list of available stock for the requested products. The resultant available stock is as well sorted following the priority order of each of the warehouses.

Once this criteria is eval, the oputput si a filtered and sorted list of available stock that can be used as input by the next criteria.



OMS Run window allows monitoring each of the engine execution. Whenever the engine receives a request a new OMS Run record is created. This information is really usefull to understand what the engine did.

The header reports the final status and the time the engine took to process the request. Both Input and Output JSON are as well visible dellow Inpuy & Output section. This are the request JSON (input JSON) and the response JSON (output JSON).

OMS Run Header

OMS Run window provides a set of tabs to easily track and understand what the engine did.

Summary tabs:

OMS Run Order Lines
OMS Run Order Lines
OMS Run Order Lines
OMS Run Order Lines
OMS Run Output Stock
OMS Run Order Proposal
OMS Run Unable to deliver lines
OMS Run Rule Run

There are some subtabs which helps us understand what each of the rules did when processing:

OMS Run Rule Pending Order Lines
OMS Run Rule Stock IN
OMS Run Rule Stock OUT
OMS Run - Criteria Run
OMS Run - Criteria Stock IN
OMS Run - Criteria Stock OUT

Retrieved from ""

This page has been accessed 1,791 times. This page was last modified on 25 March 2020, at 12:53. Content is available under Creative Commons Attribution-ShareAlike 2.5 Spain License.