Hide buttons for return entry
diff --git a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js
index 6a02706..08ed4f3 100644
--- a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js
+++ b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js
@@ -20,27 +20,19 @@
 		this._super();
 
 		// Show / Hide button
-		if(doc.docstatus==1 && doc.outstanding_amount > 0)
-			this.frm.add_custom_button(__('Make Payment Entry'), this.make_bank_entry);
-
-		if(doc.docstatus==1) {
-			cur_frm.add_custom_button(__('Make Purchase Return'), this.make_purchase_return);
+		this.show_general_ledger();
+		
+		if(!doc.is_return) {
+			if(doc.docstatus==1) {
+				if(doc.outstanding_amount > 0) {
+					this.frm.add_custom_button(__('Make Payment Entry'), this.make_bank_entry);
+				}
+				
+				cur_frm.add_custom_button(__('Make Purchase Return'), this.make_purchase_return);
+			}
 			
-			cur_frm.add_custom_button(__('View Ledger'), function() {
-				frappe.route_options = {
-					"voucher_no": doc.name,
-					"from_date": doc.posting_date,
-					"to_date": doc.posting_date,
-					"company": doc.company,
-					group_by_voucher: 0
-				};
-				frappe.set_route("query-report", "General Ledger");
-			});
-		}
-
-		if(doc.docstatus===0) {
-			cur_frm.add_custom_button(__('From Purchase Order'),
-				function() {
+			if(doc.docstatus===0) {
+				cur_frm.add_custom_button(__('From Purchase Order'), function() {
 					frappe.model.map_current_doc({
 						method: "erpnext.buying.doctype.purchase_order.purchase_order.make_purchase_invoice",
 						source_doctype: "Purchase Order",
@@ -54,8 +46,7 @@
 					})
 				});
 
-			cur_frm.add_custom_button(__('From Purchase Receipt'),
-				function() {
+				cur_frm.add_custom_button(__('From Purchase Receipt'), function() {
 					frappe.model.map_current_doc({
 						method: "erpnext.stock.doctype.purchase_receipt.purchase_receipt.make_purchase_invoice",
 						source_doctype: "Purchase Receipt",
@@ -66,7 +57,7 @@
 						}
 					})
 				});
-
+			}
 		}
 	},
 	
diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.js b/erpnext/accounts/doctype/sales_invoice/sales_invoice.js
index fdc1a58..8348c08 100644
--- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.js
+++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.js
@@ -43,18 +43,11 @@
 		
 		this.frm.toggle_reqd("due_date", !this.frm.doc.is_return);
 		
-		if(doc.docstatus==1) {
-			cur_frm.add_custom_button('View Ledger', function() {
-				frappe.route_options = {
-					"voucher_no": doc.name,
-					"from_date": doc.posting_date,
-					"to_date": doc.posting_date,
-					"company": doc.company,
-					group_by_voucher: 0
-				};
-				frappe.set_route("query-report", "General Ledger");
-			});
-
+		this.show_general_ledger();
+		
+		if(doc.update_stock) this.show_stock_ledger();
+		
+		if(doc.docstatus==1 && !doc.is_return) {
 			if(cint(doc.update_stock)!=1) {
 				// show Make Delivery Note button only if Sales Invoice is not created from Delivery Note
 				var from_delivery_note = false;
@@ -76,7 +69,7 @@
 		}
 
 		// Show buttons only when pos view is active
-		if (cint(doc.docstatus==0) && cur_frm.page.current_view_name!=="pos") {
+		if (cint(doc.docstatus==0) && cur_frm.page.current_view_name!=="pos" && !doc.is_return) {
 			cur_frm.cscript.sales_order_btn();
 			cur_frm.cscript.delivery_note_btn();
 		}
diff --git a/erpnext/public/js/controllers/stock_controller.js b/erpnext/public/js/controllers/stock_controller.js
index c5cad95..f5f7aa0 100644
--- a/erpnext/public/js/controllers/stock_controller.js
+++ b/erpnext/public/js/controllers/stock_controller.js
@@ -58,7 +58,7 @@
 
 	show_general_ledger: function() {
 		var me = this;
-		if(this.frm.doc.docstatus===1 && cint(frappe.defaults.get_default("auto_accounting_for_stock"))) {
+		if(this.frm.doc.docstatus===1) {
 			cur_frm.add_custom_button(__('Accounting Ledger'), function() {
 				frappe.route_options = {
 					voucher_no: me.frm.doc.name,
diff --git a/erpnext/stock/doctype/delivery_note/delivery_note.js b/erpnext/stock/doctype/delivery_note/delivery_note.js
index 794d6fd..94356da 100644
--- a/erpnext/stock/doctype/delivery_note/delivery_note.js
+++ b/erpnext/stock/doctype/delivery_note/delivery_note.js
@@ -8,57 +8,64 @@
 erpnext.stock.DeliveryNoteController = erpnext.selling.SellingController.extend({
 	refresh: function(doc, dt, dn) {
 		this._super();
+		
+		if (!doc.is_return) {
+			if(doc.__onload && !doc.__onload.billing_complete && doc.docstatus==1) {
+				// show Make Invoice button only if Delivery Note is not created from Sales Invoice
+				var from_sales_invoice = false;
+				from_sales_invoice = cur_frm.doc.items.some(function(item) {
+						return item.against_sales_invoice ? true : false;
+					});
 
-		if(doc.__onload && !doc.__onload.billing_complete && doc.docstatus==1) {
-			// show Make Invoice button only if Delivery Note is not created from Sales Invoice
-			var from_sales_invoice = false;
-			from_sales_invoice = cur_frm.doc.items.some(function(item) {
-					return item.against_sales_invoice ? true : false;
-				});
+				if(!from_sales_invoice)
+					cur_frm.add_custom_button(__('Make Invoice'), this.make_sales_invoice);
+			}
 
-			if(!from_sales_invoice)
-				cur_frm.add_custom_button(__('Make Invoice'), this.make_sales_invoice);
+			if(flt(doc.per_installed, 2) < 100 && doc.docstatus==1)
+				cur_frm.add_custom_button(__('Make Installation Note'), this.make_installation_note);
+
+			if (doc.docstatus==1) {
+				cur_frm.add_custom_button(__('Make Sales Return'), this.make_sales_return);
+			}
+
+			if(doc.docstatus==0 && !doc.__islocal) {
+				cur_frm.add_custom_button(__('Make Packing Slip'),
+					cur_frm.cscript['Make Packing Slip'], frappe.boot.doctype_icons["Packing Slip"]);
+			}
+
+			if (this.frm.doc.docstatus===0) {
+				cur_frm.add_custom_button(__('From Sales Order'),
+					function() {
+						frappe.model.map_current_doc({
+							method: "erpnext.selling.doctype.sales_order.sales_order.make_delivery_note",
+							source_doctype: "Sales Order",
+							get_query_filters: {
+								docstatus: 1,
+								status: ["!=", "Stopped"],
+								per_delivered: ["<", 99.99],
+								project_name: cur_frm.doc.project_name || undefined,
+								customer: cur_frm.doc.customer || undefined,
+								company: cur_frm.doc.company
+							}
+						})
+					});
+			}
 		}
-
-		if(flt(doc.per_installed, 2) < 100 && doc.docstatus==1)
-			cur_frm.add_custom_button(__('Make Installation Note'), this.make_installation_note);
-
+		
 		if (doc.docstatus==1) {
-			cur_frm.add_custom_button(__('Make Sales Return'), this.make_sales_return);
-				
 			this.show_stock_ledger();
-			this.show_general_ledger();
+			if (cint(frappe.defaults.get_default("auto_accounting_for_stock"))) {
+				this.show_general_ledger();
+			}
 		}
-
-		if(doc.docstatus==0 && !doc.__islocal) {
-			cur_frm.add_custom_button(__('Make Packing Slip'),
-				cur_frm.cscript['Make Packing Slip'], frappe.boot.doctype_icons["Packing Slip"]);
-		}
+		
+			
 
 		erpnext.stock.delivery_note.set_print_hide(doc, dt, dn);
 
 		// unhide expense_account and cost_center is auto_accounting_for_stock enabled
 		var aii_enabled = cint(sys_defaults.auto_accounting_for_stock)
 		cur_frm.fields_dict["items"].grid.set_column_disp(["expense_account", "cost_center"], aii_enabled);
-
-		if (this.frm.doc.docstatus===0) {
-			cur_frm.add_custom_button(__('From Sales Order'),
-				function() {
-					frappe.model.map_current_doc({
-						method: "erpnext.selling.doctype.sales_order.sales_order.make_delivery_note",
-						source_doctype: "Sales Order",
-						get_query_filters: {
-							docstatus: 1,
-							status: ["!=", "Stopped"],
-							per_delivered: ["<", 99.99],
-							project_name: cur_frm.doc.project_name || undefined,
-							customer: cur_frm.doc.customer || undefined,
-							company: cur_frm.doc.company
-						}
-					})
-				});
-		}
-
 	},
 
 	make_sales_invoice: function() {
diff --git a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.js b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.js
index 13e104e..fcaf9f8 100644
--- a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.js
+++ b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.js
@@ -29,32 +29,37 @@
 	refresh: function() {
 		this._super();
 
-		if(this.frm.doc.docstatus == 1) {
-			if(this.frm.doc.__onload && !this.frm.doc.__onload.billing_complete) {
-				cur_frm.add_custom_button(__('Make Purchase Invoice'), this.make_purchase_invoice);
+		this.show_stock_ledger();
+		if (cint(frappe.defaults.get_default("auto_accounting_for_stock"))) {
+			this.show_general_ledger();
+		}
+		if(!this.frm.doc.is_return) {
+			if(this.frm.doc.docstatus==0) {
+				cur_frm.add_custom_button(__('From Purchase Order'),
+					function() {
+						frappe.model.map_current_doc({
+							method: "erpnext.buying.doctype.purchase_order.purchase_order.make_purchase_receipt",
+							source_doctype: "Purchase Order",
+							get_query_filters: {
+								supplier: cur_frm.doc.supplier || undefined,
+								docstatus: 1,
+								status: ["!=", "Stopped"],
+								per_received: ["<", 99.99],
+								company: cur_frm.doc.company
+							}
+						})
+				});
 			}
 			
-			cur_frm.add_custom_button(__('Make Purchase Return'), this.make_purchase_return);
-
-			this.show_stock_ledger();
-			this.show_general_ledger();
-		} else {
-			cur_frm.add_custom_button(__('From Purchase Order'),
-				function() {
-					frappe.model.map_current_doc({
-						method: "erpnext.buying.doctype.purchase_order.purchase_order.make_purchase_receipt",
-						source_doctype: "Purchase Order",
-						get_query_filters: {
-							supplier: cur_frm.doc.supplier || undefined,
-							docstatus: 1,
-							status: ["!=", "Stopped"],
-							per_received: ["<", 99.99],
-							company: cur_frm.doc.company
-						}
-					})
-				});
+			if(this.frm.doc.docstatus == 1) {
+				if(this.frm.doc.__onload && !this.frm.doc.__onload.billing_complete) {
+					cur_frm.add_custom_button(__('Make Purchase Invoice'), this.make_purchase_invoice);
+				}
+			
+				cur_frm.add_custom_button(__('Make Purchase Return'), this.make_purchase_return);
+			}
 		}
-
+		
 		this.frm.toggle_reqd("supplier_warehouse", this.frm.doc.is_subcontracted==="Yes");
 	},
 
diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.js b/erpnext/stock/doctype/stock_entry/stock_entry.js
index 8526117..087dbca 100644
--- a/erpnext/stock/doctype/stock_entry/stock_entry.js
+++ b/erpnext/stock/doctype/stock_entry/stock_entry.js
@@ -57,7 +57,9 @@
 		this.toggle_related_fields(this.frm.doc);
 		this.toggle_enable_bom();
 		this.show_stock_ledger();
-		this.show_general_ledger();
+		if (cint(frappe.defaults.get_default("auto_accounting_for_stock"))) {
+			this.show_general_ledger();
+		}
 	},
 
 	on_submit: function() {
diff --git a/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.js b/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.js
index f833a25..4b67c0a 100644
--- a/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.js
+++ b/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.js
@@ -83,7 +83,9 @@
 	refresh: function() {
 		if(this.frm.doc.docstatus==1) {
 			this.show_stock_ledger();
-			this.show_general_ledger();
+			if (cint(frappe.defaults.get_default("auto_accounting_for_stock"))) {
+				this.show_general_ledger();
+			}
 		}
 	},