diff --git a/addons/mrp/wizard/mrp_consumption_warning.py b/addons/mrp/wizard/mrp_consumption_warning.py
index db0404a9eabf22e312fe2f78f1adda0b4a93b045..022d88dbecf37dc8aef6a347d9b248e67457c9d3 100644
--- a/addons/mrp/wizard/mrp_consumption_warning.py
+++ b/addons/mrp/wizard/mrp_consumption_warning.py
@@ -29,6 +29,9 @@ class MrpConsumptionWarning(models.TransientModel):
             wizard.consumption = "strict" in consumption_map and "strict" or "warning" in consumption_map and "warning" or "flexible"
 
     def action_confirm(self):
+        if self.env.context.get('from_workorder'):
+            if self.env.context.get('active_model') == 'mrp_workorder':
+                return self.env['mrp.workorder'].browse(self.env.context.get('active_id')).do_finish()
         return self.mrp_production_ids.with_context(skip_consumption=True).button_mark_done()
 
     def action_cancel(self):