diff --git a/__manifest__.py b/__manifest__.py
index 7e17d4052ca0b65d8e5f92a8723960b58f4e3682..dca11bcd475bc3ede1de33be29d1a1e30d51b867 100644
--- a/__manifest__.py
+++ b/__manifest__.py
@@ -6,19 +6,18 @@
     "version": "16.0.1.0.0",
     "license": "AGPL-3",
     "depends": [
+        "financial_deal_flow",
         "financial_partner",
     ],
     "data": [
-        "security/ir.model.access.csv",
+        # security
+        # "security/ir.model.access.csv",
         # datas
         # views
         "views/financial_contract.xml",
-        "views/financial_condition.xml",
-        "views/financial_condition_contract.xml",
         "views/res_partner.xml",
         # views menu
         "views/menus.xml",
-        "data/sequence.xml"
         # wizard
     ],
     "assets": {
diff --git a/data/sequence.xml b/data/sequence.xml
deleted file mode 100644
index c43605ea936a3095088b199eea396b9669a2481c..0000000000000000000000000000000000000000
--- a/data/sequence.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<odoo>
-    <data noupdate="1">
-        <!-- Demandes sequences -->
-        <record model="ir.sequence" id="financial_contract_sequence">
-            <field name="name">Contract number</field>
-            <field name="code">financial_contract_seq</field>
-            <field eval="1" name="number_next"/>
-            <field eval="1" name="number_increment"/>
-            <field eval="False" name="use_date_range"/>
-            <field eval="False" name="company_id"/>
-            <field name="prefix">FC</field>
-            <field name="padding">5</field>
-        </record>
-
-    </data>
-</odoo>
diff --git a/models/__init__.py b/models/__init__.py
index 6f8db4ae0657ff750ada01297c503e750a940946..e4d34bb4da9ddd771434491978569b2fbac467c7 100644
--- a/models/__init__.py
+++ b/models/__init__.py
@@ -1,4 +1,4 @@
 from . import financial_contract
+from . import financial_deal
+from . import res_company
 from . import res_partner
-from . import financial_condition
-from . import financial_condition_contract
diff --git a/models/financial_condition_contract.py b/models/financial_condition_contract.py
deleted file mode 100644
index b0b0f2b38b7e0db67bb58369d53570291c66135a..0000000000000000000000000000000000000000
--- a/models/financial_condition_contract.py
+++ /dev/null
@@ -1,47 +0,0 @@
-# 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 e0e30e779f0c93c82a3a75cb6fc8a956b38d7a28..cd398df363ab4ce895caee2409bd0d73ffd2cbac 100644
--- a/models/financial_contract.py
+++ b/models/financial_contract.py
@@ -1,55 +1,11 @@
 # © 2019 Le Filament (<http://www.le-filament.com>)
 # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
 
-from odoo import _, fields, models, api
-from odoo.exceptions import UserError
+from odoo import models
 
 
 class FinancialContract(models.Model):
-    _name = "financial.contract"
-    _inherit = ["mail.thread", "mail.activity.mixin"]
-    _description = "Financial Contract"
-    _order = "create_date"
-    _check_company_auto = True
-    _rec_names_search = ["name", "partner_id.name", "partner_id.member_number"]
-
-    name = fields.Char("Numéro", readonly=True)
-    partner_id = fields.Many2one(
-        comodel_name="res.partner",
-        string="Coopérative",
-        domain="[('is_cooperative', '=', True)]",
-        tracking=1,
-        required=True,
-        index=True,
-    )
-    state = fields.Selection(
-        [
-            ("init", "Initialisation"),
-            ("running", "En cours"),
-            ("done", "Terminé"),
-            ("cancel", "Annulé"),
-        ],
-        string="Statut",
-        tracking=1,
-        default="init",
-    )
-    active = fields.Boolean(
-        default=True,
-        tracking=1,
-    )
-    description = fields.Text("Description du projet")
-    company_id = fields.Many2one(
-        comodel_name="res.company", required=True, default=lambda self: self.env.company
-    )
-    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')]",
-    )
+    _inherit = "financial.contract"
 
     # ------------------------------------------------------
     # Computed fields / Search Fields
@@ -58,24 +14,3 @@ class FinancialContract(models.Model):
     # ------------------------------------------------------
     # CRUD (Override ORM)
     # ------------------------------------------------------
