Skip to content

Commit 829eb7b

Browse files
Felicioushojo-odooksc-odoomeng-odoo
committed
[ADD] inventory: cluster picking
closes #6592 X-original-commit: 32900ef Signed-off-by: Zachary Straub (zst) <[email protected]> Co-authored-by: hojo-odoo <[email protected]> Co-authored-by: ksc-odoo <[email protected]> Co-authored-by: meng-odoo <[email protected]>
1 parent d0af3f6 commit 829eb7b

File tree

15 files changed

+250
-0
lines changed

15 files changed

+250
-0
lines changed

content/applications/inventory_and_mrp/barcode/setup/software.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,8 @@ directly at creation on the product form.
4343
the template product. Otherwise, you won’t be able to differentiate
4444
them.
4545

46+
.. _barcode/setup/location:
47+
4648
Set Locations Barcodes
4749
======================
4850

content/applications/inventory_and_mrp/inventory/management/misc.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,4 @@ Miscellaneous Operations
1111
misc/owned_stock
1212
misc/batch_transfers
1313
misc/wave_transfers
14+
misc/cluster_picking

content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
Batch picking
33
=============
44

5+
.. _inventory/misc/batch_picking:
6+
57
*Batch picking* enables a single picker to handle multiple orders at once, reducing the time needed
68
to navigate to the same location in a warehouse.
79

