@@ -4,6 +4,9 @@ Basic subcontracting lead times
4
4
5
5
.. |PO | replace :: :abbr: `PO ( Purchase Order ) `
6
6
.. |RfQ | replace :: :abbr: `RfQ ( Request for Quotation ) `
7
+ .. |MOs | replace :: :abbr: `MOs ( Manufacturing Orders ) `
8
+ .. |MO | replace :: :abbr: `MOs ( Manufacturing Order ) `
9
+ .. |MTO | replace :: :abbr: `MTO ( Make to Order ) `
7
10
8
11
In Odoo, lead times are used to predict how long it takes to complete a certain action. For example,
9
12
a *delivery lead time * can be set for a purchased product, which specifies the number of days it
@@ -20,8 +23,8 @@ contracting company to better predict the delivery dates of subcontracted produc
20
23
Unforeseen circumstances can impact the completion of these actions, which means that lead times
21
24
should not be viewed as guarantees.
22
25
23
- Configuration
24
- =============
26
+ Lead times for subcontracting
27
+ =============================
25
28
26
29
When using the :doc: `basic subcontracting <subcontracting_basic >` workflow to manufacture a product,
27
30
a company is not responsible for supplying the subcontractor with the necessary components. This
@@ -46,13 +49,125 @@ Once the subcontractor has been added, enter the number of days it takes them to
46
49
deliver the product, in the :guilabel: `Delivery Lead Time ` column.
47
50
48
51
.. image :: basic_subcontracting_lead_times/delivery-lead-time.png
49
- :align: center
50
52
:alt: The Delivery Lead Time field for a subcontractor, on the Purchase tab of a product page.
51
53
52
54
.. note ::
53
55
Multiple subcontractors can be added to the :guilabel: `Purchase ` tab on a product's page, and a
54
56
different :guilabel: `Delivery Lead Time ` can be set for each.
55
57
58
+ Customer lead time
59
+ ------------------
60
+
61
+ For subcontracted products, the customer lead time must account for all the stages involved, not
62
+ just the subcontractor's production. It must always be longer than the combined total of the
63
+ following:
64
+
65
+ - Component delivery time: the time required for all necessary materials or components to reach the
66
+ subcontractor, whether shipped by the business or procured directly by the subcontractor.
67
+ - Subcontractor production time: the time the subcontractor needs to manufacture or assemble the
68
+ product once the materials are available.
69
+ - Delivery to the business: the time required to ship the finished product from the subcontractor
70
+ back to the business that requested it.
71
+ - In-house manufacturing time: if the subcontracted product is only one part of a larger assembly,
72
+ this includes the time needed for the business to complete its own in-house production.
73
+ - Delivery to the customer: the time required for the business to ship the final product to the end
74
+ customer.
75
+
76
+ This ensures that the subcontractor has sufficient time to receive all the necessary materials, and
77
+ complete the production before the final delivery date.
78
+
79
+ .. seealso ::
80
+ - For flexibility and quality control in raw materials, see :doc: `subcontracting_resupply `.
81
+ - To shorten the delivery-to-customer timeline, see :doc: `subcontracting_dropship `.
82
+
83
+ Purchase security lead time
84
+ ---------------------------
85
+
86
+ The purchase security lead time is a buffer that adds extra days to the expected delivery time of
87
+ purchased products. Its purpose is to protect against unforeseen delays in receiving shipments from
88
+ vendors.
89
+
90
+ This lead time adds a margin of error to the subcontractor's delivery lead time. This is a general
91
+ setting and applies to all products that are purchased or subcontracted.
92
+
93
+ .. example ::
94
+ If a subcontractor ships the finished product through a carrier, such as UPS or FedEx, and the
95
+ carrier experiences unexpected delays, the Purchase Security Lead Time ensures that Odoo still
96
+ plans the purchase order early enough to reduce the risk of late delivery.
97
+
98
+ Days to purchase
99
+ ----------------
100
+
101
+ The Days to Purchase Lead Time defines the time between sending a |RfQ | and validating the |PO |.
102
+
103
+ In a subcontracting context, this period represents:
104
+
105
+ The time it takes for the subcontractor to confirm they can accept the work (i.e., when they approve
106
+ the |RfQ | in Odoo).
107
+
108
+ The time needed to prepare the components that will be sent to the subcontractor, so they are ready
109
+ by the time production begins.
110
+
111
+ Once the subcontractor approves the |RfQ |, it is safe for the company to validate the |RfQ | and
112
+ convert it into a |PO |.
113
+
114
+ This is a general setting in Odoo, meaning only one value can be configured for the entire company.
115
+ It applies to all subcontracted products, but not to directly purchased products.
116
+
117
+ Manufacturing security lead time
118
+ --------------------------------
119
+
120
+ In a subcontracting flow, products configured with |MTO | do not generate a Manufacturing Order in
121
+ Odoo. Instead, Odoo creates a |PO | to the subcontractor. The subcontractor's production is managed
122
+ outside of Odoo, but lead times are still important for scheduling.
123
+
124
+ - Manufacturing Lead Time: This field represents the subcontractor's production lead time (the time
125
+ the subcontractor needs to manufacture the product once they have all the necessary components).
126
+ - Manufacturing Security Lead Time: This setting applies **only ** to in-house manufacturing. It does
127
+ not buffer subcontractor production. However, if a subcontracted product is used as a component in
128
+ an in-house Manufacturing Order, then manufacturing security lead time applies to that downstream
129
+ in-house process.
130
+
131
+ For products configured with |MTO |, Odoo calculates scheduling as follows:
132
+
133
+ .. code-block ::
134
+
135
+ PO Scheduled Date (subcontractor delivery) = Delivery Order Scheduled Date
136
+ - Vendor Lead Time (subcontractor)
137
+ - Purchase Security Lead Time
138
+
139
+ How lead times affect scheduling
140
+ --------------------------------
141
+
142
+ - Component Lead Time: the longest component lead time determines how early Odoo triggers the |PO |
143
+ to ensure all materials are ready for the subcontractor.
144
+ - Vendor Lead Time (subcontractor): set on the subcontractor's vendor record. This defines how long
145
+ it takes for the subcontractor to deliver the finished product once they receive the |PO |.
146
+ - Purchase Security Lead Time: a general buffer that shifts the |PO | creation date earlier,
147
+ protecting against potential vendor or shipping delays.
148
+ - Manufacturing Security Lead Time: only applies if the subcontracted product is later used in an
149
+ in-house |MO |, where it adds a buffer to internal production scheduling.
150
+
151
+ .. example ::
152
+ Stealthy Wood subcontracts the product *Desk Combination * with the following lead times:
153
+
154
+ - Longest component lead time: **5 days ** (*Drawer Black *)
155
+ - Subcontractor (Vendor) lead time: **3 days **
156
+ - Purchase Security Lead Time: **2 days **
157
+
158
+ In this scenario:
159
+
160
+ - Odoo schedules the PO for *Desk Combination * based on the 5-day component lead time.
161
+ - The |PO | is created **2 days earlier ** than the calculated date due to the purchase security
162
+ lead time.
163
+ - The expected delivery date from the subcontractor is **3 days ** after the |PO | date, reflecting
164
+ the subcontractor's vendor lead time.
165
+ - If *Desk Combination * is used in a downstream in-house |MO |, any additional manufacturing
166
+ security lead time would apply to that in-house operation.
167
+
168
+ This example shows how each lead time contributes to scheduling, rather than simply summing them
169
+ into a single customer lead time.
170
+
56
171
Lead time workflow
57
172
==================
58
173
@@ -85,17 +200,39 @@ contracting company.
85
200
As a result, Mike's Bikes sets a delivery lead time of five days for tricycles manufactured by
86
201
Bike Friends: three days for manufacturing, plus two days for delivery.
87
202
88
- On May 3rd , Mike's Bikes confirms a |PO | to purchase one tricycle from Bike Friends.
203
+ On September 24th , Mike's Bikes confirms a |PO | to purchase one tricycle from Bike Friends.
89
204
90
- The :guilabel: `Expected Arrival ` date listed on the |PO | is May 8th , five days after the
205
+ The :guilabel: `Expected Arrival ` date listed on the |PO | is September 29th , five days after the
91
206
:guilabel: `Confirmation Date `.
92
207
93
208
.. image :: basic_subcontracting_lead_times/expected-arrival.png
94
- :align: center
95
209
:alt: The Expected Arrival date on a PO for a subcontracted product.
96
210
97
211
Bike Friends begins manufacturing the tricycle on May 3rd — the day that the |PO | is confirmed —
98
212
and finishes on May 6th, three days later.
99
213
100
214
The tricycle is then shipped to Mike's Bikes the same day, and they receive it on May 8th, two
101
215
days later.
216
+
217
+ Subcontracting portal
218
+ =====================
219
+
220
+ The *Subcontracting Portal * feature allows subcontractors to record the components they have used
221
+ for a subcontracted product. This provides greater visibility and accuracy when managing
222
+ subcontracted |MOs |.
223
+
224
+ To allow subcontractors access to the portal, navigate to the :menuselection: `Contacts ` app, and
225
+ open a contact record. Then click the :icon: `fa-cog ` :guilabel: `(Actions) ` icon, and select
226
+ :guilabel: `Grant portal access `.
227
+
228
+ .. warning ::
229
+ Only users who are in the :ref: `group <access-rights/groups >` *Extra Rights/Contact Creation * can
230
+ grant portal access.
231
+
232
+ From there, click :guilabel: `Grant Access ` next to the name of the appropriate contact.
233
+
234
+ .. image :: basic_subcontracting_lead_times/portal-access.png
235
+ :alt: The portal access management pop-up window.
236
+
237
+ The contact receives an email invitation with instructions on how to access the portal and setup
238
+ their password.
0 commit comments