diff --git a/rma/__manifest__.py b/rma/__manifest__.py
index a0e44aa1..4f85e032 100644
--- a/rma/__manifest__.py
+++ b/rma/__manifest__.py
@@ -3,7 +3,7 @@
{
"name": "Return Merchandise Authorization Management",
"summary": "Return Merchandise Authorization (RMA)",
- "version": "15.0.1.1.0",
+ "version": "15.0.1.1.1",
"development_status": "Production/Stable",
"category": "RMA",
"website": "https://github.com/OCA/rma",
diff --git a/rma/models/rma.py b/rma/models/rma.py
index 8f2101b5..811d2546 100644
--- a/rma/models/rma.py
+++ b/rma/models/rma.py
@@ -1210,10 +1210,13 @@ class Rma(models.Model):
self._ensure_can_be_replaced()
moves_before = self.delivery_move_ids
self._action_launch_stock_rule(scheduled_date, warehouse, product, qty, uom)
- new_move = self.delivery_move_ids - moves_before
- if new_move:
- self.message_post(
- body=_(
+ new_moves = self.delivery_move_ids - moves_before
+ body = ""
+ # The product replacement could explode into several moves like in the case of
+ # MRP BoM Kits
+ for new_move in new_moves:
+ body += (
+ _(
'Replacement: Move %(move_name)s (Picking "
- 'Product %(name)s
'
- "Quantity %(qty)s %(uom)s
"
- "This replacement did not create a new move, but one of "
- "the previously created moves was updated with this data."
- )
- % (
- {
- "id": product.id,
- "name": product.display_name,
- "qty": qty,
- "uom": uom.name,
- }
- )
+ self.message_post(
+ body=body
+ or _(
+ "Replacement:
"
+ 'Product %(name)s
'
+ "Quantity %(qty)s %(uom)s
"
+ "This replacement did not create a new move, but one of "
+ "the previously created moves was updated with this data."
)
+ % (
+ {
+ "id": product.id,
+ "name": product.display_name,
+ "qty": qty,
+ "uom": uom.name,
+ }
+ )
+ )
if self.state != "waiting_replacement":
self.state = "waiting_replacement"