diff --git a/models/financial_condition_precedent.py b/models/financial_condition_precedent.py
index 672c89843af97e9baf20f86ac9e674e3696ddc73..6dd27b568c357e99890ae349dee01a555a8999cf 100644
--- a/models/financial_condition_precedent.py
+++ b/models/financial_condition_precedent.py
@@ -51,6 +51,7 @@ class FinancialConditionPrecedentContract(models.Model):
     # ------------------------------------------------------
     name = fields.Char(compute="_compute_name")
     condition_precedent_id = fields.Many2one("financial.condition.precedent")
+    contract_id = fields.Many2one("financial.contract")
     raised = fields.Boolean()
 
     # ------------------------------------------------------
diff --git a/models/financial_contract.py b/models/financial_contract.py
index bb32e656a31cca81c710992a722eb58cda85525d..a8cf275f106227925a9837d0d5f8154bcef91bec 100644
--- a/models/financial_contract.py
+++ b/models/financial_contract.py
@@ -44,8 +44,11 @@ class FinancialContract(models.Model):
     currency_id = fields.Many2one(
         comodel_name="res.currency", related="company_id.currency_id"
     )
-    condition_precedent_contract_ids = fields.Many2many(
-        "financial.condition.precedent.contract", string="Conditions"
+    condition_precedent_contract_ids = fields.One2many(
+        "financial.condition.precedent.contract",
+        string="Conditions",
+        inverse_name="contract_id",
+        domain="[('contract_id','=','active_id')]",
     )
 
     # ------------------------------------------------------