Unbuild Orders in Odoo Manufacturing#
An unbuild order reverses a manufacturing order - it takes a finished product and returns its component materials to stock. This is useful for rework, customer returns of manufactured goods, BOM corrections, or recovering valuable components from defective assemblies.
Creating an Unbuild Order#
Manufacturing → Operations → Unbuild Orders → New:
- Product: the finished product to disassemble
- Lot/Serial Number: required if the product is lot-tracked
- Quantity: how many to unbuild
- Bill of Materials: select the BOM used to make the product
- Source Location: where the finished product currently is
- Destination Location: where the recovered components go (usually WH/Stock)
Validate → Odoo creates stock moves:
- Consumes the finished product (out of source location)
- Returns each BOM component to the destination location (at BOM quantities × unbuild quantity)
Accounting Impact#
When an unbuild order is validated (for AVCO/standard cost products):
- Debit: Component inventory accounts (value of components recovered)
- Credit: Finished goods inventory account (value of finished product consumed)
If the finished good's cost differs from the sum of recovered component costs, the difference goes to a manufacturing variance or adjustment account.
Unbuild with Lot Tracking#
If components are lot-tracked:
- Odoo prompts you to specify which lot each recovered component goes into
- You can create a new lot for the recovered material (e.g., "RETURNED-LOT-001")
- The original production lot of the finished good can be traced back
When to Use Unbuild#
| Scenario | Action |
|---|---|
| Customer returns assembled product | Unbuild → recover components to stock |
| BOM error in production | Unbuild → correct BOM → remake |
| Defective finished good | Unbuild → recover good components → scrap defective ones |
| Product cannibalization | Unbuild spare unit → use components for active repairs |
Unbuild vs. Scrap#
- Unbuild: recovers components back to usable stock - inventory value redistributed
- Scrap: removes the finished product with no recovery - inventory value lost
Use unbuild whenever the components still have value. Use scrap only when the entire assembly is unrecoverable.
Reporting#
Manufacturing → Operations → Unbuild Orders → view all unbuild orders with their:
- Source MO (if linked)
- Recovered component quantities and values
- Date and reason (add a note field for audit purposes)

