How Scheduled Dates and Lead Times Interact in Odoo

The great thing about Odoo is that the more information you feed into it and the more you utilize it, the better equipped it will be to assist you with your management tasks. One question frequently asked is how to optimize the configuration of various scheduled dates, which enhances operational planning efficiency and intuitiveness. This article will examine the different settings within the Sales, Purchase, Inventory, and Manufacturing modules, and offer guidance on selecting the optimal plan for your specific operation. This article references Odoo versions 12 and 14; however, much of the mentioned functionality also applies to other Odoo versions.
There are several configurable scheduled dates and lead times that you can set up to help save time, manage your inventory more efficiently, including manufacturing orders, deliveries, and receptions, and provide accurate commitment dates at every stage of operation.
Using the various commitment dates doesn’t just organize your operation process, but also improves customer service and buyer confidence. If your customers can rely on you to deliver on time, they can plan their operations more effectively and are more likely to reorder from you once they know your operation is reliable.
Configurable Lead-Time Settings in Odoo
Several lead-time settings can be configured in Odoo to specify the expected times required to receive, deliver, or manufacture products and plan operations accordingly. There are also a few security lead times that act as cushions to account for possible delays. Before diving into the logic, configuration, and practical application of each of these, here’s a summary of what each of them means:
- Customer Lead Time: The start-to-finish length of time it should take for the product to be shipped to the customer. This is not a calculated field and will require the user to know exactly how long a particular product will take to order, manufacture, and package. Customer Lead Time is set for each product, and if set, this is the only time that’s taken into consideration when calculating the expected date for new sales orders. It’s recommended that when configuring this setting, you do NOT include actual ship time in the logic, as it’s impossible to predict all shipping variables.
- Sales Security Lead Time: This is the pre-configured time padding that would allow for delays anywhere in the process. The number of days configured for this setting would be subtracted from the Customer Lead Time mentioned above to determine the Scheduled Date for a Delivery Order created once a Sales Order is confirmed. For example, if a Sales order is placed with a Commitment Date of 1/30 and you have your Sales Security Lead Time set for 1 day, the Scheduled Date on the generated Delivery Order will be set to 1/29.
- Vendor Lead Time: In instances where a subpart or the product itself needs to be ordered from a vendor, this is the time required by your vendor to deliver those products to you. This is set on the product level, so if you have multiple vendors for a part or product, you can consider their respective delivery times.
- Security Lead Time for Purchase: Additional time to mitigate the risk of a vendor delay. This is useful if you’re working with a new vendor where delivery expectations are unknown, if you have an existing vendor whose delivery times are inconsistent, or if you want to give yourself a bit more time for this operation. If enabled, this will provide a single blanket cushion for all vendors; however, it may lead to confusing PO Order Dates in certain situations (explained later in the article).
- Manufacturing Lead Time: The expected time it takes to manufacture a product. This lead time is set for each manufactured product and does not take either the quantity or the routing time into account.
- Manufacturing Security Lead Time: Additional time to mitigate the risk of a manufacturing delay. This is particularly useful in cases of large-volume orders or when accommodating maintenance or procedural delays. This is a single setting for all manufacturing orders.
- Reordering Rules Lead Time: Set on the product level when configuring reordering rules, this time allows for additional time to either send the order to the supplier or the amount of time you’ll need to receive and process the items ordered. This is separate from either of the Vendor Lead Times mentioned above and can be left at zero or used in conjunction with the other times, as operations require.
Important Notes
- Enabling and specifying a Security Lead Time for Purchase could set the Order Date on the resulting Purchase Order to a past date if the number of days specified on the product’s reordering rule is smaller than the number of days set for the Security Lead Time for Purchase. This applies whether the lead time on your product’s reordering rule is set to “Day(s) to purchase” or “Day(s) to get the products”. As the logic behind this implementation is reserved for particularly complex forecasting needs with strict data controls and process procedures, I recommend leaving Security Lead Time for Purchase disabled in most instances.
- Similarly to the above-mentioned complex logic behind Security Lead Time for Purchase, when configuring reordering rules, whether your product is a Manufacture or a Buy, choosing “Days to get the products” will set the Deadline Start Date on the Manufacturing Order or the Order Date on a PO to the past. Unless you have specific operational needs for such an implementation, it is recommended to use “Days to purchase”* for most of your Reordering Rules.
- When the need to order a particular item arises for a vendor, if there’s an unconfirmed RFQ for that vendor already, Odoo will add another line to the current RFQ instead of creating a new one. However, if the original RFQ was to accommodate an order set far in the future and the newly added item is part of a Restock request, the Order Date on the PO will remain the same as it was when the PO was first created. Restock orders are designed to replenish supplies that fall below a threshold, so scheduled dates associated with purchase requests for restock purposes may not align with incoming order needs.
- The Scheduled Date on a Delivery Order will be set to Commitment Date from the Sales Order minus the Security Lead Time for Sales. The assumption Odoo makes is that the customer will already have their order in hand by this date, which isn’t always logical, as transit times can vary significantly. You can either use the Security Lead Time for Sales field to approximate the shipping time, which isn’t ideal as different orders going to different places using various shipping methods will take different amounts of time, or you can treat the Scheduled Date as a To Ship By date, which is often a more useful application and the example used in this document.
- If your product is configured as Make-to-order, whether it’s a Buy or Manufacture, then confirming a Sales Order will automatically generate a Purchase Order or a Manufacturing Order. The system will not take current inventory into account. If you have changed the routes on a product or had a return, any such “on the shelf” inventory will be ignored for future orders and will need to be addressed manually.
- If your product is set to Buy or Manufacture only and has a Reordering Rule set, then a Purchase Order or Manufacturing Order will be generated once the Scheduler runs next.
- All storable products will give you the option to specify a Reordering Rule. It is recommended to configure this rule unless you prefer to monitor and manage inventory for specific products manually.
- A product with a product type of “Consumable” is treated in all ways like a physical product, which you can buy, sell, and ship, but Odoo will not trigger procurement actions for it. This setting should be used for items that are always maintained in stock to meet overall operational needs, such as paper, staples, screws, nuts, and water. You may need to add these to your Product list, as they might be integral components in a manufacturing order. However, managing stock for these items is done manually on an as-needed basis.
- Weekend and holiday considerations are currently not supported. All lead dates are calculated under the assumption that the operation runs 7 days a week.
- If manufacturing is ahead of schedule and the Shipping Policy on the Sales Order was set to “Deliver each product when available”, the Scheduled Date on the Delivery Order will be updated to an earlier date, even if the order only contained one product and the requested ship date was further in the future.
How and Where to Configure Various Scheduled Dates
Customer Lead Time
The Customer Lead Time is the minimum length of time it takes for the product to be ready for shipping from the moment a Sales Order is entered. It is configured separately for each product by going to Sales > Products > Products. There, open your product form, go to the Inventory tab, and add your Customer Lead Time.
For example, product X is ordered on April 2nd, but the Customer Lead Time is two days. In that case, the expected shipping date for the order is April 4th.
Sales – Delivery Date
A practical configured setting for the Sales module is the Delivery Date. If enabled, it will display Expected Date, Commitment Date, and Effective Date in all new Sales Orders.
The Commitment Date allows a salesperson to enter the customer’s requested ship date when creating a quotation or a sales order. Expected Date in a field above that will be the system-calculated date that takes all the Customer Lead Times for all the products in the Sales Order into account. If the requested commitment date is earlier than the expected date, a warning message is displayed, allowing the salesperson creating the order to set customer expectations appropriately.
It’s important to remember that the Expected Date will only take Customer Lead Times into account and not consider any possible vendor or manufacturing time settings.
Security Lead Time for Sales
In the Sales module settings, Security Lead Time for Sales corresponds to the extra days added to the expected ship date to account for possible delays and ensure that the order is sent to the customer on time. It’s a single setting applied to all orders; keep that in mind when determining the proper configuration.
To set this up, go to Inventory > Configuration > Settings and enable the feature Security Lead Time for Sales under Advanced Scheduling at the bottom.
For example, product X needs to be shipped on April 6th, but the Security Lead Time for Sales is set to one day. In that case, the scheduled shipping date for the order will be set for April 5.
Multiple Product Support
In many cases, customers order multiple products simultaneously. Each product can have a different Customer Lead Time; the whole order will need to be delivered either all at once or separately, as requested. Odoo allows you to easily control how to handle these situations.
You can set up your shipping preference directly from the Other Info tab of your Sales Order/Quotation, and you can choose either “Deliver each product when available” or “Deliver all products at once”.
If you choose to ship each product separately, the Expected Date on a Sales Order will be calculated for the item that will be ready to ship the earliest. If you choose to ship all products at once, the Expected Date will reflect the date of the item that will be ready the latest. Please note that the Security Lead Time for Sales padding date is not reflected here as it’s intended for internal planning only.
Vendor Lead Time
The Vendor Lead Time refers to the time required for a product you have purchased to be delivered to you. It is set on the product level. To configure it, open a product from the Purchase App > Purchase tab > Products, and add or select a vendor under the Purchase tab.
In the vendor window, there is a field where you can specify the Delivery Lead Time. If set, the delivery day for every purchase of that product is now equal to the Order Date of the Purchase Order plus the Delivery Lead Time. Different vendors may have varying lead times, so it’s helpful to keep this information on hand when considering the speed of delivery when placing your purchases.
Security Lead Time for Purchase
Ideally, Security Lead Time for Purchase follows the same logic as the one for Sales, except that you are the customer, and keeps track of the padded time your supplier has to deliver your order. Configuring this date should enable you to account for unexpected vendor delays.
To set up Security Lead Time for Purchase, go to Inventory > Configuration > Settings and enable the feature.
However, the execution of this particular setting is not ideal for most implementations. If enabled, the Order Date on the generated Purchase Order will be set to the date the Sales Order is confirmed plus the Reordering Rule Lead Time minus the Security Lead Time for Purchase, which can potentially set the date in the past.
If the Security Lead Time for Purchase is disabled, the Order Date on a Purchase Order is set more intuitively, depending on the logic mentioned below, which differs depending on whether the item being ordered is a Buy/Manufacture, or either of these two options with a Make-to-order setting.
Reordering Rules Lead Time
When configuring new products, parts, or components that can be purchased, you’ll need to set up reordering rules to manage your on-hand inventory. Especially important for items with high demand and a high stock flow, you can create a reordering rule for each warehouse or location in your operation. However, be aware that this adds quite a bit of complexity to the setup. Note that only Storable products will have the Min/Max option show up for configuration.
On the product view, you’ll be able to see the minimum quantity that must be in inventory at all times, as well as a maximum quantity that’ll guide purchasing.
If you click on that Min/Max tab, you’ll be taken to the Reordering Rules view for that product. Here you can modify an existing Reordering Rule or create a new one.
When setting up a Reordering Rule for a Product, you’ll be able to configure the Lead Time for the corresponding Purchase Order, with either a Day(s) to get the products or a Day(s) to purchase. For most instances, you’ll want to select the Day(s) to purchase option, as selecting Day(s) to get the products may set the Order Date and the Scheduled Date on the resulting Purchase Order in the past.
A product will trigger a restock request if inventory dips below the minimum quantity required once the Scheduler runs next. If you’ve selected Day(s) to purchase, the resulting RFQ will have an Order Date set to today plus Lead Time specified in the Reordering Rule, and a Scheduled Date set to the Order Date plus Delivery Lead Time set for the Vendor under the Purchase tab for the Product.
- For example: Product X is a storable item with a Buy setting, a Reorder Rule that has a Lead Time of 2 days and Delivery Lead Time for the Vendor of 10 days. If the inventory for Product X falls below the minimum threshold on January 1st, an RFQ will be created with an Order Date of January 3rd and a Scheduled Date of January 13th.
If you have selected Day(s) to get the products, the resulting RFQ will have a Scheduled Date set to today plus Lead Time specified in the Reordering Rule and an Order Date set to Scheduled Date minus Delivery Lead Time set for the Vendor under the Purchase tab for the Product.
- Using the example above, but changing this one setting, if the inventory for Product X dips below the minimum threshold on January 1st, an RFQ will be created with an Order Date of December 24th and a Scheduled Date of January 3rd. As you can see, the Order Date has been set in the past, which may not be the intended behavior you had in mind.
You can also create a Reordering Rule with a Min/Max setting of 0/0, in which case an RFQ will only be generated when the product is needed to fulfill an order and current inventory is insufficient. In this instance, the Lead Time is not used as the Sales Order and the Delivery Lead Time for the chosen Vendor will drive the purchasing dates.
Manufacturing Lead Time
The Manufacturing Lead Time is the time required to manufacture a product. This setting is configured at the product level by opening the Inventory tab of your product form and entering the number of days it will take for manufacturing. This allows you to schedule a start date for manufacturing the order, helping to prioritize daily tasks.
Security Lead Time for Manufacturing
Configuring a Security Lead Time for Manufacturing ensures that a manufacturing order is scheduled to start earlier to account for potential delays. There’s only one global setting that’s not product-specific and is designed to account for process issues, machine maintenance, and other delays.
To configure this setting, go to Manufacturing > Configuration > Settings and check the Security Lead Time.
Conclusion
Depending on the specific configurations required for your operation, things can become very complicated quickly. Odoo supports the management of multiple warehouses and locations, along with corresponding reordering rules for manufacturing and purchase orders for each. You can also enable Routes to view the configurations of each one in Odoo in more detail. All of these factors will add layers of complexity that are not covered in this document, as there are too many variables to address comprehensively.
Below is a slightly complicated example of a possible setup to help explain the concepts mentioned above. However, if you have a multi-step production process and need to explore more advanced routes, the team at Steersman would be happy to assist you.
Real World Example
As mentioned before, the more data you input into Odoo, the better it’ll be at assisting you with your operations planning. Below is an example of a fully configured setup for a manufactured product, explaining how all these configured dates work together to provide you with a schedule for every step of the fulfillment process, ensuring customer satisfaction.
Sample Configuration:
Global settings:
- 1 day of Security Lead Time for Sales
- 2 days of Security Lead Time for Manufacturing
- Security Lead Time for Purchase turned off
Product X settings:
- Make-to-order Storable Manufactured product that can only be sold
- Bill of Materials set to require 10 units of Product Y and 100 units of Product Z
- 14 days of Manufacturing Lead Time
- 30 days Customer Lead Time
Product Y settings:
- Storable Buy product that can only be purchased, with five units in stock
- 2 days of Reorder Lead Time with Day(s) to purchase set and 5/10 set for Min/Max
- 10 days for Delivery Lead Time on Vendor for this product
Product Z settings:
- Make-to-order Storable Manufactured product that can only be Sold
- 2 days of Manufacturing Lead Time
- 5 days set for Customer Lead Time
A customer orders product X on the 1st of December and requests that the order be shipped by January 30th with the “Deliver each product when available” option on the Sales Order. Since this is well above the 30-day Customer Lead Time required for the product, the Sales Order doesn’t send any warnings. Given the provided configuration and that the Sales Order is created and confirmed on December 1st, the following will be the process flow:
- Two MOs will be created as soon as the SO is confirmed (on December 1st):
- MO for Product X with a Deadline Start Date (January 13th) = Sales Order Commitment Date (January 30th) minus Security Lead Time for Sales (1 day) minus Security Lead Time for Manufacturing (2 days) minus Manufacturing Lead Time for Product X (14 days)
- MO for Product Z with a Deadline Start Date (January 9th) = Deadline Start Date for Product X (January 13th) minus Security Lead Time for Manufacturing (2 days) minus Manufacturing Lead Time for Product Z (2 days)
- The next time the Scheduler Runs, it’ll see that there are not enough of Product Y in inventory needed for the new MO and it’ll trigger the Reordering Rule on Product Y. For our example, let’s say the Scheduler Runs right away.
- RFQ for Product Y will be created with an Order Date of December 3rd and a Scheduled Date of December 13th. The Order Date is calculated by adding the Reorder Lead Time of two days to the date of creation, and the Scheduled date is calculated by adding the Delivery Lead Time of ten days for that Vendor to the Order Date.
- (Note: If more than one product needs to be ordered from the same Vendor when the scheduler runs, the Order Date will be set using the smallest Reorder Lead Time for the grouped order, and the Scheduled Dates will be based on that for each of the products.)
- The Scheduled Date for the Delivery Order for the Sales Order will be set to Commitment Date minus Security Lead Time for Sales, so in this instance it will be set to January 29th and you’ll have one day to package and ship out the finished assembly.
Related posts

Auto Cancel Expired Quotations in Odoo
We’ve added a new feature to automatically cancel expired sales quotations each night. If a quote is no longer valid, it won’t clutter your pipeline or mislead your sales team; it will disappear.

Odoo ERP implementation for a manufacturer and distributor of scientific equipment parts
Steersman's Odoo ERP and E-Commerce solution for a client looking to make their online store easier to manage, add operational tools, and ultimately increase sales.

B2B Email Marketing in Odoo: Best Practices for Design, Delivery, and List Hygiene
Essential best practices for running effective B2B email campaigns in Odoo—focusing on deliverability, mobile-friendly design, and proper list hygiene. Whether you're sending promotions, product updates, or abandoned cart reminders, you'll learn how to avoid spam filters, protect your sender reputation, and get better results from every send.

Promotions and Coupons for Odoo
The difference between promotion and coupon setups in Odoo as well as recommendations for which discount to use when as well as how to set them up.