diff --git a/__manifest__.py b/__manifest__.py
index 7c8f7ef224dc85b5bdb3f99ba7bc25907ea74631..7e17d4052ca0b65d8e5f92a8723960b58f4e3682 100644
--- a/__manifest__.py
+++ b/__manifest__.py
@@ -1,7 +1,7 @@
 {
     "name": "Financial - Contract",
     "summary": "Gestion des contrats des outils financiers",
-    "author": "Le Filament",
+    "author": "Le Filament, Odoo Community Association (OCA)",
     "website": "https://le-filament.com",
     "version": "16.0.1.0.0",
     "license": "AGPL-3",
@@ -13,6 +13,8 @@
         # datas
         # views
         "views/financial_contract.xml",
+        "views/financial_condition.xml",
+        "views/financial_condition_contract.xml",
         "views/res_partner.xml",
         # views menu
         "views/menus.xml",
diff --git a/models/__init__.py b/models/__init__.py
index 2bddc2e78aa96a512e3298b717abc4eeb026ae20..6f8db4ae0657ff750ada01297c503e750a940946 100644
--- a/models/__init__.py
+++ b/models/__init__.py
@@ -1,2 +1,4 @@
 from . import financial_contract
 from . import res_partner
+from . import financial_condition
+from . import financial_condition_contract
diff --git a/models/financial_condition.py b/models/financial_condition.py
new file mode 100644
index 0000000000000000000000000000000000000000..02b68cfc66136d64bc6623f1ff3149ff20b67843
--- /dev/null
+++ b/models/financial_condition.py
@@ -0,0 +1,42 @@
+# Copyright 2023- Le Filament (https://le-filament.com)
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html)
+
+from odoo import fields, models
+
+
+class FinancialCondition(models.Model):
+    _name = "financial.condition"
+    _description = "Configuration of a condition precedent"
+
+    # ------------------------------------------------------
+    # Fields declaration
+    # ------------------------------------------------------
+    name = fields.Char()
+    category = fields.Selection([("a", "Cat. A"), ("b", "Cat B")])
+    # ------------------------------------------------------
+    # SQL Constraints
+    # ------------------------------------------------------
+
+    # ------------------------------------------------------
+    # Default methods
+    # ------------------------------------------------------
+
+    # ------------------------------------------------------
+    # Computed fields / Search Fields
+    # ------------------------------------------------------
+
+    # ------------------------------------------------------
+    # Onchange / Constraints
+    # ------------------------------------------------------
+
+    # ------------------------------------------------------
+    # CRUD methods (ORM overrides)
+    # ------------------------------------------------------
+
+    # ------------------------------------------------------
+    # Actions
+    # ------------------------------------------------------
+
+    # ------------------------------------------------------
+    # Business methods
+    # ------------------------------------------------------
diff --git a/models/financial_condition_contract.py b/models/financial_condition_contract.py
new file mode 100644
index 0000000000000000000000000000000000000000..b0b0f2b38b7e0db67bb58369d53570291c66135a
--- /dev/null
+++ b/models/financial_condition_contract.py
@@ -0,0 +1,47 @@
+# Copyright 2023- Le Filament (https://le-filament.com)
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html)
+
+from odoo import fields, models
+
+
+class FinancialConditionContract(models.Model):
+    _name = "financial.condition.contract"
+    _description = "Link between a condition precedent and a contract"
+    _rec_name = "condition_id"
+    # ------------------------------------------------------
+    # Fields declaration
+    # ------------------------------------------------------
+    name = fields.Char()
+    condition_id = fields.Many2one("financial.condition")
+    contract_id = fields.Many2one("financial.contract")
+    raised = fields.Boolean()
+    milestone = fields.Date()
+    comment = fields.Text()
+
+    # ------------------------------------------------------
+    # SQL Constraints
+    # ------------------------------------------------------
+
+    # ------------------------------------------------------
+    # Default methods
+    # ------------------------------------------------------
+
+    # ------------------------------------------------------
+    # Computed fields / Search Fields
+    # ------------------------------------------------------
+
+    # ------------------------------------------------------
+    # Onchange / Constraints
+    # ------------------------------------------------------
+
+    # ------------------------------------------------------
+    # CRUD methods (ORM overrides)
+    # ------------------------------------------------------
+
+    # ------------------------------------------------------
+    # Actions
+    # ------------------------------------------------------
+
+    # ------------------------------------------------------
+    # Business methods
+    # ------------------------------------------------------
diff --git a/models/financial_contract.py b/models/financial_contract.py
index 431aa7df77a46c03ecf0331fe4bbda579ece7168..e0e30e779f0c93c82a3a75cb6fc8a956b38d7a28 100644
--- a/models/financial_contract.py
+++ b/models/financial_contract.py
@@ -44,6 +44,12 @@ class FinancialContract(models.Model):
     currency_id = fields.Many2one(
         comodel_name="res.currency", related="company_id.currency_id"
     )
