diff --git a/models/scop_cotisation.py b/models/scop_cotisation.py
index 156e8c5d177f84145475cccc80b94c260e525fed..2724f583f53ae7959e7657d76de1bab01682427d 100644
--- a/models/scop_cotisation.py
+++ b/models/scop_cotisation.py
@@ -1,7 +1,8 @@
 # © 2021 Le Filament (<http://www.le-filament.com>)
 # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
 
-from odoo import models, fields
+from odoo import models, fields, api
+from datetime import date
 
 
 class ScopCotisation(models.AbstractModel):
@@ -30,6 +31,38 @@ class ScopCotisation(models.AbstractModel):
     )
     date_cotisation = fields.Date("Date de cotisation", required=True)
 
+    member_count = fields.Integer(
+        "Adhérents renouvelés",
+        compute='_compute_member_count')
+    new_member_count = fields.Integer(
+        "Nouveaux adhérents",
+        compute='_compute_new_member_count')
+    invoiced_member_count = fields.Integer(
+        "Cotisations créées",
+        compute='_compute_invoiced_member_count')
+
+    # ------------------------------------------------------
+    # Compute fields
+    # ------------------------------------------------------
+    @api.multi
+    def _compute_member_count(self):
+        for cotiz in self:
+            cotiz.member_count = len(cotiz.get_members())
+
+    @api.multi
+    def _compute_new_member_count(self):
+        for cotiz in self:
+            cotiz.new_member_count = len(cotiz.get_new_members())
+
+    @api.multi
+    def _compute_invoiced_member_count(self):
+        for cotiz in self:
+            cotiz.invoiced_member_count = len(
+                cotiz.invoice_ids.mapped('partner_id'))
+
+    # ------------------------------------------------------
+    # Global functions
+    # ------------------------------------------------------
     def create_contribution(self, product, partner, liasse=None, amount=0):
         Invoice = self.env['account.invoice']
         InvoiceLine = self.env['account.invoice.line']
@@ -58,3 +91,30 @@ class ScopCotisation(models.AbstractModel):
         })
 
         return member_invoice
+
+    @api.multi
+    def get_members(self):
+        self.ensure_one()
+        members = self.env['scop.membership.period'].search([
+            ('type_id', '=', self.env.ref(
+                'cgscop_partner.membership_type_1').id),
+            ('start', '<', date(self.year, 12, 31)),
+            '|',
+            ('end', '=', None),
+            ('end', '>', date(self.year, 1, 1))
+        ]).mapped('partner_id')
+        return members
+
+    @api.multi
+    def get_new_members(self):
+        self.ensure_one()
+        members = self.env['scop.membership.period'].search([
+            ('type_id', '=', self.env.ref(
+                'cgscop_partner.membership_type_1').id),
+            ('start', '>=', date(self.year, 1, 1)),
+            ('start', '<=', date(self.year, 12, 31)),
+            '|',
+            ('end', '=', None),
+            ('end', '>', date(self.year, 1, 1))
+        ]).mapped('partner_id')
+        return members