[minor] fixed conflict
diff --git a/accounts/doctype/journal_voucher/journal_voucher.js b/accounts/doctype/journal_voucher/journal_voucher.js
index a3aa6f1..a6aa007 100644
--- a/accounts/doctype/journal_voucher/journal_voucher.js
+++ b/accounts/doctype/journal_voucher/journal_voucher.js
@@ -59,6 +59,50 @@
 			};
 		});
 	},
+	
+	against_voucher: function(doc, cdt, cdn) {
+		var d = wn.model.get_doc(cdt, cdn);
+		if (d.against_voucher && !flt(d.debit)) {
+			this.get_outstanding({
+				'doctype': 'Purchase Invoice', 
+				'docname': d.against_voucher
+			}, d)
+		}
+	},
+	
+	against_invoice: function(doc, cdt, cdn) {
+		var d = wn.model.get_doc(cdt, cdn);
+		if (d.against_invoice && !flt(d.credit)) {
+			this.get_outstanding({
+				'doctype': 'Sales Invoice', 
+				'docname': d.against_invoice
+			}, d)
+		}
+	},
+	
+	against_jv: function(doc, cdt, cdn) {
+		var d = wn.model.get_doc(cdt, cdn);
+		if (d.against_jv && !flt(d.credit) && !flt(d.debit)) {
+			this.get_outstanding({
+				'doctype': 'Journal Voucher', 
+				'docname': d.against_jv,
+				'account': d.account
+			}, d)
+		}
+	},
+	
+	get_outstanding: function(args, child) {
+		var me = this;
+		return this.frm.call({
+			child: child,
+			method: "get_outstanding",
+			args: { args: args},
+			callback: function(r) {
+				cur_frm.cscript.update_totals(me.frm.doc);
+			}
+		});
+	}
+	
 });
 
 cur_frm.script_manager.make(erpnext.accounts.JournalVoucher);
@@ -88,24 +132,6 @@
 	if (doc.is_opening == 'Yes') unhide_field('aging_date');
 }
 
