diff --git a/erpnext/manufacturing/doctype/bom/bom.py b/erpnext/manufacturing/doctype/bom/bom.py index bab1b43b60..c02576f86d 100644 --- a/erpnext/manufacturing/doctype/bom/bom.py +++ b/erpnext/manufacturing/doctype/bom/bom.py @@ -8,6 +8,8 @@ from frappe.utils import cint, cstr, flt from frappe import _ from frappe.model.document import Document +from operator import itemgetter, attrgetter + class BOM(Document): def autoname(self): @@ -360,7 +362,7 @@ class BOM(Document): "Add items to Flat BOM table" frappe.db.sql("""delete from `tabBOM Explosion Item` where parent=%s""", self.name) self.set('flat_bom_details', []) - for d in self.cur_exploded_items: + for d in sorted(self.cur_exploded_items, key=itemgetter(0)): ch = self.append('flat_bom_details', {}) for i in self.cur_exploded_items[d].keys(): ch.set(i, self.cur_exploded_items[d][i])