diff --git a/__manifest__.py b/__manifest__.py
index 3e9df4adc6ff0733e7acb16e88f136cdcdbd7ee9..0157de5b7f93f95f90383d7eac2cdb8bc894f9ee 100644
--- a/__manifest__.py
+++ b/__manifest__.py
@@ -21,6 +21,7 @@
         "views/sale_intervention_view.xml",
         "views/sale_project_admin_state_views.xml",
         "views/product_template_views.xml",
+        "views/res_partner_views.xml",
         # views menu
         # wizard
     ],
diff --git a/models/res_partner.py b/models/res_partner.py
index e1dde58ca3fd347bafc6edf23c79eef6548947d0..55d7ac43870962f2716afb542cf67180443a7a6a 100644
--- a/models/res_partner.py
+++ b/models/res_partner.py
@@ -32,7 +32,7 @@ class ResPartner(models.Model):
     def _compute_sale_project_count(self):
         for res in self:
             res.sale_project_count = self.env["sale.project"].search_count(
-                [("partner_id", "=", self.id)]
+                [("partner_id", "=", res.id)]
             )
 
     # ------------------------------------------------------
@@ -46,7 +46,13 @@ class ResPartner(models.Model):
     # ------------------------------------------------------
     # Actions
     # ------------------------------------------------------
-
+    def action_view_partner_projects(self):
+        self.ensure_one()
+        action = self.env["ir.actions.actions"]._for_xml_id("ap_sale_project.action_sale_project")
+        action['domain'] = [
+            ('partner_id', 'child_of', self.id),
+        ]
+        return action
     # ------------------------------------------------------
     # Business methods
     # ------------------------------------------------------
diff --git a/views/res_partner_views.xml b/views/res_partner_views.xml
new file mode 100644
index 0000000000000000000000000000000000000000..a1c90238dc162632f47f2337e9b1452ab9ef70b7
--- /dev/null
+++ b/views/res_partner_views.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo>
+    <data>
+
+        <record id="res_partner_view_buttons" model="ir.ui.view">
+            <field name="name">res.partner.view.buttons.ap</field>
+            <field name="model">res.partner</field>
+            <field name="inherit_id" ref="base.view_partner_form" />
+            <field name="arch" type="xml">
+                <div name="button_box" position="inside">
+                    <button type="object" class="oe_stat_button" icon="fa-pagelines" name="action_view_partner_projects"
+                        context="{'default_partner_id': active_id}">
+                        <div class="o_form_field o_stat_info">
+                            <span class="o_stat_value">
+                                <field name="sale_project_count" />
+                            </span>
+                            <span class="o_stat_text">Projets</span>
+                        </div>
+                    </button>
+                </div>
+            </field>
+        </record>
+
+        <!-- Partner kanban view inherte -->
+        <record model="ir.ui.view" id="partner_kanban_view_ap">
+            <field name="name">res.partner.kanban.ap.inherit</field>
+            <field name="model">res.partner</field>
+            <field name="inherit_id" ref="base.res_partner_kanban_view"/>
+            <field name="arch" type="xml">
+                <field name="mobile" position="after">
+                    <field name="sale_project_count"/>
+                </field>
+                <xpath expr="//span[hasclass('oe_kanban_partner_links')]" position="inside">
+                    <span t-if="record.sale_project_count.value>0" class="badge badge-pill"><i class="fa fa-pagelines" role="img" aria-label="Projets" title="Projets"/><t t-esc="record.sale_project_count.value"/></span>
+                </xpath>
+            </field>
+        </record>
+
+    </data>
+</odoo>