diff --git a/energy_selfconsumption/models/selfconsumption.py b/energy_selfconsumption/models/selfconsumption.py
index 4dac6bc0f9fb0e4223cb9212a7b3c1e1707b2159..bd00f21794f508cb4ce893dfb6ec04beb056980e 100644
--- a/energy_selfconsumption/models/selfconsumption.py
+++ b/energy_selfconsumption/models/selfconsumption.py
@@ -122,6 +122,7 @@ class Selfconsumption(models.Model):
                 "views": [(False, "form")],
                 "view_id": False,
                 "target": "new",
+                "context": {"default_selfconsumption_id": self.id},
             }
             # Move state write to contract wizard
             # record.write({"state": "active"})
diff --git a/energy_selfconsumption/wizards/contract_generation_wizard.py b/energy_selfconsumption/wizards/contract_generation_wizard.py
index 575bea6bc7449bd337eec38b573057fd0874ac87..cb6d39de10985c8607174399d717e602ce2a72d3 100644
--- a/energy_selfconsumption/wizards/contract_generation_wizard.py
+++ b/energy_selfconsumption/wizards/contract_generation_wizard.py
@@ -29,6 +29,9 @@ class ContractGenerationWizard(models.TransientModel):
         string="Recurrence",
         help="Specify Interval for automatic invoice generation.",
     )
+    selfconsumption_id = fields.Many2one(
+        "energy_selfconsumption.selfconsumption", readonly=True
+    )
 
     def generate_contracts_button(self):
         product_id = self.env["product.product"].create(