diff --git a/addons/purchase/models/purchase.py b/addons/purchase/models/purchase.py
index 3de58892b98631ed8d8aca48bf63be8843146faf..10975f03865f9c36a7748503f65787eb93738614 100644
--- a/addons/purchase/models/purchase.py
+++ b/addons/purchase/models/purchase.py
@@ -923,7 +923,7 @@ class PurchaseOrderLine(models.Model):
             else:
                 line.qty_to_invoice = 0
 
-    @api.depends('product_id')
+    @api.depends('product_id', 'product_id.type')
     def _compute_qty_received_method(self):
         for line in self:
             if line.product_id and line.product_id.type in ['consu', 'service']: