Cost Allocation Between Main Products and By-Products in Odoo Manufacturing
In Odoo 19 and beyond Manufacturing, Cost Share (%) is a standard mechanism for distributing indirect production costs between the main finished product and any by-products generated within the same manufacturing order. This functionality is particularly valuable in industries where secondary outputs are produced alongside the primary product and require accurate cost valuation.
The Core Challenge in Multi-Output Manufacturing
The Core Problem Cost Share Solves
In industries like chemical processing, food & beverage, oil & gas, metal refining, agriculture, and cement production, a single manufacturing process often yields:
A main product (the primary output)
By-products (secondary outputs with real economic value)
Without proper cost allocation:
Odoo (by default) assigns 100% of the production costs to the main product
By-products are valued at zero or incorrectly
This leads to distorted inventory valuation, inaccurate profit margins, and misleading financial reports
What is Cost Share in Odoo?
Cost Share (%) defines how operational (indirect) manufacturing costs are distributed between:
Main finished product
By-products
Cost Share does not distribute raw material costs.
It applies only to operational/overhead costs.
Where Cost Share is Configured
Cost Share is defined at the BoM level:
Bill of Materials → By-Products tab → Cost Share (%)
Key Rules
Cost Share is optional
The total cost share of all by-products must be ≤ 100%
Any remaining percentage is automatically allocated to the main product
System Requirement
The Cost Share field is available only when the following module is installed:
mrp_account_enterprise
Once installed, the Cost Share (%) field becomes visible on the By-Products tab of the BoM.
What costs are shared?
Only operational / indirect costs are allocated:
Work center operation costs
Labor cost
Machine cost
Overhead applied via routing
Time-based production expenses
These are costs that cannot be directly attributed to a single product.
What Happens Without Cost Share?
Consequences of Not Using Cost Share
Area | Impact Without Cost Share |
Inventory Valuation | By-products valued at zero → inaccurate stock reports |
Profit Margins | Main product margins artificially low; by-products appear overly profitable |
COGS Calculation | Incorrect when selling by-products |
Decision-Making | Wrong pricing, production, or investment choices |
Accounting & Compliance | Misleading journal entries; audit risks |
With Cost Share enabled, each output reflects its true economic contribution.
Cost Share calculation logic (simplified)
Operational Cost × Cost Share %
Applied only on operational cost lines generated by:
Work orders
Routing operations
Example: Basic Cost Share Allocation
Manufacturing Order Costs
Raw materials: 1,000
Operation cost: 500
Cost Share Configuration
Main product: 70%
By-product A: 30%
Cost Share Configuration
Product | Material Cost | Operation Cost | Total Cost |
Main product | 1,000 | 350 | 1,350 |
By-product A | 0 | 150 | 150 |
Key Observations
Raw material cost remains with the main product
Operational cost is split based on Cost Share.
Business Use Cases
Cost Share is commonly used in:
Chemical & process industries
Food & beverage production
Oil & gas refining
Metal processing
Mining & extraction
Agriculture & milling
Cement production
Key Benefits:
Realistic profit/margin analysis
IFRS/GAAP compliance for audits
Correct COGS when selling by-products
Cost Share will be enabled on BOM if we installed mrp_account_enterprise
Once installed, the cost share field is visible on the BOM:
Create a product with the below configuration:
Define Byproducts in BoM:
Go to your product's Bill of Materials (BoM) and add the byproduct in the By-products tab.
Set Cost Share Percentage:
In the byproduct line, enter a percentage (e.g., 50%) in the Cost Share field.
Automatic Calculation:
When you manufacture the main product, Odoo calculates 50% (or your set percentage) of the total production cost (materials + operations) and assigns that as the cost of the byproduct.
Cost Reduction:
This allocated cost is subtracted from the main product's cost, effectively lowering the unit cost of your primary item.

Let’s Create a Manufacturing Order and Review:

Review By Products Cost Share:
Once Plan and Produce All, the cost of Main Product distributed to By Product:
Multiple By-Products (50% / 50%)
Total Operation Cost
Total operation cost: 304.89
Produced quantity: 2 units
Cost Distribution
Cost per unit: 304.89 ÷ 2 = 152.45
| Cost Share | Allocated Cost |
By-product X | 50% | 152.45 |
By-product Y | 50% | 152.45 |
✔ Only operational cost is allocated
✔ Each by-product receives its share proportionally


Let’s take another example:
Create BOM with the distribution of cost: 70% main product and 30% By Product Cost

Create Manufacturing Order for Finished Product

After production finished below cost will be distributed 70% for main product and 30% for the By Product
BoM Configuration
Main product: 70%
By-product: 30%
Manufacturing Order Result
30% of total operational cost is allocated to the by-product
Remaining 70% stays with the main product

Key Benefits of Cost Share in Odoo
Cost Share ensures production costs are fairly distributed across all outputs, delivering accurate costing, valuation, profitability insights, and regulatory compliance.
Accurate Costing:
Reflects true production costs by allocating indirect costs correctly.
Automated Valuation:
By-product valuation is handled automatically during manufacturing.
Simplified Reporting:
Clear visibility of cost distribution in:
Stock valuation
Manufacturing reports
Financial statements
Realistic Profit & Margin Analysis:
Avoids distorted margins, enabling better pricing and profitability decisions.
Accounting & Compliance:
Generates correct journal entries and stock valuation layers essential for audits and financial reporting.
Future-Proof Reporting:
Aligns with Odoo's focus on real-time costing and multi-output manufacturing in version 19 and beyond.
Conclusion
Accurate costing isn’t just accounting—it’s the foundation of smarter manufacturing decisions.





