diff --git a/models/res_partner.py b/models/res_partner.py
index 42d4e438c5726025280431f917ffffc21fb66985..4e025b4139b88a2f50aafa5e369a14207d05b2f9 100644
--- a/models/res_partner.py
+++ b/models/res_partner.py
@@ -524,6 +524,65 @@ class ScopPartner(models.Model):
         })
         partner.scop_period_ids = new_period
 
+    # ------------------------------------------------------
+    # Abonnement automatique aux newletter
+    # Point d'entrée commun à tous les type de partner
+    # ------------------------------------------------------
+    def _newletter_auto(self, partner):
+
+        # On ne garde que les partner de type contact
+        if partner.type != 'contact':
+            return
+
+        # Cas d'une cie, on boucle sur les contacts
+        if (partner.is_company):
+            for cnt in partner.director_ids:
+                partner._newletter_auto_contact(cnt, partner.membership_status)
+            for cnt in partner.other_child_ids:
+                partner._newletter_auto_contact(cnt, partner.membership_status)
+
+        # Cas d'un contact, on récupère le partner parent
+        else:
+            if (partner.parent_id):
+                parent_cie = self.search([('id','=',partner.parent_id.id)])
+                if (parent_cie):
+                    partner._newletter_auto_contact(partner, parent_cie.membership_status)
+
+        return
+
+    # ------------------------------------------------------
+    # Abonnement automatique aux newletter
+    # Si appartient à une coopérative adhérentes
+    # ------------------------------------------------------
+    def _newletter_auto_contact(self, partner, membership_status):
+
+        # On ne garde que les partner de type contact
+        if partner.type != 'contact':
+            return
+
+        # Si pas adhérent alors on arrete là
+        if membership_status != 'member':
+            return
+
+        # On récupère la liste des newletters auto
+        nwltrs = self.env['res.partner.newsletter'].search([('auto','=',True)])
+        for nwltr in nwltrs:
+            # On regarde si l'on n'est pas déjà abonné
+            for sub in partner.subscription_ids:
+                if sub.newsletter_id.id == nwltr.id:
+                    return
+            # Si on est là c'est que l'on n'a pas trouvé l'abonnement
+            self.env['res.partner.newsletter.subscription'].create(
+                {
+                'partner_id' : partner.id,
+                'newsletter_id' : nwltr.id,
+                'consent' : True
+                })
+
+
+        return
+
+
     # ------------------------------------------------------
     # Override ORM
     # ------------------------------------------------------
@@ -584,6 +643,12 @@ class ScopPartner(models.Model):
                 partner.creation_delegate_id.partner_id.id
             ]
             partner.message_subscribe(partner_ids=partners_to_subscribe)
+
+        # Abonnements
+        for partner in partners:
+            partner._newletter_auto(partner)
+
+
         return partners
 
     # ------------------------------------------------------
@@ -686,6 +751,8 @@ class ScopPartner(models.Model):
                     and not last_membership_period.end):
                 partner.membership_status = "member"
                 partner.member_number = last_membership_period.number
+                # Abonnements
+                partner._newletter_auto(partner)                
             elif (last_membership_period
                   and last_membership_period.end_reason_id):
                 partner.membership_status = "out"
@@ -693,6 +760,8 @@ class ScopPartner(models.Model):
             else:
                 partner.membership_status = "not_member"
 
+            
+
     @api.depends('member_number')
     @api.multi
     def _compute_membership_int(self):
diff --git a/models/res_partner_newsletter.py b/models/res_partner_newsletter.py
index cea52ef26d4b23291920e3ea861b42f39f79901d..e0acbb45be1fa4d3f22af769a108ceddcf7681e0 100644
--- a/models/res_partner_newsletter.py
+++ b/models/res_partner_newsletter.py
@@ -27,3 +27,4 @@ class ResPartnerNewsletter(models.Model):
 
     name = fields.Char('Newsletter')
     id_riga = fields.Integer("Identifiant RIGA")
+    auto = fields.Boolean("Abonnement auto.")
diff --git a/views/scop_config_views.xml b/views/scop_config_views.xml
index f01bfde097c7867644428cf7437fdcde93b64c1f..296aba27f8d2de6d5c6dd5d918655fe58c4f8beb 100644
--- a/views/scop_config_views.xml
+++ b/views/scop_config_views.xml
@@ -171,6 +171,7 @@
             <field name="arch" type="xml">
                 <tree string="Newsletters" editable="top">
                     <field name="name"/>
+                    <field name="auto"/>
                 </tree>
             </field>
         </record>