diff --git a/models/res_partner.py b/models/res_partner.py
index 55d27896218da915c43d16916aee623f8b3a7beb..fb09f835ff88b1e251addf17b98b27a2afbd9e5e 100644
--- a/models/res_partner.py
+++ b/models/res_partner.py
@@ -525,6 +525,16 @@ class ScopPartner(models.Model):
     )
     employee = fields.Boolean(string="Salarié", default=True)
 
+    has_mvt_mandate = fields.Boolean(string="Elu du mouvement", default=False)
+
+    mvt_mandate_ids = fields.Many2many(
+        comodel_name="res.partner.mvt.mandate",
+        relation="res_partner_mvt_mandate_rel",
+        column1="partner_id",
+        column2="mvt_mandate_id",
+        string="Mandats mouvement",
+    )
+
     # Champs pour partenaires
     organization_type_id = fields.Many2one(
         "res.partner.organization.type",
diff --git a/models/res_partner_lists.py b/models/res_partner_lists.py
index ee63c0d499fff3c375d0f06bd1dc86de35c92ee6..10bb45d070faf6d95885b0478196007e4aa5ae00 100644
--- a/models/res_partner_lists.py
+++ b/models/res_partner_lists.py
@@ -240,3 +240,12 @@ class ResPartnerFiliere(models.Model):
     _order = "name"
 
     name = fields.Char("Filière")
+
+
+class ResPartnerMvtMandate(models.Model):
+    _name = "res.partner.mvt.mandate"
+    _description = "Mandats du mouvement"
+    _rec_name = "name"
+    _order = "name"
+
+    name = fields.Char("Mandat")
diff --git a/security/ir.model.access.csv b/security/ir.model.access.csv
index 75846833129f366428a64b07695ef45ca91964f4..3bf87ac0cb49fbacb9c967eddcf490333b8c95dd 100644
--- a/security/ir.model.access.csv
+++ b/security/ir.model.access.csv
@@ -78,3 +78,5 @@ access_scop_status_wizard,access_scop_status_wizard,model_scop_status_wizard,bas
 access_res_partner_federation,access_res_partner_federation,model_res_partner_federation,base.group_user,1,0,0,0
 admin_res_partner_federation,admin_res_partner_federation,model_res_partner_federation,cgscop_partner.group_cg_administrator,1,1,1,1
 access_action_rse_group_user,access_action_rse_group_user,model_scop_action_rse,base.group_user,1,1,1,1
+access_res_partner_mvt_mandate,access_res_partner_mvt_mandate,model_res_partner_mvt_mandate,base.group_user,1,1,1,0
+admin_res_partner_mvt_mandate,admin_res_partner_mvt_mandate,model_res_partner_mvt_mandate,group_cg_administrator,1,1,1,1
diff --git a/views/res_partner.xml b/views/res_partner.xml
index 546ef3f9f9ab2f3df55a60b2e5ec2df05d7f78ed..1f7be953b9476869c7e1036a5efec467eab5c6c3 100644
--- a/views/res_partner.xml
+++ b/views/res_partner.xml
@@ -397,7 +397,15 @@
                             options='{"no_open": True, "no_create": True}'
                             widget="many2many_tags"
                         />
-
+                        <br />
+                        <field name="has_mvt_mandate" widget="boolean_toggle" />
+                        <field
+                            name="mvt_mandate_ids"
+                            options='{"no_open": True, "no_create": True}'
+                            attrs="{'required': [('has_mvt_mandate','=', True)],
+                                    'invisible': [('has_mvt_mandate','=', False)]}"
+                            widget="many2many_tags"
+                        />
                     </group>
                 </xpath>
 
@@ -1804,6 +1812,26 @@
             </field>
         </record>
 
+        <!--
+            CG Scop elus du mouvement View Tree
+        -->
+        <record id="scop_elus_tree_view" model="ir.ui.view">
+            <field name="name">scop elus tree view</field>
+            <field name="model">res.partner</field>
+            <field name="arch" type="xml">
+                <tree string="Personnes" default_order="lastname">
+                    <field name="lastname" />
+                    <field name="firstname" />
+                    <field name="parent_id" />
+                    <field name="mvt_mandate_ids" widget="many2many_tags" />
+                    <field name="phone" />
+                    <field name="mobile" />
+                    <field name="email" />
+                    <field name="ur_id" />
+                </tree>
+            </field>
+        </record>
+
         <!--
             CG Scop Partner View Tree
         -->
@@ -1893,6 +1921,15 @@
                                     widget="many2many_tags"
                                     options="{'color_field': 'color', 'no_create': True}"
                                 />
