diff --git a/models/acc_counter.py b/models/acc_counter.py
index ef541942ee209ce5af4ce16ad734fae373be13a4..36b100d9b578ccf5299f84103b5f2e5f51e9d92c 100644
--- a/models/acc_counter.py
+++ b/models/acc_counter.py
@@ -75,14 +75,24 @@ class AccCounter(models.Model):
 
     @api.onchange("partner_id")
     def _onchange_partner_id(self):
-        if self.partner_id:
-            self.street = self.partner_id.street
-            self.street2 = self.partner_id.street2
-            self.zip = self.partner_id.zip
-            self.city = self.partner_id.city
+        for counter in self:
+            if counter.partner_id:
+                counter.street = counter.partner_id.street
+                counter.street2 = counter.partner_id.street2
+                counter.zip = counter.partner_id.zip
+                counter.city = counter.partner_id.city
     # ------------------------------------------------------
     # CRUD methods (ORM overrides)
     # ------------------------------------------------------
+    def write(self, vals):
+        for counter in self:
+            if 'partner_id' in vals:
+                partner_id = self.env["res.partner"].browse(vals.get("partner_id"))
+                counter.street = partner_id.street
+                counter.street2 = partner_id.street2
+                counter.zip = partner_id.zip
+                counter.city = partner_id.city
+        return super(AccCounter, self).write(vals)
 
     # ------------------------------------------------------
     # Actions