Introduction
Manufacturing rarely produces only the finished product. Alongside the main output, production can generate reusable materials, secondary products, defective items and unavoidable waste.
The challenge is knowing how each output should be handled. A valuable secondary product should not be treated the same way as material that must be discarded, especially when inventory and production costs are involved.
Odoo provides separate workflows for by-products and scrap, helping manufacturers track secondary outputs, remove unusable materials from available inventory and improve production visibility.
With the right configuration, businesses can connect production, inventory, costing, quality and traceability to understand where materials are being recovered, where they are being lost and how production efficiency can be improved.
What Is a By-Product in Odoo?
A by-product is an additional output created during manufacturing alongside the primary finished product.
For example, a manufacturer produces wooden furniture.
The primary output is:
Finished Table
The production process may also generate:
Wood Offcuts
If those offcuts can be reused or sold, they can be treated as a by-product.
Odoo allows businesses to define by-products on a product's BoM. When the Manufacturing Order is completed, Odoo records the by-product quantity and updates its inventory. By-products can also be associated with a specific manufacturing operation.
The basic flow is:
Components → Manufacturing Process → Finished Product + By-Product
This gives the business visibility into both outputs.
What Is Scrap in Odoo?
Scrap represents material or products that are no longer usable or sellable and need to be removed from usable inventory.
Examples include:
- Defective components
- Damaged products
- Broken materials
- Contaminated products
- Production waste
- Expired items
- Unrecoverable material
Odoo records scrapped goods by moving them to a virtual Inventory Loss location rather than treating them as usable warehouse stock. Businesses can also create a dedicated scrap location and optionally configure a loss account for financial reporting.
The basic flow is:
Inventory/Production → Scrap → Inventory Loss
This keeps available inventory accurate while preserving a record of what was scrapped.
By-Product vs Scrap : What Is the Difference?
The most important distinction is economic and operational value.
| Area | By-Product | Scrap |
|---|---|---|
| Meaning | Secondary useful output | Unusable or discarded material |
| Inventory | Added to inventory | Removed from usable inventory |
| Potential value | Can be reused or sold | Usually represents a loss |
| BoM | Can be defined on BoM | Usually handled through scrap operation |
| Traceability | Can be tracked | Can be traced through scrap records |
| Production analysis | Can contribute by-product cost reporting | Represents inventory loss |
| Example | Metal cut-offs reused in production | Damaged metal pieces |
| Objective | Recover value | Control and reduce waste |
This distinction should be defined by business policy rather than left to individual operators.
1. Start by Classifying Production Outputs
Before configuring Odoo, classify the different materials generated by production.
For example:
Primary Product
The main product the manufacturing order is designed to produce.
By-Product
A secondary output with useful or recoverable value.
Reusable Material
Material that can return to another production process.
Scrap
Material that cannot reasonably be reused or sold.
Waste
Material that requires disposal according to operational or regulatory requirements.
This classification determines how the material should be represented in Odoo.
2. Configure By-Products on the BoM
When a production process consistently generates a secondary output, defining it on the BoM can provide better inventory visibility.
Odoo's By-Products feature must first be enabled in Manufacturing settings. A by-product can then be added to the BoM with its expected quantity and, when applicable, the operation that produces it.
For example:
BoM: Steel Frame
Primary output:
1 Steel Frame
By-product:
2 kg Steel Offcuts
During production, completing the manufacturing order records both outputs.
This is particularly useful when by-products are generated predictably.
3. Track By-Products at the Right Operation
Some production processes generate different secondary outputs at different stages.
For example:
Cutting → Metal Offcuts
Machining → Metal Shavings
Assembly → Defective Components
Odoo allows a by-product to be associated with a specific manufacturing operation through the BoM configuration.
This provides more detailed production visibility.
Instead of simply reporting:
10 kg scrap/by-product
the business can investigate:
Which production stage generated it?
That distinction can become important when identifying process inefficiencies.
4. Scrap Defective Material During Production
Scrap does not necessarily occur only after production is complete.
A component may become defective during a manufacturing operation.
Odoo supports scrapping from manufacturing operations, including through the Shop Floor workflow. Users can scrap defective components and send them to a scrap location.
A practical workflow is:
Production → Defect Identified → Scrap → Record Reason → Inventory Updated
This helps ensure that defective material is not accidentally counted as available stock.
5. Create Clear Scrap Reasons
Simply recording that material was scrapped is not enough.
Manufacturers should understand why it happened.
Common scrap reasons include:
- Machine failure
- Incorrect setup
- Material defect
- Operator error
- Quality failure
- Damaged during handling
- Wrong specification
- Packaging damage
- Expired material
A structured reason framework makes production analysis more useful.
For example:
| Scrap Reason | Possible Root Cause | Corrective Action |
|---|---|---|
| Machine defect | Equipment issue | Maintenance |
| Wrong dimensions | Setup error | Process review |
| Material defect | Supplier quality | Vendor investigation |
| Handling damage | Warehouse process | Operator training |
| Quality failure | Production variation | Process improvement |
The objective is to move from recording scrap to reducing recurring scrap.
6. Understand the Cost Impact of Scrap
Scrap is not just a quantity problem.
It can represent a real financial loss.
When inventory is scrapped, Odoo decreases inventory value according to the applicable costing rules.
For example:
100 units produced
5 units scrapped
The business has not simply lost five units.
It may also have consumed:
- Raw materials
- Machine time
- Labor
- Energy
- Production capacity
Therefore, scrap analysis should consider the broader production cost.
7. Understand By-Product Cost
By-products can also affect production cost analysis.
Odoo's Production Analysis report includes a By-Products Total Cost measure, alongside production cost, component cost, operation cost, employee cost and yield percentage.
This gives manufacturers an opportunity to analyze the economic impact of secondary outputs.
For example:
Total Manufacturing Cost
↓
Primary Product Value
By-Product Value
The exact accounting treatment depends on the company's costing and valuation configuration, so finance and manufacturing teams should agree on the intended treatment before implementation.
8. Separate Normal Scrap From Abnormal Scrap
Not all scrap is necessarily a production failure.
Some manufacturing processes naturally generate a predictable amount of waste.
For example:
Expected process loss: 2%
Actual result:
2.1%
This may be normal.
But if actual scrap reaches:
8%
the production team should investigate.
This creates a useful distinction:
Normal Scrap
Expected within the manufacturing process.
Abnormal Scrap
Higher than the accepted production threshold.
The ERP should help the business identify the difference.
9. Use Yield to Monitor Production Efficiency
Yield is an important manufacturing KPI because it connects production output with expected production demand.
Odoo's Production Analysis includes Yield Percentage (%), along with measures for quantity produced, quantity demanded, costs and production duration.
For example:
Demanded: 1,000 units
Produced: 970 units
Yield: 97%
A declining yield can indicate:
- Increased scrap
- Production defects
- Machine problems
- Material quality issues
- Process inefficiencies
Yield should therefore be reviewed alongside scrap data.
10. Connect Scrap With Quality Management
Scrap data becomes more valuable when it is connected to quality processes.
A useful operational sequence is:
Quality Check → Failure → Scrap Decision → Scrap Reason → Corrective Action
Instead of simply removing defective material, the business can investigate recurring quality failures.
For example:
Product A → 4% scrap
Product B → 1% scrap
If Product A repeatedly produces more scrap, management can investigate its:
- BoM
- Work center
- components
- supplier
- manufacturing method
- quality controls
This transforms scrap from an accounting event into a process-improvement signal.
11. Track Lot and Serial Information Where Required
Traceability becomes important when by-products or scrap involve regulated or controlled products.
Odoo supports tracking by lot and serial numbers and by-products can also carry tracking information where applicable.
For example:
Manufacturing Order → Lot → By-Product → Storage
or:
Manufacturing Order → Component Lot → Defect → Scrap
This can help businesses investigate where specific material originated and which production order generated it.
12. Define Who Can Scrap Inventory
Scrapping inventory changes stock availability and can affect financial values.
Therefore, not every warehouse or production employee should necessarily have unlimited authority to scrap material.
Define responsibilities such as:
| Role | Responsibility |
|---|---|
| Operator | Identify defective material |
| Quality Team | Confirm defect |
| Warehouse Team | Process scrap movement |
| Production Manager | Approve significant scrap |
| Finance | Review material financial impact |
| Management | Monitor recurring losses |
The exact approval structure should depend on the value and risk of the inventory.
13. Use Production Analysis to Find Improvement Opportunities
Once by-products and scrap are recorded consistently, production reporting becomes more useful.
Review:
- Quantity Produced
- Yield Percentage
- Total Cost
- Component Cost
- Operation Cost
- By-Product Total Cost
- Production Duration
- Employee Cost
Odoo's Production Analysis provides these measures for evaluating manufacturing performance.
The goal is not simply to produce reports.
Ask:
Which products generate the most scrap?
Which production lines have declining yield?
Which operations generate the most waste?
Which by-products have recoverable value?
These questions turn production data into operational decisions.
A Practical By-Product and Scrap Workflow in Odoo
A structured manufacturing process can follow:
BoM Design
↓
Define Primary Product
↓
Define Expected By-Products
↓
Manufacturing Order
↓
Production Operations
↓
Identify Defects
↓
Scrap Unusable Material
↓
Record By-Products
↓
Complete Manufacturing Order
↓
Review Costs & Yield
↓
Analyze Scrap
↓
Improve Production Process
This approach connects production, inventory, quality and cost control.
Common By-Product and Scrap Mistakes
Treating Every Residual Material as Scrap
Some residual materials may have reusable or saleable value.
Not Defining By-Products on the BoM
Predictable secondary outputs become difficult to track consistently.
Recording Scrap Without a Reason
This makes root-cause analysis difficult.
Ignoring Cost Impact
Scrap can represent material, labor, machine and inventory-value losses.
Mixing Normal and Abnormal Scrap
Expected production loss should be evaluated differently from unusual waste.
Allowing Uncontrolled Scrap Adjustments
Scrapping should have appropriate operational and financial controls.
Not Reviewing Repeated Scrap
Recurring scrap is often a process-improvement opportunity.
Odoo By-Product and Scrap Implementation Checklist
Before going live, confirm that your manufacturing team has:
Classified primary products, by-products, reusable materials and scrap
Enabled the required By-Products functionality
Added predictable by-products to relevant BoMs
Defined operation-specific by-products where required
Created appropriate scrap locations
Defined scrap reasons
Established scrap approval rules
Tested scrap during manufacturing
Tested lot and serial tracking where applicable
Reviewed inventory valuation implications
Defined normal scrap expectations
Established yield KPIs
Tested production reporting
Assigned responsibility for significant scrap
Defined corrective-action procedures
Frequently Asked Question
1. What is a by-product in Odoo?
A by-product is a secondary product created during manufacturing alongside the main finished product. Odoo can track its quantity and inventory movement through the BoM and manufacturing order.
2. What is scrap in Odoo?
Scrap represents damaged, defective, or unusable materials or products that should be removed from available inventory. Odoo records them in a scrap or Inventory Loss location.
3. What is the difference between by-products and scrap?
By-products are usable secondary outputs that may have inventory value, while scrap represents material that is discarded or otherwise treated as a loss.
4. Can Odoo track by-products during manufacturing?
Yes. By-products can be added to a Bill of Materials with quantities and, when applicable, assigned to a specific production operation.
5. Can scrap be recorded during production in Odoo?
Yes. Odoo allows components or finished products to be scrapped during manufacturing workflows, with the scrap recorded separately from usable inventory.
6. Can Odoo track the reason for scrap?
Yes. Scrap orders can include a scrap reason, helping manufacturers analyze recurring defects, waste and production problems.
7. Can by-products have lot or serial numbers?
Yes. Where tracking is required, by-products can be recorded with lot or serial numbers to maintain traceability through inventory and manufacturing.
8. Does scrap affect inventory valuation?
Scrapping removes the item from available inventory and with the appropriate Inventory Loss configuration, the financial impact can also be reflected in accounting reports.
Conclusion
Manufacturing performance is not measured only by finished goods.
A production process can generate valuable by-products, recoverable materials, or costly scrap. If those outputs are not correctly represented in the ERP, management may have an incomplete picture of production efficiency and cost.
Odoo provides separate mechanisms for tracking by-products and scrapping unusable inventory. By-products can be defined on BoMs and recorded as production outputs, while scrap can be moved to Inventory Loss locations and analyzed as part of inventory control.
The practical approach is:
Define → Produce → Classify → Track → Cost → Analyze → Improve
When by-products and scrap are treated as part of the manufacturing process rather than as afterthoughts, Odoo can provide better visibility into material utilization, production yield, inventory accuracy and operational losses.