Skip to Content
Menu
This question has been flagged
1 Reply
680 Views


I want to know how to calculate product margin in manufacturing when
coming to BoM with option kit.

I created  a BoM and do a sales order for the parent product. When
delivery of the SO its showing as components. Its alright.

But I need to know only how to calculate margin of product .

Kindly help me if any idea

Avatar
Discard
Best Answer

Hi Treesa Thomas,

If you want to calculate margin based on bom cost, please try for below code, I used in V12 but hope, it will work for you.

GOTO > BoM > Open Any BoM > Click on Structure & Cost (Changes Quantity)

You can get Cost from there, cost is depends on Quantity.

To calculate on Sale Order you need to define one compute field.

bom_price = fields.Float(
compute='_compute_so_line_bom_price',
store=True,
string='BoM Cost')

@api.depends('product_id', 'product_uom_qty')
def _compute_so_line_bom_price(self):
"""Compute: Product BoM Cost Price.

Compute the BoM Cost Price using _bom_find method of MRP BoM object and
_get_bom method of BoM Structure and Cost Report
(BoM > Smart Button: Structure & Cost).

:return: None
"""
mrp_bom = self.env['mrp.bom']
bom_report = self.env['report.mrp.report_bom_structure']
for res in self:
price = 0
if res.product_id and res.product_uom_qty:
bom = mrp_bom._bom_find(product=res.product_id)
if bom:
price = bom_report._get_bom(
bom_id=bom.id, product_id=str(res.product_id.id),
line_qty=res.product_uom_qty, line_id=False,
level=False)['total'] / res.product_uom_qty
res.bom_price = price

Based on this field you can calculate Margin same as product cost.

Thanks & Regards,
Email: odoo@aktivsoftware.com
Skype: kalpeshmaheshwari


Avatar
Discard
Related Posts Replies Views Activity
2
Aug 21
2913
1
Mar 24
2620
1
May 20
6500
1
Mar 24
2538
1
Nov 24
93