diff --git a/erpnext/accounts/doctype/ledger_merge/ledger_merge.js b/erpnext/accounts/doctype/ledger_merge/ledger_merge.js
index ff69ddc..6a768ca 100644
--- a/erpnext/accounts/doctype/ledger_merge/ledger_merge.js
+++ b/erpnext/accounts/doctype/ledger_merge/ledger_merge.js
@@ -3,6 +3,27 @@
 
 frappe.ui.form.on('Ledger Merge', {
   setup: function(frm) {
+    frappe.realtime.on('data_import_refresh', ({ ledger_merge }) => {
+			if (ledger_merge !== frm.doc.name) return;
+			frm.refresh();
+		});
+
+		frappe.realtime.on('data_import_progress', data => {
+			if (data.data_import !== frm.doc.name) return;
+			let message = __('Merging {0} of {1}', [data.current, data.total]);
+      let percent = Math.floor((data.current * 100) / data.total);
+			frm.dashboard.show_progress(__('Merge Progress'), percent, message);
+			frm.page.set_indicator(__('In Progress'), 'orange');
+
+			// hide progress when complete
+			if (data.current === data.total) {
+				setTimeout(() => {
+					frm.dashboard.hide();
+					frm.refresh();
+				}, 2000);
+			}
+		});
+
     frm.set_query("account", function(doc) {
       if (!doc.company) frappe.throw(__('Please set Company'));
       if (!doc.root_type) frappe.throw(__('Please set Root Type'));
@@ -32,6 +53,7 @@
 
 	refresh: function(frm) {
     frm.page.hide_icon_group();
+    frm.trigger('set_merge_status');
 	},
 
   onload_post_render: function(frm) {
@@ -60,8 +82,15 @@
 	},
 
   start_merge: function(frm) {
-    console.log('Hi');
-    frm.trigger('set_merge_status');
+    frm.call({
+			method: 'form_start_merge',
+			args: { docname: frm.doc.name },
+			btn: frm.page.btn_primary
+		}).then(r => {
+			if (r.message === true) {
+				frm.disable_save();
+			}
+		});
   },
 
   set_merge_status: function(frm) {
@@ -72,6 +101,16 @@
 		});
     let message_args = [successful_records, frm.doc.merge_accounts.length];
     frm.dashboard.set_headline(__('Successfully merged {0} out of {1}.', message_args));
+  },
+
+  root_type: function(frm) {
+    frm.set_value('account', '');
+    frm.set_value('merge_accounts', []);
+  },
+
+  company: function(frm) {
+    frm.set_value('account', '');
+    frm.set_value('merge_accounts', []);
   }
 });
 