-    def unlink(self):
-        """
-        Restrict contract deletion depending on state
-        """
-        for contract in self:
-            if contract.state != "init":
-                raise UserError(
-                    _("Seuls les deals à l'état Projet peuvent être supprimés")
-                )
-        return super().unlink()
-
-    @api.model
-    def create(self, values):
-        # On récupère le no de demande
-        name = self.env["ir.sequence"].next_by_code("financial_contract_seq")
-        values["name"] = name
-
-        # On crée le record
-        res = super().create(values)
-
-        return res
diff --git a/models/financial_deal.py b/models/financial_deal.py
new file mode 100644
index 0000000000000000000000000000000000000000..6511bcd2945bbed0ee9abbe380b7c71ec2c1ede5
--- /dev/null
+++ b/models/financial_deal.py
@@ -0,0 +1,34 @@
+# © 2019 Le Filament (<http://www.le-filament.com>)
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
+
+from odoo import _, models
+from odoo.exceptions import UserError
+
+
+class FinancialDeal(models.Model):
+    _inherit = "financial.deal"
+
+    # ------------------------------------------------------
+    # Computed fields / Search Fields
+    # ------------------------------------------------------
+
+    # ------------------------------------------------------
+    # Inherit parent
+    # ------------------------------------------------------
+    def action_stage_validated(self):
+        res = super().action_stage_validated()
+
+        for contract in self.coop_contract_ids:
+            if not contract.company_id.contract_sequence_id:
+                raise UserError(
+                    _(
+                        f"Aucune séquence configurée pour les contrats de la société {contract.company_id.name}"
+                    )
+                )
+            if not contract.number:
+                contract.number = contract.company_id.contract_sequence_id.next_by_id()
+        return res
+
+    # ------------------------------------------------------
+    # CRUD (Override ORM)
+    # ------------------------------------------------------
diff --git a/models/financial_condition.py b/models/res_company.py
similarity index 62%
rename from models/financial_condition.py
rename to models/res_company.py
index 02b68cfc66136d64bc6623f1ff3149ff20b67843..cc206802dc1b719910116eac21e8c44335e5f46f 100644
--- a/models/financial_condition.py
+++ b/models/res_company.py
@@ -1,18 +1,18 @@
 # 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
+from odoo import api, fields, models
 
 
-class FinancialCondition(models.Model):
-    _name = "financial.condition"
-    _description = "Configuration of a condition precedent"
+class ResCompany(models.Model):
+    _inherit = "res.company"
+
+    contract_sequence_id = fields.Many2one("ir.sequence")
 
     # ------------------------------------------------------
     # Fields declaration
     # ------------------------------------------------------
-    name = fields.Char()
-    category = fields.Selection([("a", "Cat. A"), ("b", "Cat B")])
+
     # ------------------------------------------------------
     # SQL Constraints
     # ------------------------------------------------------
@@ -32,6 +32,25 @@ class FinancialCondition(models.Model):
     # ------------------------------------------------------
     # CRUD methods (ORM overrides)
     # ------------------------------------------------------
+    @api.model
+    def create(self, values):
+        # Crée une séquence dédiée à la société
+        res = super().create(values)
+
+        res.contract_sequence_id = self.env["ir.sequence"].create(
+            {
+                "name": f"Contrats - {res.name}",
+                "company_id": res.id,
+                "number_next": 1,
+                "number_increment": 1,
+                "use_date_range": True,
+                "prefix": "C%(year)s%(month)s",
+                "padding": 4,
+                "implementation": "no_gap",
+                "code": f"financial.contract.company_{res.id}",
+            }
+        )
+        return res
 
     # ------------------------------------------------------
     # Actions
diff --git a/models/res_partner.py b/models/res_partner.py
index 433e42026d4f9950ac6584069dfc076247dc8429..181200505cf92a7f04dbc631837c6c2953631224 100644
--- a/models/res_partner.py
+++ b/models/res_partner.py
@@ -45,6 +45,16 @@ class ResPartner(models.Model):
     # ------------------------------------------------------
     # Actions
     # ------------------------------------------------------
