diff --git a/accounts/report/budget_variance_report/budget_variance_report.py b/accounts/report/budget_variance_report/budget_variance_report.py
index 2cbbd62..a5860c8 100644
--- a/accounts/report/budget_variance_report/budget_variance_report.py
+++ b/accounts/report/budget_variance_report/budget_variance_report.py
@@ -121,6 +121,6 @@
 			
 			for ad in actual_details.get(ccd.name, {}).get(ccd.account, []):
 				if ad.month_name == month:
-						tav_dict.actual += ad.debit - ad.credit
+						tav_dict.actual += flt(ad.debit) - flt(ad.credit)
 						
-	return cam_map
\ No newline at end of file
+	return cam_map
diff --git a/config.json b/config.json
index 05918ef..bc72fa9 100644
--- a/config.json
+++ b/config.json
@@ -1,78 +1,78 @@
 {
-	"app_name": "ERPNext",
-	"app_version": "3.0.0",
-	"requires_framework_version": "==3.0.0",
-	"base_template": "app/portal/templates/base.html",
-	"modules": {
-		"Selling": {
-			"link": "selling-home",
-			"color": "#1abc9c",
-			"icon": "icon-tag",
-			"type": "module"
-		},
-		"Accounts": {
-			"link": "accounts-home",
-			"color": "#3498db",
-			"icon": "icon-money",
-			"type": "module"
-		},
-		"Stock": {
-			"type": "module",
-			"link": "stock-home",
-			"color": "#f39c12",
-			"icon": "icon-truck"
-		},
-		"Buying": {
-			"type": "module",
-			"link": "buying-home",
-			"color": "#c0392b",
-			"icon": "icon-shopping-cart"
-		},
-		"Support": {
-			"type": "module",
-			"link": "support-home",
-			"color": "#2c3e50",
-			"icon": "icon-phone"
-		},
-		"Projects": {
-			"type": "module",
-			"link": "projects-home",
-			"color": "#8e44ad",
-			"icon": "icon-puzzle-piece"
-		},
-		"Manufacturing": {
-			"type": "module",
-			"link": "manufacturing-home",
-			"color": "#7f8c8d",
-			"icon": "icon-cogs"
-		},
-		"HR": {
-			"type": "module",
-			"link": "hr-home",
-			"color": "#2ecc71",
-			"label": "Human Resources",
-			"icon": "icon-group"
-		},
-		"Setup": {
-			"type": "setup",
-			"link": "Setup",
-			"color": "#bdc3c7",
-			"icon": "icon-wrench"
-		},
-		"Activity": {
-			"type": "page",
-			"link": "activity",
-			"color": "#e67e22",
-			"icon": "icon-play",
-			"label": "Activity"
-		},
-		"Notes": {
-			"type": "list",
-			"doctype": "Note",
-			"link": "List/Note",
-			"color": "#95a5a6",
-			"label": "Notes",
-			"icon": "icon-file-alt"
-		}
-	}
-}
+ "app_name": "ERPNext", 
+ "app_version": "3.1.2", 
+ "base_template": "app/portal/templates/base.html", 
+ "modules": {
+  "Accounts": {
+   "color": "#3498db", 
+   "icon": "icon-money", 
+   "link": "accounts-home", 
+   "type": "module"
+  }, 
+  "Activity": {
+   "color": "#e67e22", 
+   "icon": "icon-play", 
+   "label": "Activity", 
+   "link": "activity", 
+   "type": "page"
+  }, 
+  "Buying": {
+   "color": "#c0392b", 
+   "icon": "icon-shopping-cart", 
+   "link": "buying-home", 
+   "type": "module"
+  }, 
+  "HR": {
+   "color": "#2ecc71", 
+   "icon": "icon-group", 
+   "label": "Human Resources", 
+   "link": "hr-home", 
+   "type": "module"
+  }, 
+  "Manufacturing": {
+   "color": "#7f8c8d", 
+   "icon": "icon-cogs", 
+   "link": "manufacturing-home", 
+   "type": "module"
+  }, 
+  "Notes": {
+   "color": "#95a5a6", 
+   "doctype": "Note", 
+   "icon": "icon-file-alt", 
+   "label": "Notes", 
+   "link": "List/Note", 
+   "type": "list"
+  }, 
+  "Projects": {
+   "color": "#8e44ad", 
+   "icon": "icon-puzzle-piece", 
+   "link": "projects-home", 
+   "type": "module"
+  }, 
+  "Selling": {
+   "color": "#1abc9c", 
+   "icon": "icon-tag", 
+   "link": "selling-home", 
+   "type": "module"
+  }, 
+  "Setup": {
+   "color": "#bdc3c7", 
+   "icon": "icon-wrench", 
+   "link": "Setup", 
+   "type": "setup"
+  }, 
+  "Stock": {
+   "color": "#f39c12", 
+   "icon": "icon-truck", 
+   "link": "stock-home", 
+   "type": "module"
+  }, 
+  "Support": {
+   "color": "#2c3e50", 
+   "icon": "icon-phone", 
+   "link": "support-home", 
+   "type": "module"
+  }
+ }, 
+ "requires_framework_version": "==3.1.1"
+}
\ No newline at end of file
diff --git a/hr/doctype/earning_type/earning_type.txt b/hr/doctype/earning_type/earning_type.txt
index 0c84cf1..902a4ed 100644
--- a/hr/doctype/earning_type/earning_type.txt
+++ b/hr/doctype/earning_type/earning_type.txt
@@ -2,7 +2,7 @@
  {
   "creation": "2013-01-24 11:03:32", 
   "docstatus": 0, 
-  "modified": "2013-07-22 15:25:26", 
+  "modified": "2013-12-09 16:24:07", 
   "modified_by": "Administrator", 
   "owner": "Administrator"
  }, 
