diff --git a/docs/dev/custom_script_examples/docs.dev.custom_script.calculate.md b/docs/dev/custom_script_examples/docs.dev.custom_script.calculate.md
new file mode 100644
index 0000000..6744e2b
--- /dev/null
+++ b/docs/dev/custom_script_examples/docs.dev.custom_script.calculate.md
@@ -0,0 +1,24 @@
+---
+{
+	"_label": "Calculate Incentive for Sales Team"
+}
+---
+Can be used in any Sales Transaction with **Sales Team** Table:
+
+
+	cur_frm.cscript.custom_validate = function(doc) {
+	    // calculate incentives for each person on the deal
+	    total_incentive = 0
+	    $.each(wn.model.get("Sales Team", {parent:doc.name}), function(i, d) {
+
+	        // calculate incentive
+	        var incentive_percent = 2;
+	        if(doc.grand_total > 400) incentive_percent = 4;
+
+	        // actual incentive
+	        d.incentives = flt(doc.grand_total) * incentive_percent / 100;
+	        total_incentive += flt(d.incentives)
+	    });
+
+	    doc.total_incentive = total_incentive;
+	}
\ No newline at end of file
diff --git a/docs/dev/custom_script_examples/docs.dev.custom_script.fetch.md b/docs/dev/custom_script_examples/docs.dev.custom_script.fetch.md
new file mode 100644
index 0000000..d0414fb
--- /dev/null
+++ b/docs/dev/custom_script_examples/docs.dev.custom_script.fetch.md
@@ -0,0 +1,20 @@
+---
+{
+	"_label": "Custom Script: Fetch Values from Master"
+}
+---
+To pull a value of a link on selection, use the `add_fetch` method.
+
+	add_fetch(link_fieldname, source_fieldname, target_fieldname)
+
+### Example
+
+You create Custom Field **VAT ID** (`vat_id`) in **Customer** and **Sales Invoice** and want to make sure this value gets updated every time you select a Customer in a Sales Invoice.
+
+Then in the Sales Invoice Custom Script, add this line:
+
+	cur_frm.add_fetch('customer','vat_id','vat_id')
+	
+
+---
+See: [How to create a custom script](!docs.dev.custom_script.html)	
\ No newline at end of file
diff --git a/docs/dev/custom_script_examples/docs.dev.custom_script.item_code.md b/docs/dev/custom_script_examples/docs.dev.custom_script.item_code.md
new file mode 100644
index 0000000..22e75c9
--- /dev/null
+++ b/docs/dev/custom_script_examples/docs.dev.custom_script.item_code.md
@@ -0,0 +1,35 @@
+---
+{
+	"_label": "Generate Item Code based on Custom Logic"
+}
+---
+Add this in the Custom Script of **Item**, so that the new Item Code is generated just before the a new Item is saved.
+
+	cur_frm.cscript.custom_validate = function(doc) {
+	    // clear item_code (name is from item_code)
+	    doc.item_code = "";
+
+	    // first 2 characters based on item_group
+	    switch(doc.item_group) {
+	        case "Test A":
+	            doc.item_code = "TA";
+	            break;
+	        case "Test B":
+	            doc.item_code = "TB";
+	            break;
+	        default:
+	            doc.item_code = "XX";
+	    }
+
+	    // add next 2 characters based on brand
+	    switch(doc.brand) {
+	        case "Brand A":
+	            doc.item_code += "BA";
+	            break;
+	        case "Brand B":
+	            doc.item_code += "BB";
+	            break;
+	        default:
+	            doc.item_code += "BX";
+	    }
+	}
\ No newline at end of file
diff --git a/docs/dev/custom_script_examples/docs.dev.custom_script.read_only.md b/docs/dev/custom_script_examples/docs.dev.custom_script.read_only.md
new file mode 100644
index 0000000..9da3e85
--- /dev/null
+++ b/docs/dev/custom_script_examples/docs.dev.custom_script.read_only.md
@@ -0,0 +1,13 @@
+---
+{
+	"_label": "Make an Item read-only after Saving"
+}
+---
+Use the method `cur_frm.set_df_property` to update the field's display.
+
+In this script we also use the `__islocal` property of the doc to check if the document has been saved atleast once or is never saved. If `__islocal` is `1`, then the document has never been saved.
+
+	cur_frm.cscript.custom_refresh = function(doc) {
+	    // use the __islocal value of doc, to check if the doc is saved or not
+	    cur_frm.set_df_property("myfield", "read_only", doc.__islocal ? 0 : 1);
+	}
\ No newline at end of file
diff --git a/docs/dev/custom_script_examples/docs.dev.custom_script.validate.md b/docs/dev/custom_script_examples/docs.dev.custom_script.validate.md
new file mode 100644
index 0000000..a22851c
--- /dev/null
+++ b/docs/dev/custom_script_examples/docs.dev.custom_script.validate.md
@@ -0,0 +1,12 @@
+---
+{
+	"_label": "Date Validation: Do not allow past dates in a date field"
+}
+---
+
+	cur_frm.cscript.custom_validate = function(doc) {
+	    if (doc.from_date < get_today()) {
+	        msgprint("You can not select past date in From Date");
+	        validated = false;
+	    }
+	}
\ No newline at end of file
diff --git a/docs/dev/custom_script_examples/docs.dev.custom_script.validate1.md b/docs/dev/custom_script_examples/docs.dev.custom_script.validate1.md
new file mode 100644
index 0000000..b12c61f
--- /dev/null
+++ b/docs/dev/custom_script_examples/docs.dev.custom_script.validate1.md
@@ -0,0 +1,12 @@
+---
+{
+	"_label": "Restrict Purpose of Stock Entry"
+}
+---
+
+	cur_frm.cscript.custom_validate = function(doc) {
+	    if(user=="user1@example.com" && doc.purpose!="Material Receipt") {
+	        msgprint("You are only allowed Material Receipt");
+	        validated = false;
+	    }
+	}
\ No newline at end of file
diff --git a/docs/dev/custom_script_examples/docs.dev.custom_script.validate2.md b/docs/dev/custom_script_examples/docs.dev.custom_script.validate2.md
new file mode 100644
index 0000000..05d662e
--- /dev/null
+++ b/docs/dev/custom_script_examples/docs.dev.custom_script.validate2.md
@@ -0,0 +1,22 @@
+---
+{
+	"_label": "Restrict User Based on Child Record (Warehouse)"
+}
+---
+
+	// restrict certain warehouse to Material Manager 
+	cur_frm.cscript.custom_validate = function(doc) {
+	    if(user_roles.indexOf("Material Manager")==-1) {
+
+	        var restricted_in_source = wn.model.get("Stock Entry Detail", 
+	            {parent:cur_frm.doc.name, s_warehouse:"Restricted"});
+
+	        var restricted_in_target = wn.model.get("Stock Entry Detail", 
+	            {parent:cur_frm.doc.name, t_warehouse:"Restricted"})
+
+	        if(restricted_in_source.length || restricted_in_target.length) {
+	            msgprint("Only Material Manager can make entry in Restricted Warehouse");
+	            validated = false;
+	        }
+	    }
+	}
\ No newline at end of file
diff --git a/docs/dev/custom_script_examples/docs.dev.custom_script.validate3.md b/docs/dev/custom_script_examples/docs.dev.custom_script.validate3.md
new file mode 100644
index 0000000..629f1c1
--- /dev/null
+++ b/docs/dev/custom_script_examples/docs.dev.custom_script.validate3.md
@@ -0,0 +1,17 @@
+---
+{
+	"_label": "Restrict Cancel Rights based on Certain Order Value"
+}
+---
+Add a handler to `custom_before_cancel` event:
+
+	cur_frm.cscript.custom_before_cancel = function(doc) {
+	    if (user_roles.indexOf("Accounts User")!=-1 && user_roles.indexOf("Accounts Manager")==-1
+	            && user_roles.indexOf("System Manager")==-1) {
+	        if (flt(doc.grand_total) > 10000) {
+	            msgprint("You can not cancel this transaction, because grand total \
+	                is greater than 10000");
+	            validated = false;
+	        }
+	    }
+	}
diff --git a/docs/dev/docs.dev.client_script.md b/docs/dev/docs.dev.client_script.md
deleted file mode 100644
index fc82f9d..0000000
--- a/docs/dev/docs.dev.client_script.md
+++ /dev/null
@@ -1,10 +0,0 @@
----
-{
-	"_label": "Client Scripts: Custoimzing ERPNext"
-	
-}
----
-
-	
-	
-	
diff --git a/docs/dev/docs.dev.custom_script.md b/docs/dev/docs.dev.custom_script.md
new file mode 100644
index 0000000..ad50637
--- /dev/null
+++ b/docs/dev/docs.dev.custom_script.md
@@ -0,0 +1,31 @@
+---
+{
+	"_label": "Custom Script Examples",
+	"_toc": [
+		"docs.dev.custom_script.fetch",
+		"docs.dev.custom_script.validate",
+		"docs.dev.custom_script.validate1",
+		"docs.dev.custom_script.validate2",
+		"docs.dev.custom_script.validate3",
+		"docs.dev.custom_script.read_only",
+		"docs.dev.custom_script.calculate",
+		"docs.dev.custom_script.item_code"
+	]
+}
+---
+### How to Create a Custom Script
+
+Create a Custom Script (you must have System Manager role for this):
+
+1. Got to: Setup > Custom Script > New Custom Script
+1. Select the DocType in which you want to add the Custom Script
+
+---
+### Notes
+
+1. Server Custom Scripts are only available for the Administrator.
+1. Client Custom Scripts are in Javascript and Server Custom Scripts are in Python.
+1. For testing, make sure to go to Tools > Clear Cache and refresh after updating a Custom Script.
+
+	
+	
diff --git a/docs/dev/docs.dev.md b/docs/dev/docs.dev.md
index 285f176..15afea8 100644
--- a/docs/dev/docs.dev.md
+++ b/docs/dev/docs.dev.md
@@ -6,7 +6,7 @@
 		"docs.dev.quickstart",
 		"docs.dev.framework",
 		"docs.dev.modules",
-		"docs.dev.client_script",
+		"docs.dev.custom_script",
 		"docs.dev.api",
 		"docs.dev.translate",
 		"docs.dev.docs"
diff --git a/startup/event_handlers.py b/startup/event_handlers.py
index e807797..71eed74 100644
--- a/startup/event_handlers.py
+++ b/startup/event_handlers.py
@@ -64,6 +64,9 @@
 	webnotes.response['message'] = 'Account Expired'
 	raise webnotes.AuthenticationError
 
+def on_build():
+	from website.helpers.make_web_include_files import make
+	make()
 
 def comment_added(doc):
 	"""add comment to feed"""
