diff --git a/addons/pos_restaurant/static/src/js/multiprint.js b/addons/pos_restaurant/static/src/js/multiprint.js
index 17e7c1b27bcfefd05f425979a6197de8b06c7bba..1178a5e147e1b57528a5b5322c5f5c7ef4b09c89 100644
--- a/addons/pos_restaurant/static/src/js/multiprint.js
+++ b/addons/pos_restaurant/static/src/js/multiprint.js
@@ -122,6 +122,16 @@ models.Orderline = models.Orderline.extend({
             return '' + this.id;
         }
     },
+    getProductResumeKey: function(){
+        return this.get_product().id + " - " + this.get_full_product_name();
+    },
+    getLineResume: function(){
+        return {
+            pid: this.get_product().id,
+            product_name_wrapped: this.generate_wrapped_product_name(),
+            qties: {},
+        };
+    },
 });
 
 var _super_order = models.Order.prototype;
@@ -134,20 +144,23 @@ models.Order = models.Order.extend({
             }
             var qty  = Number(line.get_quantity());
             var note = line.get_note();
-            var product_id = line.get_product().id;
-            var product_name = line.get_full_product_name();
-            var p_key = product_id + " - " + product_name;
-            var product_resume = p_key in resume ? resume[p_key] : {
-                pid: product_id,
-                product_name_wrapped: line.generate_wrapped_product_name(),
-                qties: {},
-            };
+            const p_key = line.getProductResumeKey()
+            let product_resume = p_key in resume ? resume[p_key] : line.getLineResume();
             if (note in product_resume['qties']) product_resume['qties'][note] += qty;
             else product_resume['qties'][note] = qty;
             resume[p_key] = product_resume;
         });
         return resume;
     },
+    getResumeInfo: function(pid, curr, note, qty){
+        return {
+            'id': pid,
+            'name': this.pos.db.get_product_by_id(pid).display_name,
+            'name_wrapped': curr.product_name_wrapped,
+            'note': note,
+            'qty': qty,
+        }
+    },
     saveChanges: function(){
         this.saved_resume = this.build_line_resume();
         this.orderlines.each(function(line){
@@ -176,31 +189,12 @@ models.Order = models.Order.extend({
                 var old  = old_res[p_key] || {};
                 var pid = curr.pid;
                 var found = p_key in old_res && note in old_res[p_key]['qties'];
-
                 if (!found) {
-                    add.push({
-                        'id':       pid,
-                        'name':     this.pos.db.get_product_by_id(pid).display_name,
-                        'name_wrapped': curr.product_name_wrapped,
-                        'note':     note,
-                        'qty':      curr['qties'][note],
-                    });
+                    add.push(this.getResumeInfo(pid, curr, note, curr['qties'][note]));
                 } else if (old['qties'][note] < curr['qties'][note]) {
-                    add.push({
-                        'id':       pid,
-                        'name':     this.pos.db.get_product_by_id(pid).display_name,
-                        'name_wrapped': curr.product_name_wrapped,
-                        'note':     note,
-                        'qty':      curr['qties'][note] - old['qties'][note],
-                    });
+                    add.push(this.getResumeInfo(pid, curr, note, curr['qties'][note] - old['qties'][note]));
                 } else if (old['qties'][note] > curr['qties'][note]) {
-                    rem.push({
-                        'id':       pid,
-                        'name':     this.pos.db.get_product_by_id(pid).display_name,
-                        'name_wrapped': curr.product_name_wrapped,
-                        'note':     note,
-                        'qty':      old['qties'][note] - curr['qties'][note],
-                    });
+                    rem.push(this.getResumeInfo(pid, curr, note, old['qties'][note] - curr['qties'][note]));
                 }
             }
         }
@@ -211,13 +205,7 @@ models.Order = models.Order.extend({
                 if (!found) {
                     var old = old_res[p_key];
                     var pid = old.pid;
-                    rem.push({
-                        'id':       pid,
-                        'name':     this.pos.db.get_product_by_id(pid).display_name,
-                        'name_wrapped': old.product_name_wrapped,
-                        'note':     note,
-                        'qty':      old['qties'][note],
-                    });
+                    rem.push(this.getResumeInfo(pid, old, note, old['qties'][note]));
                 }
             }
         }