diff --git a/models/res_partner.py b/models/res_partner.py
index beac707b5685066c1e434c580d00fa583b223850..3e514124d2b534d2f999c81f701ca9ce43181b59 100644
--- a/models/res_partner.py
+++ b/models/res_partner.py
@@ -873,7 +873,7 @@ class ScopPartner(models.Model):
         partner.scop_period_ids = new_period
 
     def _add_period(self, partner):
-        new_period = self.env["scop.period"].create(
+        new_period = self.env["scop.period"].with_context().create(
             {
                 "partner_id": partner.id,
                 "start": partner.registration_date or fields.Date.today(),
@@ -1387,7 +1387,6 @@ class ScopPartner(models.Model):
             if (partner.revision_type == "1y") and (partner.cooperative_form_id.name == "SCIC") :
                 partner.revision_type_ok = False
 
-
     # ------------------------------------------------------
     # Button & Action
     # ------------------------------------------------------
diff --git a/models/scop_period.py b/models/scop_period.py
index f52de721174657e995e4270dc00c25bf7e5870fc..3a8c9b79dd6a4f5e43275032b745d351ac2b78e4 100644
--- a/models/scop_period.py
+++ b/models/scop_period.py
@@ -1,7 +1,7 @@
 # © 2019 Le Filament (<http://www.le-filament.com>)
 # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
 
-from odoo import fields, models
+from odoo import api, fields, models
 
 
 class ScopPeriod(models.Model):
@@ -82,32 +82,53 @@ class ScopPeriod(models.Model):
     # ------------------------------------------------------
     # Override ORM
     # ------------------------------------------------------
+    @api.model_create_multi
+    def create(self, vals_list):
+        period_ids = super().create(vals_list)
+        vals_list_index = 0
+        for period in period_ids:
+            if period == period.partner_id.scop_period_ids[0]:
+                partner_vals = period._get_partner_vals(vals_list[vals_list_index])
+                # Update partner
+                period.partner_id.sudo().write(partner_vals)
+                vals_list_index += 1
+        return period_ids
+
     def write(self, vals):
         for period in self:
             if period == period.partner_id.scop_period_ids[0]:
-                partner_vals = dict(vals)
-                # Suppression des valeurs à ne pas remonter à l'organisme
-                partner_vals.pop("partner_id", False)
-                partner_vals.pop("id_riga", False)
-                partner_vals.pop("start", False)
-                partner_vals.pop("comments", False)
-
-                # Si la date de fin est modifiée et que l'organisme est décédé
-                # on remonte la date de décès
-                if "end" in partner_vals:
-                    if (
-                        partner_vals.get("end_reason", False) == "deces"
-                        or period.end_reason == "deces"
-                    ):
-                        partner_vals.update(
-                            {"dissolution_date": partner_vals.get("end")}
-                        )
-                    if not partner_vals.get("end"):
-                        partner_vals.update({"dissolution_date": None})
-
-                partner_vals.pop("end", False)
-                partner_vals.pop("end_reason", False)
-
+                partner_vals = self._get_partner_vals(vals)
                 # Update partner
                 period.partner_id.sudo().write(partner_vals)
         return super(ScopPeriod, self).write(vals)
+
+    # ------------------------------------------------------
+    # Business funcitons
+    # ------------------------------------------------------
+    def _get_partner_vals(self, vals):
+        """
+        :param dict vals: dictionnaire des valeurs à créer ou à mettre à jour
+        """
+        partner_vals = dict(vals)
+        # Suppression des valeurs à ne pas remonter à l'organisme
+        partner_vals.pop("partner_id", False)
+        partner_vals.pop("id_riga", False)
+        partner_vals.pop("start", False)
+        partner_vals.pop("comments", False)
+
+        # Si la date de fin est modifiée et que l'organisme est décédé
+        # on remonte la date de décès
+        if "end" in partner_vals:
+            if (
+                partner_vals.get("end_reason", False) == "deces"
+                or self.end_reason == "deces"
+            ):
+                partner_vals.update(
+                    {"dissolution_date": partner_vals.get("end")}
+                )
+            if not partner_vals.get("end"):
+                partner_vals.update({"dissolution_date": None})
+
+        partner_vals.pop("end", False)
+        partner_vals.pop("end_reason", False)
+        return partner_vals
diff --git a/wizard/scop_period_wizard.py b/wizard/scop_period_wizard.py
index c52b835a33de56ce17a49a425cc37719c1b3c60a..0029db1d1461066bbec984409f96e0f348d6e685 100644
--- a/wizard/scop_period_wizard.py
+++ b/wizard/scop_period_wizard.py
@@ -246,7 +246,7 @@ class ScopPeriodWizard(models.TransientModel):
                 "ur_id": period.ur_id.id,
             }
             period_values.update(values)
-            self.env["scop.period"].create(period_values)
+            self.env["scop.period"].with_context().create(period_values)
 
             # Update partner
             partner_values.update(values)