Logistics routes Odoo 2/2

August 27, 2024 by
Logistics routes Odoo 2/2
Idealis Consulting, Pierrick Fichefet

Introduction

In the previous article, we explored the theory of logistics routes; now it's time to put it into practice.

If you haven't read the previous article yet, we strongly encourage you to do so.

Configuration of a real-life example

Let's imagine a company that produces a medication in two steps: first, mixing an excipient with an active ingredient, then compressing the mixture to produce tablets. This medication, costly to produce, is manufactured only upon order. Delivery is completed in a single step.

Here is the diagram of the logistics pathway.


Production flow diagram (Image 7)

Creation of the necessary data

First, we will create the necessary data:

Five items:

  1. An empty bottle
  2. The active ingredient
  3. The excipient
  4. The mixture
  5. Medication (bottle of 16 x 500 mg) — this is the product we sell

Three internal locations:

  1. Pre-Mixing
  2. Buffer Area
  3. Delivery Preparation Zone

Two types of operations (one for each manufacturing order):

  1. The mixing
  2. The compression

The default locations for the types of operations are very important, as they determine the source location for the components and the destination location where the finished product will be stored.

Two bill of materials:

  1. The mixing recipe
  2. The recipe for a bottle containing 16 tablets of the medication


It is essential to specify the associated operation type in the bill of materials. To do this, go to the 'Miscellaneous' tab. The specified operation type determines the source location for the components and the destination location for the finished product.

Logistics routes

We will now configure the logistics routes according to the diagram shown in Image 7.

As shown in Image 3, a contact is by default assigned to the location 'Partners/Customers'. This is the location where the delivery requirement is generated upon confirmation of a sale. We will therefore start with this step.

We will create a route containing a rule:

The rule transfers the need created by a sale from the location 'Partners/Customers' to the location 'VACCI/Delivery Preparation Zone'. We want to move the goods from the Delivery Preparation Zone to the Customers.

It is also important to note that the 'Warehouses' box has been checked for this rule, making it active by default for all warehouse operations.


To fulfill the need created in the 'Delivery Preparation Zone,' it is crucial to configure the rule's supply method to 'Trigger another rule,' so that Odoo can search for another logistics rule to satisfy it.
When a need arises at this location, we want to generate a manufacturing order for the compression process. To do this, it is necessary to create a route with a manufacturing rule.

We will assign this route to our item 'Medication (bottle of 16 x 500 mg)' so that it is only active for this specific item.

With the configuration we've just completed, Odoo will now create a manufacturing order each time a quotation containing this item is confirmed.

Upon confirmation of the quotation, Odoo triggers the following actions:

  1. The sale creates a need for 2 bottles of medication at the 'Partners/Customers' location.
  2. Odoo searches for a rule to fulfill this need and finds the 'Deliver Medication' rule, which is active by default for the warehouse. This rule transfers the need to the 'Delivery Preparation Zone' location.
  3. Odoo then searches for a rule to fulfill the need at the 'Delivery Preparation Zone' location and finds the 'Compression' rule. This rule checks the bill of materials associated with the product, selects the first available one, and generates a manufacturing order based on that bill of materials.

Here is the manufacturing order that has been generated.

Thanks to the configuration we made in the bill of materials, you can see that the compression manufacturing order correctly retrieves the components from the 'Buffer Area' location.

We have thus generated the red part of the flow; we now need to configure the remaining part.

The next step is to generate a need for the 'Buffer Area' location and address it by creating a production order for the 'Mixture' item.

A component of a manufacturing order is always consumed in the production location specified in its product form.
In Odoo, consumption results in a stock movement from the source location of the manufacturing order to the production location of the item.

We need to create a logistics rule that corresponds to this consumption movement.

With this route, a need will be generated for the 'Buffer Area' zone. To enable Odoo to search for another rule that can fulfill this need, it is important to configure the rule's supply method to 'Trigger another rule.

Next, we need to create the rule that will fulfill this need by generating a manufacturing order.

All that's left is to assign these two rules to our 'Mixture' item.
Upon confirmation of the quotation, Odoo will then generate two manufacturing orders: one for the bottle of medication and another for the mixture.


So, this is where we are in the flow.

Next, we need to generate a need for the 'Pre-mixing' area to supply the active ingredient and the excipient, and then address this need by creating a stock transfer request from the 'Stock' area.

To do this, we need to create a route with two rules.

Be sure to configure the supply method for both rules as follows:

  • Pre-Mixing -> Production: Configure this rule to 'Trigger another rule'.
  • Stock -> Pre-Mixing: Configure this rule to 'Take from stock,' as this is the end of the flow and no further actions are needed.

And we assign this route to both items.

Upon validating the quotation, a logistics transfer request is also generated and linked to the manufacturing order for the mixture.

This concludes our logistics flow. We could also go further by triggering the purchase of both items if they are not in stock, but that will be the subject of a potential future article.

Several logistics routes can fulfill the same need; how does Odoo choose which one to apply?

When Odoo seeks to fulfill a need, it scans the logistics routes to find the one that can satisfy this need.

For example, in my system, I have three rules that can fulfill a need at the 'Partners/Customers' location.

How does Odoo choose which route to apply?

It prioritizes in the following order:

  1. Specific route on the order: If a route is specifically referenced on the order line, Odoo checks if a rule from that route can fulfill the need. If so, it applies it.
  2. Routes assigned to the item or its category: If no rule was found in step 1, Odoo groups all the routes assigned to the item or the item's category. It then goes through the rules of these routes in sequence and applies the first one that fulfills the need.
  3. Routes assigned to the warehouse: If no rule was found in steps 1 and 2, Odoo examines the routes assigned to the warehouse of the order. It applies the first rule that fulfills the need.
  4. No rule found: If Odoo does not find any rule matching the previous criteria, it returns an error.

Limitations of Logistics Routes

Two major limitations to note are:

  1. Routes do not allow for replenishing only the missing quantities. You either reserve available stock or trigger a replenishment for the entire demand.
  2. Routes operate in a linear fashion, and can't follow alternative paths if an intermediate location is unavailable. Imagine you have three warehouses: A, B and C. The main warehouse is A, from which most of the goods leave. If item P is unavailable in warehouse A, you replenish from warehouse B, which is relatively close by. If item P is also unavailable in warehouse B, then you need to replenish from warehouse C.
    This is not possible with logistical routes. The path must be linear, so in the event of unavailability in A and B, the article must follow the next path:

Conclusion

Logistics routes are a powerful and flexible tool for configuring a wide range of logistics flows. Coupled with Smart Biotech and its quality tools, they can be used to create quality control flows tailored to specific needs.

Odoo also offers a range of other functions to take inventory management even further: replenishment rules, storage strategies, bin management, packaging, scan transfer management, etc. These topics will be covered in other articles.

Idealis Consulting, as an expert partner, is available to advise you on the configuration and use of Odoo.

Read more

To find out more about Smart Biotech, register for one of our free discovery sessions.

Votre snippet dynamique sera affiché ici... Ce message est affiché parce que vous n'avez pas défini le filtre et le modèle à utiliser.


Or visit the solution's website .