All posts
Functional4 min read

Using Unbuild Orders to Reverse Manufacturing in Odoo

Use Odoo unbuild orders to disassemble finished products back into their components - for rework, product returns, BOM corrections, or recovering components from defective assemblies.

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#

ScenarioAction
Customer returns assembled productUnbuild → recover components to stock
BOM error in productionUnbuild → correct BOM → remake
Defective finished goodUnbuild → recover good components → scrap defective ones
Product cannibalizationUnbuild 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)

Try ERPeek on your own Odoo module - ask questions, scaffold tests, and explore your codebase in plain language.

Get started free