diff --git a/erpnext/manufacturing/doctype/production_order/production_order.py b/erpnext/manufacturing/doctype/production_order/production_order.py
index 2440fde..b949dfc 100644
--- a/erpnext/manufacturing/doctype/production_order/production_order.py
+++ b/erpnext/manufacturing/doctype/production_order/production_order.py
@@ -250,6 +250,7 @@
 		timesheet = make_timesheet(self.name)
 		workstation_list = []
 		last_workstation_idx = {}
+		timesheet.set('time_logs', [])
 
 		for i, d in enumerate(self.operations):
 			if d.workstation and d.status != 'Completed':
diff --git a/erpnext/patches/v7_0/convert_timelog_to_timesheet.py b/erpnext/patches/v7_0/convert_timelog_to_timesheet.py
index 24a5f4e..3f5cca1 100644
--- a/erpnext/patches/v7_0/convert_timelog_to_timesheet.py
+++ b/erpnext/patches/v7_0/convert_timelog_to_timesheet.py
@@ -3,16 +3,20 @@
 from erpnext.manufacturing.doctype.production_order.production_order import make_timesheet, add_timesheet_detail
 
 def execute():
+	if "note" not in frappe.db.get_table_columns("timesheet"):
+		frappe.reload_doc('projects', 'doctype', 'timesheet')
+
 	for data in frappe.get_all('Time Log', fields=["*"],
 		filters = [["docstatus", "<", "2"]]):
 		time_sheet = make_timesheet(data.production_order)
-		args = get_timesheet_data(data)
+		args = get_timelog_data(data)
 		add_timesheet_detail(time_sheet, args)
 		time_sheet.docstatus = data.docstatus
+		time_sheet.note = data.note
 		time_sheet.company = frappe.db.get_single_value('Global Defaults', 'default_company')
 		time_sheet.save(ignore_permissions=True)
 
-def get_timesheet_data(data):
+def get_timelog_data(data):
 	return {
 		'billable': data.billable,
 		'from_time': data.from_time,
@@ -24,5 +28,9 @@
 		'operation': data.operation,
 		'operation_id': data.operation_id,
 		'workstation': data.workstation,
-		'completed_qty': data.completed_qty
+		'completed_qty': data.completed_qty,
+		'billing_rate': data.billing_rate,
+		'billing_amount': data.billing_amount,
+		'costing_rate': data.costing_rate,
+		'costing_amount': data.costing_amount
 	}
diff --git a/erpnext/patches/v7_0/convert_timelogbatch_to_timesheet.py b/erpnext/patches/v7_0/convert_timelogbatch_to_timesheet.py
index aeb5d2f..0eff8d4 100644
--- a/erpnext/patches/v7_0/convert_timelogbatch_to_timesheet.py
+++ b/erpnext/patches/v7_0/convert_timelogbatch_to_timesheet.py
@@ -1,8 +1,9 @@
 import frappe
 from frappe.utils import cint
 from erpnext.manufacturing.doctype.production_order.production_order import add_timesheet_detail
+from erpnext.patches.v7_0.convert_timelog_to_timesheet import get_timelog_data
 
-def execute():	
+def execute():
 	for tlb in frappe.get_all('Time Log Batch', fields=["*"], 
 		filters = [["docstatus", "<", "2"]]):
 		time_sheet = frappe.new_doc('Timesheet')
@@ -22,16 +23,4 @@
 	time_log = frappe.get_all('Time Log', fields=["*"],
 		filters = {'name': data.time_log})[0]
 
-	return {
-		'billable': time_log.billable,
-		'from_time': time_log.from_time,
-		'hours': time_log.hours,
-		'to_time': time_log.to_time,
-		'project': time_log.project,
-		'task': time_log.task,
-		'activity_type': time_log.activity_type,
-		'operation': time_log.operation,
-		'operation_id': time_log.operation_id,
-		'workstation': time_log.workstation,
-		'completed_qty': time_log.completed_qty
-	}
\ No newline at end of file
+	return get_timelog_data(time_log)
\ No newline at end of file
diff --git a/erpnext/patches/v7_0/move_timelogbatch_from_salesinvoiceitem_to_salesinvoicetimesheet.py b/erpnext/patches/v7_0/move_timelogbatch_from_salesinvoiceitem_to_salesinvoicetimesheet.py
index 3b06fdc..695c552 100644
--- a/erpnext/patches/v7_0/move_timelogbatch_from_salesinvoiceitem_to_salesinvoicetimesheet.py
+++ b/erpnext/patches/v7_0/move_timelogbatch_from_salesinvoiceitem_to_salesinvoicetimesheet.py
@@ -1,6 +1,8 @@
 import frappe
 
 def execute():
+	frappe.reload_doc('accounts', 'doctype', 'sales_invoice')
+	frappe.reload_doc('accounts', 'doctype', 'sales_invoice_payment')
 	for time_sheet in frappe.db.sql(""" select sales_invoice, name, total_billing_amount from `tabTimesheet`
 		where sales_invoice is not null and docstatus < 2""", as_dict=True):
 		si_doc = frappe.get_doc('Sales Invoice', time_sheet.sales_invoice)
diff --git a/erpnext/projects/doctype/timesheet/timesheet.json b/erpnext/projects/doctype/timesheet/timesheet.json
index 59af587..ac6093e 100644
--- a/erpnext/projects/doctype/timesheet/timesheet.json
+++ b/erpnext/projects/doctype/timesheet/timesheet.json
@@ -10,6 +10,7 @@
  "docstatus": 0, 
  "doctype": "DocType", 
  "document_type": "Document", 
+ "editable_grid": 1, 
  "fields": [
   {
    "allow_on_submit": 0, 
@@ -553,6 +554,55 @@
    "allow_on_submit": 0, 
    "bold": 0, 
    "collapsible": 0, 
+   "fieldname": "section_break_18", 
+   "fieldtype": "Section Break", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "length": 0, 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "fieldname": "note", 
+   "fieldtype": "Text Editor", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Note", 
+   "length": 0, 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
    "fieldname": "amended_from", 
    "fieldtype": "Link", 
    "hidden": 0, 
@@ -586,7 +636,7 @@
  "issingle": 0, 
  "istable": 0, 
  "max_attachments": 0, 
- "modified": "2016-07-06 18:36:21.103681", 
+ "modified": "2016-07-13 01:18:57.918882", 
  "modified_by": "Administrator", 
  "module": "Projects", 
  "name": "Timesheet", 
@@ -617,5 +667,5 @@
  "read_only": 0, 
  "read_only_onload": 0, 
  "sort_order": "ASC", 
- "track_seen": 1
+ "track_seen": 0
 }
\ No newline at end of file
diff --git a/erpnext/projects/doctype/timesheet/timesheet.py b/erpnext/projects/doctype/timesheet/timesheet.py
index 834e073..24a3796 100644
--- a/erpnext/projects/doctype/timesheet/timesheet.py
+++ b/erpnext/projects/doctype/timesheet/timesheet.py
@@ -87,8 +87,8 @@
 			if self.production_order and flt(pending_qty) < flt(data.completed_qty):
 				frappe.throw(_("Row {0}: Completed Qty cannot be more than {0} for operation {1}").format(data.idx, pending_qty, self.operation),
 					OverProductionLoggedError)
-					
-			if data.billable and flt(data.billing_rate) == 0.0:
+
+			if data.billable and flt(data.billing_rate) == 0.0 and data.activity_type:
 				frappe.throw(_("Row {0}: Billing Rate must be greater than zero.").format(data.idx))
 
 	def update_production_order(self, time_sheet):
