Merge branch 'develop' of https://github.com/frappe/erpnext into notification
diff --git a/erpnext/accounts/doctype/cheque_print_template/cheque_print_template.py b/erpnext/accounts/doctype/cheque_print_template/cheque_print_template.py
index 24cd3dd..d62ee9d 100644
--- a/erpnext/accounts/doctype/cheque_print_template/cheque_print_template.py
+++ b/erpnext/accounts/doctype/cheque_print_template/cheque_print_template.py
@@ -18,14 +18,14 @@
 			"doc_type": "Payment Entry",
 			"standard": "No",
 			"custom_format": 1,
-			"print_format_type": "Server",
+			"print_format_type": "Jinja",
 			"name": template_name
 		})
 	else:
 		cheque_print = frappe.get_doc("Print Format", template_name)
-	
+
 	doc = frappe.get_doc("Cheque Print Template", template_name)
-	
+
 	cheque_print.html = """
 <style>
 	.print-format {
@@ -91,9 +91,9 @@
 		"signatory_from_top_edge": doc.signatory_from_top_edge,
 		"signatory_from_left_edge": doc.signatory_from_left_edge
 	}
-		
+
 	cheque_print.save(ignore_permissions=True)
-	
+
 	frappe.db.set_value("Cheque Print Template", template_name, "has_print_format", 1)
-		
+
 	return cheque_print
diff --git a/erpnext/accounts/doctype/pos_profile/pos_profile.js b/erpnext/accounts/doctype/pos_profile/pos_profile.js
index a6386dd..10f127a 100755
--- a/erpnext/accounts/doctype/pos_profile/pos_profile.js
+++ b/erpnext/accounts/doctype/pos_profile/pos_profile.js
@@ -28,7 +28,7 @@
 			return {
 				filters: [
 					['Print Format', 'doc_type', '=', 'Sales Invoice'],
-					['Print Format', 'print_format_type', '=', 'Server'],
+					['Print Format', 'print_format_type', '=', 'Jinja'],
 				]
 			};
 		});
@@ -42,7 +42,7 @@
 		});
 
 		frm.set_query("print_format", function() {
-			return { filters: { doc_type: "Sales Invoice", print_format_type: "Js"} };
+			return { filters: { doc_type: "Sales Invoice", print_format_type: "JS"} };
 		});
 
 		frappe.db.get_value('POS Settings', 'POS Settings', 'use_pos_in_offline_mode', (r) => {
diff --git a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
index bd84506..5f4833c 100644
--- a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
+++ b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
@@ -1882,6 +1882,7 @@
    "collapsible": 0,
    "collapsible_depends_on": "",
    "columns": 0,
+   "fetch_if_empty": 0,
    "fieldname": "pricing_rule_details",
    "fieldtype": "Section Break",
    "hidden": 0,
@@ -1915,6 +1916,7 @@
    "collapsible": 0,
    "collapsible_depends_on": "",
    "columns": 0,
+   "fetch_if_empty": 0,
    "fieldname": "pricing_rules",
    "fieldtype": "Table",
    "hidden": 0,
@@ -2318,6 +2320,7 @@
    "bold": 0,
    "collapsible": 0,
    "columns": 0,
+   "fetch_if_empty": 0,
    "fieldname": "tax_category",
    "fieldtype": "Link",
    "hidden": 0,
@@ -2449,6 +2452,7 @@
    "bold": 0,
    "collapsible": 0,
    "columns": 0,
+   "fetch_if_empty": 0,
    "fieldname": "taxes_and_charges",
    "fieldtype": "Link",
    "hidden": 0,
@@ -2483,6 +2487,7 @@
    "bold": 0,
    "collapsible": 0,
    "columns": 0,
+   "fetch_if_empty": 0,
    "fieldname": "taxes",
    "fieldtype": "Table",
    "hidden": 0,
@@ -3947,7 +3952,7 @@
    "bold": 0,
    "collapsible": 0,
    "columns": 0,
-   "default": "1",
+   "default": "",
    "fetch_if_empty": 0,
    "fieldname": "allocate_advances_automatically",
    "fieldtype": "Check",
@@ -4957,18 +4962,16 @@
   }
  ],
  "has_web_view": 0,
- "hide_heading": 0,
  "hide_toolbar": 0,
  "icon": "fa fa-file-text",
  "idx": 204,
- "image_view": 0,
  "in_create": 0,
  "is_submittable": 1,
  "issingle": 0,
  "istable": 0,
  "max_attachments": 0,
  "menu_index": 0,
- "modified": "2019-04-11 16:08:22.288425",
+ "modified": "2019-04-22 12:08:12.648559",
  "modified_by": "Administrator",
  "module": "Accounts",
  "name": "Purchase Invoice",
@@ -5073,7 +5076,6 @@
  ],
  "quick_entry": 0,
  "read_only": 0,
- "read_only_onload": 1,
  "search_fields": "posting_date, supplier, bill_no, base_grand_total, outstanding_amount",
  "show_name_in_global_search": 1,
  "sort_field": "modified",
diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.json b/erpnext/accounts/doctype/sales_invoice/sales_invoice.json
index ffc5a1d..1ded272 100644
--- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.json
+++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.json
@@ -3731,7 +3731,7 @@
    "bold": 0,
    "collapsible": 0,
    "columns": 0,
-   "default": "1",
+   "default": "",
    "fetch_if_empty": 0,
    "fieldname": "allocate_advances_automatically",
    "fieldtype": "Check",
@@ -5915,7 +5915,7 @@
  "istable": 0,
  "max_attachments": 0,
  "menu_index": 0,
- "modified": "2019-04-11 17:08:11.629845",
+ "modified": "2019-04-22 12:07:58.168803",
  "modified_by": "Administrator",
  "module": "Accounts",
  "name": "Sales Invoice",
@@ -6010,4 +6010,4 @@
  "track_changes": 1,
  "track_seen": 1,
  "track_views": 0
-}
\ No newline at end of file
+}
diff --git a/erpnext/accounts/report/accounts_receivable/accounts_receivable.html b/erpnext/accounts/report/accounts_receivable/accounts_receivable.html
index 5ce80d1..1bff93c 100644
--- a/erpnext/accounts/report/accounts_receivable/accounts_receivable.html
+++ b/erpnext/accounts/report/accounts_receivable/accounts_receivable.html
@@ -107,8 +107,8 @@
 	<thead>
 		<tr>
 			{% if(report.report_name === "Accounts Receivable" || report.report_name === "Accounts Payable") { %}
-				<th style="width: 9%">{%= __("Date") %}</th>
-				<th style="width: 5%">{%= __("Age (Days)") %}</th>
+				<th style="width: 10%">{%= __("Date") %}</th>
+				<th style="width: 4%">{%= __("Age (Days)") %}</th>
 
 				{% if(report.report_name === "Accounts Receivable" && filters.show_sales_person_in_print) { %}
 					<th style="width: 16%">{%= __("Reference") %}</th>
@@ -206,7 +206,7 @@
 					{% if(!filters.show_pdc_in_print) { %}
 					<td></td>
 					{% } %}
-					{% if(report.report_name === "Accounts Receivable") { %}
+					{% if(report.report_name === "Accounts Receivable" && filters.show_sales_person_in_print) { %}
 					<td></td>
 					{% } %}
 					<td></td>
diff --git a/erpnext/hooks.py b/erpnext/hooks.py
index d8532fa..608e8b2 100644
--- a/erpnext/hooks.py
+++ b/erpnext/hooks.py
@@ -74,7 +74,7 @@
 
 website_context = {
 	"favicon": 	"/assets/erpnext/images/favicon.png",
-	"splash_image": "/assets/erpnext/images/erpnext-12.svg"
+	"splash_image": "/assets/erpnext/images/erp-icon.svg"
 }
 
 website_route_rules = [
diff --git a/erpnext/hr/doctype/additional_salary/additional_salary.py b/erpnext/hr/doctype/additional_salary/additional_salary.py
index 968a1c4..9ca1260 100644
--- a/erpnext/hr/doctype/additional_salary/additional_salary.py
+++ b/erpnext/hr/doctype/additional_salary/additional_salary.py
@@ -51,7 +51,7 @@
 	for d in additional_components:
 		component = frappe.get_doc("Salary Component", d.salary_component)
 		struct_row = {'salary_component': d.salary_component}
-		for field in ["depends_on_lwp", "abbr", "is_tax_applicable", "variable_based_on_taxable_salary", "is_additional_component"]:
+		for field in ["depends_on_payment_days", "abbr", "is_tax_applicable", "variable_based_on_taxable_salary", "is_additional_component"]:
 			struct_row[field] = component.get(field)
 
 		additional_components_list.append({
diff --git a/erpnext/hr/doctype/employee_benefit_application/employee_benefit_application.py b/erpnext/hr/doctype/employee_benefit_application/employee_benefit_application.py
index 9b6dba5..c613a13 100644
--- a/erpnext/hr/doctype/employee_benefit_application/employee_benefit_application.py
+++ b/erpnext/hr/doctype/employee_benefit_application/employee_benefit_application.py
@@ -113,7 +113,7 @@
 def get_max_benefits_remaining(employee, on_date, payroll_period):
 	max_benefits = get_max_benefits(employee, on_date)
 	if max_benefits and max_benefits > 0:
-		have_depends_on_lwp = False
+		have_depends_on_payment_days = False
 		per_day_amount_total = 0
 		payroll_period_days = get_payroll_period_days(on_date, on_date, employee)[0]
 		payroll_period_obj = frappe.get_doc("Payroll Period", payroll_period)
@@ -122,22 +122,22 @@
 		prev_sal_slip_flexi_total = get_sal_slip_total_benefit_given(employee, payroll_period_obj)
 
 		if prev_sal_slip_flexi_total > 0:
-			# Check salary structure hold depends_on_lwp component
+			# Check salary structure hold depends_on_payment_days component
 			# If yes then find the amount per day of each component and find the sum
 			sal_struct_name = get_assigned_salary_structure(employee, on_date)
 			if sal_struct_name:
 				sal_struct = frappe.get_doc("Salary Structure", sal_struct_name)
 				for sal_struct_row in sal_struct.get("earnings"):
 					salary_component = frappe.get_doc("Salary Component", sal_struct_row.salary_component)
-					if salary_component.depends_on_lwp == 1 and salary_component.pay_against_benefit_claim != 1:
-						have_depends_on_lwp = True
+					if salary_component.depends_on_payment_days == 1 and salary_component.pay_against_benefit_claim != 1:
+						have_depends_on_payment_days = True
 						benefit_amount = get_benefit_pro_rata_ratio_amount(sal_struct, salary_component.max_benefit_amount)
 						amount_per_day = benefit_amount / payroll_period_days
 						per_day_amount_total += amount_per_day
 
 			# Then the sum multiply with the no of lwp in that period
 			# Include that amount to the prev_sal_slip_flexi_total to get the actual
-			if have_depends_on_lwp and per_day_amount_total > 0:
+			if have_depends_on_payment_days and per_day_amount_total > 0:
 				holidays = get_holidays_for_employee(employee, payroll_period_obj.start_date, on_date)
 				working_days = date_diff(on_date, payroll_period_obj.start_date) + 1
 				leave_days = calculate_lwp(employee, payroll_period_obj.start_date, holidays, working_days)
@@ -185,7 +185,7 @@
 		'payroll_period': payroll_period
 	})
 
-	if frappe.db.get_value("Salary Component", struct_row.salary_component, "depends_on_lwp") != 1:
+	if frappe.db.get_value("Salary Component", struct_row.salary_component, "depends_on_payment_days") != 1:
 		if frequency == "Monthly" and actual_payroll_days in range(360, 370):
 			period_length = 1
 			period_factor = 12
diff --git a/erpnext/hr/doctype/employee_benefit_claim/employee_benefit_claim.py b/erpnext/hr/doctype/employee_benefit_claim/employee_benefit_claim.py
index bf150b1..8be67a8 100644
--- a/erpnext/hr/doctype/employee_benefit_claim/employee_benefit_claim.py
+++ b/erpnext/hr/doctype/employee_benefit_claim/employee_benefit_claim.py
@@ -170,7 +170,7 @@
 						amount += current_claimed_amount
 						struct_row = {}
 						salary_components_dict = {}
-						struct_row['depends_on_lwp'] = salary_component.depends_on_lwp
+						struct_row['depends_on_payment_days'] = salary_component.depends_on_payment_days
 						struct_row['salary_component'] = salary_component.name
 						struct_row['abbr'] = salary_component.salary_component_abbr
 						struct_row['do_not_include_in_total'] = salary_component.do_not_include_in_total
diff --git a/erpnext/hr/doctype/salary_component/salary_component.js b/erpnext/hr/doctype/salary_component/salary_component.js
index b33451b..1d398cc 100644
--- a/erpnext/hr/doctype/salary_component/salary_component.js
+++ b/erpnext/hr/doctype/salary_component/salary_component.js
@@ -75,5 +75,5 @@
 	frm.set_value("amount_based_on_formula", 0);
 	frm.set_value("statistical_component", 0);
 	frm.set_value("do_not_include_in_total", 0);
-	frm.set_value("depends_on_lwp", 0);
+	frm.set_value("depends_on_payment_days", 0);
 };
diff --git a/erpnext/hr/doctype/salary_component/salary_component.json b/erpnext/hr/doctype/salary_component/salary_component.json
index f7ce08c..697d224 100644
--- a/erpnext/hr/doctype/salary_component/salary_component.json
+++ b/erpnext/hr/doctype/salary_component/salary_component.json
@@ -1,5 +1,6 @@
 {
  "allow_copy": 0, 
+ "allow_events_in_timeline": 0, 
  "allow_guest_to_view": 0, 
  "allow_import": 1, 
  "allow_rename": 1, 
@@ -19,6 +20,7 @@
    "bold": 0, 
    "collapsible": 0, 
    "columns": 0, 
+   "fetch_if_empty": 0, 
    "fieldname": "salary_component", 
    "fieldtype": "Data", 
    "hidden": 0, 
@@ -51,6 +53,7 @@
    "bold": 0, 
    "collapsible": 0, 
    "columns": 0, 
+   "fetch_if_empty": 0, 
    "fieldname": "salary_component_abbr", 
    "fieldtype": "Data", 
    "hidden": 0, 
@@ -85,6 +88,7 @@
    "bold": 0, 
    "collapsible": 0, 
    "columns": 0, 
+   "fetch_if_empty": 0, 
    "fieldname": "type", 
    "fieldtype": "Select", 
    "hidden": 0, 
@@ -119,6 +123,7 @@
    "collapsible": 0, 
    "columns": 0, 
    "depends_on": "eval:doc.is_flexible_benefit != 1", 
+   "fetch_if_empty": 0, 
    "fieldname": "is_additional_component", 
    "fieldtype": "Check", 
    "hidden": 0, 
@@ -153,6 +158,7 @@
    "columns": 0, 
    "default": "1", 
    "depends_on": "eval:doc.type == \"Earning\"", 
+   "fetch_if_empty": 0, 
    "fieldname": "is_tax_applicable", 
    "fieldtype": "Check", 
    "hidden": 0, 
@@ -186,6 +192,7 @@
    "collapsible": 0, 
    "columns": 0, 
    "default": "1", 
+   "fetch_if_empty": 0, 
    "fieldname": "is_payable", 
    "fieldtype": "Check", 
    "hidden": 0, 
@@ -218,7 +225,9 @@
    "bold": 0, 
    "collapsible": 0, 
    "columns": 0, 
-   "fieldname": "depends_on_lwp", 
+   "default": "1", 
+   "fetch_if_empty": 0, 
+   "fieldname": "depends_on_payment_days", 
    "fieldtype": "Check", 
    "hidden": 0, 
    "ignore_user_permissions": 0, 
@@ -227,7 +236,7 @@
    "in_global_search": 0, 
    "in_list_view": 0, 
    "in_standard_filter": 0, 
-   "label": "Depends on Leave Without Pay", 
+   "label": "Depends on Payment Days", 
    "length": 0, 
    "no_copy": 0, 
    "permlevel": 0, 
@@ -250,6 +259,7 @@
    "bold": 0, 
    "collapsible": 0, 
    "columns": 0, 
+   "fetch_if_empty": 0, 
    "fieldname": "do_not_include_in_total", 
    "fieldtype": "Check", 
    "hidden": 0, 
@@ -282,6 +292,7 @@
    "bold": 0, 
    "collapsible": 0, 
    "columns": 0, 
+   "fetch_if_empty": 0, 
    "fieldname": "column_break_4", 
    "fieldtype": "Column Break", 
    "hidden": 0, 
@@ -313,6 +324,7 @@
    "bold": 0, 
    "collapsible": 0, 
    "columns": 0, 
+   "fetch_if_empty": 0, 
    "fieldname": "disabled", 
    "fieldtype": "Check", 
    "hidden": 0, 
@@ -345,6 +357,7 @@
    "bold": 0, 
    "collapsible": 0, 
    "columns": 0, 
+   "fetch_if_empty": 0, 
    "fieldname": "description", 
    "fieldtype": "Small Text", 
    "hidden": 0, 
@@ -378,6 +391,7 @@
    "collapsible": 0, 
    "columns": 0, 
    "description": "If selected, the value specified or calculated in this component will not contribute to the earnings or deductions. However, it's value can be referenced by other components that can be added or deducted. ", 
+   "fetch_if_empty": 0, 
    "fieldname": "statistical_component", 
    "fieldtype": "Check", 
    "hidden": 0, 
@@ -411,6 +425,7 @@
    "collapsible": 0, 
    "columns": 0, 
    "depends_on": "eval:doc.type==\"Earning\" && doc.is_additional_component != 1 && doc.statistical_component!=1", 
+   "fetch_if_empty": 0, 
    "fieldname": "flexible_benefits", 
    "fieldtype": "Section Break", 
    "hidden": 0, 
@@ -444,6 +459,7 @@
    "collapsible": 0, 
    "columns": 0, 
    "depends_on": "eval:doc.is_additional_component != 1", 
+   "fetch_if_empty": 0, 
    "fieldname": "is_flexible_benefit", 
    "fieldtype": "Check", 
    "hidden": 0, 
@@ -477,6 +493,7 @@
    "collapsible": 0, 
    "columns": 0, 
    "depends_on": "is_flexible_benefit", 
+   "fetch_if_empty": 0, 
    "fieldname": "max_benefit_amount", 
    "fieldtype": "Currency", 
    "hidden": 0, 
@@ -509,6 +526,7 @@
    "bold": 0, 
    "collapsible": 0, 
    "columns": 0, 
+   "fetch_if_empty": 0, 
    "fieldname": "column_break_9", 
    "fieldtype": "Column Break", 
    "hidden": 0, 
@@ -541,6 +559,7 @@
    "collapsible": 0, 
    "columns": 0, 
    "depends_on": "is_flexible_benefit", 
+   "fetch_if_empty": 0, 
    "fieldname": "pay_against_benefit_claim", 
    "fieldtype": "Check", 
    "hidden": 0, 
@@ -574,6 +593,7 @@
    "collapsible": 0, 
    "columns": 0, 
    "depends_on": "eval:doc.is_flexible_benefit == 1 & doc.create_separate_payment_entry_against_benefit_claim !=1", 
+   "fetch_if_empty": 0, 
    "fieldname": "only_tax_impact", 
    "fieldtype": "Check", 
    "hidden": 0, 
@@ -607,6 +627,7 @@
    "collapsible": 0, 
    "columns": 0, 
    "depends_on": "eval:doc.is_flexible_benefit == 1 & doc.only_tax_impact !=1", 
+   "fetch_if_empty": 0, 
    "fieldname": "create_separate_payment_entry_against_benefit_claim", 
    "fieldtype": "Check", 
    "hidden": 0, 
@@ -640,6 +661,7 @@
    "collapsible": 0, 
    "columns": 0, 
    "depends_on": "eval:doc.type=='Deduction'", 
+   "fetch_if_empty": 0, 
    "fieldname": "section_break_11", 
    "fieldtype": "Section Break", 
    "hidden": 0, 
@@ -671,6 +693,7 @@
    "bold": 0, 
    "collapsible": 0, 
    "columns": 0, 
+   "fetch_if_empty": 0, 
    "fieldname": "variable_based_on_taxable_salary", 
    "fieldtype": "Check", 
    "hidden": 0, 
@@ -704,6 +727,7 @@
    "collapsible": 0, 
    "columns": 0, 
    "depends_on": "eval:doc.statistical_component != 1", 
+   "fetch_if_empty": 0, 
    "fieldname": "section_break_5", 
    "fieldtype": "Section Break", 
    "hidden": 0, 
@@ -736,6 +760,7 @@
    "bold": 0, 
    "collapsible": 0, 
    "columns": 0, 
+   "fetch_if_empty": 0, 
    "fieldname": "accounts", 
    "fieldtype": "Table", 
    "hidden": 0, 
@@ -771,6 +796,7 @@
    "collapsible_depends_on": "", 
    "columns": 0, 
    "depends_on": "eval:doc.is_flexible_benefit != 1 && doc.variable_based_on_taxable_salary != 1", 
+   "fetch_if_empty": 0, 
    "fieldname": "condition_and_formula", 
    "fieldtype": "Section Break", 
    "hidden": 0, 
@@ -803,6 +829,7 @@
    "bold": 0, 
    "collapsible": 0, 
    "columns": 0, 
+   "fetch_if_empty": 0, 
    "fieldname": "condition", 
    "fieldtype": "Code", 
    "hidden": 0, 
@@ -836,6 +863,7 @@
    "collapsible": 0, 
    "columns": 0, 
    "default": "", 
+   "fetch_if_empty": 0, 
    "fieldname": "amount_based_on_formula", 
    "fieldtype": "Check", 
    "hidden": 0, 
@@ -869,6 +897,7 @@
    "collapsible": 0, 
    "columns": 0, 
    "depends_on": "eval:doc.amount_based_on_formula!==0", 
+   "fetch_if_empty": 0, 
    "fieldname": "formula", 
    "fieldtype": "Code", 
    "hidden": 0, 
@@ -902,6 +931,7 @@
    "collapsible": 0, 
    "columns": 0, 
    "depends_on": "eval:doc.amount_based_on_formula!==1", 
+   "fetch_if_empty": 0, 
    "fieldname": "amount", 
    "fieldtype": "Currency", 
    "hidden": 0, 
@@ -934,6 +964,7 @@
    "bold": 0, 
    "collapsible": 0, 
    "columns": 0, 
+   "fetch_if_empty": 0, 
    "fieldname": "column_break_28", 
    "fieldtype": "Column Break", 
    "hidden": 0, 
@@ -965,6 +996,7 @@
    "bold": 0, 
    "collapsible": 0, 
    "columns": 0, 
+   "fetch_if_empty": 0, 
    "fieldname": "help", 
    "fieldtype": "HTML", 
    "hidden": 0, 
@@ -1003,7 +1035,7 @@
  "issingle": 0, 
  "istable": 0, 
  "max_attachments": 0, 
- "modified": "2018-09-20 16:44:58.876044", 
+ "modified": "2019-04-16 19:08:55.323567", 
  "modified_by": "Administrator", 
  "module": "HR", 
  "name": "Salary Component", 
diff --git a/erpnext/hr/doctype/salary_detail/salary_detail.json b/erpnext/hr/doctype/salary_detail/salary_detail.json
index 0ec3cd6..8f2649a 100644
--- a/erpnext/hr/doctype/salary_detail/salary_detail.json
+++ b/erpnext/hr/doctype/salary_detail/salary_detail.json
@@ -19,6 +19,7 @@
    "bold": 0, 
    "collapsible": 0, 
    "columns": 0, 
+   "fetch_if_empty": 0, 
    "fieldname": "salary_component", 
    "fieldtype": "Link", 
    "hidden": 0, 
@@ -55,6 +56,7 @@
    "default": "", 
    "depends_on": "eval:doc.parenttype=='Salary Structure'", 
    "fetch_from": "salary_component.salary_component_abbr", 
+   "fetch_if_empty": 0, 
    "fieldname": "abbr", 
    "fieldtype": "Data", 
    "hidden": 0, 
@@ -88,6 +90,7 @@
    "bold": 0, 
    "collapsible": 0, 
    "columns": 0, 
+   "fetch_if_empty": 0, 
    "fieldname": "column_break_3", 
    "fieldtype": "Column Break", 
    "hidden": 0, 
@@ -121,6 +124,7 @@
    "columns": 0, 
    "description": "If selected, the value specified or calculated in this component will not contribute to the earnings or deductions. However, it's value can be referenced by other components that can be added or deducted. ", 
    "fetch_from": "salary_component.statistical_component", 
+   "fetch_if_empty": 0, 
    "fieldname": "statistical_component", 
    "fieldtype": "Check", 
    "hidden": 0, 
@@ -154,6 +158,7 @@
    "collapsible": 0, 
    "columns": 0, 
    "fetch_from": "salary_component.is_tax_applicable", 
+   "fetch_if_empty": 0, 
    "fieldname": "is_tax_applicable", 
    "fieldtype": "Check", 
    "hidden": 0, 
@@ -187,6 +192,7 @@
    "collapsible": 0, 
    "columns": 0, 
    "fetch_from": "salary_component.is_flexible_benefit", 
+   "fetch_if_empty": 0, 
    "fieldname": "is_flexible_benefit", 
    "fieldtype": "Check", 
    "hidden": 0, 
@@ -221,6 +227,7 @@
    "columns": 0, 
    "default": "", 
    "fetch_from": "salary_component.is_additional_component", 
+   "fetch_if_empty": 0, 
    "fieldname": "is_additional_component", 
    "fieldtype": "Check", 
    "hidden": 1, 
@@ -255,6 +262,7 @@
    "columns": 0, 
    "default": "", 
    "fetch_from": "salary_component.variable_based_on_taxable_salary", 
+   "fetch_if_empty": 0, 
    "fieldname": "variable_based_on_taxable_salary", 
    "fieldtype": "Check", 
    "hidden": 0, 
@@ -288,8 +296,9 @@
    "collapsible": 0, 
    "columns": 0, 
    "depends_on": "", 
-   "fetch_from": "salary_component.depends_on_lwp", 
-   "fieldname": "depends_on_lwp", 
+   "fetch_from": "salary_component.depends_on_payment_days", 
+   "fetch_if_empty": 0, 
+   "fieldname": "depends_on_payment_days", 
    "fieldtype": "Check", 
    "hidden": 0, 
    "ignore_user_permissions": 0, 
@@ -298,7 +307,7 @@
    "in_global_search": 0, 
    "in_list_view": 0, 
    "in_standard_filter": 0, 
-   "label": "Depends on Leave Without Pay", 
+   "label": "Depends on Payment Days", 
    "length": 0, 
    "no_copy": 0, 
    "permlevel": 0, 
@@ -322,6 +331,7 @@
    "collapsible": 0, 
    "columns": 0, 
    "depends_on": "eval:doc.is_flexible_benefit != 1", 
+   "fetch_if_empty": 0, 
    "fieldname": "section_break_2", 
    "fieldtype": "Section Break", 
    "hidden": 0, 
@@ -354,6 +364,7 @@
    "collapsible": 0, 
    "columns": 0, 
    "depends_on": "eval:doc.parenttype=='Salary Structure'", 
+   "fetch_if_empty": 0, 
    "fieldname": "condition", 
    "fieldtype": "Code", 
    "hidden": 0, 
@@ -389,6 +400,7 @@
    "default": "0", 
    "depends_on": "eval:doc.parenttype=='Salary Structure'", 
    "fetch_from": "", 
+   "fetch_if_empty": 0, 
    "fieldname": "amount_based_on_formula", 
    "fieldtype": "Check", 
    "hidden": 0, 
@@ -425,6 +437,7 @@
    "default": "", 
    "depends_on": "eval:doc.amount_based_on_formula!==0 && doc.parenttype==='Salary Structure'", 
    "description": "", 
+   "fetch_if_empty": 0, 
    "fieldname": "formula", 
    "fieldtype": "Code", 
    "hidden": 0, 
@@ -458,6 +471,7 @@
    "collapsible": 0, 
    "columns": 0, 
    "depends_on": "eval:doc.amount_based_on_formula!==1 || doc.parenttype==='Salary Slip'", 
+   "fetch_if_empty": 0, 
    "fieldname": "amount", 
    "fieldtype": "Currency", 
    "hidden": 0, 
@@ -491,6 +505,7 @@
    "bold": 0, 
    "collapsible": 0, 
    "columns": 0, 
+   "fetch_if_empty": 0, 
    "fieldname": "do_not_include_in_total", 
    "fieldtype": "Check", 
    "hidden": 0, 
@@ -524,6 +539,7 @@
    "collapsible": 0, 
    "columns": 0, 
    "depends_on": "eval:doc.parenttype=='Salary Structure'", 
+   "fetch_if_empty": 0, 
    "fieldname": "default_amount", 
    "fieldtype": "Currency", 
    "hidden": 0, 
@@ -558,6 +574,7 @@
    "collapsible": 0, 
    "columns": 0, 
    "depends_on": "eval:doc.parenttype=='Salary Slip' && doc.parentfield=='deductions' && doc.variable_based_on_taxable_salary == 1", 
+   "fetch_if_empty": 0, 
    "fieldname": "tax_on_flexible_benefit", 
    "fieldtype": "Currency", 
    "hidden": 0, 
@@ -591,6 +608,7 @@
    "collapsible": 0, 
    "columns": 0, 
    "depends_on": "eval:doc.parenttype=='Salary Slip' && doc.parentfield=='deductions' && doc.variable_based_on_taxable_salary == 1", 
+   "fetch_if_empty": 0, 
    "fieldname": "tax_on_additional_salary", 
    "fieldtype": "Currency", 
    "hidden": 0, 
@@ -624,6 +642,7 @@
    "collapsible": 0, 
    "columns": 0, 
    "depends_on": "eval:doc.parenttype=='Salary Structure'", 
+   "fetch_if_empty": 0, 
    "fieldname": "section_break_11", 
    "fieldtype": "Column Break", 
    "hidden": 0, 
@@ -656,6 +675,7 @@
    "collapsible": 0, 
    "columns": 0, 
    "depends_on": "eval:doc.parenttype=='Salary Structure'", 
+   "fetch_if_empty": 0, 
    "fieldname": "condition_and_formula_help", 
    "fieldtype": "HTML", 
    "hidden": 0, 
@@ -693,7 +713,7 @@
  "issingle": 0, 
  "istable": 1, 
  "max_attachments": 0, 
- "modified": "2019-02-04 14:41:56.030991", 
+ "modified": "2019-04-16 19:09:31.726597", 
  "modified_by": "Administrator", 
  "module": "HR", 
  "name": "Salary Detail", 
diff --git a/erpnext/hr/doctype/salary_slip/salary_slip.js b/erpnext/hr/doctype/salary_slip/salary_slip.js
index 86c50d0..4e9fcce 100644
--- a/erpnext/hr/doctype/salary_slip/salary_slip.js
+++ b/erpnext/hr/doctype/salary_slip/salary_slip.js
@@ -132,9 +132,6 @@
 	});
 }
 
-cur_frm.cscript.employee = function(doc,dt,dn){
-	get_emp_and_leave_details(doc, dt, dn);
-}
 
 cur_frm.cscript.leave_without_pay = function(doc,dt,dn){
 	if (doc.employee && doc.start_date && doc.end_date) {
@@ -160,7 +157,7 @@
 	calculate_all(doc, dt, dn);
 }
 
-cur_frm.cscript.depends_on_lwp = function(doc,dt,dn){
+cur_frm.cscript.depends_on_payment_days = function(doc,dt,dn){
 	calculate_earning_total(doc, dt, dn, true);
 	calculate_ded_total(doc, dt, dn, true);
 	calculate_net_pay(doc, dt, dn);
@@ -174,7 +171,7 @@
 	var tbl = doc.earnings || [];
 	var total_earn = 0;
 	for(var i = 0; i < tbl.length; i++){
-		if(cint(tbl[i].depends_on_lwp) == 1) {
+		if(cint(tbl[i].depends_on_payment_days) == 1) {
 			tbl[i].amount =  Math.round(tbl[i].default_amount)*(flt(doc.payment_days) /
 				cint(doc.total_working_days)*100)/100;
 		} else if(reset_amount && tbl[i].default_amount) {
@@ -196,7 +193,7 @@
 	var tbl = doc.deductions || [];
 	var total_ded = 0;
 	for(var i = 0; i < tbl.length; i++){
-		if(cint(tbl[i].depends_on_lwp) == 1) {
+		if(cint(tbl[i].depends_on_payment_days) == 1) {
 			tbl[i].amount = Math.round(tbl[i].default_amount)*(flt(doc.payment_days)/cint(doc.total_working_days)*100)/100;
 		} else if(reset_amount && tbl[i].default_amount) {
 			tbl[i].amount = tbl[i].default_amount;
@@ -209,16 +206,12 @@
 	refresh_many(['deductions', 'total_deduction']);
 }
 
-// Calculate net payable amount
-// ------------------------------------------------------------------------
 var calculate_net_pay = function(doc, dt, dn) {
 	doc.net_pay = flt(doc.gross_pay) - flt(doc.total_deduction);
 	doc.rounded_total = Math.round(doc.net_pay);
 	refresh_many(['net_pay', 'rounded_total']);
 }
 
-// validate
-// ------------------------------------------------------------------------
 cur_frm.cscript.validate = function(doc, dt, dn) {
 	calculate_all(doc, dt, dn);
 }
diff --git a/erpnext/hr/doctype/salary_slip/salary_slip.py b/erpnext/hr/doctype/salary_slip/salary_slip.py
index 3568e2d..9e13cb6 100644
--- a/erpnext/hr/doctype/salary_slip/salary_slip.py
+++ b/erpnext/hr/doctype/salary_slip/salary_slip.py
@@ -131,11 +131,12 @@
 		for d in self.get(key):
 			if d.salary_component == struct_row.salary_component:
 				component_row = d
+
 		if not component_row:
 			self.append(key, {
 				'amount': amount,
 				'default_amount': amount,
-				'depends_on_lwp' : struct_row.depends_on_lwp,
+				'depends_on_payment_days' : struct_row.depends_on_payment_days,
 				'salary_component' : struct_row.salary_component,
 				'abbr' : struct_row.abbr,
 				'do_not_include_in_total' : struct_row.do_not_include_in_total,
@@ -147,12 +148,11 @@
 				'tax_on_additional_salary': additional_tax
 			})
 		else:
-			if overwrite:
-				component_row.default_amount = amount
-				component_row.amount = amount
-			else:
-				component_row.default_amount += amount
-				component_row.amount = component_row.default_amount
+			if not overwrite:
+				amount += struct_row.get("default_amount", 0)
+
+			component_row.default_amount = amount
+			component_row.amount = amount
 
 			component_row.tax_on_flexible_benefit = benefit_tax
 			component_row.tax_on_additional_salary = additional_tax
@@ -418,7 +418,7 @@
 
 		for d in self.get(component_type):
 			if (self.salary_structure and
-				cint(d.depends_on_lwp) and
+				cint(d.depends_on_payment_days) and
 				(not
 				    self.salary_slip_based_on_timesheet or
 					getdate(self.start_date) < joining_date or
@@ -431,7 +431,7 @@
 				)
 
 			elif not self.payment_days and not self.salary_slip_based_on_timesheet and \
-				cint(d.depends_on_lwp):
+				cint(d.depends_on_payment_days):
 				d.amount = 0
 			elif not d.amount:
 				d.amount = d.default_amount
@@ -787,7 +787,7 @@
 		component = frappe.get_doc("Salary Component", salary_component)
 		# Data for update_component_row
 		struct_row = {}
-		struct_row['depends_on_lwp'] = component.depends_on_lwp
+		struct_row['depends_on_payment_days'] = component.depends_on_payment_days
 		struct_row['salary_component'] = component.name
 		struct_row['abbr'] = component.salary_component_abbr
 		struct_row['do_not_include_in_total'] = component.do_not_include_in_total
diff --git a/erpnext/hr/doctype/salary_structure/salary_structure.js b/erpnext/hr/doctype/salary_structure/salary_structure.js
index 79d75bf..e3f37e7 100755
--- a/erpnext/hr/doctype/salary_structure/salary_structure.js
+++ b/erpnext/hr/doctype/salary_structure/salary_structure.js
@@ -246,7 +246,7 @@
 							frappe.model.set_value(cdt, cdn, 'amount', result.amount);
 						}
 						frappe.model.set_value(cdt, cdn, 'statistical_component', result.statistical_component);
-						frappe.model.set_value(cdt, cdn, 'depends_on_lwp', result.depends_on_lwp);
+						frappe.model.set_value(cdt, cdn, 'depends_on_payment_days', result.depends_on_payment_days);
 						frappe.model.set_value(cdt, cdn, 'do_not_include_in_total', result.do_not_include_in_total);
 						frappe.model.set_value(cdt, cdn, 'variable_based_on_taxable_salary', result.variable_based_on_taxable_salary);
 						frappe.model.set_value(cdt, cdn, 'is_tax_applicable', result.is_tax_applicable);
diff --git a/erpnext/hr/doctype/salary_structure/salary_structure.py b/erpnext/hr/doctype/salary_structure/salary_structure.py
index 202ae9b..26efd00 100644
--- a/erpnext/hr/doctype/salary_structure/salary_structure.py
+++ b/erpnext/hr/doctype/salary_structure/salary_structure.py
@@ -18,7 +18,7 @@
 		self.validate_max_benefits_with_flexi()
 
 	def set_missing_values(self):
-		overwritten_fields = ["depends_on_lwp", "variable_based_on_taxable_salary", "is_tax_applicable", "is_flexible_benefit"]
+		overwritten_fields = ["depends_on_payment_days", "variable_based_on_taxable_salary", "is_tax_applicable", "is_flexible_benefit"]
 		overwritten_fields_if_missing = ["amount_based_on_formula", "formula", "amount"]
 		for table in ["earnings", "deductions"]:
 			for d in self.get(table):
@@ -126,7 +126,7 @@
 
 def get_existing_assignments(employees, salary_structure,from_date):
 	salary_structures_assignments = frappe.db.sql_list("""