@@ -85,7 +85,7 @@
   "doctype": "DocField", 
   "fieldname": "exemption_limit", 
   "fieldtype": "Float", 
-  "hidden": 1, 
+  "hidden": 0, 
   "label": "Exemption Limit", 
   "oldfieldname": "exemption_limit", 
   "oldfieldtype": "Currency"
diff --git a/manufacturing/doctype/bom/bom.txt b/manufacturing/doctype/bom/bom.txt
index 68553fb..a5ff125 100644
--- a/manufacturing/doctype/bom/bom.txt
+++ b/manufacturing/doctype/bom/bom.txt
@@ -2,7 +2,7 @@
  {
   "creation": "2013-01-22 15:11:38", 
   "docstatus": 0, 
-  "modified": "2013-12-04 11:51:36", 
+  "modified": "2013-12-09 16:25:50", 
   "modified_by": "Administrator", 
   "owner": "Administrator"
  }, 
@@ -121,12 +121,12 @@
  }, 
  {
   "depends_on": "with_operations", 
+  "description": "Specify the operations, operating cost and give a unique Operation no to your operations.", 
   "doctype": "DocField", 
   "fieldname": "operations", 
   "fieldtype": "Section Break", 
   "label": "Operations", 
-  "oldfieldtype": "Section Break", 
-  "options": "Specify the operations, operating cost and give a unique Operation no to your operations."
+  "oldfieldtype": "Section Break"
  }, 
  {
   "doctype": "DocField", 
diff --git a/patches/may_2013/p06_make_notes.py b/patches/may_2013/p06_make_notes.py
index adb3dfd..149547f 100644
--- a/patches/may_2013/p06_make_notes.py
+++ b/patches/may_2013/p06_make_notes.py
@@ -37,7 +37,6 @@
 
 	webnotes.delete_doc("DocType", "Question")
 	webnotes.delete_doc("DocType", "Answer")
-	webnotes.bean("Style Settings").save()
 	
 	# update comment delete
 	webnotes.conn.sql("""update tabDocPerm \
diff --git a/patches/october_2013/p09_update_naming_series_settings.py b/patches/october_2013/p09_update_naming_series_settings.py
index 36632b4..7771b73 100644
--- a/patches/october_2013/p09_update_naming_series_settings.py
+++ b/patches/october_2013/p09_update_naming_series_settings.py
@@ -15,4 +15,5 @@
 	
 	# reset property setters for series
 	for name in ("Stock Settings", "Selling Settings", "Buying Settings", "HR Settings"):
-		webnotes.bean(name, name).save()
\ No newline at end of file
+		webnotes.reload_doc(name.split()[0], 'DocType', name)
+		webnotes.bean(name, name).save()
diff --git a/selling/sales_common.js b/selling/sales_common.js
index ee55dfa..d6c8fdd 100644
--- a/selling/sales_common.js
+++ b/selling/sales_common.js
@@ -95,7 +95,7 @@
 	refresh: function() {
 		this._super();
 		this.frm.toggle_display("customer_name", 
-			(this.customer_name && this.frm.doc.customer_name!==this.frm.doc.customer));
+			(this.frm.doc.customer_name && this.frm.doc.customer_name!==this.frm.doc.customer));
 		if(this.frm.fields_dict.packing_details) {
 			var packing_list_exists = this.frm.get_doclist({parentfield: "packing_details"}).length;
 			this.frm.toggle_display("packing_list", packing_list_exists ? true : false);
diff --git a/stock/doctype/delivery_note/delivery_note.txt b/stock/doctype/delivery_note/delivery_note.txt
index 7fb166e..1dc3cd3 100644
--- a/stock/doctype/delivery_note/delivery_note.txt
+++ b/stock/doctype/delivery_note/delivery_note.txt
@@ -2,7 +2,7 @@
  {
   "creation": "2013-05-24 19:29:09", 
   "docstatus": 0, 
-  "modified": "2013-11-03 14:20:19", 
+  "modified": "2013-12-09 16:24:08", 
   "modified_by": "Administrator", 
   "owner": "Administrator"
  }, 
@@ -229,7 +229,7 @@
   "doctype": "DocField", 
   "fieldname": "po_date", 
   "fieldtype": "Date", 
-  "hidden": 1, 
+  "hidden": 0, 
   "label": "Customer's Purchase Order Date", 
   "no_copy": 0, 
   "oldfieldname": "po_date", 
diff --git a/stock/doctype/stock_entry/stock_entry.js b/stock/doctype/stock_entry/stock_entry.js
index ed41d7d..76284ea 100644
--- a/stock/doctype/stock_entry/stock_entry.js
+++ b/stock/doctype/stock_entry/stock_entry.js
@@ -106,7 +106,7 @@
 				},
 				callback: function(r) {
 					if (!r.exc) {
-						for(d in getchildren('Stock Entry Detail',doc.name,'mtn_details')) {
+						for(d in getchildren('Stock Entry Detail', me.frm.doc.name, 'mtn_details')) {
 							if(!d.expense_account) d.expense_account = r.message;
 						}
 					}
diff --git a/stock/doctype/stock_entry/stock_entry.txt b/stock/doctype/stock_entry/stock_entry.txt
index ca9b5f2..18a07a3 100644
--- a/stock/doctype/stock_entry/stock_entry.txt
+++ b/stock/doctype/stock_entry/stock_entry.txt
@@ -2,7 +2,7 @@
  {
   "creation": "2013-04-09 11:43:55", 
   "docstatus": 0, 
-  "modified": "2013-11-03 14:11:42", 
+  "modified": "2013-12-09 16:24:10", 
   "modified_by": "Administrator", 
   "owner": "Administrator"
  }, 
@@ -108,7 +108,7 @@
   "doctype": "DocField", 
   "fieldname": "delivery_note_no", 
   "fieldtype": "Link", 
-  "hidden": 1, 
+  "hidden": 0, 
   "in_filter": 0, 
   "label": "Delivery Note No", 
   "no_copy": 1, 
@@ -126,7 +126,7 @@
   "doctype": "DocField", 
   "fieldname": "sales_invoice_no", 
   "fieldtype": "Link", 
-  "hidden": 1, 
+  "hidden": 0, 
   "label": "Sales Invoice No", 
   "no_copy": 1, 
   "options": "Sales Invoice", 
@@ -139,7 +139,7 @@
   "doctype": "DocField", 
   "fieldname": "purchase_receipt_no", 
   "fieldtype": "Link", 
-  "hidden": 1, 
+  "hidden": 0, 
   "in_filter": 0, 
   "label": "Purchase Receipt No", 
   "no_copy": 1, 
@@ -299,7 +299,7 @@
   "doctype": "DocField", 
   "fieldname": "production_order", 
   "fieldtype": "Link", 
-  "hidden": 1, 
+  "hidden": 0, 
   "in_filter": 1, 
   "label": "Production Order", 
   "no_copy": 0, 
diff --git a/stock/report/stock_ledger/stock_ledger.js b/stock/report/stock_ledger/stock_ledger.js
index 0e323eb..752d6d2 100644
--- a/stock/report/stock_ledger/stock_ledger.js
+++ b/stock/report/stock_ledger/stock_ledger.js
@@ -15,14 +15,14 @@
 			"fieldname":"from_date",
 			"label": wn._("From Date"),
 			"fieldtype": "Date",
-			"default": wn.defaults.get_user_default("year_start_date"),
+			"default": wn.datetime.add_months(wn.datetime.get_today(), -1),
 			"reqd": 1
 		},
 		{
 			"fieldname":"to_date",
 			"label": wn._("To Date"),
 			"fieldtype": "Date",
-			"default": wn.defaults.get_user_default("year_end_date"),
+			"default": wn.datetime.get_today(),
 			"reqd": 1
 		},
 		{
diff --git a/stock/report/stock_ledger/stock_ledger.py b/stock/report/stock_ledger/stock_ledger.py
index 3ae9135..ea1a60f 100644
--- a/stock/report/stock_ledger/stock_ledger.py
+++ b/stock/report/stock_ledger/stock_ledger.py
@@ -3,37 +3,62 @@
 
 from __future__ import unicode_literals
 import webnotes
+from webnotes import _
 
 def execute(filters=None):
-	columns = ["Date:Datetime:95", "Item:Link/Item:100", "Item Name::100", 
+	columns = get_columns()
+	sl_entries = get_stock_ledger_entries(filters)
+	item_details = get_item_details(filters)
+	
+	data = []
+	for sle in sl_entries:
+		item_detail = item_details[sle.item_code]
+		data.append([sle.date, sle.item_code, item_detail.item_name, item_detail.item_group, 
+			item_detail.brand, item_detail.description, sle.warehouse, item_detail.stock_uom, 
+			sle.actual_qty, sle.qty_after_transaction, sle.stock_value, sle.voucher_type, 
+			sle.voucher_no, sle.batch_no, sle.serial_no, sle.company])
+	
+	return columns, data
+	
+def get_columns():
+	return ["Date:Datetime:95", "Item:Link/Item:100", "Item Name::100", 
 		"Item Group:Link/Item Group:100", "Brand:Link/Brand:100",
 		"Description::200", "Warehouse:Link/Warehouse:100",
 		"Stock UOM:Link/UOM:100", "Qty:Float:50", "Balance Qty:Float:80", 
 		"Balance Value:Currency:100", "Voucher Type::100", "Voucher #::100",
 		"Batch:Link/Batch:100", "Serial #:Link/Serial No:100", "Company:Link/Company:100"]
-
-	data = webnotes.conn.sql("""select concat_ws(" ", posting_date, posting_time),
-			item.name, item.item_name, item.item_group, brand, description, warehouse, sle.stock_uom,
-			actual_qty, qty_after_transaction, stock_value, voucher_type, voucher_no, 
-			batch_no, serial_no, company
-		from `tabStock Ledger Entry` sle,
-			(select name, item_name, description, stock_uom, brand, item_group
-				from `tabItem` {item_conditions}) item
-		where item_code = item.name and
-			company = %(company)s and
+	
+def get_stock_ledger_entries(filters):
+	if not filters.get("company"):
+		webnotes.throw(_("Company is mandatory"))
+	if not filters.get("from_date"):
+		webnotes.throw(_("From Date is mandatory"))
+	if not filters.get("to_date"):
+		webnotes.throw(_("To Date is mandatory"))
+		
+	return webnotes.conn.sql("""select concat_ws(" ", posting_date, posting_time) as date,
+			item_code, warehouse, actual_qty, qty_after_transaction, 
+			stock_value, voucher_type, voucher_no, batch_no, serial_no, company
+		from `tabStock Ledger Entry`
+		where company = %(company)s and
 			posting_date between %(from_date)s and %(to_date)s
 			{sle_conditions}
-			order by posting_date desc, posting_time desc, sle.name desc"""\
-		.format(item_conditions=get_item_conditions(filters),
-			sle_conditions=get_sle_conditions(filters)),
-		filters)
+			order by posting_date desc, posting_time desc, name desc"""\
+		.format(sle_conditions=get_sle_conditions(filters)), filters, as_dict=1)
 
-	return columns, data
+def get_item_details(filters):
+	item_details = {}
+	for item in webnotes.conn.sql("""select name, item_name, description, item_group, 
+			brand, stock_uom from `tabItem` {item_conditions}"""\
+			.format(item_conditions=get_item_conditions(filters)), filters, as_dict=1):
+		item_details.setdefault(item.name, item)
+		
+	return item_details
 	
 def get_item_conditions(filters):
 	conditions = []
 	if filters.get("item_code"):
-		conditions.append("item_code=%(item_code)s")
+		conditions.append("name=%(item_code)s")
 	if filters.get("brand"):
 		conditions.append("brand=%(brand)s")
 	
diff --git a/translations/languages.json b/translations/languages.json
index fe6bf2d..9bffb5c 100644
--- a/translations/languages.json
+++ b/translations/languages.json
@@ -1,4 +1,6 @@
 {
+	"中国（简体）": "zh-cn",
+	"中國（繁體）": "zh-tw",
 	"deutsch": "de",
 	"ελληνικά": "el",
 	"english": "en",
