diff --git a/models/res_partner.py b/models/res_partner.py
index cb86092c604facfc39e54088c3147874d4a06318..acacca2cb209df853f5938b998a0b0910c470e6b 100644
--- a/models/res_partner.py
+++ b/models/res_partner.py
@@ -290,16 +290,17 @@ class ScopPartner(models.Model):
                  'Expert-comptable / Commissaire au compte')],
         on_delete='restrict')
     revision_person_id = fields.Many2one(
-        'res.users',
+        comodel_name='res.users',
         string='Réviseur',
         on_delete='restrict',
         track_visibility='onchange')
     revision_certified_person_id = fields.Many2one(
-        'res.users',
+        comodel_name='res.users',
         string='Réviseur agréé',
         on_delete='restrict')
-    revision_person_assign_date = fields.Date("Date de nomination du réviseur",
-                                              track_visibility='onchange')
+    revision_person_assign_date = fields.Date(
+        string="Date de nomination du réviseur",
+        track_visibility='onchange')
     revision_type = fields.Selection(
         [('1y', "Annuelle"),
          ('5y', 'Quinquennale'),
@@ -313,18 +314,15 @@ class ScopPartner(models.Model):
         on_delete='restrict')
     revision_tarif = fields.Integer("Tarif de vente",
         related='revision_format_id.tarif',
-        store=False)        
-
+        store=False)
     revision_next_exercice = fields.Integer("Prochain exercice révisable",
         compute='_compute_revision_next_exercice',
         inverse='_inverse_revision_next_exercice',
         store=True)
-
     revision_next_year = fields.Integer("Année prochaine révision",
         compute='_compute_revision_next_year',
         inverse='_inverse_revision_next_year',
-        store=True)        
-
+        store=True)
     revision_ids = fields.One2many(
         comodel_name='scop.revision',
         inverse_name='partner_id',
@@ -872,7 +870,6 @@ class ScopPartner(models.Model):
             else:
                 partner.is_administrative = False
 
-
     @api.depends('revision_next_exercice')
     def _compute_revision_next_year(self):
         for partner in self:
@@ -882,42 +879,51 @@ class ScopPartner(models.Model):
         for expense in self:
             return
 
-    @api.depends('revision_type', 'revision_ids', 'revision_ids.revision_result_year', 'first_closeout')
+    @api.depends('revision_type', 'revision_ids',
+                 'revision_ids.revision_result_year', 'first_closeout')
     @api.multi
     def _compute_revision_next_exercice(self):
         for partner in self:
             # Si aucune périodicité de défini, on n'insiste pas
             if (partner.revision_type == False):
                 return
+
             # On commence par regarder si l'on a des révisions
-            last_rev = partner.revision_ids.sorted(key=lambda r: r.revision_result_year, reverse=True)
-
-            if (len(last_rev) > 0):
-                # On a déjà révisé un exercice
-                # Cas d'une révision annuelle
-                if (partner.revision_type == '1y'):
-                    partner.revision_next_exercice = last_rev[0].revision_result_year + 1
-                # Cas d'une révision quinquénnale
-                if (partner.revision_type == '5y'):
-                    partner.revision_next_exercice = last_rev[0].revision_result_year + 5
-                # Cas d'une révision quinquénnale séquencée (annuelle)
-                if (partner.revision_type == '5ys'):
-                    partner.revision_next_exercice = last_rev[0].revision_result_year + 1
-                # Cas d'une révision quinquénnale séquencée (2 et 3)
-                if (partner.revision_type == '5ys23'):
-                    # On doit regarder l'écart avec la révision précédente
-                    if(len(last_rev)>1):
-                        # On a une réunion précédente, il faut regarder l'écart entre les deux
-                        ex1 = last_rev[0].revision_result_year
-                        ex2 = last_rev[1].revision_result_year
-                        # le prochain exercie est donc 5 moins la durée de la précédente révision
-                        partner.revision_next_exercice = last_rev[0].revision_result_year + (5 - (ex1-ex2))
-                    else:
-                        # Pas de révision précédente 
-                        partner.revision_next_exercice = last_rev[0].revision_result_year + 2
-            else:
-                # On n'a pas révisé d'exercice alors il faut révise le 1er exercice
-                partner.revision_next_exercice = partner.first_closeout.year
+            last_rev = partner.revision_ids.sorted(
+                key=lambda r: r.revision_result_year, reverse=True)
+            # On calcule l'année de référence du calcul
+            base_rev = partner.first_closeout.year - 1
+
+            if len(last_rev) > 0:
+                # si On a déjà révisé un exercice il devient la base du calcul
+                base_rev = last_rev[0].revision_result_year
+
+            # On calcule le prochain exercice révisable
+            # Cas d'une révision annuelle
+            if partner.revision_type == '1y':
+                partner.revision_next_exercice = base_rev + 1
+
+            # Cas d'une révision quinquénnale
+            if partner.revision_type == '5y':
+                partner.revision_next_exercice = base_rev + 5
+
+            # Cas d'une révision quinquénnale séquencée (annuelle)
+            if partner.revision_type == '5ys':
+                partner.revision_next_exercice = base_rev + 1
+
+            # Cas d'une révision quinquénnale séquencée (2 et 3)
+            if partner.revision_type == '5ys23':
+                # On doit regarder l'écart avec la révision précédente
+                if len(last_rev) > 1:
+                    # On a une réunion précédente, il faut regarder l'écart entre les deux
+                    ex1 = last_rev[0].revision_result_year
+                    ex2 = last_rev[1].revision_result_year
+                    # le prochain exercie est donc 5 moins la durée de la précédente révision
+                    partner.revision_next_exercice = base_rev + (
+                                5 - (ex1 - ex2))
+                else:
+                    # Pas de révision précédente
+                    partner.revision_next_exercice = base_rev + 2
 
     def _inverse_revision_next_exercice(self):
         for expense in self: