From 1a56d6646d44861cea238ae67d2a7becb36c01b3 Mon Sep 17 00:00:00 2001
From: Arnold Moyaux <arm@odoo.com>
Date: Fri, 17 Dec 2021 10:19:49 +0000
Subject: [PATCH] [FIX] sale_mrp: quantity invoiced in cogs is different than
 qty delivered

When a kit is exploded to `stock.move` the quantity is rounded half-up
for every move. But during the invoice. The quantity to invoice on
kit is rounded up so it could result in differences between the
inventory valuation and the cost of the product

closes odoo/odoo#81588

Signed-off-by: Arnold Moyaux <arm@odoo.com>
Signed-off-by: Tiffany Chang <tic@odoo.com>
---
 addons/sale_mrp/models/sale.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/addons/sale_mrp/models/sale.py b/addons/sale_mrp/models/sale.py
index c6f25a32b37a..d4bd560d73c8 100644
--- a/addons/sale_mrp/models/sale.py
+++ b/addons/sale_mrp/models/sale.py
@@ -121,7 +121,7 @@ class SaleOrderLine(models.Model):
                         order_line.qty_delivered = 0.0
 
     def _get_bom_component_qty(self, bom):
-        bom_quantity = self.product_id.uom_id._compute_quantity(1, bom.product_uom_id)
+        bom_quantity = self.product_id.uom_id._compute_quantity(1, bom.product_uom_id, rounding_method='HALF-UP')
         boms, lines = bom.explode(self.product_id, bom_quantity)
         components = {}
         for line, line_data in lines:
-- 
GitLab