+    def action_view_contract(self):
+        self.ensure_one()
+        return {
+            "type": "ir.actions.act_window",
+            "name": "Contrats",
+            "res_model": "financial.contract",
+            "view_mode": "tree,form",
+            "domain": [("deal_type", "=", "external"), ("partner_id", "=", self.id)],
+            "flags": {"mode": "readonly"},
+        }
 
     # ------------------------------------------------------
     # Business methods
diff --git a/security/ir.model.access.csv b/security/ir.model.access.csv
index 74d757b6c41a50d9249ea1789fbe117215bbf1b7..97dd8b917b8a258799a3ebf0095f13ff73d7cf68 100644
--- a/security/ir.model.access.csv
+++ b/security/ir.model.access.csv
@@ -1,4 +1 @@
 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/security/security_rules.xml b/security/security_rules.xml
deleted file mode 100644
index 762300405cc11066d569e78555e16154d6ad2580..0000000000000000000000000000000000000000
--- a/security/security_rules.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" ?>
-<!-- Copyright 2022 Le Filament
-     License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
-<odoo>
-    <!--
-        Category
-    -->
-<!--    <record id="module_cgscop_category" model="ir.module.category">-->
-<!--        <field name="name">CG Scop</field>-->
-<!--        <field name="sequence">10</field>-->
-<!--    </record>-->
-<!--    <record id="module_cgscop_administration_category" model="ir.module.category">-->
-<!--        <field name="name">Administration CG Scop</field>-->
-<!--        <field name="parent_id" ref="cgscop_partner.module_cgscop_category" />-->
-<!--    </record>-->
-
-    <!--
-        Group user
-    -->
-<!--    <record id="group_edit_all_ur" model="res.groups">-->
-<!--        <field name="name">Modification des coopératives de toutes les UR</field>-->
-<!--        <field name="category_id" ref="cgscop_partner.module_cgscop_category" />-->
-<!--    </record>-->
-
-    <!--
-        Group rules
-    -->
-<!--    <record id="res_partner_rule_ur" model="ir.rule">-->
-<!--        <field name="name">Modification des partenaires de mon UR</field>-->
-<!--        <field name="model_id" ref="base.model_res_partner" />-->
-<!--        <field-->
-<!--            name="domain_force"-->
-<!--        >['|',('ur_id','=',False),('ur_id','=',user.company_id.ur_id.id)]</field>-->
-<!--        <field name="groups" eval="[(6, 0, [ref('base.group_user')])]" />-->
-<!--        <field name="perm_read" eval="False" />-->
-<!--        <field name="perm_write" eval="True" />-->
-<!--        <field name="perm_create" eval="True" />-->
-<!--        <field name="perm_unlink" eval="False" />-->
-<!--    </record>-->
-
-</odoo>
diff --git a/static/description/icon.png b/static/description/icon.png
index d96ec15a443e96f0ace3fb5543d3a419c87c49ea..a04374ee2970f59b609e8af5a93b9f5be586ece4 100644
Binary files a/static/description/icon.png and b/static/description/icon.png differ
diff --git a/views/financial_condition.xml b/views/financial_condition.xml
deleted file mode 100644
index 4366c07f282f8774351ca1fd946f409f100919cd..0000000000000000000000000000000000000000
--- a/views/financial_condition.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<?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
deleted file mode 100644
index acab917bc04f1179cfa9b2382d3808bf8b808c85..0000000000000000000000000000000000000000
--- a/views/financial_condition_contract.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-<?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 93753761ba4d345a8ec7b4ca197811e4330567c8..9657bf9de4f0ecab76ccc9c6f068b8127f07152a 100644
--- a/views/financial_contract.xml
+++ b/views/financial_contract.xml
@@ -2,114 +2,348 @@
 <!-- Copyright 2024 Le Filament
      License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
 <odoo>