Lines changed: 243 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,243 @@
1+
===============
2+
Cluster picking
3+
===============
4+
5+
.. _inventory/misc/cluster_picking:
6+
7+
.. |SO| replace:: :abbr:`SO (Sales Order)`
8+
.. |SOS| replace:: :abbr:`SOs (Sales Orders)`
9+
10+
Cluster picking is an advanced order fulfillment approach derived from :ref:`batch picking
11+
<inventory/misc/batch_picking>`.
12+
13+
In this strategy, pickers load a cart with multiple packages, each designated for a specific *sales
14+
order* (SO). Then, the picker travels to each storage location, and places the products directly in
15+
the package of the associated order.
16+
17+
This method is most efficient for medium-sized companies, with high order volumes, and relatively
18+
few unique products, since the method eliminates the need for sorting products into packages for
19+
customers after picking.
20+
21+
However, cluster picking does have some disadvantages. For instance, urgent orders cannot be
22+
prioritized, and optimized batches must be manually created beforehand. As a result, the picking
23+
process can lead to bottlenecks.
24+
25+
.. _inventory/misc/cluster_picking/example:
26+
27+
.. example::
28+
#. |SO| 1 calls for one apple and orange
29+
#. |SO| 2 calls for one apple and banana
30+
#. |SO| 3 calls for one apple, orange, and banana
31+
32+
Apples are stored in Shelf A, oranges in Shelf B, and bananas in Shelf C.
33+
34+
To pick products for three orders at once, the cart is loaded with three empty packages.
35+
36+
Starting at Shelf A, the picker places apples into each package. Next, the picker navigates to
37+
Shelf B, and places oranges in the packages designated for |SO| 1 and |SO| 3. Finally, the picker
38+
pushes the cart to Shelf C, and loads packages for |SO| 2 and |SO| 3 with a banana, each.
39+
40+
With the packages for all three |SOS| packed, the picker pushes the cart to the output location,
41+
where the packages are sealed and prepared for shipment.
42+
43+
.. image:: cluster_picking/cluster-example.png
44+
:align: center
45+
:alt: Show example of fulfilling sales orders 2 and 3 at once.
46+
47+
Configuration
48+
=============
49+
50+
To enable cluster picking, begin by navigating to :menuselection:`Inventory app --> Configuration
51+
--> Settings`. Under the :guilabel:`Operations` heading, activate the :guilabel:`Packages` and
52+
:guilabel:`Batch Transfers` options.
53+
54+
.. image:: cluster_picking/configs.png
55+
:align: center
56+
:alt: Activate *Packages* and *Batch Transfers* features in the settings.
57+
58+
Since batch picking is used to optimize the *pick* operation in Odoo, the :guilabel:`Storage
59+
Locations` and :guilabel:`Multi-Step Routes` options, under the :guilabel:`Warehouse` heading, must
60+
also be checked on this settings page.
61+
62+
*Storage locations* allow products to be stored in specific locations they can be picked from, while
63+
*multi-step routes* enable the picking operation itself.
64+
65+
When finished, click :guilabel:`Save`.
66+
67+
.. image:: cluster_picking/locations-routes-checkbox.png
68+
:align: center
69+
:alt: Enable *Storage Locations* and *Multi-Step Routes* Inventory > Configuration > Settings.
70+
71+
.. _inventory/misc/create-package:
72+
73+
Packages setup
74+
--------------
75+
76+
After the :guilabel:`Packages` feature is enabled, navigate to :menuselection:`Inventory app -->
77+
Products --> Packages`, and click the :guilabel:`New` button to create a new package.
78+
79+
On the new package form, the :guilabel:`Package Reference` is pre-filled with the next available
80+
`PACK` number in the system. :guilabel:`Pack Date` is automatically set to the creation date of the
81+
form.
82+
83+
For the :guilabel:`Package Use` field, the :guilabel:`Disposable Box` option should be selected if
84+
the package is used for a shipping. Alternatively, the :guilabel:`Reusable Box` option should be
85+
selected if the package is simply used as a method of grouping products from the same |SO| together
86+
before they are moved to the intended shipping box at the output location.
87+
88+
.. seealso::
89+
:ref:`Packages <inventory/management/packages>`
90+
91+
.. example::
92+
A package intended for cluster picking is named `CLUSTER-PACK-3` for easy identification. For
93+
this workflow, the products are directly packed using their intended shipping boxes, so
94+
:guilabel:`Package Use` is set to :guilabel:`Disposable Box`.
95+
96+
.. image:: cluster_picking/cluster-package.png
97+
:align: center
98+
:alt: Create new package form.
99+
100+
Create cluster batch
101+
====================
102+
103+
To see how cluster picking works in Odoo, navigate to the :menuselection:`Sales` app, and create
104+
|SOS| that will be fulfilled together in the same batch. After confirming an |SO|, the
105+
:guilabel:`Delivery` smart button becomes visible. Displayed inside the icon is a number
106+
representing the amount of steps in the outgoing shipment process.
107+
108+
.. example::
109+
Begin by creating three |SOS| for the apples, oranges, and bananas, as shown in the :ref:`example
110+
above <inventory/misc/cluster_picking/example>`.
111+
112+
After confirming the |SO|, the :guilabel:`Delivery` smart button displays the number `2`,
113+
indicating there are two operations to complete: `Pick` and `Delivery`.
114+
115+
.. image:: cluster_picking/create-sales-order.png
116+
:align: center
117+
:alt: Example sales order for an apple, orange, and banana.
118+
119+
With the |SOS| created, orders now must be grouped into batches. To do so, navigate to the
120+
*Inventory* dashboard and select the operation type card, :guilabel:`Delivery Orders` or
121+
:guilabel:`Pick` (whichever is the first operation in the delivery flow).
122+
123+
Doing so displays a filtered list of outgoing operations with the :guilabel:`Ready` status,
124+
indicating that all the products in the |SO| are in stock.
125+
126+
.. note::
127+
Cluster pick batches can be created for outgoing shipments in one, two, or three steps.
128+
129+
.. seealso::
130+
- :ref:`Delivery in one step <inventory/receipts_delivery_one_step>`
131+
- :ref:`Delivery in two steps <inventory/receipts_delivery_two_steps>`
132+
- :ref:`Delivery in three steps <inventory/delivery_three_steps>`
133+
134+
Click the checkbox to the left of the corresponding outgoing operation to add them to the batch.
135+
With the desired pickings selected, click the :guilabel:`⚙️ Actions (gear)` button, and select the
136+
:guilabel:`Add to batch` option from the resulting drop-down menu.
137+
138+
.. example::
139+
To create a cluster batch, as shown in the :ref:`example above
140+
<inventory/misc/cluster_picking/example>`, in a warehouse configured with two-step outgoing
141+
shipments, the following pick operations are selected:
142+
143+
- `WH/PICK/00007`: linked to |SO| 88 for one apple and orange.
144+
- `WH/PICK/00008`: linked to |SO| 89 for one apple and banana.
145+
- `WH/PICK/00009`: linked to |SO| 90 for one apple, orange, and banana.
146+
147+
.. image:: cluster_picking/select-picks.png
148+
:align: center
149+
:alt: Use *Add to batch* button, from the *Action* button's list.
150+
151+
Doing so opens an :guilabel:`Add to batch` pop-up window, wherein the employee
152+
:guilabel:`Responsible` for the picking can be assigned.
153+
154+
Choose from the two options in the :guilabel:`Add to` field to either: add to :guilabel:`an existing
155+
batch transfer`, or create :guilabel:`a new batch transfer`.
156+
157+
To create draft batch pickings to be confirmed at a later date, select the :guilabel:`Draft`
158+
checkbox.
159+
160+
Conclude the process by clicking :guilabel:`Confirm`.
161+
162+
.. image:: cluster_picking/add-to-batch-window.png
163+
:align: center
164+
:alt: Show *Add to batch* window to create a batch transfer.
165+
166+
Process batches
167+
===============
168+
169+
To process batches, navigate to :menuselection:`Inventory app --> Operations --> Batch Transfers`.
170+
Click on a batch to select it.
171+
172+
In the :guilabel:`Detailed Operations` tab, products that are to be picked are grouped by location.
173+
174+
Under the :guilabel:`Source Package` or :guilabel:`Destination Package` field, enter the package
175+
used for the picking.
176+
177+
.. note::
178+
Use the :guilabel:`Source Package` field when the picking package is configured as *reusable* on
179+
the :ref:`package form <inventory/misc/create-package>`. This means the products are temporarily
180+
placed in a container during picking, before getting transferred to their final shipping box.
181+
182+
Alternatively, use the :guilabel:`Destination Package` field when the product is directly placed
183+
in its *disposable* shipping box during picking.
184+
185+
.. example::
186+
Process the cluster batch for the three orders of apples, oranges, and bananas :ref:`example
187+
<inventory/misc/cluster_picking/example>` by assigning each picking to a dedicated package.
188+
189+
At the storage location for apples, `WH/Stock/Shelf A`, assign the apples in all three pickings
190+
to one of the three disposable packages, `CLUSTER-PACK-1`, `CLUSTER-PACK-2`, or `CLUSTER-PACK-3`.
191+
192+
Record this in Odoo using the :guilabel:`Destination Package` field in the :guilabel:`Detailed
193+
Operations` tab.
194+
195+
.. image:: cluster_picking/cluster-batch-example.png
196+
:align: center
197+
:alt: Example of processing cluster pickings in *Inventory*.
198+
199+
In Barcode
200+
----------
201+
202+
To process cluster pickings directly from the *Barcode* app, select the :guilabel:`Batch Transfers`
203+
button from the *Barcode* dashboard. Then, select the desired batch.
204+
205+
On the batch transfer screen, the products in the picking are grouped by location, and each line is
206+
color-coded to associate products in the same picking together.
207+
208+
Then, follow the prompt to :guilabel:`Scan the source location` barcode for the storage location of
209+
the first product. Then, scan the barcode for the product and package to process the transfer.
210+
211+
Repeat this for all products, and click the :guilabel:`Validate` button.
212+
213+
.. note::
214+
To find the package barcode, navigate to :menuselection:`Inventory app --> Products -->
215+
Packages`, select the desired package, click the :guilabel:`⚙️ (gear)` icon at the top of the
216+
package form, and select the :guilabel:`Print` option.
217+
218+
Next, select one of the three print options to generate the package barcode from the
219+
:guilabel:`Package Reference` field.
220+
221+
.. image:: cluster_picking/find-package-barcode.png
222+
:align: center
223+
:alt: Display where the package barcode can be generated.
224+
225+
.. example::
226+
Begin processing the cluster picking by going to the first storage location, `Shelf A`, and
227+
scanning the :ref:`location barcode <barcode/setup/location>`. Doing so highlights all the
228+
pickings that need products from this particular location.
229+
230+
Scan the barcode for the apple, which highlights the picking (labeled in red) for the product
231+
`Apple`, for the picking, `WH/PICK/00007`.
232+
233+
Then, scan the `CLUSTER-PACK-1` package barcode, and place the product in the designated package.
234+
235+
.. image:: cluster_picking/batch-barcode.png
236+
:align: center
237+
:alt: Example of cluster batch from the *Barcode* app.
238+
239+
.. tip::
240+
After creating a batch transfer and assigning a package to a picking, Odoo suggests the specified
241+
package by displaying the name *in italics* under the product name, ensuring pickers place
242+
products into the correct boxes.
243+
20.8 KB
Loading
21.4 KB
Loading
33.8 KB
Loading
27.2 KB
Loading
13.7 KB
Loading
9.76 KB
Loading

0 commit comments

Comments
 (0)