diff --git a/models/res_partner.py b/models/res_partner.py
index 3d40ef9c83d64ca3f54cd84f3a7e7283ee5288ed..8659cd9bc160fbe171bcf9c67e0fe29e2a009cbd 100644
--- a/models/res_partner.py
+++ b/models/res_partner.py
@@ -744,6 +744,10 @@ class ScopPartner(models.Model):
             self.date_1st_sign = None
             self.first_closeout = None
 
+    @api.onchange("street", "street2", "street3", "zip", "country_id", "city")
+    def onchange_geoloc(self):
+        self.geo_localize()
+
     # ------------------------------------------------------
     # Common functions
     # ------------------------------------------------------
@@ -860,10 +864,14 @@ class ScopPartner(models.Model):
 
         for vals in vals_list:
             # Création d'une période si la coop est en statut en Suivi
-            if vals.get("is_cooperative") and vals.get("project_status") == "4_suivi":
-                for partner in partners:
+            for partner in partners:
+                if (
+                    vals.get("is_cooperative")
+                    and vals.get("project_status") == "4_suivi"
+                ):
                     if not partner.scop_period_ids:
                         partner.sudo()._create_period(partner)
+                partner.geo_localize()
 
         return partners