diff --git a/manufacturing/doctype/production_order/production_order.js b/manufacturing/doctype/production_order/production_order.js
index 85d9633..ea8dd5b 100644
--- a/manufacturing/doctype/production_order/production_order.js
+++ b/manufacturing/doctype/production_order/production_order.js
@@ -8,88 +8,118 @@
 // 
 // This program is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
 // GNU General Public License for more details.
 // 
 // You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
+// along with this program.	If not, see <http://www.gnu.org/licenses/>.
 
 cur_frm.cscript.onload = function(doc, dt, dn) {
-  if (!doc.posting_date) doc.transaction_date = dateutil.obj_to_str(new Date());
-  if (!doc.status) doc.status = 'Draft';
-  cfn_set_fields(doc, dt, dn);
+	if (!doc.status) doc.status = 'Draft';
+	cfn_set_fields(doc, dt, dn);
 }
 
 // ================================== Refresh ==========================================
-cur_frm.cscript.refresh = function(doc, dt, dn) { 
-  cfn_set_fields(doc, dt, dn);
+cur_frm.cscript.refresh = function(doc, dt, dn) {
+	cur_frm.set_intro("");
+	cfn_set_fields(doc, dt, dn);
+	if(doc.docstatus===0 && !doc.__islocal) {
+		cur_frm.set_intro("Submit this Production Order for further processing.");
+	} else if(doc.docstatus===1) {
+		if(doc.status === "Stopped") {
+			cur_frm.set_intro("This Production Order is Stopped.");
+		} else {
+			if(doc.produced_qty == doc.qty) {
+				cur_frm.set_intro("This Production Order is Completed.");
+			} else {
+				cur_frm.set_intro("This Production Order is in progress.");
+			}
+		}
+	}
+	
+	cur_frm.cscript.update_status_html(doc);
+}
+
+cur_frm.cscript.update_status_html = function(doc) {
+	$(cur_frm.get_field("status_html").wrapper).empty();
+	
+	if(doc.issued_qty) {
+		$(repl("<div class='progress'>\
+			<div class='bar bar-success' style='width: %(manufactured)s%' \
+				title='%(manufactured_qty)s %(uom)s manufactured'></div> \
+			</div>"), {
+				manufactured_qty: doc.produced_qty,
+				manufactured: Math.round((doc.produced_qty / doc.qty) * 100),
+				uom: doc.stock_uom,
+			}).appendTo(cur_frm.get_field("status_html").wrapper);
+	}
 }
 
 var cfn_set_fields = function(doc, dt, dn) {
-  if (doc.docstatus == 1) {
-    if (doc.status != 'Stopped' && doc.status != 'Completed')
-	  cur_frm.add_custom_button('Stop!', cur_frm.cscript['Stop Production Order']);
-    else if (doc.status == 'Stopped')
-      cur_frm.add_custom_button('Unstop', cur_frm.cscript['Unstop Production Order']);
+	if (doc.docstatus == 1) {
+		if (doc.status != 'Stopped' && doc.status != 'Completed')
+		cur_frm.add_custom_button('Stop!', cur_frm.cscript['Stop Production Order']);
+		else if (doc.status == 'Stopped')
+			cur_frm.add_custom_button('Unstop', cur_frm.cscript['Unstop Production Order']);
 
-    if (doc.status == 'Submitted' || doc.status == 'Material Transferred' || doc.status == 'In Process'){
-      cur_frm.add_custom_button('Transfer Material', cur_frm.cscript['Transfer Material']);
-      cur_frm.add_custom_button('Backflush', cur_frm.cscript['Backflush']);
-    } 
-  }
+		if (doc.status == 'Submitted' || doc.status == 'Material Transferred' || doc.status == 'In Process'){
+			cur_frm.add_custom_button('Issue Raw Materials', cur_frm.cscript['Issue Raw Materials']);
+			cur_frm.add_custom_button('Update Finished Goods', cur_frm.cscript['Update Finished Goods']);
+		} 
+	}
 }
 
-cur_frm.cscript.production_item = function(doc, dt, dn) {
-  get_server_fields('get_item_detail',doc.production_item,'',doc,dt,dn,1);
+cur_frm.cscript.production_item = function(doc) {
+	cur_frm.call({
+		method: "get_item_details",
+		args: { item: doc.production_item }
+	});
 }
 
 cur_frm.cscript['Stop Production Order'] = function() {
-  var doc = cur_frm.doc;
-  var check = confirm("Do you really want to stop production order: " + doc.name);
-  if (check) {
-    $c_obj(make_doclist(doc.doctype, doc.name), 'stop_unstop', 'Stopped', function(r, rt) {cur_frm.refresh();});
+	var doc = cur_frm.doc;
+	var check = confirm("Do you really want to stop production order: " + doc.name);
+	if (check) {
+		$c_obj(make_doclist(doc.doctype, doc.name), 'stop_unstop', 'Stopped', function(r, rt) {cur_frm.refresh();});
 	}
 }
 
 cur_frm.cscript['Unstop Production Order'] = function() {
-  var doc = cur_frm.doc;
-  var check = confirm("Do really want to unstop production order: " + doc.name);
-  if (check)
-      $c_obj(make_doclist(doc.doctype, doc.name), 'stop_unstop', 'Unstopped', function(r, rt) {cur_frm.refresh();});
+	var doc = cur_frm.doc;
+	var check = confirm("Do really want to unstop production order: " + doc.name);
+	if (check)
+			$c_obj(make_doclist(doc.doctype, doc.name), 'stop_unstop', 'Unstopped', function(r, rt) {cur_frm.refresh();});
 }
 
-cur_frm.cscript['Transfer Material'] = function() {
-  var doc = cur_frm.doc;
-  cur_frm.cscript.make_se(doc, process = 'Material Transfer');
+cur_frm.cscript['Issue Raw Materials'] = function() {
+	var doc = cur_frm.doc;
+	cur_frm.cscript.make_se(doc, process = 'Material Transfer');
 }
 
-cur_frm.cscript['Backflush'] = function() {
-  var doc = cur_frm.doc;
-  cur_frm.cscript.make_se(doc, process = 'Backflush');
+cur_frm.cscript['Update Finished Goods'] = function() {
+	var doc = cur_frm.doc;
+	cur_frm.cscript.make_se(doc, process = 'Backflush');
 }
 
 cur_frm.cscript.make_se = function(doc, process) {
-  var se = LocalDB.create('Stock Entry');
-  se = locals['Stock Entry'][se];
-  se.purpose = 'Production Order';
-  se.process = process;
-  se.posting_date = doc.posting_date;
-  se.production_order = doc.name;
-  se.fiscal_year = doc.fiscal_year;
-  se.company = doc.company;
-  
-  loaddoc('Stock Entry', se.name);
+	var se = LocalDB.create('Stock Entry');
+	se = locals['Stock Entry'][se];
+	se.purpose = 'Production Order';
+	se.process = process;
+	se.production_order = doc.name;
+	se.company = doc.company;
+	
+	loaddoc('Stock Entry', se.name);
 }
 
 cur_frm.fields_dict['production_item'].get_query = function(doc) {
-   return 'SELECT DISTINCT `tabItem`.`name`, `tabItem`.`description` FROM `tabItem` WHERE (IFNULL(`tabItem`.`end_of_life`,"") = "" OR `tabItem`.`end_of_life` = "0000-00-00" OR `tabItem`.`end_of_life` > NOW()) AND `tabItem`.docstatus != 2 AND `tabItem`.is_pro_applicable = "Yes" AND `tabItem`.%(key)s LIKE "%s" ORDER BY `tabItem`.`name` LIMIT 50';
+	 return 'SELECT DISTINCT `tabItem`.`name`, `tabItem`.`description` FROM `tabItem` WHERE (IFNULL(`tabItem`.`end_of_life`,"") = "" OR `tabItem`.`end_of_life` = "0000-00-00" OR `tabItem`.`end_of_life` > NOW()) AND `tabItem`.docstatus != 2 AND `tabItem`.is_pro_applicable = "Yes" AND `tabItem`.%(key)s LIKE "%s" ORDER BY `tabItem`.`name` LIMIT 50';
 }
 
 cur_frm.fields_dict['project_name'].get_query = function(doc, dt, dn) {
-  return 'SELECT `tabProject`.name FROM `tabProject` \
-	  WHERE `tabProject`.status not in ("Completed", "Cancelled") \
-	  AND `tabProject`.name LIKE "%s" ORDER BY `tabProject`.name ASC LIMIT 50';
+	return 'SELECT `tabProject`.name FROM `tabProject` \
+		WHERE `tabProject`.status not in ("Completed", "Cancelled") \
+		AND `tabProject`.name LIKE "%s" ORDER BY `tabProject`.name ASC LIMIT 50';
 }
 
 
diff --git a/manufacturing/doctype/production_order/production_order.py b/manufacturing/doctype/production_order/production_order.py
index 07073da..b57d424 100644
--- a/manufacturing/doctype/production_order/production_order.py
+++ b/manufacturing/doctype/production_order/production_order.py
@@ -35,20 +35,8 @@
 
 
 	def autoname(self):
-		p = self.doc.fiscal_year
-		self.doc.name = make_autoname('PRO/' + self.doc.fiscal_year[2:5]+self.doc.fiscal_year[7:9] + '/.######')
-
-
-	def get_item_detail(self, prod_item):
-		item = sql("""select description, stock_uom, default_bom from `tabItem` 
-		where (ifnull(end_of_life,'')='' or end_of_life = '0000-00-00' or end_of_life >	now()) and name = %s""", prod_item, as_dict = 1 )
-		ret = {
-			'description'		: item and item[0]['description'] or '',
-			'stock_uom'			: item and item[0]['stock_uom'] or '',
-			'default_bom'		: item and item[0]['default_bom'] or ''
-		}
-		return ret
-
+		self.doc.name = make_autoname('PRO/' + self.doc.fiscal_year[2:5] + 
+			self.doc.fiscal_year[7:9] + '/.######')
 
 	def validate(self):
 		if self.doc.production_item :
@@ -144,4 +132,21 @@
 			"posting_date": nowdate(),
 			"planned_qty": flt(qty)
 		}
-		get_obj('Warehouse', self.doc.fg_warehouse).update_bin(args)
\ No newline at end of file
+		get_obj('Warehouse', self.doc.fg_warehouse).update_bin(args)
+
+@webnotes.whitelist()	
+def get_item_details(item):
+	res = webnotes.conn.sql("""select stock_uom
+		from `tabItem` where (ifnull(end_of_life, "")="" or end_of_life > now())
+		and name=%s""", (item,), as_dict=1)
+	
+	if not res:
+		return {}
+		
+	res = res[0]
+	bom = webnotes.conn.sql("""select name from `tabBOM` where item=%s 
+		and ifnull(is_default, 0)=1""", (item,))
+	if bom:
+		res.bom_no = bom[0][0]
+		
+	return res
\ No newline at end of file
diff --git a/manufacturing/doctype/production_order/production_order.txt b/manufacturing/doctype/production_order/production_order.txt
index 65ae4b8..8de81ef 100644
--- a/manufacturing/doctype/production_order/production_order.txt
+++ b/manufacturing/doctype/production_order/production_order.txt
@@ -2,9 +2,9 @@
  {
   "owner": "Administrator", 
   "docstatus": 0, 
-  "creation": "2012-07-03 13:30:03", 
+  "creation": "2012-12-11 15:15:05", 
   "modified_by": "Administrator", 
-  "modified": "2012-12-10 18:30:00"
+  "modified": "2012-12-11 18:30:35"
  }, 
  {
   "is_submittable": 1, 
@@ -18,14 +18,22 @@
   "parent": "Production Order", 
   "doctype": "DocField", 
   "parenttype": "DocType", 
+  "permlevel": 0, 
   "parentfield": "fields"
  }, 
  {
-  "name": "__common__", 
   "parent": "Production Order", 
   "read": 1, 
+  "cancel": 1, 
+  "name": "__common__", 
+  "amend": 1, 
+  "create": 1, 
   "doctype": "DocPerm", 
+  "submit": 1, 
+  "write": 1, 
   "parenttype": "DocType", 
+  "role": "Manufacturing User", 
+  "permlevel": 0, 
   "parentfield": "permissions"
  }, 
  {
@@ -33,291 +41,183 @@
   "doctype": "DocType"
  }, 
  {
-  "doctype": "DocField", 
-  "width": "50%", 
-  "fieldname": "column_break0", 
-  "fieldtype": "Column Break", 
-  "permlevel": 0
- }, 
- {
-  "description": "Item for which this Production Order is raised.", 
-  "oldfieldtype": "Link", 
-  "colour": "White:FFF", 
-  "doctype": "DocField", 
-  "label": "Production Item", 
-  "oldfieldname": "production_item", 
-  "permlevel": 0, 
-  "trigger": "Client", 
-  "fieldname": "production_item", 
-  "fieldtype": "Link", 
-  "reqd": 1, 
-  "in_filter": 1, 
-  "options": "Item"
- }, 
- {
-  "description": "Bill of Material which was considered for manufacturing the production item.", 
-  "oldfieldtype": "Link", 
-  "colour": "White:FFF", 
-  "doctype": "DocField", 
-  "label": "BOM No", 
-  "oldfieldname": "bom_no", 
-  "permlevel": 0, 
-  "trigger": "Client", 
-  "fieldname": "bom_no", 
-  "fieldtype": "Link", 
-  "reqd": 1, 
-  "options": "BOM"
- }, 
- {
-  "description": "Quantity of item for which Production Order is raised.", 
-  "oldfieldtype": "Currency", 
-  "colour": "White:FFF", 
-  "doctype": "DocField", 
-  "label": "Qty", 
-  "oldfieldname": "qty", 
-  "fieldname": "qty", 
-  "fieldtype": "Currency", 
-  "reqd": 1, 
-  "permlevel": 0
- }, 
- {
-  "description": "The date on which current entry will get or has actually executed.", 
-  "oldfieldtype": "Date", 
-  "colour": "White:FFF", 
-  "doctype": "DocField", 
-  "label": "Posting Date", 
-  "oldfieldname": "posting_date", 
-  "fieldname": "posting_date", 
-  "fieldtype": "Date", 
-  "reqd": 1, 
-  "permlevel": 0
- }, 
- {
-  "oldfieldtype": "Column Break", 
-  "doctype": "DocField", 
-  "width": "50%", 
-  "fieldname": "column_break1", 
-  "fieldtype": "Column Break", 
-  "permlevel": 0
- }, 
- {
-  "description": "The warehouse for finished goods where stock of produced items will be updated.", 
-  "oldfieldtype": "Link", 
-  "colour": "White:FFF", 
-  "doctype": "DocField", 
-  "label": "FG Warehouse", 
-  "oldfieldname": "fg_warehouse", 
-  "permlevel": 0, 
-  "fieldname": "fg_warehouse", 
-  "fieldtype": "Link", 
-  "reqd": 1, 
-  "in_filter": 1, 
-  "options": "Warehouse"
- }, 
- {
-  "description": "The work in progress warehouse where raw materials will be operated upon to create finished goods.", 
-  "oldfieldtype": "Link", 
-  "colour": "White:FFF", 
-  "doctype": "DocField", 
-  "label": "WIP Warehouse", 
-  "oldfieldname": "wip_warehouse", 
-  "permlevel": 0, 
-  "fieldname": "wip_warehouse", 
-  "fieldtype": "Link", 
-  "reqd": 1, 
-  "in_filter": 1, 
-  "options": "Warehouse"
- }, 
- {
-  "description": "If checked, BOM for sub-assembly items will be considered for getting raw materials. Otherwise, all sub-assembly items will be treated as a raw material.", 
-  "default": "1", 
-  "oldfieldtype": "Select", 
-  "colour": "White:FFF", 
-  "doctype": "DocField", 
-  "label": "Use Multi-Level BOM", 
-  "oldfieldname": "consider_sa_items", 
-  "fieldname": "use_multi_level_bom", 
-  "fieldtype": "Check", 
-  "reqd": 0, 
-  "in_filter": 1, 
-  "permlevel": 0
- }, 
- {
-  "description": "Updated after finished goods are transferred to FG Warehouse through Stock Entry", 
+  "read_only": 1, 
+  "depends_on": "eval:!doc.__islocal", 
   "no_copy": 1, 
-  "oldfieldtype": "Currency", 
-  "colour": "White:FFF", 
-  "doctype": "DocField", 
-  "label": "Produced Qty", 
-  "oldfieldname": "produced_qty", 
-  "fieldname": "produced_qty", 
-  "fieldtype": "Currency", 
-  "permlevel": 1
- }, 
- {
-  "doctype": "DocField", 
-  "label": "More Info", 
-  "fieldname": "more_info", 
-  "fieldtype": "Section Break", 
-  "permlevel": 0
- }, 
- {
-  "doctype": "DocField", 
-  "width": "50%", 
-  "fieldname": "column_break2", 
-  "fieldtype": "Column Break", 
-  "permlevel": 0
- }, 
- {
-  "no_copy": 1, 
-  "oldfieldtype": "Select", 
-  "doctype": "DocField", 
-  "label": "Origin", 
-  "oldfieldname": "origin", 
-  "options": "Manual\nMRP", 
-  "fieldname": "origin", 
-  "fieldtype": "Select", 
-  "reqd": 1, 
-  "permlevel": 0, 
-  "in_filter": 1
- }, 
- {
-  "no_copy": 1, 
-  "oldfieldtype": "Select", 
+  "search_index": 1, 
   "doctype": "DocField", 
   "label": "Status", 
   "oldfieldname": "status", 
-  "permlevel": 1, 
   "fieldname": "status", 
   "fieldtype": "Select", 
-  "search_index": 1, 
+  "oldfieldtype": "Select", 
   "reqd": 1, 
   "options": "\nDraft\nSubmitted\nStopped\nIn Process\nCompleted\nCancelled", 
   "in_filter": 1
  }, 
  {
-  "doctype": "DocField", 
-  "label": "Sales Order", 
-  "options": "Sales Order", 
-  "fieldname": "sales_order", 
-  "fieldtype": "Link", 
-  "permlevel": 0
- }, 
- {
-  "description": "Select name of the project if Production Order need to be created against any project", 
+  "read_only": 0, 
   "oldfieldtype": "Link", 
-  "label": "Project Name", 
-  "oldfieldname": "project_name", 
-  "trigger": "Client", 
-  "fieldname": "project_name", 
-  "fieldtype": "Link", 
   "doctype": "DocField", 
-  "options": "Project", 
-  "permlevel": 0, 
+  "label": "Item To Manufacture", 
+  "oldfieldname": "production_item", 
+  "fieldname": "production_item", 
+  "fieldtype": "Link", 
+  "reqd": 1, 
+  "options": "Item", 
   "in_filter": 1
  }, 
  {
+  "read_only": 0, 
+  "description": "Bill of Material to be considered for manufacturing", 
   "oldfieldtype": "Link", 
   "doctype": "DocField", 
-  "label": "Company", 
-  "oldfieldname": "company", 
-  "options": "Company", 
-  "fieldname": "company", 
+  "label": "BOM No", 
+  "oldfieldname": "bom_no", 
+  "fieldname": "bom_no", 
+  "fieldtype": "Link", 
+  "depends_on": "production_item", 
+  "reqd": 1, 
+  "options": "BOM"
+ }, 
+ {
+  "read_only": 0, 
+  "description": "Update Planned Quantity in this Warehouse", 
+  "depends_on": "production_item", 
+  "doctype": "DocField", 
+  "label": "For Warehouse", 
+  "fieldname": "fg_warehouse", 
   "fieldtype": "Link", 
   "reqd": 1, 
-  "permlevel": 0
+  "options": "Warehouse"
  }, 
  {
-  "oldfieldtype": "Select", 
-  "doctype": "DocField", 
-  "label": "Fiscal Year", 
-  "oldfieldname": "fiscal_year", 
-  "options": "link:Fiscal Year", 
-  "fieldname": "fiscal_year", 
-  "fieldtype": "Select", 
-  "reqd": 1, 
-  "permlevel": 0, 
-  "in_filter": 1
- }, 
- {
-  "no_copy": 1, 
-  "oldfieldtype": "Data", 
-  "doctype": "DocField", 
-  "label": "Amended From", 
-  "oldfieldname": "amended_from", 
-  "fieldname": "amended_from", 
-  "fieldtype": "Data", 
-  "permlevel": 1
- }, 
- {
-  "no_copy": 1, 
-  "oldfieldtype": "Date", 
-  "doctype": "DocField", 
-  "label": "Amendment Date", 
-  "oldfieldname": "amendment_date", 
-  "fieldname": "amendment_date", 
-  "fieldtype": "Date", 
-  "permlevel": 1
- }, 
- {
+  "read_only": 0, 
+  "oldfieldtype": "Column Break", 
   "doctype": "DocField", 
   "width": "50%", 
-  "fieldname": "column_break3", 
-  "fieldtype": "Column Break", 
-  "permlevel": 0
+  "fieldname": "column_break1", 
+  "fieldtype": "Column Break"
  }, 
  {
+  "read_only": 0, 
+  "depends_on": "issued_qty", 
+  "doctype": "DocField", 
+  "label": "Status HTML", 
+  "fieldname": "status_html", 
+  "fieldtype": "HTML"
+ }, 
+ {
+  "read_only": 0, 
+  "oldfieldtype": "Currency", 
+  "doctype": "DocField", 
+  "label": "Qty To Manufacture", 
+  "oldfieldname": "qty", 
+  "fieldname": "qty", 
+  "fieldtype": "Float", 
+  "depends_on": "production_item", 
+  "reqd": 1
+ }, 
+ {
+  "read_only": 1, 
+  "description": "Automatically updated via Backflush (Stock Entry)", 
+  "no_copy": 1, 
+  "oldfieldtype": "Currency", 
+  "doctype": "DocField", 
+  "label": "Manufactured Qty", 
+  "oldfieldname": "produced_qty", 
+  "fieldname": "produced_qty", 
+  "fieldtype": "Float", 
+  "depends_on": "eval:doc.docstatus==1"
+ }, 
+ {
+  "read_only": 1, 
   "oldfieldtype": "Data", 
   "doctype": "DocField", 
   "label": "Stock UOM", 
   "oldfieldname": "stock_uom", 
   "fieldname": "stock_uom", 
   "fieldtype": "Data", 
-  "permlevel": 1
+  "depends_on": "production_item"
  }, 
  {
-  "oldfieldtype": "Text", 
+  "read_only": 0, 
   "doctype": "DocField", 
-  "label": "Production Item Description", 
-  "oldfieldname": "description", 
-  "width": "300px", 
-  "fieldname": "description", 
-  "fieldtype": "Text", 
-  "permlevel": 0
+  "label": "More Info", 
+  "fieldname": "more_info", 
+  "fieldtype": "Section Break"
  }, 
  {
-  "amend": 1, 
-  "create": 1, 
-  "doctype": "DocPerm", 
-  "submit": 1, 
-  "write": 1, 
-  "role": "System Manager", 
-  "cancel": 1, 
-  "permlevel": 0
+  "read_only": 0, 
+  "description": "Manufacture against Sales Order", 
+  "doctype": "DocField", 
+  "label": "Sales Order", 
+  "fieldname": "sales_order", 
+  "fieldtype": "Link", 
+  "options": "Sales Order"
  }, 
  {
-  "doctype": "DocPerm", 
-  "role": "All", 
-  "permlevel": 1
+  "read_only": 0, 
+  "oldfieldtype": "Link", 
+  "doctype": "DocField", 
+  "label": "Project Name", 
+  "oldfieldname": "project_name", 
+  "fieldname": "project_name", 
+  "fieldtype": "Link", 
+  "options": "Project", 
+  "in_filter": 1
  }, 
  {
-  "amend": 1, 
-  "create": 1, 
-  "doctype": "DocPerm", 
-  "submit": 1, 
-  "write": 1, 
-  "role": "Manufacturing Manager", 
-  "cancel": 1, 
-  "permlevel": 0
+  "read_only": 0, 
+  "doctype": "DocField", 
+  "width": "50%", 
+  "fieldname": "column_break2", 
+  "fieldtype": "Column Break"
  }, 
  {
-  "amend": 1, 
-  "create": 1, 
-  "doctype": "DocPerm", 
-  "submit": 1, 
-  "write": 1, 
-  "role": "Manufacturing User", 
-  "cancel": 1, 
-  "permlevel": 0
+  "read_only": 0, 
+  "oldfieldtype": "Link", 
+  "doctype": "DocField", 
+  "label": "Company", 
+  "oldfieldname": "company", 
+  "fieldname": "company", 
+  "fieldtype": "Link", 
+  "reqd": 1, 
+  "options": "Company"
+ }, 
+ {
+  "read_only": 0, 
+  "oldfieldtype": "Select", 
+  "doctype": "DocField", 
+  "label": "Fiscal Year", 
+  "oldfieldname": "fiscal_year", 
+  "fieldname": "fiscal_year", 
+  "fieldtype": "Select", 
+  "reqd": 1, 
+  "options": "link:Fiscal Year", 
+  "in_filter": 1
+ }, 
+ {
+  "read_only": 1, 
+  "no_copy": 1, 
+  "oldfieldtype": "Data", 
+  "doctype": "DocField", 
+  "label": "Amended From", 
+  "oldfieldname": "amended_from", 
+  "fieldname": "amended_from", 
+  "fieldtype": "Data"
+ }, 
+ {
+  "print_hide": 1, 
+  "description": "The date at which current entry is corrected in the system.", 
+  "no_copy": 1, 
+  "depends_on": "eval:doc.amended_from", 
+  "doctype": "DocField", 
+  "label": "Amendment Date", 
+  "fieldname": "amendment_date", 
+  "fieldtype": "Date"
+ }, 
+ {
+  "doctype": "DocPerm"
  }
 ]
\ No newline at end of file
diff --git a/manufacturing/doctype/production_order/production_order_list.js b/manufacturing/doctype/production_order/production_order_list.js
index 73b9535..dd56b71 100644
--- a/manufacturing/doctype/production_order/production_order_list.js
+++ b/manufacturing/doctype/production_order/production_order_list.js
@@ -7,7 +7,7 @@
 			'`tabProduction Order`.fg_warehouse',
 			'`tabProduction Order`.stock_uom',
 			'IFNULL(`tabProduction Order`.qty, 0) as qty',
-			'`tabProduction Order`.posting_date',
+			'`tabProduction Order`.creation',
 			'`tabProduction Order`.status',
 		]);
 		this.stats = this.stats.concat(['company']);
@@ -15,7 +15,7 @@
 
 	prepare_data: function(data) {
 		this._super(data);
-		data.posting_date = wn.datetime.str_to_user(data.posting_date);
+		data.creation = wn.datetime.str_to_user(data.creation);
 	},
 
 	columns: [
@@ -33,7 +33,7 @@
 			},
 			css: {'text-align':'right'}
 		},