+                                <br />
+                                <field name="has_mvt_mandate" widget="boolean_toggle" />
+                                <field
+                                    name="mvt_mandate_ids"
+                                    options='{"no_open": True, "no_create": True}'
+                                    attrs="{'required': [('has_mvt_mandate','=', True)],
+                                            'invisible': [('has_mvt_mandate','=', False)]}"
+                                    widget="many2many_tags"
+                                />
                             </group>
                         </group>
                         <field name="subscription_ids">
@@ -2082,6 +2119,15 @@
                                     widget="many2many_tags"
                                     options="{'color_field': 'color', 'no_create': True}"
                                 />
+                                <br />
+                                <field name="has_mvt_mandate" widget="boolean_toggle" />
+                                <field
+                                    name="mvt_mandate_ids"
+                                    options='{"no_open": True, "no_create": True}'
+                                    attrs="{'required': [('has_mvt_mandate','=', True)],
+                                            'invisible': [('has_mvt_mandate','=', False)]}"
+                                    widget="many2many_tags"
+                                />
                             </group>
                         </group>
                         <field
@@ -2188,6 +2234,30 @@
             />
         </record>
 
+        <!--
+            Action Elus du mouvement
+        -->
+        <record id="action_contact_mvt_mandate" model="ir.actions.act_window">
+            <field name="name">Elus du mouvement</field>
+            <field name="type">ir.actions.act_window</field>
+            <field name="res_model">res.partner</field>
+            <field name="view_mode">tree,form</field>
+            <field name="search_view_id" ref="view_res_partner_filter_partners" />
+            <field
+                name="domain"
+                eval="[('is_company', '=', False), ('type', '=', 'contact'),('has_mvt_mandate', '=', True)]"
+            />
+            <field
+                name="context"
+            >{'search_default_my_ur': 1, 'default_is_company': False, 'default_company_type': 'person', 'default_has_mvt_mandate': True}</field>
+            <field
+                name="view_ids"
+                eval="[(5, 0, 0),
+                (0, 0, {'view_mode': 'tree', 'view_id': ref('scop_elus_tree_view')}),
+                (0, 0, {'view_mode': 'form', 'view_id': ref('base.view_partner_form')})]"
+            />
+        </record>
+
 
         <!--
             Action Partenaires
@@ -2234,11 +2304,26 @@
         <menuitem
             id="contacts.res_partner_menu_contacts"
             name="Personnes"
-            action="action_not_companies_only"
             parent="contacts.menu_contacts"
             sequence="30"
         />
 
+        <menuitem
+            id="contacts.res_partner_menu_allcontacts"
+            name="Toutes les personnes"
+            action="action_not_companies_only"
+            parent="contacts.res_partner_menu_contacts"
+            sequence="300"
+        />
+
+        <menuitem
+            id="contacts.res_partner_menu_elus"
+            name="Elus du mouvement"
+            action="action_contact_mvt_mandate"
+            parent="contacts.res_partner_menu_contacts"
+            sequence="301"
+        />
+
         <menuitem
             id="partner_multi_relation.menu_res_partner_relation_all"
             sequence="32"
diff --git a/views/scop_config_views.xml b/views/scop_config_views.xml
index 70f2e09f343f99054adcdceec10a218e29a7ae16..0088bf7f61de01de5f79abc8a9fff90977d3fc8f 100644
--- a/views/scop_config_views.xml
+++ b/views/scop_config_views.xml
@@ -362,6 +362,26 @@
             <field name="help">Affiche et gère la liste des filières.</field>
         </record>
 
+        <!-- Mandats du mouvement -->
+        <record id="view_res_partner_mvt_mandate_tree" model="ir.ui.view">
+            <field name="name">res.partner.mvt.mandate.tree</field>
+            <field name="model">res.partner.mvt.mandate</field>
+            <field name="arch" type="xml">
+                <tree string="Mandats du mouvement" editable="top">
+                    <field name="name" />
+                </tree>
+            </field>
+        </record>
+
+        <record model="ir.actions.act_window" id="mvt_mandate_act_window">
+            <field name="name">Mandats du mouvement</field>
+            <field name="res_model">res.partner.mvt.mandate</field>
+            <field name="view_mode">tree</field>
+            <field
+                name="help"
+            >Affiche et gère la liste des mandats du mouvement.</field>
+        </record>
+
         <!-- Union Régionales -->
         <record model="ir.ui.view" id="union_regionale_tree_view">
             <field name="name">union.regionale.tree</field>
@@ -607,6 +627,13 @@
             name="Codes NAF"
             sequence="20"
         />
+        <menuitem
+            id="menu_res_partner_mvt_mandate"
+            parent="menu_scop"
+            action="mvt_mandate_act_window"
+            name="Mandats du mouvement"
+            sequence="21"
+        />
         <menuitem
             id="menu_res_partner_federation"
             parent="menu_scop"