+    condition_contract_ids = fields.One2many(
+        "financial.condition.contract",
+        string="Conditions",
+        inverse_name="contract_id",
+        domain="[('contract_id','=','active_id')]",
+    )
 
     # ------------------------------------------------------
     # Computed fields / Search Fields
diff --git a/security/ir.model.access.csv b/security/ir.model.access.csv
index 7f16336b4225251077227ddf1d5ee7c105c0e570..74d757b6c41a50d9249ea1789fbe117215bbf1b7 100644
--- a/security/ir.model.access.csv
+++ b/security/ir.model.access.csv
@@ -1,2 +1,4 @@
 id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
 access_financial_contract,access_financial_contract,model_financial_contract,base.group_user,1,1,1,1
+access_financial_condition,access_financial_condition,model_financial_condition,base.group_user,1,1,1,1
+access_financial_condition_contract,access_financial_condition_contract,model_financial_condition_contract,base.group_user,1,1,1,1
diff --git a/views/financial_condition.xml b/views/financial_condition.xml
new file mode 100644
index 0000000000000000000000000000000000000000..4366c07f282f8774351ca1fd946f409f100919cd
--- /dev/null
+++ b/views/financial_condition.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<odoo>
+    <data>
+
+        <record id="financial_condition_form_view" model="ir.ui.view">
+            <field name="name">financial_condition.form
+            </field>
+            <field name="model">financial.condition</field>
+            <field name="arch" type="xml">
+                <form string="Conditions">
+                    <sheet>
+                        <div class="oe_title">
+                            <label for="name" />
+                            <h1>
+                                <field name="name" placeholder="Name" />
+                            </h1>
+                        </div>
+                        <group>
+                            <field name="category" />
+                        </group>
+                    </sheet>
+                </form>
+            </field>
+        </record>
+
+        <record id="financial_condition_tree_view" model="ir.ui.view">
+            <field name="name">financial_condition.tree
+            </field>
+            <field name="model">financial.condition</field>
+            <field name="arch" type="xml">
+                <tree string="Conditions">
+                    <field name="name" />
+                </tree>
+            </field>
+        </record>
+
+
+        <record
+            id="financial_condition_act_window"
+            model="ir.actions.act_window"
+        >
+            <field name="name">Conditions</field>
+            <field name="type">ir.actions.act_window</field>
+            <field name="res_model">financial.condition</field>
+            <field name="view_mode">tree,form</field>
+        </record>
+    </data>
+</odoo>
diff --git a/views/financial_condition_contract.xml b/views/financial_condition_contract.xml
new file mode 100644
index 0000000000000000000000000000000000000000..acab917bc04f1179cfa9b2382d3808bf8b808c85
--- /dev/null
+++ b/views/financial_condition_contract.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<odoo>
+    <data>
+
+        <record id="financial_condition_contract_view_form" model="ir.ui.view">
+            <field name="name">financial_condition_contract_view_form
+            </field>
+            <field name="model">financial.condition.contract</field>
+            <field name="arch" type="xml">
+                <form string="financial_condition_contract_form">
+                    <sheet>
+                        <group>
+                            <field name="condition_id" />
+                            <field name="raised" />
+                            <field name="milestone" />
+                            <field name="comment" />
+                        </group>
+                    </sheet>
+                </form>
+            </field>
+        </record>
+
+        <record id="financial_conditioncontract_view_tree" model="ir.ui.view">
+            <field name="name">financial_condition_contract_view_tree
+            </field>
+            <field name="model">financial.condition.contract</field>
+            <field name="arch" type="xml">
+                <tree string="financial_condition_contract_tree">
+                    <field name="name" />
+                    <field name="raised" />
+                    <field name="milestone" />
+                    <field name="comment" />
+                </tree>
+            </field>
+        </record>
+
+        <record
+            id="financial_condition_contract_action"
+            model="ir.actions.act_window"
+        >
+            <field name="name">financial_condition_contract</field>
+            <field name="type">ir.actions.act_window</field>
+            <field name="res_model">financial.condition.contract</field>
+            <field name="view_mode">tree,form</field>
+        </record>
+    </data>
+</odoo>
diff --git a/views/financial_contract.xml b/views/financial_contract.xml
index 52a19e26bc13a2c9ea522793070ba014f0e8b1c4..93753761ba4d345a8ec7b4ca197811e4330567c8 100644
--- a/views/financial_contract.xml
+++ b/views/financial_contract.xml
@@ -30,6 +30,11 @@
                             />
                         </group>
                     </group>
+                    <notebook>
+                        <page string="Conditions precedent">
+                            <field name="condition_contract_ids" />
+                        </page>
+                    </notebook>
                 </sheet>
                 <div class="oe_chatter">
                     <field name="message_follower_ids" />
@@ -50,7 +55,7 @@
                 <field name="name" />
                 <field name="partner_id" />
                 <field name="state" />
-<!--                <field name="total_amount" />-->
+                <!--                <field name="total_amount" />-->
             </tree>
         </field>
     </record>
@@ -73,22 +78,24 @@
                     <t t-name="kanban-box">
                         <div class="oe_kanban_global_click">
                             <!-- TODO: Ajouter css pour bandeau archivage -->
-<!--                            <div class="ribbon ribbon-top-right" attrs="{'invisible': [('active', '=', True)]}">-->
-<!--                                <span class="bg-danger">Archivé</span>-->
-<!--                            </div>-->
+                            <!--                            <div class="ribbon ribbon-top-right" attrs="{'invisible': [('active', '=', True)]}">-->
+                            <!--                                <span class="bg-danger">Archivé</span>-->
+                            <!--                            </div>-->
                             <div class="oe_kanban_content">
                                 <div class="o_kanban_record_title">
-                                    <strong><field name="name" /> - <field
-                                            name="partner_id"
-                                        /></strong>
+                                    <strong>
+                                        <field name="name" />
+                                        -
+                                        <field name="partner_id" />
+                                    </strong>
                                 </div>
                                 <div class="o_kanban_record_subtitle">
-<!--                                    <t t-if="record.total_amount.raw_value">-->
-<!--                                        <field-->
-<!--                                            name="total_amount"-->
-<!--                                            widget="monetary"-->
-<!--                                            options="{'currency_field': 'currency_id'}"/>-->
-<!--                                    </t>-->
+                                    <!--                                    <t t-if="record.total_amount.raw_value">-->
+                                    <!--                                        <field-->
+                                    <!--                                            name="total_amount"-->
+                                    <!--                                            widget="monetary"-->
+                                    <!--                                            options="{'currency_field': 'currency_id'}"/>-->
+                                    <!--                                    </t>-->
                                 </div>
                                 <div class="oe_clear" />
                             </div>
diff --git a/views/menus.xml b/views/menus.xml
index 20baa72a65209d95a12700a44ce796d4f693226f..ccc8e91a9b2c54d30c88a69647b527933b967c1d 100644
--- a/views/menus.xml
+++ b/views/menus.xml
@@ -17,17 +17,31 @@
         sequence="10"
     />
     <!-- Configuration -->
-<!--    <menuitem-->
-<!--        id="menu_financial_deal_config"-->
-<!--        name="Configuration"-->
-<!--        parent="financial_deal_menu_root"-->
-<!--        sequence="100"-->
-<!--    />-->
-<!--    <menuitem-->
-<!--        id="menu_financial_deal"-->
-<!--        name="Partenaires financiers"-->
-<!--        parent="menu_financial_deal_config"-->
-<!--        action="financial_deal_partner_act_window"-->
-<!--        sequence="10"-->
-<!--    />-->
+    <menuitem
+        id="menu_financial_contract_configuration"
+        name="Configuration"
+        parent="financial_contract_menu_root"
+        sequence="10"
+    />
+
+    <menuitem
+        id="menu_financial_condition"
+        name="Conditions"
+        parent="menu_financial_contract_configuration"
+        action="financial_condition_act_window"
+        sequence="10"
+    />
+    <!--    <menuitem-->
+    <!--        id="menu_financial_deal_config"-->
+    <!--        name="Configuration"-->
+    <!--        parent="financial_deal_menu_root"-->
+    <!--        sequence="100"-->
+    <!--    />-->
+    <!--    <menuitem-->
+    <!--        id="menu_financial_deal"-->
+    <!--        name="Partenaires financiers"-->
+    <!--        parent="menu_financial_deal_config"-->
+    <!--        action="financial_deal_partner_act_window"-->
+    <!--        sequence="10"-->
+    <!--    />-->
 </odoo>