diff --git a/__manifest__.py b/__manifest__.py
index c8cdb9ce10fa4ddcff90a94718a7b0c5e6fc4de6..4623b3fc77d2f646ed9252dd0c811b1991ebb44e 100644
--- a/__manifest__.py
+++ b/__manifest__.py
@@ -15,6 +15,7 @@
         "partner_address_street3",
         "partner_company_type",
         "partner_firstname",
+        "partner_multi_relation",
         "phone_validation",
     ],
     "data": [
@@ -39,6 +40,7 @@
         "datas/res_partner_creation_origin_data.xml",
         "datas/res_partner_dissolution_reason_data.xml",
         "datas/res_partner_mandate_data.xml",
+        "datas/res_partner_multi_relation_data.xml",
         "datas/res_partner_naf_data.xml",
         "datas/res_partner_newsletter_data.xml",
         "datas/res_partner_organization_type_data.xml",
diff --git a/datas/res_partner_multi_relation_data.xml b/datas/res_partner_multi_relation_data.xml
new file mode 100644
index 0000000000000000000000000000000000000000..2c1ac146bd3098b68d22c4619e2cfa8eeba7dbd3
--- /dev/null
+++ b/datas/res_partner_multi_relation_data.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0"?>
+<odoo>
+    <data noupdate="1">
+        <!-- Partner relation types -->
+        <record id="rel_type_partenaire" model="res.partner.relation.type">
+            <field name="name">Partenaire</field>
+            <field name="name_inverse">Partenaire</field>
+            <field name="contact_type_left">c</field>
+            <field name="contact_type_right">c</field>
+            <field name="is_symmetric" eval="True"/>
+        </record>
+        <record id="rel_type_filiale" model="res.partner.relation.type">
+            <field name="name">Filiale</field>
+            <field name="name_inverse">Filiale</field>
+            <field name="contact_type_left">c</field>
+            <field name="contact_type_right">c</field>
+            <field name="is_symmetric" eval="True"/>
+        </record>
+        <record id="rel_type_groupscop" model="res.partner.relation.type">
+            <field name="name">Groupement de scop</field>
+            <field name="name_inverse">Groupement de scop</field>
+            <field name="contact_type_left">c</field>
+            <field name="contact_type_right">c</field>
+            <field name="is_symmetric" eval="True"/>
+        </record>
+        <record id="rel_type_person_company" model="res.partner.relation.type">
+            <field name="name">Lié à la personne</field>
+            <field name="name_inverse">Lié à l'entreprise</field>
+            <field name="contact_type_left">c</field>
+            <field name="contact_type_right">p</field>
+        </record>
+    </data>
+</odoo>
\ No newline at end of file
diff --git a/models/res_partner.py b/models/res_partner.py
index ca1b6876856ef520e43049904193ef139acdd40e..860086581bd6843cf0b942b376c5e20825623eee 100644
--- a/models/res_partner.py
+++ b/models/res_partner.py
@@ -201,47 +201,6 @@ class ScopPartner(models.Model):
         'res.partner', 'parent_id', string='Autres Contacts',
         domain=[('active', '=', True), ('mandate_id', '=', False)])
 
-    # Partenaires
-    bank_id = fields.Many2one(
-        'res.partner',
-        string='Banque principale',
-        domain=[('active', '=', True), ('is_company', '=', True),
-                ('organization_subtype_id.name', '=', 'Banque')],
-        on_delete='restrict')
-    bank2_id = fields.Many2one(
-        'res.partner',
-        string='Banque secondaire',
-        domain=[('active', '=', True), ('is_company', '=', True),
-                ('organization_subtype_id.name', '=', 'Banque')],
-        on_delete='restrict')
-    accountant_id = fields.Many2one(
-        'res.partner',
-        string='Expert-Comptable',
-        domain=[('active', '=', True), ('is_company', '=', True),
-                '|', ('organization_subtype_id.name', '=', 'Expert-Comptable'),
-                ('organization_subtype_id.name', '=', 'Organisme réviseur, ' +
-                 'Expert-comptable / Commissaire au compte')],
-        on_delete='restrict')
-    accountant_person_id = fields.Many2one(
-        'res.partner',
-        string='Expert-Comptable (personne)',
-        domain=[('active', '=', True), ('is_company', '=', False)],
-        on_delete='restrict')
-    auditor_id = fields.Many2one(
-        'res.partner',
-        string='Commissaire aux Comptes',
-        domain=[('active', '=', True), ('is_company', '=', True),
-                '|', ('organization_subtype_id.name', '=',
-                      'Commissaire au compte'),
-                ('organization_subtype_id.name', '=', 'Organisme réviseur, ' +
-                 'Expert-comptable / Commissaire au compte')],
-        on_delete='restrict')
-    auditor_person_id = fields.Many2one(
-        'res.partner',
-        string='Commissaire aux Comptes (personne)',
-        domain=[('active', '=', True), ('is_company', '=', False)],
-        on_delete='restrict')
-
     # Révisions
     revision_contract = fields.Date("Date du contrat de révision",
                                     track_visibility='onchange')
