fix: client side UX fixes
diff --git a/erpnext/crm/doctype/contract/contract.js b/erpnext/crm/doctype/contract/contract.js
index b02d06a..9968855 100644
--- a/erpnext/crm/doctype/contract/contract.js
+++ b/erpnext/crm/doctype/contract/contract.js
@@ -12,14 +12,18 @@
 				},
 				callback: function(r) {
 					if (r && r.message) {
+						let contract_template = r.message.contract_template;
 						frm.set_value("contract_terms", r.message.contract_terms);
+						frm.set_value("requires_fulfilment", contract_template.requires_fulfilment);
 						
-						// Populate the fulfilment terms table from a contract template, if any
-						r.message.contract_template.fulfilment_terms.forEach(element => {
-							let d = frm.add_child("fulfilment_terms");
-							d.requirement = element.requirement;
-						});
-						frm.refresh_field("fulfilment_terms");	
+						if (frm.doc.requires_fulfilment) {
+							// Populate the fulfilment terms table from a contract template, if any
+							r.message.contract_template.fulfilment_terms.forEach(element => {
+								let d = frm.add_child("fulfilment_terms");
+								d.requirement = element.requirement;
+							});
+							frm.refresh_field("fulfilment_terms");
+						}		
 					}
 				}
 			});
diff --git a/erpnext/crm/doctype/contract/contract.json b/erpnext/crm/doctype/contract/contract.json
index fbc9f1c..de3230f 100755
--- a/erpnext/crm/doctype/contract/contract.json
+++ b/erpnext/crm/doctype/contract/contract.json
@@ -176,7 +176,6 @@
   },
   {
    "default": "0",
-   "fetch_from": "contract_template.requires_fulfilment",
    "fieldname": "requires_fulfilment",
    "fieldtype": "Check",
    "label": "Requires Fulfilment"
@@ -249,7 +248,7 @@
  ],
  "is_submittable": 1,
  "links": [],
- "modified": "2020-12-02 21:12:44.118155",
+ "modified": "2020-12-07 11:15:58.385521",
  "modified_by": "Administrator",
  "module": "CRM",
  "name": "Contract",