-    <!-- Form -->
-    <record model="ir.ui.view" id="financial_deal_contract_view">
-        <field name="name">financial.contract.form</field>
+    <!-- Kanban -->
+<!--    <record model="ir.ui.view" id="financial_contract_kanban_view">-->
+<!--        <field name="name">financial.deal.contract</field>-->
+<!--        <field name="model">financial.contract</field>-->
+<!--        <field name="arch" type="xml">-->
+<!--            <kanban-->
+<!--                default_group_by="state"-->
+<!--                class="o_kanban_small_column o_opportunity_kanban"-->
+<!--                archivable="false"-->
+<!--            >-->
+<!--                <field name="state" />-->
+<!--                <field name="name" />-->
+<!--                <field name="partner_id" />-->
+<!--                <field name="active" />-->
+<!--                <templates>-->
+<!--                    <t t-name="kanban-box">-->
+<!--                        <div class="oe_kanban_global_click">-->
+<!--                            &lt;!&ndash; TODO: Ajouter css pour bandeau archivage &ndash;&gt;-->
+<!--                            &lt;!&ndash;                            <div class="ribbon ribbon-top-right" attrs="{'invisible': [('active', '=', True)]}">&ndash;&gt;-->
+<!--                            &lt;!&ndash;                                <span class="bg-danger">Archivé</span>&ndash;&gt;-->
+<!--                            &lt;!&ndash;                            </div>&ndash;&gt;-->
+<!--                            <div class="oe_kanban_content">-->
+<!--                                <div class="o_kanban_record_title">-->
+<!--                                    <strong>-->
+<!--                                        <field name="name" />-->
+<!--                                        - -->
+<!--                                        <field name="partner_id" />-->
+<!--                                    </strong>-->
+<!--                                </div>-->
+<!--                                <div class="o_kanban_record_subtitle">-->
+<!--                                    &lt;!&ndash;                                    <t t-if="record.total_amount.raw_value">&ndash;&gt;-->
+<!--                                    &lt;!&ndash;                                        <field&ndash;&gt;-->
+<!--                                    &lt;!&ndash;                                            name="total_amount"&ndash;&gt;-->
+<!--                                    &lt;!&ndash;                                            widget="monetary"&ndash;&gt;-->
+<!--                                    &lt;!&ndash;                                            options="{'currency_field': 'currency_id'}"/>&ndash;&gt;-->
+<!--                                    &lt;!&ndash;                                    </t>&ndash;&gt;-->
+<!--                                </div>-->
+<!--                                <div class="oe_clear" />-->
+<!--                            </div>-->
+<!--                        </div>-->
+<!--                    </t>-->
+<!--                </templates>-->
+<!--            </kanban>-->
+<!--        </field>-->
+<!--    </record>-->
+
+    <!-- Tree Internal -->
+    <record id="financial_contract_all_tree_view" model="ir.ui.view">
+        <field name="name">financial.contract.all.tree</field>
         <field name="model">financial.contract</field>
         <field name="arch" type="xml">
-            <form string="Contract">
-                <header>
-                    <field name="state" widget="statusbar" />
-                </header>
-                <sheet>
-                    <field name="active" invisible="1" />
-                    <widget
-                        name="web_ribbon"
-                        title="Archivé"
-                        bg_color="bg-danger"
-                        attrs="{'invisible': [('active', '=', True)]}"
-                    />
-                    <h1>
-                        <field name="name" />
-                    </h1>
-                    <group>
-                        <group string="Coopérative">
-                            <field
-                                name="partner_id"
-                                options="{'no_create': 1, 'no_edit': 1}"
-                            />
-                        </group>
-                    </group>
-                    <notebook>
-                        <page string="Conditions precedent">
-                            <field name="condition_contract_ids" />
-                        </page>
-                    </notebook>
-                </sheet>
-                <div class="oe_chatter">
-                    <field name="message_follower_ids" />
-                    <field name="activity_ids" />
-                    <field name="message_ids" />
-                </div>
-            </form>
+            <tree>
+                <field name="company_id" />
+                <field name="type" />
+                <field name="product_id" />
+                <field name="amount" string="Montant" />
+                <button
+                    name="show_amortization"
+                    type="object"
+                    icon="fa-calculator"
+                    class="btn-outline-primary"
+                    title="Tableau d'amortissement"
+                    attrs="{'invisible': [('type', '!=', 'loan')]}"
+                />
+                <field name="currency_id" invisible="1" />
+            </tree>
         </field>
     </record>
 
-    <!-- Tree -->
-    <record model="ir.ui.view" id="financial_contract_view">
-        <field name="name">financial.contract.tree</field>
+    <!-- Tree Loan -->
+    <record id="financial_contract_loan_tree_view" model="ir.ui.view">
+        <field name="name">financial.contract.loan.tree</field>
         <field name="model">financial.contract</field>
         <field name="arch" type="xml">
             <tree>
                 <field name="currency_id" invisible="1" />
