| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Barcode (stock_barcode)
• Inventory (stock) • Discuss (mail) • Invoicing (account) |
| Lines of code | 1410 |
| Technical Name |
stock_pick_cart |
| License | LGPL-3 |
| Website | https://www.shadailtech.com |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Barcode (stock_barcode)
• Inventory (stock) • Discuss (mail) • Invoicing (account) |
| Lines of code | 1410 |
| Technical Name |
stock_pick_cart |
| License | LGPL-3 |
| Website | https://www.shadailtech.com |
|
|||||||||||||||||
|
Who Can Use It & Why Choose Stock Pick Cart
Who Can Use It?🏭Warehouse Managers — Configure carts and totes, generate waves, and review the transfer plan before the team starts picking. 📱Warehouse Pickers — Follow the guided barcode flow with clear cart scan, tote assignment, and source-location prompts. 📦Logistics & Dispatch Teams — Match pickings to the right delivery method and group them into waves sized to cart capacity. 📊Operations & IT Teams — Use technical reference tables, JS overrides, and file structure documentation for integration and customisation. 🔧Multi-Warehouse Businesses — Create separate cart pools per warehouse and reuse the same module across sites with different tote sizes. |
Why Choose Stock Pick Cart?⚡Guided Barcode Enforcement — Pickers cannot start picking until the assigned cart barcode is scanned, eliminating mis-picks. 🎯Capacity-Smart Wave Sizing — The wave wizard groups ready pickings to exactly match the tote count on the selected cart type. 🚀Fully Native Odoo — Built on OWL component inheritance with no monkey-patching, ensuring forward compatibility with Odoo updates. 💡End-to-End Traceability — Every completed picking retains its tote reference and linked wave history for full audit visibility. 📋Printable Tote Labels — Generate tote barcodes directly from the wave transfer so every physical slot is labelled before the team starts. |
Complete Wave Picking Solution
Stock Pick Cart extends the Odoo Barcode app to enforce a physical cart-and-tote workflow. From the Administration side, you define tote sizes, create cart layouts (3, 4, or 9 tote slots), register physical carts per warehouse, and use the Manual Wave Wizard to bundle ready pickings into waves sized to your cart capacity.
On the Barcode side, pickers open the in-progress wave batch, are prompted to scan the assigned cart barcode, see the tote assignment for every transfer on screen, and work through location and product scans until all rows are complete.
![]() |
![]() |
![]() |
![]() |
Highlights
|
🛒
Cart & Tote Structure
|
📷
Barcode-Driven Scanning
|
🌊
Manual Wave Wizard
|
📋
Wave Transfer Visibility
|
🏷
Tote Label Reports
|
|
⚙
Warehouse Cart Pools
|
📦
Capacity-Based Grouping
|
💬
Barcode Batch Queue
|
📊
Transfer Traceability
|
🔒
Secure Access Rights
|
Key Features
Complete Cart-and-Tote Batch Picking, Built Natively on Odoo 19
Stock Pick Cart adds physical-cart awareness to the standard Odoo batch picking and Barcode app workflow. Configure carts and totes once per warehouse, generate waves with one click, and let the Barcode app enforce the picking sequence with guided prompts.
| Feature | Description |
|---|---|
| Cart & Tote Structure | Define tote types (size/volume), create cart layouts (3, 4, or 9 tote slots), and register physical carts per warehouse with individual tote barcodes on each slot. |
| Manual Wave Wizard | Generate waves from ready pickings by selecting warehouse(s) and delivery method. Optionally filter by product category and expected delivery date. The wizard creates waves sized to the cart tote capacity automatically. |
| Wave Transfer Form | Review the wave before picking starts: see the assigned pick cart, cart type, carrier, and detailed operations with one tote per transfer listed. Print tote labels directly from the form. |
| Barcode Batch Queue | In-progress wave batches appear in the Barcode app with the cart type, carrier, and line count visible before the picker opens the job. |
| Enforced Cart Scan | The Barcode app blocks all picking actions until the picker scans the correct cart barcode. An error is shown if the wrong cart is scanned, preventing mix-ups. |
| Tote Assignment per Transfer | After the cart scan, each transfer in the wave shows its assigned tote prominently on screen so pickers know exactly which slot to use for each batch of products. |
| Source Location & Product Scan | Guided prompts walk pickers through the source location scan then the product/quantity scan for each transfer line, with live completion counters turning green when done. |
| Tote Label Reports | Print tote labels from any wave transfer to generate scannable barcodes that link each physical cart slot to the correct transfer and its destination location. |
| Capacity-Based Wave Sizing | Waves are automatically sized so the number of pickings matches the tote count on the selected cart type. |
| Full Transfer Traceability | Completed pickings retain their tote reference and wave history, making it easy to trace which tote/cart combination was used for every transfer after validation. |
| Multi-Warehouse Support | Create separate cart pools for each warehouse. The wizard filters pickings by warehouse so each wave goes to the right site and cart. |
| Native OWL Architecture | All JavaScript overrides use standard Odoo OWL component inheritance — no monkey-patching — ensuring compatibility with future Odoo 19 barcode app updates. |
Admin Setup Guide
Set up tote capacity, cart structures, warehouse carts, and wave generation exactly as shown in the module workflow.
Install the Module
Ensure these modules are installed first: Inventory (
stock), Barcode (stock_barcode), Batch Picking (stock_picking_batch), Batch Picking Barcode (stock_barcode_picking_batch), and Delivery (delivery). Then install Stock Pick Cart from the Apps menu.💡Auto-configured on install: Security access rights for cart and tote records are set up automatically. No manual access setup is needed.Create Tote Types
Go to Inventory → Configuration → Tote Types and define each tote size. Examples include Large Clear, Small Clear, and Diaper Box, each with its own volume.
Create Cart Types
Open Inventory → Configuration → Cart Types and create the cart layouts: 3 Tote Cart, 4 Tote Cart, and 9 Tote Cart, each linked to a tote type and tote count.


