Merge pull request #1740 from nabinhait/v4-hotfix

fixes
diff --git a/erpnext/accounts/doctype/account/account.json b/erpnext/accounts/doctype/account/account.json
index 28a0329..dc83351 100644
--- a/erpnext/accounts/doctype/account/account.json
+++ b/erpnext/accounts/doctype/account/account.json
@@ -80,6 +80,7 @@
    "oldfieldtype": "Link", 
    "options": "Account", 
    "permlevel": 0, 
+   "reqd": 1, 
    "search_index": 1
   }, 
   {
@@ -209,7 +210,7 @@
  "icon": "icon-money", 
  "idx": 1, 
  "in_create": 1, 
- "modified": "2014-05-21 11:42:47.255511", 
+ "modified": "2014-06-03 18:27:58.109303", 
  "modified_by": "Administrator", 
  "module": "Accounts", 
  "name": "Account", 
diff --git a/erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.py b/erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.py
index c1072a3..e87fbd3 100644
--- a/erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.py
+++ b/erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.py
@@ -22,7 +22,7 @@
 		total_debit += flt(d[4])
 		total_credit += flt(d[5])
 
-	bank_bal = flt(balance_as_per_company) + flt(total_debit) - flt(total_credit)
+	bank_bal = flt(balance_as_per_company) - flt(total_debit) + flt(total_credit)
 
 	data += [
 		get_balance_row("Balance as per company books", balance_as_per_company),
diff --git a/erpnext/setup/doctype/company/company.py b/erpnext/setup/doctype/company/company.py
index 2c019d9..789a7f1 100644
--- a/erpnext/setup/doctype/company/company.py
+++ b/erpnext/setup/doctype/company/company.py
@@ -91,6 +91,8 @@
 
 		for d in self.fld_dict.keys():
 			account.set(d, (d == 'parent_account' and lst[self.fld_dict[d]]) and lst[self.fld_dict[d]] +' - '+ self.abbr or lst[self.fld_dict[d]])
+		if not account.parent_account:
+			account.ignore_mandatory = True
 		account.insert()
 
 	def set_default_accounts(self):
diff --git a/erpnext/stock/doctype/warehouse/warehouse.py b/erpnext/stock/doctype/warehouse/warehouse.py
index cc61d56..2b68928 100644
--- a/erpnext/stock/doctype/warehouse/warehouse.py
+++ b/erpnext/stock/doctype/warehouse/warehouse.py
@@ -38,8 +38,7 @@
 	def create_account_head(self):
 		if cint(frappe.defaults.get_global_default("auto_accounting_for_stock")):
 			if not frappe.db.get_value("Account", {"account_type": "Warehouse",
-					"master_name": self.name}) and not frappe.db.get_value("Account",
-					{"account_name": self.warehouse_name}):
+					"master_name": self.name}):
 				if self.get("__islocal") or not frappe.db.get_value(
 						"Stock Ledger Entry", {"warehouse": self.name}):
 					self.validate_parent_account()
diff --git a/erpnext/stock/get_item_details.py b/erpnext/stock/get_item_details.py
index 4a295d8..9c251b8 100644
--- a/erpnext/stock/get_item_details.py
+++ b/erpnext/stock/get_item_details.py
@@ -255,6 +255,7 @@
 
 	args = frappe._dict(args)
 	out = frappe._dict()
+	if not args.get("item_code"): return
 
 	if not args.get("item_group") or not args.get("brand"):
 		args.item_group, args.brand = frappe.db.get_value("Item",