-		select distinct employee from `tabSalary Structure Assignment` 
+		select distinct employee from `tabSalary Structure Assignment`
 		where salary_structure=%s and employee in (%s)
 		and from_date=%s and docstatus=1
 	""" % ('%s', ', '.join(['%s']*len(employees)),'%s'), [salary_structure] + employees+[from_date])
diff --git a/erpnext/hr/print_format/salary_slip_based_on_timesheet/salary_slip_based_on_timesheet.json b/erpnext/hr/print_format/salary_slip_based_on_timesheet/salary_slip_based_on_timesheet.json
index 20c7d23..ceaf4a6 100644
--- a/erpnext/hr/print_format/salary_slip_based_on_timesheet/salary_slip_based_on_timesheet.json
+++ b/erpnext/hr/print_format/salary_slip_based_on_timesheet/salary_slip_based_on_timesheet.json
@@ -1,18 +1,18 @@
 {
- "creation": "2016-07-07 12:38:32.447281", 
- "custom_format": 0, 
- "disabled": 0, 
- "doc_type": "Salary Slip", 
- "docstatus": 0, 
- "doctype": "Print Format", 
- "font": "Default", 
- "format_data": "[{\"fieldname\": \"print_heading_template\", \"fieldtype\": \"HTML\", \"options\": \"  <h3 style=\\\"text-align: right;\\\">{{doc.name}}</h3><div><hr></div>  \"}, {\"fieldtype\": \"Section Break\"}, {\"fieldtype\": \"Column Break\"}, {\"print_hide\": 0, \"fieldname\": \"employee\"}, {\"print_hide\": 0, \"fieldname\": \"employee_name\"}, {\"print_hide\": 0, \"fieldname\": \"department\"}, {\"print_hide\": 0, \"fieldname\": \"designation\"}, {\"print_hide\": 0, \"fieldname\": \"branch\"}, {\"fieldtype\": \"Column Break\"}, {\"print_hide\": 0, \"fieldname\": \"start_date\"}, {\"print_hide\": 0, \"fieldname\": \"end_date\"}, {\"print_hide\": 0, \"fieldname\": \"total_working_hours\"}, {\"print_hide\": 0, \"fieldname\": \"hour_rate\"}, {\"fieldtype\": \"Section Break\"}, {\"fieldtype\": \"Column Break\"}, {\"visible_columns\": [{\"print_hide\": 0, \"fieldname\": \"time_sheet\", \"print_width\": \"\"}, {\"print_hide\": 0, \"fieldname\": \"working_hours\", \"print_width\": \"\"}], \"print_hide\": 0, \"fieldname\": \"timesheets\"}, {\"fieldtype\": \"Column Break\"}, {\"fieldtype\": \"Section Break\"}, {\"fieldtype\": \"Column Break\"}, {\"visible_columns\": [{\"print_hide\": 0, \"fieldname\": \"salary_component\", \"print_width\": \"\"}, {\"print_hide\": 0, \"fieldname\": \"amount\", \"print_width\": \"\"}, {\"print_hide\": 0, \"fieldname\": \"depends_on_lwp\", \"print_width\": \"\"}], \"print_hide\": 0, \"fieldname\": \"earnings\"}, {\"fieldtype\": \"Column Break\"}, {\"visible_columns\": [{\"print_hide\": 0, \"fieldname\": \"salary_component\", \"print_width\": \"\"}, {\"print_hide\": 0, \"fieldname\": \"amount\", \"print_width\": \"\"}, {\"print_hide\": 0, \"fieldname\": \"depends_on_lwp\", \"print_width\": \"\"}], \"print_hide\": 0, \"fieldname\": \"deductions\"}, {\"fieldtype\": \"Section Break\"}, {\"fieldtype\": \"Column Break\"}, {\"fieldtype\": \"Column Break\"}, {\"print_hide\": 0, \"fieldname\": \"gross_pay\"}, {\"print_hide\": 0, \"fieldname\": \"total_deduction\"}, {\"print_hide\": 0, \"fieldname\": \"net_pay\"}, {\"print_hide\": 0, \"fieldname\": \"rounded_total\"}, {\"print_hide\": 0, \"fieldname\": \"total_in_words\"}]", 
- "idx": 0, 
- "modified": "2016-08-21 21:02:59.896033", 
- "modified_by": "Administrator", 
- "name": "Salary Slip based on Timesheet", 
- "owner": "Administrator", 
- "print_format_builder": 1, 
- "print_format_type": "Server", 
+ "creation": "2016-07-07 12:38:32.447281",
+ "custom_format": 0,
+ "disabled": 0,
+ "doc_type": "Salary Slip",
+ "docstatus": 0,
+ "doctype": "Print Format",
+ "font": "Default",
+ "format_data": "[{\"fieldname\": \"print_heading_template\", \"fieldtype\": \"HTML\", \"options\": \"  <h3 style=\\\"text-align: right;\\\">{{doc.name}}</h3><div><hr></div>  \"}, {\"fieldtype\": \"Section Break\"}, {\"fieldtype\": \"Column Break\"}, {\"print_hide\": 0, \"fieldname\": \"employee\"}, {\"print_hide\": 0, \"fieldname\": \"employee_name\"}, {\"print_hide\": 0, \"fieldname\": \"department\"}, {\"print_hide\": 0, \"fieldname\": \"designation\"}, {\"print_hide\": 0, \"fieldname\": \"branch\"}, {\"fieldtype\": \"Column Break\"}, {\"print_hide\": 0, \"fieldname\": \"start_date\"}, {\"print_hide\": 0, \"fieldname\": \"end_date\"}, {\"print_hide\": 0, \"fieldname\": \"total_working_hours\"}, {\"print_hide\": 0, \"fieldname\": \"hour_rate\"}, {\"fieldtype\": \"Section Break\"}, {\"fieldtype\": \"Column Break\"}, {\"visible_columns\": [{\"print_hide\": 0, \"fieldname\": \"time_sheet\", \"print_width\": \"\"}, {\"print_hide\": 0, \"fieldname\": \"working_hours\", \"print_width\": \"\"}], \"print_hide\": 0, \"fieldname\": \"timesheets\"}, {\"fieldtype\": \"Column Break\"}, {\"fieldtype\": \"Section Break\"}, {\"fieldtype\": \"Column Break\"}, {\"visible_columns\": [{\"print_hide\": 0, \"fieldname\": \"salary_component\", \"print_width\": \"\"}, {\"print_hide\": 0, \"fieldname\": \"amount\", \"print_width\": \"\"}, {\"print_hide\": 0, \"fieldname\": \"depends_on_payment_days\", \"print_width\": \"\"}], \"print_hide\": 0, \"fieldname\": \"earnings\"}, {\"fieldtype\": \"Column Break\"}, {\"visible_columns\": [{\"print_hide\": 0, \"fieldname\": \"salary_component\", \"print_width\": \"\"}, {\"print_hide\": 0, \"fieldname\": \"amount\", \"print_width\": \"\"}, {\"print_hide\": 0, \"fieldname\": \"depends_on_payment_days\", \"print_width\": \"\"}], \"print_hide\": 0, \"fieldname\": \"deductions\"}, {\"fieldtype\": \"Section Break\"}, {\"fieldtype\": \"Column Break\"}, {\"fieldtype\": \"Column Break\"}, {\"print_hide\": 0, \"fieldname\": \"gross_pay\"}, {\"print_hide\": 0, \"fieldname\": \"total_deduction\"}, {\"print_hide\": 0, \"fieldname\": \"net_pay\"}, {\"print_hide\": 0, \"fieldname\": \"rounded_total\"}, {\"print_hide\": 0, \"fieldname\": \"total_in_words\"}]",
+ "idx": 0,
+ "modified": "2016-08-21 21:02:59.896033",
+ "modified_by": "Administrator",
+ "name": "Salary Slip based on Timesheet",
+ "owner": "Administrator",
+ "print_format_builder": 1,
+ "print_format_type": "Server",
  "standard": "Yes"
 }
\ No newline at end of file
diff --git a/erpnext/hr/print_format/salary_slip_standard/salary_slip_standard.json b/erpnext/hr/print_format/salary_slip_standard/salary_slip_standard.json
index 9f299df..b01239f 100644
--- a/erpnext/hr/print_format/salary_slip_standard/salary_slip_standard.json
+++ b/erpnext/hr/print_format/salary_slip_standard/salary_slip_standard.json
@@ -1,22 +1,22 @@
 {
- "align_labels_right": 0, 
- "creation": "2016-07-07 11:45:14.872204", 
- "custom_format": 0, 
- "disabled": 0, 
- "doc_type": "Salary Slip", 
- "docstatus": 0, 
- "doctype": "Print Format", 
- "font": "Default", 
- "format_data": "[{\"fieldname\": \"print_heading_template\", \"fieldtype\": \"Custom HTML\", \"options\": \"   <h3 style=\\\"text-align: right;\\\"><span style=\\\"line-height: 1.42857;\\\">{{doc.name}}</span></h3>\\n<div>\\n    <hr style=\\\"text-align: center;\\\">\\n</div>   \"}, {\"fieldtype\": \"Section Break\", \"label\": \"\"}, {\"fieldtype\": \"Column Break\"}, {\"print_hide\": 0, \"fieldname\": \"employee\", \"label\": \"Employee\"}, {\"print_hide\": 0, \"fieldname\": \"company\", \"label\": \"Company\"}, {\"print_hide\": 0, \"fieldname\": \"employee_name\", \"label\": \"Employee Name\"}, {\"print_hide\": 0, \"fieldname\": \"department\", \"label\": \"Department\"}, {\"print_hide\": 0, \"fieldname\": \"designation\", \"label\": \"Designation\"}, {\"print_hide\": 0, \"fieldname\": \"branch\", \"label\": \"Branch\"}, {\"fieldtype\": \"Column Break\"}, {\"print_hide\": 0, \"fieldname\": \"start_date\", \"label\": \"Start Date\"}, {\"print_hide\": 0, \"fieldname\": \"end_date\", \"label\": \"End Date\"}, {\"print_hide\": 0, \"fieldname\": \"total_working_days\", \"label\": \"Working Days\"}, {\"print_hide\": 0, \"fieldname\": \"leave_without_pay\", \"label\": \"Leave Without Pay\"}, {\"print_hide\": 0, \"fieldname\": \"payment_days\", \"label\": \"Payment Days\"}, {\"fieldtype\": \"Section Break\", \"label\": \"\"}, {\"fieldtype\": \"Column Break\"}, {\"visible_columns\": [{\"print_hide\": 0, \"fieldname\": \"salary_component\", \"print_width\": \"\"}, {\"print_hide\": 0, \"fieldname\": \"amount\", \"print_width\": \"\"}], \"print_hide\": 0, \"fieldname\": \"earnings\", \"label\": \"Earnings\"}, {\"fieldtype\": \"Column Break\"}, {\"visible_columns\": [{\"print_hide\": 0, \"fieldname\": \"salary_component\", \"print_width\": \"\"}, {\"print_hide\": 0, \"fieldname\": \"amount\", \"print_width\": \"\"}, {\"print_hide\": 0, \"fieldname\": \"depends_on_lwp\", \"print_width\": \"\"}], \"print_hide\": 0, \"fieldname\": \"deductions\", \"label\": \"Deductions\"}, {\"fieldtype\": \"Section Break\", \"label\": \"\"}, {\"fieldtype\": \"Column Break\"}, {\"fieldtype\": \"Column Break\"}, {\"print_hide\": 0, \"fieldname\": \"gross_pay\", \"label\": \"Gross Pay\"}, {\"print_hide\": 0, \"fieldname\": \"total_deduction\", \"label\": \"Total Deduction\"}, {\"print_hide\": 0, \"fieldname\": \"net_pay\", \"label\": \"Net Pay\"}, {\"print_hide\": 0, \"fieldname\": \"rounded_total\", \"label\": \"Rounded Total\"}, {\"print_hide\": 0, \"fieldname\": \"total_in_words\", \"label\": \"Total in words\"}]", 
- "idx": 0, 
- "line_breaks": 0, 
- "modified": "2018-07-24 19:31:39.040701", 
- "modified_by": "Administrator", 
- "module": "HR", 
- "name": "Salary Slip Standard", 
- "owner": "Administrator", 
- "print_format_builder": 1, 
- "print_format_type": "Server", 
- "show_section_headings": 0, 
+ "align_labels_right": 0,
+ "creation": "2016-07-07 11:45:14.872204",
+ "custom_format": 0,
+ "disabled": 0,
+ "doc_type": "Salary Slip",
+ "docstatus": 0,
+ "doctype": "Print Format",
+ "font": "Default",
+ "format_data": "[{\"fieldname\": \"print_heading_template\", \"fieldtype\": \"Custom HTML\", \"options\": \"   <h3 style=\\\"text-align: right;\\\"><span style=\\\"line-height: 1.42857;\\\">{{doc.name}}</span></h3>\\n<div>\\n    <hr style=\\\"text-align: center;\\\">\\n</div>   \"}, {\"fieldtype\": \"Section Break\", \"label\": \"\"}, {\"fieldtype\": \"Column Break\"}, {\"print_hide\": 0, \"fieldname\": \"employee\", \"label\": \"Employee\"}, {\"print_hide\": 0, \"fieldname\": \"company\", \"label\": \"Company\"}, {\"print_hide\": 0, \"fieldname\": \"employee_name\", \"label\": \"Employee Name\"}, {\"print_hide\": 0, \"fieldname\": \"department\", \"label\": \"Department\"}, {\"print_hide\": 0, \"fieldname\": \"designation\", \"label\": \"Designation\"}, {\"print_hide\": 0, \"fieldname\": \"branch\", \"label\": \"Branch\"}, {\"fieldtype\": \"Column Break\"}, {\"print_hide\": 0, \"fieldname\": \"start_date\", \"label\": \"Start Date\"}, {\"print_hide\": 0, \"fieldname\": \"end_date\", \"label\": \"End Date\"}, {\"print_hide\": 0, \"fieldname\": \"total_working_days\", \"label\": \"Working Days\"}, {\"print_hide\": 0, \"fieldname\": \"leave_without_pay\", \"label\": \"Leave Without Pay\"}, {\"print_hide\": 0, \"fieldname\": \"payment_days\", \"label\": \"Payment Days\"}, {\"fieldtype\": \"Section Break\", \"label\": \"\"}, {\"fieldtype\": \"Column Break\"}, {\"visible_columns\": [{\"print_hide\": 0, \"fieldname\": \"salary_component\", \"print_width\": \"\"}, {\"print_hide\": 0, \"fieldname\": \"amount\", \"print_width\": \"\"}], \"print_hide\": 0, \"fieldname\": \"earnings\", \"label\": \"Earnings\"}, {\"fieldtype\": \"Column Break\"}, {\"visible_columns\": [{\"print_hide\": 0, \"fieldname\": \"salary_component\", \"print_width\": \"\"}, {\"print_hide\": 0, \"fieldname\": \"amount\", \"print_width\": \"\"}, {\"print_hide\": 0, \"fieldname\": \"depends_on_payment_days\", \"print_width\": \"\"}], \"print_hide\": 0, \"fieldname\": \"deductions\", \"label\": \"Deductions\"}, {\"fieldtype\": \"Section Break\", \"label\": \"\"}, {\"fieldtype\": \"Column Break\"}, {\"fieldtype\": \"Column Break\"}, {\"print_hide\": 0, \"fieldname\": \"gross_pay\", \"label\": \"Gross Pay\"}, {\"print_hide\": 0, \"fieldname\": \"total_deduction\", \"label\": \"Total Deduction\"}, {\"print_hide\": 0, \"fieldname\": \"net_pay\", \"label\": \"Net Pay\"}, {\"print_hide\": 0, \"fieldname\": \"rounded_total\", \"label\": \"Rounded Total\"}, {\"print_hide\": 0, \"fieldname\": \"total_in_words\", \"label\": \"Total in words\"}]",
+ "idx": 0,
+ "line_breaks": 0,
+ "modified": "2018-07-24 19:31:39.040701",
+ "modified_by": "Administrator",
+ "module": "HR",
+ "name": "Salary Slip Standard",
+ "owner": "Administrator",
+ "print_format_builder": 1,
+ "print_format_type": "Server",
+ "show_section_headings": 0,
  "standard": "Yes"
 }
\ No newline at end of file
diff --git a/erpnext/patches.txt b/erpnext/patches.txt
index ccfd37d..6daa85f 100644
--- a/erpnext/patches.txt
+++ b/erpnext/patches.txt
@@ -597,3 +597,5 @@
 erpnext.patches.v12_0.move_item_tax_to_item_tax_template
 erpnext.patches.v11_1.set_variant_based_on
 erpnext.patches.v11_1.woocommerce_set_creation_user
+erpnext.patches.v11_1.set_salary_details_submittable
+erpnext.patches.v11_1.rename_depends_on_lwp
diff --git a/erpnext/patches/v11_1/rename_depends_on_lwp.py b/erpnext/patches/v11_1/rename_depends_on_lwp.py
new file mode 100644
index 0000000..20d8867
--- /dev/null
+++ b/erpnext/patches/v11_1/rename_depends_on_lwp.py
@@ -0,0 +1,13 @@
+# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
+# License: GNU General Public License v3. See license.txt
+
+from __future__ import unicode_literals
+import frappe
+from frappe import scrub
+from frappe.model.utils.rename_field import rename_field
+
+def execute():
+	for doctype in ("Salary Component", "Salary Detail"):
+		if "depends_on_lwp" in frappe.db.get_table_columns(doctype):
+			frappe.reload_doc("hr", "doctype", scrub(doctype))
+			rename_field(doctype, "depends_on_lwp", "depends_on_payment_days")
\ No newline at end of file
diff --git a/erpnext/patches/v11_1/set_salary_details_submittable.py b/erpnext/patches/v11_1/set_salary_details_submittable.py
new file mode 100644
index 0000000..6d847ec
--- /dev/null
+++ b/erpnext/patches/v11_1/set_salary_details_submittable.py
@@ -0,0 +1,9 @@
+from __future__ import unicode_literals
+import frappe
+
+def execute():
+	frappe.db.sql("""
+		update `tabSalary Structure` ss, `tabSalary Detail` sd
+		set sd.docstatus=1
+		where ss.name=sd.parent and ss.docstatus=1 and sd.parenttype='Salary Structure'
+	""")
diff --git a/erpnext/patches/v7_0/rename_salary_components.py b/erpnext/patches/v7_0/rename_salary_components.py
index de92fc6..bc48e34 100644
--- a/erpnext/patches/v7_0/rename_salary_components.py
+++ b/erpnext/patches/v7_0/rename_salary_components.py
@@ -5,79 +5,79 @@
 def execute():
 	if not frappe.db.exists("DocType", "Salary Structure Earning"):
 		return
-	
+
 	frappe.reload_doc("hr", "doctype", "salary_detail")
 	frappe.reload_doc("hr", "doctype", "salary_component")
-	
+
 	standard_cols = ["name", "creation", "modified", "owner", "modified_by", "parent", "parenttype", "parentfield", "idx"]
-	
+
 	dt_cols = {
 		"Salary Structure Deduction": ["d_type", "d_modified_amt", "depend_on_lwp"],
 		"Salary Structure Earning": ["e_type", "modified_value", "depend_on_lwp"],
 		"Salary Slip Earning": ["e_type", "e_modified_amount", "e_depends_on_lwp", "e_amount"],
 		"Salary Slip Deduction": ["d_type", "d_modified_amount", "d_depends_on_lwp", "d_amount"],
 	}
-	
+
 	earning_type_exists = True if "earning_type" in frappe.db.get_table_columns("Salary Slip Earning") else False
 	e_type_exists = True if "e_type" in frappe.db.get_table_columns("Salary Slip Earning") else False
-	
-	
+
+
 	if e_type_exists and earning_type_exists:
-		frappe.db.sql("""update `tabSalary Slip Earning` 
+		frappe.db.sql("""update `tabSalary Slip Earning`
 			set e_type = earning_type, e_modified_amount = earning_amount
 			where e_type is null and earning_type is not null""")
 
