production cleanup
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'