diff --git a/addons/stock/models/stock_move.py b/addons/stock/models/stock_move.py
index 29be782a9fb5d46a0409ebfbd54a82b4f54a72f2..616630deb47fcba3ccdf88cc43eceb1d4e2b7f71 100644
--- a/addons/stock/models/stock_move.py
+++ b/addons/stock/models/stock_move.py
@@ -907,8 +907,16 @@ class StockMove(models.Model):
         """ return create values for new picking that will be linked with group
         of moves in self.
         """
-        origins = set(self.filtered(lambda m: m.origin).mapped('origin'))
-        origin = len(origins) == 1 and origins.pop() or False
+        origins = self.filtered(lambda m: m.origin).mapped('origin')
+        origins = list(dict.fromkeys(origins)) # create a list of unique items
+        # Will display source document if any, when multiple different origins
+        # are found display a maximum of 5
+        if len(origins) == 0:
+            origin = False
+        else:
+            origin = ','.join(origins[:5])
+            if len(origins) > 5:
+                origin += "..."
         partners = self.mapped('partner_id')
         partner = len(partners) == 1 and partners.id or False
         return {