-                <field name="name" />
+                <field name="type" invisible="1" />
                 <field name="partner_id" />
+                <field name="product_id" />
                 <field name="state" />
-                <!--                <field name="total_amount" />-->
+                <field name="expiration_date" />
+                <field name="amount" string="Montant" />
+                <field name="rate" />
+                <field name="duration" />
+                <field name="periodicity" />
+                <field name="delay_type" />
+                <field name="delay_duration" />
+                <field name="payment_date" />
+                <field name="first_term_date" />
+                <field name="company_id" />
+                <button
+                    name="show_amortization"
+                    type="object"
+                    icon="fa-calculator"
+                    class="btn-outline-primary"
+                    title="Tableau d'amortissement"
+                    attrs="{'invisible': [('type', '!=', 'loan')]}"
+                />
             </tree>
         </field>
     </record>
 
-    <!-- Kanban -->
-    <record model="ir.ui.view" id="financial_contract_kanban_view">
-        <field name="name">financial.deal.contract</field>
+    <!-- Tree Invest -->
+    <record id="financial_contract_invest_tree_view" model="ir.ui.view">
+        <field name="name">financial.contract.invest.tree</field>
         <field name="model">financial.contract</field>
         <field name="arch" type="xml">
-            <kanban
-                default_group_by="state"
-                class="o_kanban_small_column o_opportunity_kanban"
-                archivable="false"
-            >
+            <tree>
+                <field name="currency_id" invisible="1" />
+                <field name="type" invisible="1" />
+                <field name="partner_id" />
+                <field name="product_id" />
                 <field name="state" />
-                <field name="name" />
+                <field name="expiration_date" />
+                <field name="amount" string="Montant" />
+                <field name="securities_number" />
+                <field name="nominal" />
+                <field name="fixed_rate" />
+                <field name="performance_indicator" />
+                <field name="performance_month" />
+                <field name="issue_date" />
+                <field name="payment_date" />
+                <field name="company_id" />
+                <button
+                    name="show_amortization"
+                    type="object"
+                    icon="fa-calculator"
+                    class="btn-outline-primary"
+                    title="Tableau d'amortissement"
+                    attrs="{'invisible': [('type', '!=', 'loan')]}"
+                />
+            </tree>
+        </field>
+    </record>
+
+    <!-- Tree Guarantee -->
+    <record id="financial_contract_guarantee_tree_view" model="ir.ui.view">
+        <field name="name">financial.contract.guarantee.tree</field>
+        <field name="model">financial.contract</field>
+        <field name="arch" type="xml">
+            <tree>
+                <field name="currency_id" invisible="1" />
+                <field name="type" invisible="1" />
+                <field name="partner_id" />
+                <field name="product_id" />
+                <field name="state" />
+                <field name="expiration_date" />
+                <field name="amount" string="Montant" />
+                <field name="external_loan_id" />
+                <field name="fmg_amount" />
+                <field name="social_share_amount" />
+                <field name="guarantee_rate" />
+                <field name="is_counter_guarantee" />
+                <field name="loan_balance" />
+                <field name="guarantee_balance" />
+                <field name="final_risk_guarantee" />
+                <field name="payment_date" />
+                <field name="company_id" />
+                <button
+                    name="show_amortization"
+                    type="object"
+                    icon="fa-calculator"
+                    class="btn-outline-primary"
+                    title="Tableau d'amortissement"
+                    attrs="{'invisible': [('type', '!=', 'loan')]}"
+                />
+            </tree>
+        </field>
+    </record>
+    <!-- Tree Partner -->
+    <record id="financial_contract_partner_tree_view" model="ir.ui.view">
+        <field name="name">financial.contract.partner.tree</field>
+        <field name="model">financial.contract</field>
+        <field name="arch" type="xml">
+            <tree>
                 <field name="partner_id" />