-		{width: '12%', content:'posting_date', css: {
+		{width: '12%', content:'creation', css: {
 			'text-align': 'right', 'color':'#777'
 		}},
 	]
diff --git a/manufacturing/doctype/production_planning_tool/production_planning_tool.py b/manufacturing/doctype/production_planning_tool/production_planning_tool.py
index fb87fb2..76bf84b 100644
--- a/manufacturing/doctype/production_planning_tool/production_planning_tool.py
+++ b/manufacturing/doctype/production_planning_tool/production_planning_tool.py
@@ -204,10 +204,7 @@
 				"bom_no"			: d.bom_no,
 				"description"		: d.description,
 				"stock_uom"			: d.stock_uom,
-				"use_multi_level_bom": self.doc.use_multi_level_bom,
 				"company"			: self.doc.company,
-				"posting_date"		: nowdate(),
-				"origin"			: "MRP",
 				"wip_warehouse"		: "",
 				"fg_warehouse"		: "",
 				"status"			: "Draft",
diff --git a/manufacturing/doctype/production_planning_tool/production_planning_tool.txt b/manufacturing/doctype/production_planning_tool/production_planning_tool.txt
index dcec425..6e750a8 100644
--- a/manufacturing/doctype/production_planning_tool/production_planning_tool.txt
+++ b/manufacturing/doctype/production_planning_tool/production_planning_tool.txt
@@ -2,14 +2,15 @@
  {
   "owner": "jai@webnotestech.com", 
   "docstatus": 0, 
-  "creation": "2012-07-03 13:30:03", 
+  "creation": "2012-12-11 15:15:06", 
   "modified_by": "Administrator", 
-  "modified": "2012-12-10 18:30:00"
+  "modified": "2012-12-11 16:13:59"
  }, 
  {
   "read_only": 1, 
   "issingle": 1, 
   "in_create": 1, 
+  "default_print_format": "Standard", 
   "doctype": "DocType", 
   "module": "Manufacturing", 
   "name": "__common__"
@@ -39,7 +40,6 @@
  }, 
  {
   "description": "Select Sales Orders from which you want to create Production Orders.", 
-  "colour": "White:FFF", 
   "doctype": "DocField", 
   "label": "Select Sales Orders", 
   "fieldname": "select_sales_orders", 
@@ -68,9 +68,9 @@
  {
   "doctype": "DocField", 
   "label": "Company", 
-  "reqd": 1, 
   "fieldname": "company", 
   "fieldtype": "Link", 
+  "reqd": 1, 
   "options": "Company"
  }, 
  {
@@ -99,7 +99,6 @@
  }, 
  {
   "description": "Pull sales orders (pending to deliver) based on the above criteria", 
-  "colour": "White:FFF", 
   "doctype": "DocField", 
   "label": "Get Sales Orders", 
   "fieldname": "get_sales_orders", 
@@ -107,7 +106,6 @@
   "options": "get_open_sales_orders"
  }, 
  {
-  "colour": "White:FFF", 
   "doctype": "DocField", 
   "label": "Production Plan Sales Orders", 
   "fieldname": "pp_so_details", 
@@ -115,17 +113,14 @@
   "options": "Production Plan Sales Order"
  }, 
  {
-  "colour": "White:FFF", 
   "doctype": "DocField", 
   "label": "Clear Table", 
-  "trigger": "Client", 
   "fieldname": "clear_so_table", 
   "fieldtype": "Button", 
   "options": "clear_so_table"
  }, 
  {
   "description": "Enter items and planned qty for which you want to raise production orders or download raw materials for analysis.", 
-  "colour": "White:FFF", 
   "doctype": "DocField", 
   "label": "Create Production Orders", 
   "fieldname": "create_production_orders", 
@@ -133,7 +128,6 @@
  }, 
  {
   "description": "Pull items from Sales Order mentioned in the above table.", 
-  "colour": "White:FFF", 
   "doctype": "DocField", 
   "label": "Get Items", 
   "fieldname": "get_items_from_so", 
@@ -141,7 +135,6 @@
   "options": "get_items_from_so"
  }, 
  {
-  "colour": "White:FFF", 
   "doctype": "DocField", 
   "label": "Production Plan Items", 
   "fieldname": "pp_details", 
@@ -149,23 +142,20 @@
   "options": "Production Plan Item"
  }, 
  {
-  "colour": "White:FFF", 
   "doctype": "DocField", 
   "label": "Clear Table", 
-  "trigger": "Client", 
   "fieldname": "clear_item_table", 
   "fieldtype": "Button", 
   "options": "clear_item_table"
  }, 
  {
-  "description": "If checked, BOM for sub-assembly items will be considered for raw materials. Otherwise, all sub-assembly items will be treated as a raw material.", 
+  "description": "If checked, BOM for sub-assembly items will be considered for getting raw materials. Otherwise, all sub-assembly items will be treated as a raw material.", 
   "default": "1", 
-  "colour": "White:FFF", 
   "doctype": "DocField", 
   "label": "Use Multi-Level BOM", 
-  "reqd": 0, 
   "fieldname": "use_multi_level_bom", 
-  "fieldtype": "Check"
+  "fieldtype": "Check", 
+  "reqd": 0
  }, 
  {
   "doctype": "DocField", 
@@ -181,7 +171,6 @@
  }, 
  {
   "description": "Separate production order will be created for each finished good item.", 
-  "colour": "White:FFF", 
   "doctype": "DocField", 
   "label": "Raise Production Order", 
   "fieldname": "raise_production_order", 
@@ -196,10 +185,8 @@
  }, 
  {
   "description": "Download a report containing all raw materials with their latest inventory status", 
-  "colour": "White:FFF", 
   "doctype": "DocField", 
   "label": "Download Materials Required", 
-  "trigger": "Client", 
   "fieldname": "download_materials_required", 
   "fieldtype": "Button"
  }, 
diff --git a/patches/december_2012/production_cleanup.py b/patches/december_2012/production_cleanup.py
index 0c25b89..cb78bd1 100644
--- a/patches/december_2012/production_cleanup.py
+++ b/patches/december_2012/production_cleanup.py
@@ -30,6 +30,9 @@
 	
 	webnotes.conn.set_global("modules_list",
 		webnotes.conn.get_global('modules_list').replace("Production", "Manufacturing"))
+		
+	# set end of life to null if "0000-00-00"
+	webnotes.conn.sql("""update `tabItem` set end_of_life=null where end_of_life='0000-00-00'""")
 	
 def rebuilt_exploded_bom():
 	from webnotes.model.code import get_obj
diff --git a/stock/doctype/stock_entry/stock_entry.py b/stock/doctype/stock_entry/stock_entry.py
index 04d898a..574c24e 100644
--- a/stock/doctype/stock_entry/stock_entry.py
+++ b/stock/doctype/stock_entry/stock_entry.py
@@ -469,6 +469,8 @@
 					"planned_qty": (is_submit and -1 or 1 ) * flt(self.doc.fg_completed_qty)
 				}
 				get_obj('Warehouse', pro_obj.doc.fg_warehouse).update_bin(args)
+			elif self.doc.process == 'Material Transfer':
+				pass
 				
 			pro_obj.doc.status = (flt(pro_obj.doc.qty)==flt(pro_obj.doc.produced_qty)) \
 				and 'Completed' or 'In Process'
