| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Inventory (stock)
• Discuss (mail) |
| Lines of code | 419 |
| Technical Name |
crowe_multi_item_scrap |
| License | LGPL-3 |
| Website | https://www.crowe.mv |
Multi Item Scrap
Scrap many products on one order — like a picking, not one line at a time
Standard Odoo scrap handles one product per order. This module adds an Operations tab so warehouse staff can list several products, quantities, and tracking details on a single scrap document and validate them together. Header product fields are hidden in favour of the line list, while replenish options and scrap reason tags stay on the form as usual.
Key Features
Multiple Lines
Add as many products as needed on one scrap order instead of creating separate documents for each item. Use Add a Product on the Operations tab to build the list.
Per-Line Tracking
Each line supports its own lot or serial number, package, owner, and unit of measure. Lot-tracked products show the Lot/Serial column when tracking is enabled.
One-Click Validate
Validate once to generate stock moves for every line on the scrap order. The document moves to Done and product moves are available from the smart button.
How It Works
Create a scrap, add lines, validate
Open Scrap from Inventory
Go to Inventory → Operations → Scrap and create a new scrap order. Set the source location (for example WH/Stock) and scrap location as usual. The Operations tab is ready for line entry while replenish and scrap reason fields remain on the header.
Add products on Operations
Use the Operations tab to add products, quantities, and optional lot/serial numbers. Mix storable products on the same order — for example several units of one SKU plus a lot-tracked line with its serial or lot reference.
Validate all lines together
Click Validate to post stock moves for every line. The scrap reference is assigned, the status becomes Done, and you can open Product Moves to review the generated stock transactions.
Configuration
No extra menus — use standard Inventory scrap
- Install the module (requires
stock). - Open Inventory → Operations → Scrap.
- Create a scrap, set source and scrap locations, then open Operations.
- Add a row per product. Set quantity and, for tracked products, the lot or serial.
- Click Validate when all lines are correct.
Benefits
Fewer documents
Scrap damaged or expired stock from a single walk-through without opening a new scrap order for every SKU.
Familiar workflow
The Operations tab works like other multi-line Odoo documents — editable list, per-line fields, one validate action.
Backward compatible
Legacy single-product scrap fields still work. Existing scraps and integrations are not broken when the module is installed.
Stock-aware validation
Insufficient quantity is blocked before moves are posted, with readable feedback per product and per lot when applicable.
Feature Summary
On the scrap form
Operations tab with editable scrap lines.
Per-line product, quantity, UoM, lot/serial, package, and owner.
Single-product header fields hidden when using lines.
Scrap list view shows line count per order.
Behind the scenes
scrap_line_ids One2many on stock.scrap.
New model stock.scrap.line for line-level fields and moves.
Validation creates stock moves for all lines in one step.
Post-init hook relaxes legacy NOT NULL constraints for lines-only scraps.
Technical Details
Server side
-
stock.scrap — extends the scrap order with
scrap_line_ids, optional legacy product fields, and overriddenaction_validate/do_scrapto process every line. - stock.scrap.line — stores line-level product, quantity, UoM, lot, package, owner, and linked stock move; prepares move values per line.
-
post_init_hook — makes
product_id,product_uom_id, andscrap_qtynullable onstock_scrapso lines-only scraps can be created.
Compatibility & Dependencies
Version
Built for Odoo 19.0, compatible with Community and Enterprise.
Dependencies
Requires stock. Works with lot/serial tracking when the standard Inventory tracking groups are enabled.
Support
Brought to you by Crowe Maldives LLP
Author
Crowe Maldives LLP
Website
www.crowe.mv
Licensed under LGPL-3.
Please log in to comment on this module