fix: move feature into update_billing_hours
diff --git a/erpnext/projects/doctype/timesheet/timesheet.js b/erpnext/projects/doctype/timesheet/timesheet.js
index bd48e55..defc18b 100644
--- a/erpnext/projects/doctype/timesheet/timesheet.js
+++ b/erpnext/projects/doctype/timesheet/timesheet.js
@@ -206,9 +206,6 @@
 		update_billing_hours(frm, cdt, cdn);
 		update_time_rates(frm, cdt, cdn);
 		calculate_billing_costing_amount(frm, cdt, cdn);
-
-		// bill all `hours` by default
-		frappe.model.set_value(cdt, cdn, "billing_hours", locals[cdt][cdn].hours);
 	},
 
 	activity_type: function(frm, cdt, cdn) {
@@ -261,7 +258,12 @@
 
 var update_billing_hours = function(frm, cdt, cdn){
 	var child = locals[cdt][cdn];
-	if(!child.billable) frappe.model.set_value(cdt, cdn, 'billing_hours', 0.0);
+	if(!child.billable) {
+		frappe.model.set_value(cdt, cdn, 'billing_hours', 0.0);
+	} else {
+		// bill all hours by default
+		frappe.model.set_value(cdt, cdn, "billing_hours", child.hours);
+	}
 };
 
 var update_time_rates = function(frm, cdt, cdn){