-cur_frm.cscript.against_voucher = function(doc,cdt,cdn) {
-	var d = locals[cdt][cdn];
-	if (d.against_voucher && !flt(d.debit)) {
-		args = {'doctype': 'Purchase Invoice', 'docname': d.against_voucher }
-		return get_server_fields('get_outstanding',docstring(args),'entries',doc,cdt,cdn,1,function(r,rt) { cur_frm.cscript.update_totals(doc); });
-	}
-}
-
-cur_frm.cscript.against_invoice = function(doc,cdt,cdn) {
-	var d = locals[cdt][cdn];
-	if (d.against_invoice && !flt(d.credit)) {
-		args = {'doctype': 'Sales Invoice', 'docname': d.against_invoice }
-		return get_server_fields('get_outstanding',docstring(args),'entries',doc,cdt,cdn,1,function(r,rt) { cur_frm.cscript.update_totals(doc); });
-	}
-}
-
-// Update Totals
-
 cur_frm.cscript.update_totals = function(doc) {
 	var td=0.0; var tc =0.0;
 	var el = getchildren('Journal Voucher Detail', doc.name, 'entries');
diff --git a/accounts/doctype/journal_voucher/journal_voucher.py b/accounts/doctype/journal_voucher/journal_voucher.py
index ed4a0d7..ade93c6 100644
--- a/accounts/doctype/journal_voucher/journal_voucher.py
+++ b/accounts/doctype/journal_voucher/journal_voucher.py
@@ -260,15 +260,6 @@
 		if gl_map:
 			make_gl_entries(gl_map, cancel=cancel, adv_adj=adv_adj)
 
-	def get_outstanding(self, args):
-		args = eval(args)
-		o_s = webnotes.conn.sql("""select outstanding_amount from `tab%s` where name = %s""" % 
-			(args['doctype'], '%s'), args['docname'])
-		if args['doctype'] == 'Purchase Invoice':
-			return {'debit': o_s and flt(o_s[0][0]) or 0}
-		if args['doctype'] == 'Sales Invoice':
-			return {'credit': o_s and flt(o_s[0][0]) or 0}
-	
 	def get_balance(self):
 		if not getlist(self.doclist,'entries'):
 			msgprint("Please enter atleast 1 entry in 'GL Entries' table")
@@ -434,4 +425,31 @@
 		where jv_detail.parent = jv.name and jv_detail.account = %s and jv.docstatus = 1 
 		and jv.%s like %s order by jv.name desc limit %s, %s""" % 
 		("%s", searchfield, "%s", "%s", "%s"), 
-		(filters["account"], "%%%s%%" % txt, start, page_len))
\ No newline at end of file
+		(filters["account"], "%%%s%%" % txt, start, page_len))
+
+@webnotes.whitelist()		
+def get_outstanding(args):
+	args = eval(args)
+	if args.get("doctype") == "Journal Voucher" and args.get("account"):
+		against_jv_amount = webnotes.conn.sql("""
+			select sum(ifnull(debit, 0)) - sum(ifnull(credit, 0)) 
+			from `tabJournal Voucher Detail` where parent=%s and account=%s 
+			and ifnull(against_invoice, '')='' and ifnull(against_voucher, '')=''
+			and ifnull(against_jv, '')=''""", (args['docname'], args['account']))
+			
+		against_jv_amount = flt(against_jv_amount[0][0]) if against_jv_amount else 0
+		if against_jv_amount > 0:
+			return {"credit": against_jv_amount}
+		else:
+			return {"debit": -1* against_jv_amount}
+		
+	elif args.get("doctype") == "Sales Invoice":
+		return {
+			"credit": flt(webnotes.conn.get_value("Sales Invoice", args["docname"], 
+				"outstanding_amount"))
+		}
+	elif args.get("doctype") == "Purchase Invoice":
+		return {
+			"debit": flt(webnotes.conn.get_value("Purchase Invoice", args["docname"], 
+				"outstanding_amount"))
+		}
diff --git a/accounts/doctype/sales_invoice/sales_invoice.js b/accounts/doctype/sales_invoice/sales_invoice.js
index 5220c0f..250fb2c 100644
--- a/accounts/doctype/sales_invoice/sales_invoice.js
+++ b/accounts/doctype/sales_invoice/sales_invoice.js
@@ -207,7 +207,6 @@
 	'total_commission', 'advances'];
 	
 	item_flds_normal = ['sales_order', 'delivery_note']
-	item_flds_pos = ['serial_no', 'batch_no', 'actual_qty', 'expense_account']
 	
 	if(cint(doc.is_pos) == 1) {
 		hide_field(par_flds);
@@ -222,7 +221,9 @@
 		cur_frm.fields_dict['entries'].grid.set_column_disp(item_flds_normal, true);
 	}
 	
-	cur_frm.fields_dict['entries'].grid.set_column_disp(item_flds_pos, (cint(doc.update_stock)==1?true:false));
+	item_flds_stock = ['serial_no', 'batch_no', 'actual_qty', 'expense_account', 'warehouse']
+	cur_frm.fields_dict['entries'].grid.set_column_disp(item_flds_stock,
+		(cint(doc.update_stock)==1 ? true : false));
 	
 	// India related fields
 	var cp = wn.control_panel;
diff --git a/selling/doctype/lead/lead.js b/selling/doctype/lead/lead.js
index 3c6fda7..0bd23e9 100644
--- a/selling/doctype/lead/lead.js
+++ b/selling/doctype/lead/lead.js
@@ -33,7 +33,7 @@
 		var doc = this.frm.doc;
 		erpnext.hide_naming_series();
 		this.frm.clear_custom_buttons();
-				
+
 		this.frm.__is_customer = this.frm.__is_customer || this.frm.doc.__is_customer;
 		if(!this.frm.doc.__islocal && !this.frm.__is_customer) {
 			this.frm.add_custom_button("Create Customer", this.create_customer);
diff --git a/support/doctype/support_ticket/support_ticket.js b/support/doctype/support_ticket/support_ticket.js
index 0e61273..c61d973 100644
--- a/support/doctype/support_ticket/support_ticket.js
+++ b/support/doctype/support_ticket/support_ticket.js
@@ -6,7 +6,7 @@
 
 wn.provide("erpnext.support");
 // TODO commonify this code
-erpnext.support.CustomerIssue = wn.ui.form.Controller.extend({
+erpnext.support.SupportTicket = wn.ui.form.Controller.extend({
 	customer: function() {
 		var me = this;
 		if(this.frm.doc.customer) {
@@ -18,7 +18,7 @@
 	}
 });
 
-$.extend(cur_frm.cscript, new erpnext.support.CustomerIssue({frm: cur_frm}));
+$.extend(cur_frm.cscript, new erpnext.support.SupportTicket({frm: cur_frm}));
 
 $.extend(cur_frm.cscript, {
 	onload: function(doc, dt, dn) {