Being able to deliver goods on time is the major challenge of every company. The timely delivery of goods largely determines customer satisfaction and therefore directly the success of a company. The better a company has control and influence over the supply chain, the better the company's overall performance.
Odoo uses the Just in Time stock system to ensure that there is always sufficient stock to meet the need at the right time. In this blog, we take you through the setup of the Odoo Just in Time inventory system.
What is the Just in Time (JIT) inventory system?
The just in time (JIT) inventory system is a strategy that aligns component purchases from suppliers directly with the production and/or customer order. Companies use this inventory strategy to increase efficiency and reduce waste by receiving products only when they need them for the production process or customer order, which reduces inventory costs. This method requires precise adjustment of the entire replenishment process.
How to replenish stock in Odoo?
Odoo has several options available to replenish stock. These are:
Replenish based on a minimum stock (Make to Stock)
Replenishment order lines can be entered on the product card. As soon as the number of pieces falls below the minimum level, a purchase order is created. The suggested pieces are the number until the maximum level is reached. E.g. a minimum of 5 pieces and a maximum of 20 pieces, if there are still 4 pieces available, 16 pieces are therefore proposed in the purchase order.
This method is mainly used if a buffer must always be present, so there is always stock. When adjusting the minimum stock, delivery time and other circumstances must be considered so that the stock never reaches the 0 point.
Replenish based on direct demand (Make to Order)
When using the Make to Order method, minimal to no stock is held. Orders are only placed on demand, which ensures optimal use of the warehouse.
Waste is prevented in various areas, less unnecessary management of articles and fewer (internal) movements. If being able to deliver quickly or having stock buffers is necessary, then this method is less suitable or only partially suitable.
Replenishment based on a forecast (Master Production Schedule)
Another option is to work with a 'Master Production Schedule' (MPS). Odoo looks at the expected sales, the required stock and the stock that is already present. Odoo displays a schedule of the required stock over a selected period. A purchase proposal is made per period to always have sufficient stock at the specific time.
How do you set up Odoo to replenish your inventory?
As mentioned, Odoo has different methods to replenish stock. This requires settings specific to each method, but also settings that are shared.
Using safety margins
Safety margins are used to deal with disruptions in the supply chain,
Then choose the relevant safety margins within the configuration, go to stock and enter the data under advanced planning:
Safety delivery time for sales (advancing deliveries to avoid any delays)
Safety delivery time for purchasing (automatically generated orders e.g. through MTO are brought forward to avoid any delay).
Days to purchase (refers to the number of days it takes to process/confirm a purchase order).
How do you use direct demand replenishment?
With the make to order functionality, products are automatically purchased as soon as a quotation is converted into a sales order. With an MTO product, there is normally no stock. If there is one (for example due to a returned product), Odoo will first use the stock. A product is therefore only purchased if there is a demand for it. By default, the MTO function is archived (activate the multistep routes in the settings). After this, the option will be displayed on the product card under stock.
What does the follow-up of the data fields look like?
The delivery of a product depends on several variables. Odoo calculates from the order date to the desired delivery date. To realize this delivery, various actions take place. In addition to the safety margins, there are also a number of other variables that Odoo considers, which can be indicated on the product card:
Purchasing: delivery time from the supplier.
Stock: delivery time to customer; the promised number of days between order confirmation and delivery.
Stock: Production time; average production time to make product.
See a complete example below, including follow-up of the data fields:
|Variables on product form||Days|
|Delivery time to customer||2|
|Purchase delivery time||5|
|Safety delivery time for sales||2|
|Safety delivery time for purchasing||2|
|Days to buy||7|
The following example includes the above variables. The customer hereby wishes to have the product delivered on March 1, 2022. The order date is a few months earlier, on December 20, 2021.
|1. Sales order|
|3. Purchase quote request|
|Days to order||13-02-2022|
|Deadline Purchase Order||20-02-2022|
- Days to Purchase = 7 days.
|4. Purchase order|
|Planned receipt date||25-02-2022|
|Deadline Purchase Order||20-02-2022|
- Safety margins for delivery time for purchasing = 2 days (compared to 27-02-2022).
- Purchase delivery time = 5 days.
|Planned receipt date||25-02-2022|
|6. Sales order|
|Deadline Purchase Order||01-03-2022|
In the case of a production part, a margin of 2 days is included between receipt of purchase order and delivery to the customer.
Just in Time in practice.
In addition to the MTO method, it is also possible to work with a minimum stock at product level.
Product A has a minimum stock of 10 units. Delivery time supplier is 10 days. Since this is a new product, the stock is now 0 pieces.
The planner will make a daily inventory of whether a purchase order needs to be created. This planner can also be activated manually (stock -> operations -> execute planner). The purchase order is ready in the purchase module, the planned date is now + 10 days. The order can be confirmed.
However, it is possible that the supplier will contact you and report a delay. As a result, the receipt date (WH-IN) will have to be adjusted. Suppose this is 40 days in the future and the planner is reactivated, a purchase is then created again. In fact, there are then two orders, this is not desirable. Odoo looks 10 days ahead, given that the delivery time is normally 10 days and the stock is still 0 and the order will only be delivered in 40 days.
To prevent this scenario, the safety margin 'safety delivery time for purchasing' can be adjusted. As a result, expected purchase orders are further postponed, for example enter a large number: 50 days. There will be no duplicate orders in the system. However, consider the following scenario:
Many seasonal items are ordered for the summer in November. The order is confirmed on November 1 and the receipt date is set to July 1. However, it appears that another customer placed a small order for delivery in December.
Odoo will not make a purchase proposal in time due to the safety margin of 50 days, a manual action is then required. A safety margin of 10 days may therefore be more practical.
Testing and tuning.
To test the different variables, it is advisable to try out the functionalities in a test environment. Create a dummy stock product and complete the data as completely as possible, including supplier and delivery time.
When creating a test order, you can specify the delivery time under the heading 'other info'. This is the agreed delivery time with the customer, of course, this can be in a few weeks or in six months, entirely according to the customer's wishes. The expected delivery date is also displayed, this is the earliest possible time to deliver. This is calculated based on available stock, delivery time supplier and time to deliver. Subsequently, the deadline for each process step was calculated and displayed, adapted to the specific wishes as indicated earlier.
Based on the chosen methods and safety margins, it is advisable to evaluate the margins over time, e.g. after two or three months, and possibly build in more or less 'safety'. In this way, products can be prevented from being on the shelf for an unnecessarily long time or from rushing situations.
Finally, it is important to transfer this knowledge to colleagues who deal with purchasing/sales and stock and to ensure that the operation is clear. It then leads to a supporting tool within Odoo to work efficiently, without unexpected actions taking place.