-                <field name="active" />
-                <templates>
-                    <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="oe_kanban_content">
-                                <div class="o_kanban_record_title">
-                                    <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>-->
-                                </div>
-                                <div class="oe_clear" />
-                            </div>
-                        </div>
-                    </t>
-                </templates>
-            </kanban>
+                <field name="deal_partner_id" />
+                <field name="type" />
+                <field name="amount" string="Montant" />
+                <field name="currency_id" invisible="1" />
+                <button
+                    name="show_amortization"
+                    type="object"
+                    icon="fa-calculator"
+                    class="btn-outline-primary"
+                    title="Tableau d'amortissement"
+                    attrs="{'invisible': [('type', '!=', 'loan')]}"
+                />
+            </tree>
+        </field>
+    </record>
+
+    <!-- Search -->
+    <record id="financial_contract_search_view" model="ir.ui.view">
+       <field name="name">financial.contract.search</field>
+       <field name="model">financial.contract</field>
+        <field name="arch" type="xml">
+            <search string="Contracts">
+                <field name="name" />
+                <!-- Filter -->
+                <filter name="expiration_date" date="expiration_date" />
+                <filter
+                    string="Prêt"
+                    name="loan"
+                    domain="[('type', '=', 'loan')]"
+                />
+                <filter
+                    string="Investissement"
+                    name="invest"
+                    domain="[('type', '=', 'invest')]"
+                />
+                <filter
+                    string="Garantie"
+                    name="guarantee"
+                    domain="[('type', '=', 'guarantee')]"
+                />
+                <separator />
+                <filter
+                    string="Proposition"
+                    name="proposal"
+                    domain="[('state', '=', 'proposal')]"
+                />
+                <filter
+                    string="Contrat signé"
+                    name="contract"
+                    domain="[('state', '=', 'contract')]"
+                />
+                <filter
+                    string="Terminé"
+                    name="done"
+                    domain="[('state', '=', 'done')]"
+                />
+                <filter
+                    string="Annulé"
+                    name="cancel"
+                    domain="[('state', '=', 'cancel')]"
+                />
+                <separator />
+                <filter
+                    string="Archivé"
+                    name="inactive"
+                    domain="[('active', '=', False)]"
+                />
+                <!-- Group by -->
+                <group expand="0" name="group_by" string="Group By">
+                    <filter
+                        name="group_partner_id"
+                        string="Coopérative"
+                        context="{'group_by' : 'partner_id'}"
+                    />
+                    <filter
+                        name="group_state"
+                        string="Statut"
+                        context="{'group_by': 'state'}"
+                    />
+                    <filter
+                        string="Type d'outil"
+                        name="group_type"
+                        context="{'group_by':'type'}"
+                    />
+                </group>
+            </search>
         </field>
     </record>
 
-    <!-- Action -->
-    <record model="ir.actions.act_window" id="financial_contract_act_window">
-        <field name="name">Contrats</field>
+    <!-- Actions -->
+    <record model="ir.actions.act_window" id="financial_contract_all_action">
+        <field name="name">Tous les contrats</field>
+        <field name="res_model">financial.contract</field>
+        <field name="view_mode">tree,form</field>
+<!--        <field name="domain">[('deal_type', '=', 'internal'), ('state', 'in', ['proposal', 'contract', 'done', 'cancel'])]</field>-->
+        <field name="domain">[('deal_type', '=', 'internal')]</field>
+    </record>
+    <record model="ir.actions.act_window" id="financial_contract_loan_action">
+        <field name="name">Prêts</field>
+        <field name="res_model">financial.contract</field>
+        <field name="view_mode">tree,form</field>
+        <field
+            name="view_ids"
+            eval="[(5, 0, 0),
+                  (0, 0, {'view_mode': 'tree', 'view_id': ref('financial_contract_loan_tree_view')}),
+                  ]"
+        />
+        <field
+            name="domain"
+        >[('deal_type', '=', 'internal'), ('type', '=', 'loan'), ('state', 'in', ['proposal', 'contract', 'done', 'cancel'])]</field>
+    </record>
+    <record model="ir.actions.act_window" id="financial_contract_invest_action">
+        <field name="name">Titres participatifs</field>
+        <field name="res_model">financial.contract</field>
+        <field name="view_mode">tree,form</field>
+        <field
+            name="view_ids"
+            eval="[(5, 0, 0),
+                  (0, 0, {'view_mode': 'tree', 'view_id': ref('financial_contract_invest_tree_view')}),
+                  ]"
+        />
+        <field
+            name="domain"
+        >[('deal_type', '=', 'internal'), ('type', '=', 'invest'), ('state', 'in', ['proposal', 'contract', 'done', 'cancel'])]</field>
+    </record>
+    <record
+        model="ir.actions.act_window"
+        id="financial_contract_guarantee_action"
+    >
+        <field name="name">Guaranties</field>
+        <field name="res_model">financial.contract</field>
+        <field name="view_mode">tree,form</field>
+        <field
+            name="view_ids"
+            eval="[(5, 0, 0),
+                  (0, 0, {'view_mode': 'tree', 'view_id': ref('financial_contract_guarantee_tree_view')}),
+                  ]"
+        />
+        <field
+            name="domain"
+        >[('deal_type', '=', 'internal'), ('type', '=', 'guarantee'), ('state', 'in', ['proposal', 'contract', 'done', 'cancel'])]</field>
+    </record>
+    <record
+        model="ir.actions.act_window"
+        id="financial_contract_guarantee_action"
+    >
+        <field name="name">Garanties</field>
+        <field name="res_model">financial.contract</field>
+        <field name="view_mode">tree,form</field>
+        <field
+            name="domain"
+        >[('deal_type', '=', 'internal'), ('type', '=', 'guarantee'), ('state', 'in', ['proposal', 'contract', 'done', 'cancel'])]</field>
+    </record>
+    <record
+        model="ir.actions.act_window"
+        id="financial_contract_external_action"
+    >
+        <field name="name">Contrats partenaires</field>
         <field name="res_model">financial.contract</field>