diff --git a/views/res_partner.xml b/views/res_partner.xml
index b831cdae2465903d101baac74d2773cf41b181f1..1df1161ab216bf6013748f663ede8e679dc5b463 100644
--- a/views/res_partner.xml
+++ b/views/res_partner.xml
@@ -278,5 +278,19 @@
             parent="contacts.menu_contacts"
             sequence="30"/>
 
+        <menuitem
+            id="partner_multi_relation.menu_res_partner_relation_all"
+            sequence="32"
+            name="Relations"
+            parent="contacts.menu_contacts"
+            action="partner_multi_relation.action_res_partner_relation_all"/>
+
+        <menuitem
+            id="partner_multi_relation.menu_res_partner_relation"
+            name="Relations"
+            sequence="41"
+            parent="contacts.menu_contacts"
+            groups='base.group_no_one'/>
+
     </data>
 </odoo>
diff --git a/views/res_partner_cooperative.xml b/views/res_partner_cooperative.xml
index 27501ecff8ac1df3a8296d5ca7e9aa4c5a6f50cf..a2d30f1e800478d236244fd867cfdd4737be200a 100644
--- a/views/res_partner_cooperative.xml
+++ b/views/res_partner_cooperative.xml
@@ -154,6 +154,26 @@
                                 <field name="active" widget="boolean_button"
                                     options='{"terminology": "archive"}'/>
                             </button>
+                            <button
+                                class="oe_inline oe_stat_button"
+                                type="action"
+                                context="{
+                                    'search_default_this_partner_id': active_id,
+                                    'default_this_partner_id': active_id,
+                                    'active_model': 'res.partner',
+                                    'active_id': id,
+                                    'active_ids': [id],
+                                    'active_test': False,
+                                }"
+                                name="%(partner_multi_relation.action_res_partner_relation_all)d"
+                                icon="fa-users"
+                                >
+                                <field
+                                    string="Relations"
+                                    name="relation_count"
+                                    widget="statinfo"
+                                    />
+                            </button>
                         </div>
                         <field name="image" widget='image' class="oe_avatar" options='{"preview_image": "image_medium", "size": [90, 90]}'/>
                         <div class="oe_title oe_title_cgscop">
@@ -537,16 +557,6 @@
                                     </form>
                                 </field>
                             </page>
-                            <page name="partners" string="Partenaires">
-                                <group>
-                                    <field name="bank_id" widget="res_partner_many2one" options="{'no_create': True}"/>
-                                    <field name="bank2_id" widget="res_partner_many2one" options="{'no_create': True}"/>
-                                    <field name="accountant_id" widget="res_partner_many2one" options="{'no_create': True}"/>
-                                    <field name="accountant_person_id" widget="res_partner_many2one" attrs="{'invisible': [('accountant_id', '=', False)]}" domain="[('parent_id', '=', accountant_id), ('is_company', '=', False)]" options="{'no_open': True, 'no_create': True}"/>
-                                    <field name="auditor_id" widget="res_partner_many2one" options="{'no_create': True}"/>
-                                    <field name="auditor_person_id" widget="res_partner_many2one" attrs="{'invisible': [('auditor_id', '=', False)]}" domain="[('parent_id', '=', auditor_id), ('is_company', '=', False)]" options="{'no_open': True, 'no_create': True}"/>
-                                </group>
-                            </page>
                             <page name='scop_revision' string="Révisions" attrs="{'invisible': [('project_status', '!=', '6_suivi')]}">
                                 <group string="Informations de révision">
                                     <group>
diff --git a/views/scop_config_views.xml b/views/scop_config_views.xml
index cc094dd0d11771ac2a8be19313dc680588bdda5d..f01bfde097c7867644428cf7437fdcde93b64c1f 100644
--- a/views/scop_config_views.xml
+++ b/views/scop_config_views.xml
@@ -363,6 +363,14 @@
             <field name="groups_id" eval="[(6,0, [ref('group_cg_administrator'), ref('group_ur_list_modif')])]"/>
         </record>
 
+        <menuitem
+            id="partner_multi_relation.menu_res_partner_relation_type"
+            name="Types de Relations"
+            parent="contacts.res_partner_menu_config"
+            action="partner_multi_relation.action_res_partner_relation_type"
+            sequence="19"
+            groups="group_cg_administrator"
+        />
 
         <menuitem id="menu_scop" name="SCOP"
             parent="contacts.res_partner_menu_config" sequence="20" groups="group_cg_administrator"/>