OdooWiki OCA HUB

Stock service level route

stock_service_level_route folder_open OCA/wms open_in_new
Warehouse Management License: AGPL-3

Based on stock_service_level module, this allows to restrict and configure routes per stock.service.level.

Using sale_stock_service_level user is able to set the stock service level (offer / service) on sale order.

This information will be propagated over procurement on stock move line.

Two stock move lines with different stock service level won't be merged which allow to change product route according restrictions configured on stock routes.

For instance this let you sale same product with standard level and premium level. The premium service is allowed to use stock while the standard would generate a purchase order to the supplier leading to extra times before deliveries.

auto_awesome What this module does

AI-generated from the code · Odoo 14.0

Lets you tie warehouse routes to service levels, so the same product can follow different delivery paths (for example premium from stock, standard via purchase) depending on the service level chosen on the sales order.

This module extends the stock service level feature so that warehouse routes can be restricted to specific service levels.

On a route (Inventory > Configuration > Routes) you get a new "Service level" checkbox. When it is ticked, a "Service levels" field appears where you can tag one or more service levels. If you leave the list empty, the route only applies to moves that have no service level at all. If the checkbox is left unticked, the route ignores service levels completely and stays available in every case.

On the service level form you get a "Routes" field listing the routes that are restricted to that level; only routes where the service level checkbox has been turned on can be picked there.

When Odoo looks for the right stock rule to fulfil a demand, it now also filters by the service level carried on the procurement. A demand with a service level only matches routes tagged with that level (or routes that ignore service levels); a demand without a service level only matches untagged routes (or routes that ignore service levels).

This is what allows, for instance, a premium service to be served from stock while the standard service triggers a purchase order, and it also prevents moves with different service levels from being merged.

Models and fields (3)
  • procurement.group · extends an existing model
  • stock.service.level · extends an existing modelroute_ids (Routes)
  • stock.location.route · extends an existing modelservice_level_ids (Service levels), service_level_selectable (Service level)

Text generated by AI (DeepSeek) from reading the Odoo 14.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 1 confirmed, 8 with no information of 9 versions.

terminal Installation and usage

No verified information

Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.

info

Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.