diff --git a/datas/res.partner.rgpd.origin.csv b/datas/res.partner.rgpd.origin.csv
index a9167947d6e420947c599cfd9bdef734d1d8d43c..e1521a34e1fbc92138a46d8035ac7871859adc5d 100644
--- a/datas/res.partner.rgpd.origin.csv
+++ b/datas/res.partner.rgpd.origin.csv
@@ -1,13 +1,13 @@
 id,name
 rgpd_origin_1,"Fiche contact, site internet"
-rgpd_origin_2,Prospect journée d'info coll
+rgpd_origin_2,"Prospect journée d'info coll"
 rgpd_origin_3,"Prospect (salon, rdv, internet…)"
-rgpd_origin_4,Dossiers d'adhésion
-rgpd_origin_5,Dossiers Liste ministère
+rgpd_origin_4,"Dossiers d'adhésion"
+rgpd_origin_5,"Dossiers Liste ministère"
 rgpd_origin_6,"Dossiers annuels non LM (scic, scop47)"
-rgpd_origin_7,Salariés CG
-rgpd_origin_8,Salariés UR
-rgpd_origin_9,Salariés Fédération
-rgpd_origin_10,Elus
+rgpd_origin_7,"Salariés CG"
+rgpd_origin_8,"Salariés UR"
+rgpd_origin_9,"Salariés Fédération"
+rgpd_origin_10,"Elus"
 rgpd_origin_11,"VIP, Officiels"
-rgpd_origin_12,Fournisseurs
+rgpd_origin_12,"Fournisseurs"
diff --git a/models/res_partner.py b/models/res_partner.py
index 8baa61155db00f3e683e7eef8962fb848b8e61ce..81ee4f8777348c5c7f0a52ef9b69f943a853bfe5 100644
--- a/models/res_partner.py
+++ b/models/res_partner.py
@@ -334,7 +334,9 @@ class ScopPartner(models.Model):
          ("consent", "Consentement"),
          ("legitimate", "Intérêt légitime"),
          ("none", "Aucune")],
-        string="Licéité du contact", default="none")
+        string="Licéité du contact",
+        compute="_compute_contact_legality",
+        store=True)
 
     # Champs pour partenaires
     organization_type_id = fields.Many2one(
@@ -472,8 +474,6 @@ class ScopPartner(models.Model):
 
     @api.multi
     def scop_send_to_cg(self):
-        # TODO - add call to API function
-
         self.write({
             'project_status': '5_cg',
         })
@@ -495,6 +495,43 @@ class ScopPartner(models.Model):
         })
         return True
 
+    @api.depends('contact_origin_id',
+                 'parent_id.cooperative_form_id',
+                 'parent_id.membership_status')
+    def _compute_contact_legality(self):
+        for partner in self:
+            partner.contact_legality = 'none'
+            if (partner.contact_origin_id.name ==
+                    "Fiche contact, site internet"):
+                partner.contact_legality = 'consent'
+            if partner.contact_origin_id.name in (
+                    "Prospect journée d'info coll",
+                    "Prospect (salon, rdv, internet…)",
+                    "Elus"):
+                partner.contact_legality = 'legitimate'
+            if (partner.contact_origin_id.name in (
+                    "Salariés CG", "Salariés UR", "Salariés Fédération")):
+                partner.contact_legality = 'employee'
+            if (partner.contact_origin_id.name in (
+                    "Elus", "VIP, Officiels", "Fournisseurs")):
+                partner.contact_legality = 'legitimate'
+            if not partner.is_company and partner.parent_id:
+                parent = partner.parent_id
+                if (partner.contact_origin_id.name in (
+                        "Dossiers d'adhésion",
+                        "Dossiers annuels non LM (scic, scop47)")
+                        and parent.cooperative_form_id
+                        and parent.membership_status == "member"):
+                    partner.contact_legality = 'customer'
+                if (partner.contact_origin_id.name == (
+                        "Dossiers annuels non LM (scic, scop47)")
+                        and parent.membership_status != "member"):
+                    partner.contact_legality = 'legitimate'
+                if (partner.contact_origin_id.name == (
+                        "Dossiers Liste ministère")
+                        and parent.cooperative_form_id.name == "SCIC"):
+                    partner.contact_legality = 'customer'
+
 
 class ResPartneCertification(models.Model):
     _name = "res.partner.certification"