diff --git a/__manifest__.py b/__manifest__.py
index a7e2b0e4c2f50fbe2a57253c574362b5b1e52f86..dca11bcd475bc3ede1de33be29d1a1e30d51b867 100644
--- a/__manifest__.py
+++ b/__manifest__.py
@@ -1,15 +1,17 @@
 {
     "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",
     "depends": [
+        "financial_deal_flow",
         "financial_partner",
     ],
     "data": [
-        "security/ir.model.access.csv",
+        # security
+        # "security/ir.model.access.csv",
         # datas
         # views
         "views/financial_contract.xml",
diff --git a/models/__init__.py b/models/__init__.py
index 2bddc2e78aa96a512e3298b717abc4eeb026ae20..e4d34bb4da9ddd771434491978569b2fbac467c7 100644
--- a/models/__init__.py
+++ b/models/__init__.py
@@ -1,2 +1,4 @@
 from . import financial_contract
+from . import financial_deal
+from . import res_company
 from . import res_partner
diff --git a/models/financial_contract.py b/models/financial_contract.py
index 5de399d115521b6fcf09f7724ba13b6393010934..cd398df363ab4ce895caee2409bd0d73ffd2cbac 100644
--- a/models/financial_contract.py
+++ b/models/financial_contract.py
@@ -1,49 +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
-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", required=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"
-    )
+    _inherit = "financial.contract"
 
     # ------------------------------------------------------
     # Computed fields / Search Fields
@@ -52,13 +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()
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/res_company.py b/models/res_company.py
new file mode 100644
index 0000000000000000000000000000000000000000..cc206802dc1b719910116eac21e8c44335e5f46f
--- /dev/null
+++ b/models/res_company.py
@@ -0,0 +1,61 @@
+# Copyright 2023- Le Filament (https://le-filament.com)
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html)
+
+from odoo import api, fields, models
+
+
+class ResCompany(models.Model):
+    _inherit = "res.company"
+
+    contract_sequence_id = fields.Many2one("ir.sequence")
+
+    # ------------------------------------------------------
+    # Fields declaration
+    # ------------------------------------------------------
+
+    # ------------------------------------------------------
+    # SQL Constraints
+    # ------------------------------------------------------
+
+    # ------------------------------------------------------
+    # Default methods
+    # ------------------------------------------------------
+
+    # ------------------------------------------------------
+    # Computed fields / Search Fields
+    # ------------------------------------------------------
+
+    # ------------------------------------------------------
+    # Onchange / Constraints
+    # ------------------------------------------------------
+
+    # ------------------------------------------------------
+    # 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
+    # ------------------------------------------------------
+
+    # ------------------------------------------------------
+    # Business methods
+    # ------------------------------------------------------
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 7f16336b4225251077227ddf1d5ee7c105c0e570..97dd8b917b8a258799a3ebf0095f13ff73d7cf68 100644
--- a/security/ir.model.access.csv
+++ b/security/ir.model.access.csv
@@ -1,2 +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
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_contract.xml b/views/financial_contract.xml
index 52a19e26bc13a2c9ea522793070ba014f0e8b1c4..9657bf9de4f0ecab76ccc9c6f068b8127f07152a 100644
--- a/views/financial_contract.xml
+++ b/views/financial_contract.xml
@@ -2,107 +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>
-                </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="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="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="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>
 
-    <!-- Action -->
-    <record model="ir.actions.act_window" id="financial_contract_act_window">
-        <field name="name">Contrats</field>
+    <!-- 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>
+
+    <!-- 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 20baa72a65209d95a12700a44ce796d4f693226f..54c4fd78310ef0d4ce77d97e34c1572df8e6c2c9 100644
--- a/views/menus.xml
+++ b/views/menus.xml
@@ -10,24 +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_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="100"
+    />
+
 </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"