diff --git a/__manifest__.py b/__manifest__.py
index 14ff5b70cd2c4777593d8f04979579a58215cbe2..b3925f841f21195add17548692019cd2d4f078a7 100644
--- a/__manifest__.py
+++ b/__manifest__.py
@@ -18,6 +18,7 @@
         # security
         "security/ir.model.access.csv",
         # datas
+        "data/cron_data.xml",
         # views
         "views/menus.xml",
         "views/res_partner.xml",
diff --git a/models/res_partner.py b/models/res_partner.py
index 92db7d5f75d06d0e2d83202cc0eb27067a67c4f2..db359bf9a59ef94d21ca69fc98bb520b19bd4c05 100644
--- a/models/res_partner.py
+++ b/models/res_partner.py
@@ -98,7 +98,7 @@ class ResPartner(models.Model):
         # check si l etablissement principal est le siege
         ets_prin = inpi_data.formality.content.personneMorale.etablissementPrincipal
 
-        if (
+        if ( ets_prin and
             ets_prin.descriptionEtablissement.rolePourEntreprise
             == inpi_models.RolePourEntreprise.SIEGE_ETS_PRIN.value
         ):
@@ -117,6 +117,14 @@ class ResPartner(models.Model):
             ):
                 return ets
 
+        # si dissolution on renvoi l adresse du siege fermé
+        for ets in ets_secondaires:
+            if (
+                ets.descriptionEtablissement.rolePourEntreprise
+                == inpi_models.RolePourEntreprise.SIEGE_FERME.value
+            ):
+                return ets
+
     # --------------------------------------------------
     # Fonctions update générale
     # --------------------------------------------------
@@ -343,34 +351,35 @@ class ResPartner(models.Model):
         Met a jours l adresse du siege dans la periode
         """
         siege = self._get_siege(inpi_data=inpi_data)
-        inpi_address = self._get_inpi_address(siege.adresse)
+        if siege:
+            inpi_address = self._get_inpi_address(siege.adresse)
 
-        adress_values = ["street", "cedex", "street2", "zip", "city"]
-        changing_values = []
+            adress_values = ["street", "cedex", "street2", "zip", "city"]
+            changing_values = []
 
-        period = self._get_current_period()
-        period_values = self._get_values_from_period(period)
+            period = self._get_current_period()
+            period_values = self._get_values_from_period(period)
 
-        for v in adress_values:
-            if v in period._fields and inpi_address.get(v) != getattr(period, v):
-                changing_values.append(v)
+            for v in adress_values:
+                if v in period._fields and inpi_address.get(v) != getattr(period, v):
+                    changing_values.append(v)
 
-        if changing_values:
-            if new_period:
-                period.write(
-                    {"end": datetime.datetime.now().date(), "end_reason": "adr"}
-                )
-                period_values["start"] = fields.Date.today()
-                period_values["partner_id"] = self.id
+            if changing_values:
+                if new_period:
+                    period.write(
+                        {"end": datetime.datetime.now().date(), "end_reason": "adr"}
+                    )
+                    period_values["start"] = fields.Date.today()
+                    period_values["partner_id"] = self.id
 
-            for value in changing_values:
-                period_values[value] = inpi_address.get(value)
+                for value in changing_values:
+                    period_values[value] = inpi_address.get(value)
 
-            if new_period:
-                return self.env["scop.period"].with_context().create(period_values)
-            else:
-                period.write(period_values)
-        return period
+                if new_period:
+                    return self.env["scop.period"].with_context().create(period_values)
+                else:
+                    period.write(period_values)
+            return period
 
     # --------------------------------------------------
     # UPDATE
@@ -385,6 +394,7 @@ class ResPartner(models.Model):
         self._update_etablissement_from_inpi(inpi_data=inpi_data)
 
         period = self._get_current_period()
-        period.write({"end": datetime.datetime.now().date(), "end_reason": "inpi"})
-        period_values = self._get_values_from_period(period)
-        self.env["scop.period"].with_context().create(period_values)
+        if period:
+            period.write({"end": datetime.datetime.now().date(), "end_reason": "inpi"})
+            period_values = self._get_values_from_period(period)
+            self.env["scop.period"].with_context().create(period_values)
diff --git a/views/res_partner.xml b/views/res_partner.xml
index 6335a811e37a71b911373e545915035e0ddb4d62..7276659b0753771289dfbd9173dfc73e31c350bb 100644
--- a/views/res_partner.xml
+++ b/views/res_partner.xml
@@ -15,14 +15,6 @@
                 ref="cgscop_liasse_fiscale.scop_liasse_fiscale_inherit_res_partner_view"
             />
             <field name="arch" type="xml">
-                <xpath expr="//header" position="inside">
-                    <button
-                        name="update_from_inpi"
-                        type="object"
-                        class="btn-info"
-                        string="Mettre à jours depuis INPI"
-                    />
-                </xpath>
                 <xpath expr="//notebook" position="inside">
                     <page name="director_page" string="Dirigeants">
                         <field name="inpi_director_ids" />
diff --git a/wizard/inpi_update_wizard.py b/wizard/inpi_update_wizard.py
index 5d77b96e15a002faaf045d63811d6401eb0e4096..40fa9ab7206e0bf820715c47bcf163a4474e4a5b 100644
--- a/wizard/inpi_update_wizard.py
+++ b/wizard/inpi_update_wizard.py
@@ -43,4 +43,4 @@ class InpiUpdateWizard(models.TransientModel):
             scop_to_update = self.partner_ids
 
         for scop in scop_to_update:
-            scop.sudo().update_from_inpi(update_type="all")
+            scop.sudo().with_delay().update_from_inpi(update_type="all")