diff --git a/models/financial_deal_tool.py b/models/financial_deal_tool.py
index aad4375c17e4f9abf5ba84b1a0a409fc789818a8..d1118e66178ed6d8ec935234ddeef0d3a336c757 100644
--- a/models/financial_deal_tool.py
+++ b/models/financial_deal_tool.py
@@ -4,7 +4,7 @@
 from odoo import models
 
 
-class TemplateModel(models.Model):
+class DealTool(models.Model):
     _inherit = "financial.deal.tool"
 
     # ------------------------------------------------------
@@ -35,19 +35,20 @@ class TemplateModel(models.Model):
     # Actions
     # ------------------------------------------------------
     def btn_init_contract(self):
-        self.deal_id.contract_ids = [
-            (
-                0,
-                0,
-                {
-                    "description": self.deal_id.description,
-                    "name": "An incoming sequence",
-                    "partner_id": self.deal_id.partner_id.id,
-                    "deal_tool_id": self.id,
-                },
-            )
-        ]
+        contract = self.generate_contract()
+        # TODO Show contract
 
     # ------------------------------------------------------
     # Business methods
     # ------------------------------------------------------
+    def generate_contract(self):
+        self.ensure_one()
+        contract = self.env["financial.contract"].create(
+            {
+                "description": self.deal_id.description,
+                "name": "An incoming sequence",
+                "partner_id": self.deal_id.partner_id.id,
+                "deal_tool_id": self.id,
+            }
+        )
+        return contract