-        <field name="view_mode">kanban,tree,form</field>
+        <field name="view_mode">tree,form</field>
+        <field
+            name="view_ids"
+            eval="[(5, 0, 0),
+                  (0, 0, {'view_mode': 'tree', 'view_id': ref('financial_contract_partner_tree_view')}),
+                  ]"
+        />
+        <field name="domain">[('deal_type', '=', 'external')]</field>
     </record>
 </odoo>
diff --git a/views/menus.xml b/views/menus.xml
index ccc8e91a9b2c54d30c88a69647b527933b967c1d..54c4fd78310ef0d4ce77d97e34c1572df8e6c2c9 100644
--- a/views/menus.xml
+++ b/views/menus.xml
@@ -10,38 +10,46 @@
 
     <!-- Menu -->
     <menuitem
-        id="menu_financial_contract"
-        name="Contrats"
+        id="menu_financial_contract_all"
+        name="Tous les contrats"
         parent="financial_contract_menu_root"
-        action="financial_contract_act_window"
+        action="financial_contract_all_action"
         sequence="10"
     />
+    <menuitem
+        id="menu_financial_contract_loan"
+        name="Prêts participatifs"
+        parent="financial_contract_menu_root"
+        action="financial_contract_loan_action"
+        sequence="20"
+    />
+    <menuitem
+        id="menu_financial_contract_invest"
+        name="Titres participatifs"
+        parent="financial_contract_menu_root"
+        action="financial_contract_invest_action"
+        sequence="30"
+    />
+    <menuitem
+        id="menu_financial_contract_guarantee"
+        name="Garanties"
+        parent="financial_contract_menu_root"
+        action="financial_contract_guarantee_action"
+        sequence="40"
+    />
+    <menuitem
+        id="menu_financial_contract_external"
+        parent="financial_contract_menu_root"
+        action="financial_contract_external_action"
+        sequence="50"
+    />
+
     <!-- Configuration -->
     <menuitem
         id="menu_financial_contract_configuration"
         name="Configuration"
         parent="financial_contract_menu_root"
-        sequence="10"
+        sequence="100"
     />
 
-    <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>
diff --git a/views/res_partner.xml b/views/res_partner.xml
index d29e109b8992a1bc9d84486fd24643585bf6c7ba..f5e7d7756321ea442304790e717284c481009da5 100644
--- a/views/res_partner.xml
+++ b/views/res_partner.xml
@@ -10,11 +10,11 @@
         <field name="arch" type="xml">
             <xpath expr="//div[@name='button_box']" position="inside">
                 <button
-                    name="%(financial_contract_act_window)d"
+                    name="action_view_contract"
                     class="oe_stat_button"
                     icon="fa-file-text-o"
                     attrs="{'invisible': [('financial_contract_count', '=', 0)]}"
-                    type="action"
+                    type="object"
                 >
                     <field
                         name="financial_contract_count"