-		frappe.db.sql("""update `tabSalary Structure Earning` set e_type = earning_type 
+		frappe.db.sql("""update `tabSalary Structure Earning` set e_type = earning_type
 			where e_type is null and earning_type is not null""")
 
-		frappe.db.sql("""update `tabSalary Slip Deduction` set 
+		frappe.db.sql("""update `tabSalary Slip Deduction` set
 			d_type = deduction_type, d_modified_amount = deduction_amount
 			where d_type is null and deduction_type is not null""")
 
-		frappe.db.sql("""update `tabSalary Structure Deduction` set d_type = deduction_type 
+		frappe.db.sql("""update `tabSalary Structure Deduction` set d_type = deduction_type
 			where d_type is null and deduction_type is not null""")
-			
+
 	if earning_type_exists and not e_type_exists:
 		for val in dt_cols.values():
 			if val[0] == "e_type":
 				val[0] = "earning_type"
-			
+
 			if val[0] == "d_type":
 				val[0] = "deduction_type"
-				
+
 			if val[1] == "e_modified_amount":
 				val[1]  ="earning_amount"
-				
+
 			if val[1] == "d_modified_amount":
 				val[1]  ="deduction_amount"
-			
 
-	
-	target_cols = standard_cols + ["salary_component", "amount", "depends_on_lwp", "default_amount"]
-	target_cols = "`" + "`, `".join(target_cols) + "`"		
-	
-	for doctype, cols in dt_cols.items():		
+
+
+	target_cols = standard_cols + ["salary_component", "amount", "depends_on_payment_days", "default_amount"]
+	target_cols = "`" + "`, `".join(target_cols) + "`"
+
+	for doctype, cols in dt_cols.items():
 		source_cols = "`" + "`, `".join(standard_cols + cols) + "`"
 		if len(cols) == 3:
 			source_cols += ", 0"
-		
-		
+
+
 		frappe.db.sql("""INSERT INTO `tabSalary Detail` ({0}) SELECT {1} FROM `tab{2}`"""
 			.format(target_cols, source_cols, doctype))
-			
-	
+
+
 	dt_cols_de = {
 		"Deduction Type": ["deduction_name", "description"],
 		"Earning Type": ["earning_name", "description"],
 	}
-	
+
 	standard_cols_de = standard_cols
-	
+
 
 	target_cols = standard_cols_de + ["salary_component", "description"]
-	target_cols = "`" + "`, `".join(target_cols) + "`"		
-	
-	for doctype, cols in dt_cols_de.items():		
+	target_cols = "`" + "`, `".join(target_cols) + "`"
+
+	for doctype, cols in dt_cols_de.items():
 		source_cols = "`" + "`, `".join(standard_cols_de + cols) + "`"
 		try:
 			frappe.db.sql("""INSERT INTO `tabSalary Component` ({0}) SELECT {1} FROM `tab{2}`"""
@@ -85,10 +85,10 @@
 		except Exception as e:
 			if e.args[0]==1062:
 				pass
-			
+
 	update_customizations()
-			
-	for doctype in ["Salary Structure Deduction", "Salary Structure Earning", "Salary Slip Earning", 
+
+	for doctype in ["Salary Structure Deduction", "Salary Structure Earning", "Salary Slip Earning",
 			"Salary Slip Deduction", "Deduction Type", "Earning Type"] :
 		frappe.delete_doc("DocType", doctype)
 
@@ -96,35 +96,35 @@
 def update_customizations():
 	dt_cols = {
 		"Salary Structure Deduction": {
-			"d_type": "salary_component", 
-			"deduction_type": "salary_component", 
+			"d_type": "salary_component",
+			"deduction_type": "salary_component",
 			"d_modified_amt": "amount",
-			"depend_on_lwp": "depends_on_lwp"
+			"depend_on_lwp": "depends_on_payment_days"
 		},
 		"Salary Structure Earning": {
-			"e_type": "salary_component", 
-			"earning_type": "salary_component", 
+			"e_type": "salary_component",
+			"earning_type": "salary_component",
 			"modified_value": "amount",
-			"depend_on_lwp": "depends_on_lwp"
+			"depend_on_lwp": "depends_on_payment_days"
 		},
 		"Salary Slip Earning": {
-			"e_type": "salary_component", 
-			"earning_type": "salary_component", 
+			"e_type": "salary_component",
+			"earning_type": "salary_component",
 			"e_modified_amount": "amount",
 			"e_amount" : "default_amount",
-			"e_depends_on_lwp": "depends_on_lwp"
+			"e_depends_on_lwp": "depends_on_payment_days"
 		},
 		"Salary Slip Deduction": {
-			"d_type": "salary_component", 
-			"deduction_type": "salary_component", 
+			"d_type": "salary_component",
+			"deduction_type": "salary_component",
 			"d_modified_amount": "amount",
 			"d_amount" : "default_amount",
-			"d_depends_on_lwp": "depends_on_lwp"
+			"d_depends_on_lwp": "depends_on_payment_days"
 		}
 	}
-	
+
 	update_property_setters_and_custom_fields("Salary Detail", dt_cols)
-	
+
 	dt_cols = {
 		"Earning Type": {
 			"earning_name": "salary_component"
@@ -133,17 +133,17 @@
 			"deduction_name": "salary_component"
 		}
 	}
-	
+
 	update_property_setters_and_custom_fields("Salary Component", dt_cols)
-	
-	
-	
-	
+
+
+
+
 def update_property_setters_and_custom_fields(new_dt, dt_cols):
 	for doctype, cols in dt_cols.items():
 		frappe.db.sql("update `tabProperty Setter` set doc_type = %s where doc_type=%s", (new_dt, doctype))
 		frappe.db.sql("update `tabCustom Field` set dt = %s where dt=%s", (new_dt, doctype))
-		
-		
+
+
 		for old_fieldname, new_fieldname in cols.items():
 			update_property_setters(new_dt, old_fieldname, new_fieldname)
diff --git a/erpnext/projects/doctype/task/task.json b/erpnext/projects/doctype/task/task.json
index 707db08..4012346 100644
--- a/erpnext/projects/doctype/task/task.json
+++ b/erpnext/projects/doctype/task/task.json
@@ -20,6 +20,7 @@
    "bold": 0,
    "collapsible": 0,
    "columns": 0,
+   "fetch_if_empty": 0,
    "fieldname": "subject",
    "fieldtype": "Data",
    "hidden": 0,
@@ -52,6 +53,7 @@
    "bold": 1,
    "collapsible": 0,
    "columns": 0,
+   "fetch_if_empty": 0,
    "fieldname": "project",
    "fieldtype": "Link",
    "hidden": 0,
@@ -86,6 +88,7 @@
    "bold": 0,
    "collapsible": 0,
    "columns": 0,
+   "fetch_if_empty": 0,
    "fieldname": "issue",
    "fieldtype": "Link",
    "hidden": 0,
@@ -116,10 +119,45 @@
    "allow_bulk_edit": 0,
    "allow_in_quick_entry": 0,
    "allow_on_submit": 0,
+   "bold": 0,
+   "collapsible": 0,
+   "columns": 0,
+   "fetch_if_empty": 0,
+   "fieldname": "type",
+   "fieldtype": "Link",
+   "hidden": 0,
+   "ignore_user_permissions": 0,
+   "ignore_xss_filter": 0,
+   "in_filter": 0,
+   "in_global_search": 0,
+   "in_list_view": 0,
+   "in_standard_filter": 0,
+   "label": "Type",
+   "length": 0,
+   "no_copy": 0,
+   "options": "Task Type",
+   "permlevel": 0,
+   "precision": "",
+   "print_hide": 0,
+   "print_hide_if_no_value": 0,
+   "read_only": 0,
+   "remember_last_selected_value": 0,
+   "report_hide": 0,
+   "reqd": 0,
+   "search_index": 0,
+   "set_only_once": 0,
+   "translatable": 0,
+   "unique": 0
+  },
+  {
+   "allow_bulk_edit": 0,
+   "allow_in_quick_entry": 0,
+   "allow_on_submit": 0,
    "bold": 1,
    "collapsible": 0,
    "columns": 0,
    "default": "0",
+   "fetch_if_empty": 0,
    "fieldname": "is_group",
    "fieldtype": "Check",
    "hidden": 0,
@@ -152,6 +190,7 @@
    "bold": 0,
    "collapsible": 0,
    "columns": 0,
+   "fetch_if_empty": 0,
    "fieldname": "column_break0",
    "fieldtype": "Column Break",
    "hidden": 0,
@@ -185,6 +224,7 @@
    "bold": 1,
    "collapsible": 0,
    "columns": 0,
+   "fetch_if_empty": 0,
    "fieldname": "status",
    "fieldtype": "Select",
    "hidden": 0,
@@ -219,6 +259,7 @@
    "bold": 0,
    "collapsible": 0,
    "columns": 0,
+   "fetch_if_empty": 0,
    "fieldname": "priority",
    "fieldtype": "Select",
    "hidden": 0,
@@ -253,6 +294,7 @@
    "bold": 0,
    "collapsible": 0,
    "columns": 0,
+   "fetch_if_empty": 0,
    "fieldname": "color",
    "fieldtype": "Color",
    "hidden": 0,
@@ -285,6 +327,7 @@
    "bold": 1,
    "collapsible": 0,
    "columns": 0,
+   "fetch_if_empty": 0,
    "fieldname": "parent_task",
    "fieldtype": "Link",
    "hidden": 0,
@@ -320,6 +363,7 @@
    "collapsible_depends_on": "eval:doc.__islocal",
    "columns": 0,
    "depends_on": "",
+   "fetch_if_empty": 0,
    "fieldname": "sb_timeline",
    "fieldtype": "Section Break",
    "hidden": 0,
@@ -353,6 +397,7 @@
    "collapsible": 0,
    "columns": 0,
    "depends_on": "",
+   "fetch_if_empty": 0,
    "fieldname": "exp_start_date",
    "fieldtype": "Date",
    "hidden": 0,
@@ -389,6 +434,7 @@
    "default": "0",
    "depends_on": "",
    "description": "",
+   "fetch_if_empty": 0,
    "fieldname": "expected_time",
    "fieldtype": "Float",
    "hidden": 0,
@@ -423,6 +469,8 @@
    "collapsible": 0,
    "columns": 0,
    "depends_on": "",
+   "fetch_from": "type.weight",
+   "fetch_if_empty": 0,
    "fieldname": "task_weight",
    "fieldtype": "Float",
    "hidden": 0,
@@ -455,6 +503,7 @@
    "bold": 0,
    "collapsible": 0,
    "columns": 0,
+   "fetch_if_empty": 0,
    "fieldname": "column_break_11",
    "fieldtype": "Column Break",
    "hidden": 0,
@@ -487,6 +536,7 @@
    "collapsible": 0,
    "columns": 0,
    "depends_on": "",
+   "fetch_if_empty": 0,
    "fieldname": "exp_end_date",
    "fieldtype": "Date",
    "hidden": 0,
@@ -521,6 +571,7 @@
    "collapsible": 0,
    "columns": 0,
    "depends_on": "",
+   "fetch_if_empty": 0,
    "fieldname": "progress",
    "fieldtype": "Percent",
    "hidden": 0,
@@ -554,6 +605,7 @@
    "collapsible": 0,
    "columns": 0,
    "depends_on": "",
+   "fetch_if_empty": 0,
    "fieldname": "is_milestone",
    "fieldtype": "Check",
    "hidden": 0,
@@ -588,6 +640,7 @@
    "collapsible_depends_on": "",
    "columns": 0,
    "depends_on": "",
+   "fetch_if_empty": 0,
    "fieldname": "sb_details",
    "fieldtype": "Section Break",
    "hidden": 0,
@@ -622,6 +675,7 @@
    "collapsible": 0,
    "columns": 0,
    "depends_on": "",
+   "fetch_if_empty": 0,
    "fieldname": "description",
    "fieldtype": "Text Editor",
    "hidden": 0,
@@ -659,6 +713,7 @@
    "collapsible_depends_on": "",
    "columns": 0,
    "depends_on": "",
+   "fetch_if_empty": 0,
    "fieldname": "sb_depends_on",
    "fieldtype": "Section Break",
    "hidden": 0,
@@ -692,6 +747,7 @@
    "collapsible": 0,
    "columns": 0,
    "depends_on": "",
+   "fetch_if_empty": 0,
    "fieldname": "depends_on",
    "fieldtype": "Table",
    "hidden": 0,
@@ -726,6 +782,7 @@
    "collapsible": 0,
    "columns": 0,
    "depends_on": "",
+   "fetch_if_empty": 0,
    "fieldname": "depends_on_tasks",
    "fieldtype": "Data",
    "hidden": 1,
@@ -761,6 +818,7 @@
    "columns": 0,
    "depends_on": "",
    "description": "",
+   "fetch_if_empty": 0,
    "fieldname": "sb_actual",
    "fieldtype": "Section Break",
    "hidden": 0,
@@ -796,6 +854,7 @@
    "collapsible": 0,
    "columns": 0,
    "depends_on": "",
+   "fetch_if_empty": 0,
    "fieldname": "act_start_date",
    "fieldtype": "Date",
    "hidden": 0,
@@ -832,6 +891,7 @@
    "default": "",
    "depends_on": "",
    "description": "",
+   "fetch_if_empty": 0,
    "fieldname": "actual_time",
    "fieldtype": "Float",
    "hidden": 0,
@@ -865,6 +925,7 @@
    "bold": 0,
    "collapsible": 0,
    "columns": 0,
+   "fetch_if_empty": 0,
    "fieldname": "column_break_15",
    "fieldtype": "Column Break",
    "hidden": 0,
@@ -897,6 +958,7 @@
    "collapsible": 0,
    "columns": 0,
    "depends_on": "",
+   "fetch_if_empty": 0,
    "fieldname": "act_end_date",
    "fieldtype": "Date",
    "hidden": 0,
@@ -931,6 +993,7 @@
    "collapsible": 1,
    "columns": 0,
    "depends_on": "",
+   "fetch_if_empty": 0,
    "fieldname": "sb_costing",
    "fieldtype": "Section Break",
    "hidden": 0,
@@ -964,6 +1027,7 @@
    "collapsible": 0,
    "columns": 0,
    "depends_on": "",
+   "fetch_if_empty": 0,
    "fieldname": "total_costing_amount",
    "fieldtype": "Currency",
    "hidden": 0,
@@ -999,6 +1063,7 @@
    "collapsible": 0,
    "columns": 0,
    "depends_on": "",
+   "fetch_if_empty": 0,
    "fieldname": "total_expense_claim",
    "fieldtype": "Currency",
    "hidden": 0,
@@ -1032,6 +1097,7 @@
    "bold": 0,
    "collapsible": 0,
    "columns": 0,
+   "fetch_if_empty": 0,
    "fieldname": "column_break_20",
    "fieldtype": "Column Break",
    "hidden": 0,
@@ -1064,6 +1130,7 @@
    "collapsible": 0,
    "columns": 0,
    "depends_on": "",
+   "fetch_if_empty": 0,
    "fieldname": "total_billing_amount",
    "fieldtype": "Currency",
    "hidden": 0,
@@ -1096,6 +1163,7 @@
    "bold": 0,
    "collapsible": 1,
    "columns": 0,
+   "fetch_if_empty": 0,
    "fieldname": "sb_more_info",
    "fieldtype": "Section Break",
    "hidden": 0,
@@ -1128,6 +1196,7 @@
    "collapsible": 0,
    "columns": 0,
    "depends_on": "eval:doc.status == \"Closed\" || doc.status == \"Pending Review\"",
+   "fetch_if_empty": 0,
    "fieldname": "review_date",
    "fieldtype": "Date",
    "hidden": 0,
@@ -1162,6 +1231,7 @@
    "collapsible": 0,
    "columns": 0,
    "depends_on": "eval:doc.status == \"Closed\"",
+   "fetch_if_empty": 0,
    "fieldname": "closing_date",
    "fieldtype": "Date",
    "hidden": 0,
@@ -1195,6 +1265,7 @@
    "bold": 0,
    "collapsible": 0,
    "columns": 0,
+   "fetch_if_empty": 0,
    "fieldname": "column_break_22",
    "fieldtype": "Column Break",
    "hidden": 0,
@@ -1225,6 +1296,7 @@
    "bold": 0,
    "collapsible": 0,
    "columns": 0,
+   "fetch_if_empty": 0,
    "fieldname": "department",
    "fieldtype": "Link",
    "hidden": 0,
@@ -1258,6 +1330,7 @@
    "bold": 0,
    "collapsible": 0,
    "columns": 0,
+   "fetch_if_empty": 0,
    "fieldname": "company",
    "fieldtype": "Link",
    "hidden": 0,
@@ -1290,6 +1363,7 @@
    "bold": 0,
    "collapsible": 0,
    "columns": 0,
+   "fetch_if_empty": 0,
    "fieldname": "lft",
    "fieldtype": "Int",
    "hidden": 1,
@@ -1322,6 +1396,7 @@
    "bold": 0,
    "collapsible": 0,
    "columns": 0,
+   "fetch_if_empty": 0,
    "fieldname": "rgt",
    "fieldtype": "Int",
    "hidden": 1,
@@ -1354,6 +1429,7 @@
    "bold": 0,
    "collapsible": 0,
    "columns": 0,
+   "fetch_if_empty": 0,
    "fieldname": "old_parent",
    "fieldtype": "Data",
    "hidden": 1,
@@ -1381,18 +1457,16 @@
   }
  ],
  "has_web_view": 0,
- "hide_heading": 0,
  "hide_toolbar": 0,
  "icon": "fa fa-check",
  "idx": 1,
- "image_view": 0,
  "in_create": 0,
  "is_submittable": 0,
  "issingle": 0,
  "istable": 0,
  "max_attachments": 5,
  "menu_index": 0,
- "modified": "2019-04-18 12:22:02.147606",
+ "modified": "2019-04-20 22:45:20.777600",
  "modified_by": "Administrator",
  "module": "Projects",
  "name": "Task",
@@ -1420,7 +1494,6 @@
  ],
  "quick_entry": 0,
  "read_only": 0,
- "read_only_onload": 0,
  "search_fields": "subject",
  "show_name_in_global_search": 1,
  "sort_order": "DESC",
@@ -1429,4 +1502,4 @@
  "track_changes": 0,
  "track_seen": 1,
  "track_views": 0
-}
+}
\ No newline at end of file
diff --git a/erpnext/projects/doctype/task_type/__init__.py b/erpnext/projects/doctype/task_type/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/erpnext/projects/doctype/task_type/__init__.py
diff --git a/erpnext/projects/doctype/task_type/task_type.js b/erpnext/projects/doctype/task_type/task_type.js
new file mode 100644
index 0000000..c1be5da
--- /dev/null
+++ b/erpnext/projects/doctype/task_type/task_type.js
@@ -0,0 +1,8 @@
+// Copyright (c) 2019, Frappe Technologies Pvt. Ltd. and contributors
+// For license information, please see license.txt
+
+frappe.ui.form.on('Task Type', {
+	// refresh: function(frm) {
+
+	// }
+});
diff --git a/erpnext/projects/doctype/task_type/task_type.json b/erpnext/projects/doctype/task_type/task_type.json
new file mode 100644
index 0000000..3254444
--- /dev/null
+++ b/erpnext/projects/doctype/task_type/task_type.json
@@ -0,0 +1,127 @@
+{
+ "allow_copy": 0,
+ "allow_events_in_timeline": 0,
+ "allow_guest_to_view": 0,
+ "allow_import": 0,
+ "allow_rename": 0,
+ "autoname": "Prompt",
+ "beta": 0,
+ "creation": "2019-04-19 15:04:05.317138",
+ "custom": 0,
+ "docstatus": 0,
+ "doctype": "DocType",
+ "document_type": "",
+ "editable_grid": 0,
+ "engine": "InnoDB",
+ "fields": [
+  {
+   "allow_bulk_edit": 0,
+   "allow_in_quick_entry": 0,
+   "allow_on_submit": 0,
+   "bold": 0,
+   "collapsible": 0,
+   "columns": 0,
+   "fetch_if_empty": 0,
+   "fieldname": "weight",
+   "fieldtype": "Float",
+   "hidden": 0,
+   "ignore_user_permissions": 0,
+   "ignore_xss_filter": 0,
+   "in_filter": 0,
+   "in_global_search": 0,
+   "in_list_view": 0,
+   "in_standard_filter": 0,
+   "label": "Weight",
+   "length": 0,
+   "no_copy": 0,
+   "permlevel": 0,
+   "precision": "",
+   "print_hide": 0,
+   "print_hide_if_no_value": 0,
+   "read_only": 0,
+   "remember_last_selected_value": 0,
+   "report_hide": 0,
+   "reqd": 0,
+   "search_index": 0,
+   "set_only_once": 0,
+   "translatable": 0,
+   "unique": 0
+  },
+  {
+   "allow_bulk_edit": 0,
+   "allow_in_quick_entry": 0,
+   "allow_on_submit": 0,
+   "bold": 0,
+   "collapsible": 0,
+   "columns": 0,
+   "fetch_if_empty": 0,
+   "fieldname": "description",
+   "fieldtype": "Small Text",
+   "hidden": 0,
+   "ignore_user_permissions": 0,
+   "ignore_xss_filter": 0,
+   "in_filter": 0,
+   "in_global_search": 0,
+   "in_list_view": 0,
+   "in_standard_filter": 0,
+   "label": "Description",
+   "length": 0,
+   "no_copy": 0,
+   "permlevel": 0,
+   "precision": "",
+   "print_hide": 0,
+   "print_hide_if_no_value": 0,
+   "read_only": 0,
+   "remember_last_selected_value": 0,
+   "report_hide": 0,
+   "reqd": 0,
+   "search_index": 0,
+   "set_only_once": 0,
+   "translatable": 0,
+   "unique": 0
+  }
+ ],
+ "has_web_view": 0,
+ "hide_toolbar": 0,
+ "idx": 0,
+ "in_create": 0,
+ "is_submittable": 0,
+ "issingle": 0,
+ "istable": 0,
+ "max_attachments": 0,
+ "modified": "2019-04-19 15:31:48.080164",
+ "modified_by": "Administrator",
+ "module": "Projects",
+ "name": "Task Type",
+ "name_case": "",
+ "owner": "Administrator",
+ "permissions": [
+  {
+   "amend": 0,
+   "cancel": 0,
+   "create": 1,
+   "delete": 1,
+   "email": 1,
+   "export": 1,
+   "if_owner": 0,
+   "import": 0,
+   "permlevel": 0,
+   "print": 1,
+   "read": 1,
+   "report": 1,
+   "role": "System Manager",
+   "set_user_permissions": 0,
+   "share": 1,
+   "submit": 0,
+   "write": 1
+  }
+ ],
+ "quick_entry": 1,
+ "read_only": 0,
+ "show_name_in_global_search": 0,
+ "sort_field": "modified",
+ "sort_order": "ASC",
+ "track_changes": 1,
+ "track_seen": 0,
+ "track_views": 0
+}
\ No newline at end of file
diff --git a/erpnext/projects/doctype/task_type/task_type.py b/erpnext/projects/doctype/task_type/task_type.py
new file mode 100644
index 0000000..9c0b532
--- /dev/null
+++ b/erpnext/projects/doctype/task_type/task_type.py
@@ -0,0 +1,10 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2019, Frappe Technologies Pvt. Ltd. and contributors
+# For license information, please see license.txt
+
+from __future__ import unicode_literals
+# import frappe
+from frappe.model.document import Document
+
+class TaskType(Document):
+	pass
diff --git a/erpnext/projects/doctype/task_type/test_task_type.py b/erpnext/projects/doctype/task_type/test_task_type.py
new file mode 100644
index 0000000..1db6e27
--- /dev/null
+++ b/erpnext/projects/doctype/task_type/test_task_type.py
@@ -0,0 +1,10 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2019, Frappe Technologies Pvt. Ltd. and Contributors
+# See license.txt
+from __future__ import unicode_literals
+
+import frappe
+import unittest
+
+class TestTaskType(unittest.TestCase):
+	pass
diff --git a/erpnext/regional/doctype/gstr_3b_report/gstr_3b_report.py b/erpnext/regional/doctype/gstr_3b_report/gstr_3b_report.py
index a9aa1d5..7faabf4 100644
--- a/erpnext/regional/doctype/gstr_3b_report/gstr_3b_report.py
+++ b/erpnext/regional/doctype/gstr_3b_report/gstr_3b_report.py
@@ -227,12 +227,18 @@
 
 		for d in inter_state_supply.get("Unregistered", []):
 			self.report_dict["inter_sup"]["unreg_details"].append(d)
+			self.report_dict["sup_details"]["osup_det"]["txval"] += d["txval"]
+			self.report_dict["sup_details"]["osup_det"]["iamt"] += d["iamt"]
 
 		for d in inter_state_supply.get("Registered Composition", []):
 			self.report_dict["inter_sup"]["comp_details"].append(d)
+			self.report_dict["sup_details"]["osup_det"]["txval"] += d["txval"]
+			self.report_dict["sup_details"]["osup_det"]["iamt"] += d["iamt"]
 
 		for d in inter_state_supply.get("UIN Holders", []):
 			self.report_dict["inter_sup"]["uin_details"].append(d)
+			self.report_dict["sup_details"]["osup_det"]["txval"] += d["txval"]
+			self.report_dict["sup_details"]["osup_det"]["iamt"] += d["iamt"]
 
 	def get_total_taxable_value(self, doctype, reverse_charge):
 
@@ -296,7 +302,7 @@
 
 			inter_state_supply_details[d.gst_category].append({
 				"pos": get_state_code(d.gst_state),
-				"txval": d.total,
+				"txval": d.total - d.tax_amount,
 				"iamt": d.tax_amount
 			})
 
diff --git a/erpnext/regional/doctype/gstr_3b_report/test_gstr_3b_report.py b/erpnext/regional/doctype/gstr_3b_report/test_gstr_3b_report.py
index d50eaeb..4667107 100644
--- a/erpnext/regional/doctype/gstr_3b_report/test_gstr_3b_report.py
+++ b/erpnext/regional/doctype/gstr_3b_report/test_gstr_3b_report.py
@@ -57,7 +57,7 @@
 
 		output = json.loads(report.json_output)
 
-		self.assertEqual(output["sup_details"]["osup_det"]["iamt"], 18),
+		self.assertEqual(output["sup_details"]["osup_det"]["iamt"], 36),
 		self.assertEqual(output["sup_details"]["osup_zero"]["iamt"], 18),
 		self.assertEqual(output["inter_sup"]["unreg_details"][0]["iamt"], 18),
 		self.assertEqual(output["sup_details"]["osup_nil_exmp"]["txval"], 100),