Merge pull request #6637 from nabinhait/cost_center_fix

Set cost center while creating invoice from SO/PO
diff --git a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice_dashboard.py b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice_dashboard.py
index 9b950db..d4a82c5 100644
--- a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice_dashboard.py
+++ b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice_dashboard.py
@@ -1,31 +1,32 @@
 from frappe import _
 
-data = {
-	'fieldname': 'purchase_invoice',
-	'non_standard_fieldnames': {
-		'Delivery Note': 'against_sales_invoice',
-		'Journal Entry': 'reference_name',
-		'Payment Entry': 'reference_name',
-		'Payment Request': 'reference_name',
-		'Landed Cost Voucher': 'receipt_document',
-		'Purchase Invoice': 'return_against'
-	},
-	'internal_links': {
-		'Purchase Order': ['items', 'sales_order'],
-		'Purchase Receipt': ['items', 'delivery_note'],
-	},
-	'transactions': [
-		{
-			'label': _('Payment'),
-			'items': ['Payment Entry', 'Payment Request', 'Journal Entry']
+def get_data():
+	return {
+		'fieldname': 'purchase_invoice',
+		'non_standard_fieldnames': {
+			'Delivery Note': 'against_sales_invoice',
+			'Journal Entry': 'reference_name',
+			'Payment Entry': 'reference_name',
+			'Payment Request': 'reference_name',
+			'Landed Cost Voucher': 'receipt_document',
+			'Purchase Invoice': 'return_against'
 		},
-		{
-			'label': _('Reference'),
-			'items': ['Purchase Order', 'Purchase Receipt', 'Asset', 'Landed Cost Voucher']
+		'internal_links': {
+			'Purchase Order': ['items', 'sales_order'],
+			'Purchase Receipt': ['items', 'delivery_note'],
 		},
-		{
-			'label': _('Returns'),
-			'items': ['Purchase Invoice']
-		},
-	]
-}
\ No newline at end of file
+		'transactions': [
+			{
+				'label': _('Payment'),
+				'items': ['Payment Entry', 'Payment Request', 'Journal Entry']
+			},
+			{
+				'label': _('Reference'),
+				'items': ['Purchase Order', 'Purchase Receipt', 'Asset', 'Landed Cost Voucher']
+			},
+			{
+				'label': _('Returns'),
+				'items': ['Purchase Invoice']
+			},
+		]
+	}
\ No newline at end of file
diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice_dashboard.py b/erpnext/accounts/doctype/sales_invoice/sales_invoice_dashboard.py
index f494303..20d4613 100644
--- a/erpnext/accounts/doctype/sales_invoice/sales_invoice_dashboard.py
+++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice_dashboard.py
@@ -1,30 +1,31 @@
 from frappe import _
 
-data = {
-	'fieldname': 'sales_invoice',
-	'non_standard_fieldnames': {
-		'Delivery Note': 'against_sales_invoice',
-		'Journal Entry': 'reference_name',
-		'Payment Entry': 'reference_name',
-		'Payment Request': 'reference_name',
-		'Sales Invoice': 'return_against'
-	},
-	'internal_links': {
-		'Sales Order': ['items', 'sales_order'],
-		'Delivery Note': ['items', 'delivery_note'],
-	},
-	'transactions': [
-		{
-			'label': _('Payment'),
-			'items': ['Payment Entry', 'Payment Request', 'Journal Entry']
+def get_data():
+	return {
+		'fieldname': 'sales_invoice',
+		'non_standard_fieldnames': {
+			'Delivery Note': 'against_sales_invoice',
+			'Journal Entry': 'reference_name',
+			'Payment Entry': 'reference_name',
+			'Payment Request': 'reference_name',
+			'Sales Invoice': 'return_against'
 		},
-		{
-			'label': _('Reference'),
-			'items': ['Timesheet', 'Delivery Note', 'Sales Order']
+		'internal_links': {
+			'Sales Order': ['items', 'sales_order'],
+			'Delivery Note': ['items', 'delivery_note'],
 		},
-		{
-			'label': _('Returns'),
-			'items': ['Sales Invoice']
-		},
-	]
-}
\ No newline at end of file
+		'transactions': [
+			{
+				'label': _('Payment'),
+				'items': ['Payment Entry', 'Payment Request', 'Journal Entry']
+			},
+			{
+				'label': _('Reference'),
+				'items': ['Timesheet', 'Delivery Note', 'Sales Order']
+			},
+			{
+				'label': _('Returns'),
+				'items': ['Sales Invoice']
+			},
+		]
+	}
\ No newline at end of file
diff --git a/erpnext/buying/doctype/purchase_order/purchase_order_dashboard.py b/erpnext/buying/doctype/purchase_order/purchase_order_dashboard.py
index 61a9700..5e460df 100644
--- a/erpnext/buying/doctype/purchase_order/purchase_order_dashboard.py
+++ b/erpnext/buying/doctype/purchase_order/purchase_order_dashboard.py
@@ -1,24 +1,25 @@
 from frappe import _
 
-data = {
-	'fieldname': 'purchase_order',
-	'internal_links': {
-		'Material Request': ['items', 'material_request'],
-		'Supplier Quotation': ['items', 'supplier_quotation'],
-		'Project': ['project'],
-	},
-	'transactions': [
-		{
-			'label': _('Related'),
-			'items': ['Purchase Receipt', 'Purchase Invoice']
+def get_data():
+	return {
+		'fieldname': 'purchase_order',
+		'internal_links': {
+			'Material Request': ['items', 'material_request'],
+			'Supplier Quotation': ['items', 'supplier_quotation'],
+			'Project': ['project'],
 		},
-		{
-			'label': _('Reference'),
-			'items': ['Material Request', 'Supplier Quotation', 'Project']
-		},
-		{
-			'label': _('Sub-contracting'),
-			'items': ['Stock Entry']
-		},
-	]
-}
\ No newline at end of file
+		'transactions': [
+			{
+				'label': _('Related'),
+				'items': ['Purchase Receipt', 'Purchase Invoice']
+			},
+			{
+				'label': _('Reference'),
+				'items': ['Material Request', 'Supplier Quotation', 'Project']
+			},
+			{
+				'label': _('Sub-contracting'),
+				'items': ['Stock Entry']
+			},
+		]
+	}
\ No newline at end of file
diff --git a/erpnext/buying/doctype/request_for_quotation/request_for_quotation_dashboard.py b/erpnext/buying/doctype/request_for_quotation/request_for_quotation_dashboard.py
index 4bb4d76..ba09d3f 100644
--- a/erpnext/buying/doctype/request_for_quotation/request_for_quotation_dashboard.py
+++ b/erpnext/buying/doctype/request_for_quotation/request_for_quotation_dashboard.py
@@ -1,12 +1,13 @@
 from frappe import _
 
-data = {
-	'docstatus': 1,
-	'fieldname': 'request_for_quotation',
-	'transactions': [
-		{
-			'label': _('Related'),
-			'items': ['Supplier Quotation']
-		},
-	]
-}
\ No newline at end of file
+def get_data():
+	return {
+		'docstatus': 1,
+		'fieldname': 'request_for_quotation',
+		'transactions': [
+			{
+				'label': _('Related'),
+				'items': ['Supplier Quotation']
+			},
+		]
+	}
\ No newline at end of file
diff --git a/erpnext/buying/doctype/supplier/supplier_dashboard.py b/erpnext/buying/doctype/supplier/supplier_dashboard.py
index ab123e2..4f01f58 100644
--- a/erpnext/buying/doctype/supplier/supplier_dashboard.py
+++ b/erpnext/buying/doctype/supplier/supplier_dashboard.py
@@ -1,17 +1,18 @@
 from frappe import _
 
-data = {
-	'heatmap': True,
-	'heatmap_message': _('This is based on transactions against this Supplier. See timeline below for details'),
-	'fieldname': 'supplier',
-	'transactions': [
-		{
-			'label': _('Procurement'),
-			'items': ['Request for Quotation', 'Supplier Quotation']
-		},
-		{
-			'label': _('Orders'),
-			'items': ['Purchase Order', 'Purchase Receipt', 'Purchase Invoice']
-		}
-	]
-}
\ No newline at end of file
+def get_data():
+	return {
+		'heatmap': True,
+		'heatmap_message': _('This is based on transactions against this Supplier. See timeline below for details'),
+		'fieldname': 'supplier',
+		'transactions': [
+			{
+				'label': _('Procurement'),
+				'items': ['Request for Quotation', 'Supplier Quotation']
+			},
+			{
+				'label': _('Orders'),
+				'items': ['Purchase Order', 'Purchase Receipt', 'Purchase Invoice']
+			}
+		]
+	}
\ No newline at end of file
diff --git a/erpnext/buying/doctype/supplier_quotation/supplier_quotation_dashboard.py b/erpnext/buying/doctype/supplier_quotation/supplier_quotation_dashboard.py
index 6c8ae7c..80f946e 100644
--- a/erpnext/buying/doctype/supplier_quotation/supplier_quotation_dashboard.py
+++ b/erpnext/buying/doctype/supplier_quotation/supplier_quotation_dashboard.py
@@ -1,20 +1,21 @@
 from frappe import _
 
-data = {
-	'fieldname': 'supplier_quotation',
-	'internal_links': {
-		'Material Request': ['items', 'material_request'],
-		'Request for Quotation': ['items', 'request_for_quotation'],
-		'Project': ['items', 'project'],
-	},
-	'transactions': [
-		{
-			'label': _('Related'),
-			'items': ['Purchase Order']
+def get_data():
+	return {
+		'fieldname': 'supplier_quotation',
+		'internal_links': {
+			'Material Request': ['items', 'material_request'],
+			'Request for Quotation': ['items', 'request_for_quotation'],
+			'Project': ['items', 'project'],
 		},
-		{
-			'label': _('Reference'),
-			'items': ['Material Request', 'Request for Quotation', 'Project']
-		},
-	]
-}
+		'transactions': [
+			{
+				'label': _('Related'),
+				'items': ['Purchase Order']
+			},
+			{
+				'label': _('Reference'),
+				'items': ['Material Request', 'Request for Quotation', 'Project']
+			},
+		]
+	}
diff --git a/erpnext/crm/doctype/opportunity/opportunity_dashboard.py b/erpnext/crm/doctype/opportunity/opportunity_dashboard.py
index 08d5657..dba2a06 100644
--- a/erpnext/crm/doctype/opportunity/opportunity_dashboard.py
+++ b/erpnext/crm/doctype/opportunity/opportunity_dashboard.py
@@ -1,11 +1,12 @@
 from frappe import _
 
-data = {
-	'fieldname': 'prevdoc_docname',
-	'transactions': [
-		{
-			'label': _('Related'),
-			'items': ['Quotation']
-		},
-	]
-}
\ No newline at end of file
+def get_data():
+	return {
+		'fieldname': 'prevdoc_docname',
+		'transactions': [
+			{
+				'label': _('Related'),
+				'items': ['Quotation']
+			},
+		]
+	}
\ No newline at end of file
diff --git a/erpnext/hr/doctype/employee/employee_dashboard.py b/erpnext/hr/doctype/employee/employee_dashboard.py
index 420c1df..7de305d 100644
--- a/erpnext/hr/doctype/employee/employee_dashboard.py
+++ b/erpnext/hr/doctype/employee/employee_dashboard.py
@@ -1,25 +1,26 @@
 from frappe import _
 
-data = {
-	'heatmap': True,
-	'heatmap_message': _('This is based on the attendance of this Employee'),
-	'fieldname': 'employee',
-	'transactions': [
-		{
-			'label': _('Leave and Attendance'),
-			'items': ['Attendance', 'Leave Application', 'Leave Allocation']
-		},
-		{
-			'label': _('Payroll'),
-			'items': ['Salary Structure', 'Salary Slip', 'Timesheet']
-		},
-		{
-			'label': _('Expense'),
-			'items': ['Expense Claim']
-		},
-		{
-			'label': _('Evaluation'),
-			'items': ['Appraisal']
-		}
-	]
-}
\ No newline at end of file
+def get_data():
+	return {
+		'heatmap': True,
+		'heatmap_message': _('This is based on the attendance of this Employee'),
+		'fieldname': 'employee',
+		'transactions': [
+			{
+				'label': _('Leave and Attendance'),
+				'items': ['Attendance', 'Leave Application', 'Leave Allocation']
+			},
+			{
+				'label': _('Payroll'),
+				'items': ['Salary Structure', 'Salary Slip', 'Timesheet']
+			},
+			{
+				'label': _('Expense'),
+				'items': ['Expense Claim']
+			},
+			{
+				'label': _('Evaluation'),
+				'items': ['Appraisal']
+			}
+		]
+	}
\ No newline at end of file
diff --git a/erpnext/projects/doctype/project/project_dashboard.py b/erpnext/projects/doctype/project/project_dashboard.py
index b36df88..0ac7d6f 100644
--- a/erpnext/projects/doctype/project/project_dashboard.py
+++ b/erpnext/projects/doctype/project/project_dashboard.py
@@ -1,25 +1,26 @@
 from frappe import _
 
-data = {
-	'heatmap': True,
-	'heatmap_message': _('This is based on the Time Sheets created against this project'),
-	'fieldname': 'project',
-	'transactions': [
-		{
-			'label': _('Project'),
-			'items': ['Task', 'Timesheet', 'Expense Claim', 'Issue']
-		},
-		{
-			'label': _('Material'),
-			'items': ['Material Request', 'BOM', 'Stock Entry']
-		},
-		{
-			'label': _('Sales'),
-			'items': ['Sales Order', 'Delivery Note', 'Sales Invoice']
-		},
-		{
-			'label': _('Purchase'),
-			'items': ['Purchase Order', 'Purchase Receipt', 'Purchase Invoice']
-		},
-	]
-}
+def get_data():
+	return {
+		'heatmap': True,
+		'heatmap_message': _('This is based on the Time Sheets created against this project'),
+		'fieldname': 'project',
+		'transactions': [
+			{
+				'label': _('Project'),
+				'items': ['Task', 'Timesheet', 'Expense Claim', 'Issue']
+			},
+			{
+				'label': _('Material'),
+				'items': ['Material Request', 'BOM', 'Stock Entry']
+			},
+			{
+				'label': _('Sales'),
+				'items': ['Sales Order', 'Delivery Note', 'Sales Invoice']
+			},
+			{
+				'label': _('Purchase'),
+				'items': ['Purchase Order', 'Purchase Receipt', 'Purchase Invoice']
+			},
+		]
+	}
diff --git a/erpnext/schools/doctype/student/student_dashboard.py b/erpnext/schools/doctype/student/student_dashboard.py
index 45a2f14..8b59b6b 100644
--- a/erpnext/schools/doctype/student/student_dashboard.py
+++ b/erpnext/schools/doctype/student/student_dashboard.py
@@ -1,15 +1,16 @@
 from frappe import _
 
-data = {
-	'heatmap': True,
-	'heatmap_message': _('This is based on the attendance of this Student'),
-	'fieldname': 'student',
-	'transactions': [
-		{
-			'items': ['Student Log', 'Student Group', 'Student Attendance']
-		},
-		{
-			'items': ['Program Enrollment', 'Fees', 'Assessment', 'Guardian']
-		}
-	]
-}
\ No newline at end of file
+def get_data():
+	{
+		'heatmap': True,
+		'heatmap_message': _('This is based on the attendance of this Student'),
+		'fieldname': 'student',
+		'transactions': [
+			{
+				'items': ['Student Log', 'Student Group', 'Student Attendance']
+			},
+			{
+				'items': ['Program Enrollment', 'Fees', 'Assessment', 'Guardian']
+			}
+		]
+	}
\ No newline at end of file
diff --git a/erpnext/selling/doctype/customer/customer_dashboard.py b/erpnext/selling/doctype/customer/customer_dashboard.py
index b65c199..681b04a 100644
--- a/erpnext/selling/doctype/customer/customer_dashboard.py
+++ b/erpnext/selling/doctype/customer/customer_dashboard.py
@@ -1,25 +1,26 @@
 from frappe import _
 
-data = {
-	'heatmap': True,
-	'heatmap_message': _('This is based on transactions against this Customer. See timeline below for details'),
-	'fieldname': 'customer',
-	'transactions': [
-		{
-			'label': _('Pre Sales'),
-			'items': ['Opportunity', 'Quotation']
-		},
-		{
-			'label': _('Orders'),
-			'items': ['Sales Order', 'Delivery Note', 'Sales Invoice']
-		},
-		{
-			'label': _('Support'),
-			'items': ['Issue']
-		},
-		{
-			'label': _('Projects'),
-			'items': ['Project']
-		}
-	]
-}
\ No newline at end of file
+def get_data():
+	return {
+		'heatmap': True,
+		'heatmap_message': _('This is based on transactions against this Customer. See timeline below for details'),
+		'fieldname': 'customer',
+		'transactions': [
+			{
+				'label': _('Pre Sales'),
+				'items': ['Opportunity', 'Quotation']
+			},
+			{
+				'label': _('Orders'),
+				'items': ['Sales Order', 'Delivery Note', 'Sales Invoice']
+			},
+			{
+				'label': _('Support'),
+				'items': ['Issue']
+			},
+			{
+				'label': _('Projects'),
+				'items': ['Project']
+			}
+		]
+	}
\ No newline at end of file
diff --git a/erpnext/selling/doctype/quotation/quotation_dashboard.py b/erpnext/selling/doctype/quotation/quotation_dashboard.py
index 80dc6aa..e572a92 100644
--- a/erpnext/selling/doctype/quotation/quotation_dashboard.py
+++ b/erpnext/selling/doctype/quotation/quotation_dashboard.py
@@ -1,11 +1,12 @@
 from frappe import _
 
-data = {
-	'fieldname': 'prevdoc_docname',
-	'transactions': [
-		{
-			'label': _('Related'),
-			'items': ['Sales Order']
-		},
-	]
-}
\ No newline at end of file
+def get_data():
+	return {
+		'fieldname': 'prevdoc_docname',
+		'transactions': [
+			{
+				'label': _('Related'),
+				'items': ['Sales Order']
+			},
+		]
+	}
\ No newline at end of file
diff --git a/erpnext/selling/doctype/sales_order/sales_order_dashboard.py b/erpnext/selling/doctype/sales_order/sales_order_dashboard.py
index feda39d..51f81f8 100644
--- a/erpnext/selling/doctype/sales_order/sales_order_dashboard.py
+++ b/erpnext/selling/doctype/sales_order/sales_order_dashboard.py
@@ -1,33 +1,34 @@
 from frappe import _
 
-data = {
-	'fieldname': 'sales_order',
-	'non_standard_fieldnames': {
-		'Delivery Note': 'against_sales_order',
-	},
-	'internal_links': {
-		'Quotation': ['items', 'prevdoc_docname']
-	},
-	'transactions': [
-		{
-			'label': _('Fulfillment'),
-			'items': ['Sales Invoice', 'Delivery Note']
+def get_data():
+	return {
+		'fieldname': 'sales_order',
+		'non_standard_fieldnames': {
+			'Delivery Note': 'against_sales_order',
 		},
-		{
-			'label': _('Purchasing'),
-			'items': ['Material Request', 'Purchase Order']
+		'internal_links': {
+			'Quotation': ['items', 'prevdoc_docname']
 		},
-		{
-			'label': _('Projects'),
-			'items': ['Project']
-		},
-		{
-			'label': _('Manufacturing'),
-			'items': ['Production Order']
-		},
-		{
-			'label': _('Reference'),
-			'items': ['Quotation']
-		},
-	]
-}
\ No newline at end of file
+		'transactions': [
+			{
+				'label': _('Fulfillment'),
+				'items': ['Sales Invoice', 'Delivery Note']
+			},
+			{
+				'label': _('Purchasing'),
+				'items': ['Material Request', 'Purchase Order']
+			},
+			{
+				'label': _('Projects'),
+				'items': ['Project']
+			},
+			{
+				'label': _('Manufacturing'),
+				'items': ['Production Order']
+			},
+			{
+				'label': _('Reference'),
+				'items': ['Quotation']
+			},
+		]
+	}
\ No newline at end of file
diff --git a/erpnext/stock/doctype/delivery_note/delivery_note_dashboard.py b/erpnext/stock/doctype/delivery_note/delivery_note_dashboard.py
index c2b54f8..adbfa4d 100644
--- a/erpnext/stock/doctype/delivery_note/delivery_note_dashboard.py
+++ b/erpnext/stock/doctype/delivery_note/delivery_note_dashboard.py
@@ -1,26 +1,27 @@
 from frappe import _
 
-data = {
-	'fieldname': 'delivery_note_no',
-	'non_standard_fieldnames': {
-		'Sales Invoice': 'delivery_note',
-		'Packing Slip': 'delivery_note',
-	},
-	'internal_links': {
-		'Sales Order': ['items', 'against_sales_order'],
-	},
-	'transactions': [
-		{
-			'label': _('Related'),
-			'items': ['Sales Invoice', 'Packing Slip']
+def get_data():
+	return {
+		'fieldname': 'delivery_note_no',
+		'non_standard_fieldnames': {
+			'Sales Invoice': 'delivery_note',
+			'Packing Slip': 'delivery_note',
 		},
-		{
-			'label': _('Reference'),
-			'items': ['Sales Order', 'Quality Inspection']
+		'internal_links': {
+			'Sales Order': ['items', 'against_sales_order'],
 		},
-		{
-			'label': _('Returns'),
-			'items': ['Stock Entry']
-		},
-	]
-}
\ No newline at end of file
+		'transactions': [
+			{
+				'label': _('Related'),
+				'items': ['Sales Invoice', 'Packing Slip']
+			},
+			{
+				'label': _('Reference'),
+				'items': ['Sales Order', 'Quality Inspection']
+			},
+			{
+				'label': _('Returns'),
+				'items': ['Stock Entry']
+			},
+		]
+	}
\ No newline at end of file
diff --git a/erpnext/stock/doctype/item/item_dashboard.py b/erpnext/stock/doctype/item/item_dashboard.py
index e0f1c21..b40b196 100644
--- a/erpnext/stock/doctype/item/item_dashboard.py
+++ b/erpnext/stock/doctype/item/item_dashboard.py
@@ -1,45 +1,46 @@
 from frappe import _
 
-data = {
-	'heatmap': True,
-	'heatmap_message': _('This is based on stock movement. See {0} for details')\
-		.format('<a href="#query-report/Stock Ledger">' + _('Stock Ledger') + '</a>'),
-	'fieldname': 'item_code',
-	'non_standard_fieldnames': {
-		'Production Order': 'production_item',
-		'Product Bundle': 'new_item_code',
-		'BOM': 'item',
-		'Batch': 'item'
-	},
-	'transactions': [
-		{
-			'label': _('Groups'),
-			'items': ['BOM', 'Product Bundle']
+def get_data():
+	return {
+		'heatmap': True,
+		'heatmap_message': _('This is based on stock movement. See {0} for details')\
+			.format('<a href="#query-report/Stock Ledger">' + _('Stock Ledger') + '</a>'),
+		'fieldname': 'item_code',
+		'non_standard_fieldnames': {
+			'Production Order': 'production_item',
+			'Product Bundle': 'new_item_code',
+			'BOM': 'item',
+			'Batch': 'item'
 		},
-		{
-			'label': _('Pricing'),
-			'items': ['Item Price', 'Pricing Rule']
-		},
-		{
-			'label': _('Sell'),
-			'items': ['Quotation', 'Sales Order', 'Delivery Note', 'Sales Invoice']
-		},
-		{
-			'label': _('Buy'),
-			'items': ['Material Request', 'Supplier Quotation', 'Request for Quotation',
-				'Purchase Order', 'Purchase Invoice']
-		},
-		{
-			'label': _('Traceability'),
-			'items': ['Serial No', 'Batch']
-		},
-		{
-			'label': _('Move'),
-			'items': ['Stock Entry']
-		},
-		{
-			'label': _('Manufacture'),
-			'items': ['Production Order']
-		}
-	]
-}
\ No newline at end of file
+		'transactions': [
+			{
+				'label': _('Groups'),
+				'items': ['BOM', 'Product Bundle']
+			},
+			{
+				'label': _('Pricing'),
+				'items': ['Item Price', 'Pricing Rule']
+			},
+			{
+				'label': _('Sell'),
+				'items': ['Quotation', 'Sales Order', 'Delivery Note', 'Sales Invoice']
+			},
+			{
+				'label': _('Buy'),
+				'items': ['Material Request', 'Supplier Quotation', 'Request for Quotation',
+					'Purchase Order', 'Purchase Invoice']
+			},
+			{
+				'label': _('Traceability'),
+				'items': ['Serial No', 'Batch']
+			},
+			{
+				'label': _('Move'),
+				'items': ['Stock Entry']
+			},
+			{
+				'label': _('Manufacture'),
+				'items': ['Production Order']
+			}
+		]
+	}
\ No newline at end of file
diff --git a/erpnext/stock/doctype/material_request/material_request_dashboard.py b/erpnext/stock/doctype/material_request/material_request_dashboard.py
index 8547df1..5c7db17 100644
--- a/erpnext/stock/doctype/material_request/material_request_dashboard.py
+++ b/erpnext/stock/doctype/material_request/material_request_dashboard.py
@@ -1,11 +1,12 @@
 from frappe import _
 
-data = {
-	'fieldname': 'material_request',
-	'transactions': [
-		{
-			'label': _('Related'),
-			'items': ['Request for Quotation', 'Supplier Quotation', 'Purchase Order']
-		},
-	]
-}
\ No newline at end of file
+def get_data():
+	return {
+		'fieldname': 'material_request',
+		'transactions': [
+			{
+				'label': _('Related'),
+				'items': ['Request for Quotation', 'Supplier Quotation', 'Purchase Order']
+			},
+		]
+	}
\ No newline at end of file
diff --git a/erpnext/stock/doctype/purchase_receipt/purchase_receipt_dashboard.py b/erpnext/stock/doctype/purchase_receipt/purchase_receipt_dashboard.py
index 3278032..7059c91 100644
--- a/erpnext/stock/doctype/purchase_receipt/purchase_receipt_dashboard.py
+++ b/erpnext/stock/doctype/purchase_receipt/purchase_receipt_dashboard.py
@@ -1,28 +1,29 @@
 from frappe import _
 
-data = {
-	'fieldname': 'purchase_receipt_no',
-	'non_standard_fieldnames': {
-		'Purchase Invoice': 'purchase_receipt',
-		'Landed Cost Voucher': 'receipt_document'
-	},
-	'internal_links': {
-		'Purchase Order': ['items', 'purchase_order'],
-		'Project': ['items', 'project'],
-		'Quality Inspection': ['items', 'qa_no'],
-	},
-	'transactions': [
-		{
-			'label': _('Related'),
-			'items': ['Purchase Invoice', 'Landed Cost Voucher']
+def get_data():
+	return {
+		'fieldname': 'purchase_receipt_no',
+		'non_standard_fieldnames': {
+			'Purchase Invoice': 'purchase_receipt',
+			'Landed Cost Voucher': 'receipt_document'
 		},
-		{
-			'label': _('Reference'),
-			'items': ['Purchase Order', 'Quality Inspection', 'Project']
+		'internal_links': {
+			'Purchase Order': ['items', 'purchase_order'],
+			'Project': ['items', 'project'],
+			'Quality Inspection': ['items', 'qa_no'],
 		},
-		{
-			'label': _('Returns'),
-			'items': ['Stock Entry']
-		},
-	]
-}
\ No newline at end of file
+		'transactions': [
+			{
+				'label': _('Related'),
+				'items': ['Purchase Invoice', 'Landed Cost Voucher']
+			},
+			{
+				'label': _('Reference'),
+				'items': ['Purchase Order', 'Quality Inspection', 'Project']
+			},
+			{
+				'label': _('Returns'),
+				'items': ['Stock Entry']
+			},
+		]
+	}
\ No newline at end of file