Create Pick Carts per Warehouse
Open Inventory → Configuration → Pick Cart and create a record for each physical cart. Set the cart barcode, choose the cart type, and assign the warehouse.




Review the Cart Totes List
Open Inventory → Configuration → Totes to confirm every tote barcode has been generated correctly.

Generate Waves with the Manual Wave Wizard
Go to Inventory → Operations → Manual Wave. Select warehouses, choose the delivery method, and optionally filter. Click Generate Wave.


⚠️Wave prerequisites: The wizard works with ready pickings not already assigned to another batch, and requires pick carts to be configured for the selected warehouse.Review the Wave Transfer Before Picking
Open the created wave in Inventory → Operations → Wave Transfers to verify the pick cart, tote mapping, and carrier before the team starts.

Picking Flow
How a wave batch moves from creation through cart assignment, scanning, picking, and validation.
Created
Assigned
Opened
Product Scanned
Validated
Wave Done
Create the Wave Batch
A warehouse manager opens the Manual Wave Wizard, selects warehouses and delivery method, applies optional filters, and generates the wave.
Open the Batch in Barcode
The picker opens Barcode → Operations → Batches and selects the in-progress wave. The batch card shows wave reference, cart type, carrier, and line count.

Scan the Assigned Pick Cart
Inside the batch, the first banner asks the picker to Scan Pick Cart. Once the correct cart barcode is scanned, the screen shows tote assignments for each transfer. The picker cannot start until the cart scan is complete.

Pick by Tote and Source Location
For each transfer, the Barcode app shows the assigned tote prominently and prompts the picker to scan the source location and products. Completed quantities turn green.

Validate the Wave
Once all transfers are complete, the picker taps Validate. The wave moves to Done, and the linked pickings show the tote assignment used during execution.


Picker Guide
Step-by-step guide for warehouse pickers using the wave batch and cart workflow in the Barcode app.
Open the Batch Queue
Open the Odoo Barcode app and go to Operations → Batches. Select the in-progress wave assigned to your warehouse team.
Scan the Cart Barcode
When the batch opens, the first banner asks you to Scan Pick Cart. Scan the barcode on the physical cart assigned to that wave before attempting any picking.
💡If you scan the wrong cart, the app will show an error. Pick up the correct cart shown on screen before proceeding.Confirm Tote Assignments
After the cart is scanned, each transfer row shows the tote assigned to it. Use those on-screen tote names to place products into the correct cart slot.
Scan Source Location and Products
Follow the barcode prompts for each transfer. The app asks for the source location and then for the products/quantities on each line. Pick the item and place it into the tote shown on that row.
Validate the Wave
Once all rows are complete, tap Validate. The wave moves to Done.

| Question | Answer |
|---|---|
| What if I scan the wrong tote? | The app will show an error. Scan the correct tote label (shown on screen) to proceed. |
| What if a product is out of stock? | Follow your warehouse shortage process and ask the manager to review the transfer before final validation. |
| What if my cart barcode won’t scan? | Try entering the cart barcode manually using the keyboard input on the scan prompt. If the cart is not recognised, contact your warehouse manager. |
Real Screenshots
Actual screenshots covering configuration, wave creation, barcode execution, and completed transfer traceability.
Configuration
Configuration menu
Inventory configuration menu with Pick Cart, Cart Types, Totes, and Tote Types |
Cart Types list
3 Tote Cart, 4 Tote Cart, and 9 Tote Cart examples |
Pick Cart list
Physical carts with barcode, cart type, and tote count |
Cart Totes list
All tote barcodes and tote types for configured carts |
9 Tote Cart form
Cart example with all tote rows and barcodes |
3 Tote Cart form
Cart example using large clear totes |
Wave Creation
Manual Wave menu
Operations menu entry to launch the wave generation wizard |
Manual Wave Wizard
Basic warehouse and delivery-method selection |
Filtered wave wizard
Product-category and delivery-date filters enabled |
Waves created popup
Confirmation popup listing newly created wave references |
Wave transfer form
In-progress wave with assigned pick cart and tote mapping |
Barcode Execution
Barcode batch queue
Wave batches visible to pickers in the Barcode app |
Scan Pick Cart
Required opening step before any transfer can be processed |
Scan source location
Transfer rows show tote assignments while picker scans |
Completion & Traceability
Ready to validate
All rows complete, Validate available |
Wave done
Completed wave with final tote assignments |
Picking traceability
Completed transfer showing tote reference in chatter |
Need Help, Custom Feature, or Support?
Shadail Technology is here to help you get the most out of Odoo. Whether you need installation assistance, a custom warehouse workflow, or general Odoo consulting, our team is ready to help.
Note: This module integrates with standard Odoo Enterprise barcode and inventory modules. For custom workflows or advanced tote automation, please contact our team for a tailored setup.
Contact Us info@shadailtech.com +91 79773 52693
Important Note
This module has been tested with Odoo 19 Enterprise standard barcode and inventory modules on Ubuntu OS. We strongly recommend:
- Installing it first on your testing or staging database.
- Validating all barcode and wave workflows as expected in your environment.
- Only then installing it on your production environment.
stock_barcode and stock_barcode_picking_batch, which are Enterprise-only modules. It will not work on Community edition.
|

















Please log in to comment on this module