diff --git a/__manifest__.py b/__manifest__.py
index 907a68d9aacd150f30508d12683fad0f7b8e0d54..178e51e2dae796d4ec9974524ccdc1b3c97673b1 100755
--- a/__manifest__.py
+++ b/__manifest__.py
@@ -11,7 +11,7 @@
     'data': [
         "security/ir.model.access.csv",
         # datas
-        # 'data/service_cron.xml',
+        'data/service_cron.xml',
         'wizards/enercoop_operation_wizard_views.xml',
         # views
         'views/res_config_settings_views.xml',
diff --git a/models/api_enedis.py b/models/api_enedis.py
index c002b674ea2a11e1fa3534748cbdb373c85eb54d..09a2dcf17a3b9b8da6937fbd09d576ea46d24569 100644
--- a/models/api_enedis.py
+++ b/models/api_enedis.py
@@ -289,6 +289,7 @@ class ApiEnedis(models.AbstractModel):
                     'operation_id': self.id,
                     'date_start_contract': date.fromisoformat(usage_point['start']),
                     'date_end_contract': date.fromisoformat(usage_point['end']),
+                    'partner_id': prm_id.partner_id.id or None
                 })
 
-        return True
\ No newline at end of file
+        return True
diff --git a/models/enercoop_operation.py b/models/enercoop_operation.py
index 9bb2b7ed11851b59c3b3d483f80167f63d05a195..c2364801f321764291565e9da98900e0a3d7e2d4 100644
--- a/models/enercoop_operation.py
+++ b/models/enercoop_operation.py
@@ -40,18 +40,19 @@ class EnercoopOperation(models.Model):
         ''' This method is called from a cron job.
         It is used to get data from Enedis with API.
         '''
-        if date.today() == last_day_of_month(date.today()):
-            date_month_before = date.today() - relativedelta(months=1)
-            records = self.search([
-                ('birthday_date', '=', date_month_before.day),
-                ('date_end_contract', '>=', fields.Date.context_today(self)),
-            ])
-            records._get_curves(date_month_before)
-
-    def _get_curves(self, date_month_before):
-        for operation in self:
-            yesterday = date.today() - relativedelta(days=1)
-            operation.get_curves(date_month_before, yesterday)
+        records = self.search([
+            ('date_start_contract', '<', date.today()),
+            ('client_id', '!=', False),
+            ('secret_id', '!=', False),
+            ('active', '=', True)
+        ])
+        for rec in records:
+            d = rec.date_start_contract + relativedelta(days=10)
+            if d.day == date.today().day:
+                date_today_10 = date.today() - relativedelta(days=10)
+                first_date = datetime(date_today_10.year, date_today_10.month - 1, rec.date_start_contract.day)
+                last_date = first_date + relativedelta(months=1, days=-1)
+                rec.get_curves(first_date.date(), last_date.date())
 
     # ------------------------------------------------------
     # Actions
@@ -74,9 +75,8 @@ class EnercoopOperation(models.Model):
     def get_perimeter(self):
         for operation in self:
             res = operation.perimeter()
+
     # ------------------------------------------------------
     # Business methods
     # ------------------------------------------------------
-    def last_day_of_month(date_value):
-        return date_value.replace(day=monthrange(date_value.year, date_value.month)[1])