Test Cases added to check if customer is frozen
diff --git a/erpnext/accounts/doctype/gl_entry/gl_entry.py b/erpnext/accounts/doctype/gl_entry/gl_entry.py
index de5b312..d3246d7 100644
--- a/erpnext/accounts/doctype/gl_entry/gl_entry.py
+++ b/erpnext/accounts/doctype/gl_entry/gl_entry.py
@@ -9,6 +9,8 @@
 
 from frappe.model.document import Document
 
+class CustomerFrozen(frappe.ValidationError): pass
+
 class GLEntry(Document):
 	def validate(self):
 		self.flags.ignore_submit_comment = True
@@ -91,9 +93,9 @@
 			frappe.throw(_("Cost Center {0} does not belong to Company {1}").format(self.cost_center, self.company))
 			
 	def validate_party(self):
-		if self.meta.get_field("party_type"):
+		if self.party_type and self.party:
 			if frappe.db.get_value(self.party_type, self.party, "is_frozen"):
-				frappe.throw("Accounts for {0} {1} is frozen".format(self.party_type, self.party))
+				frappe.throw("{0} {1} is frozen".format(self.party_type, self.party), CustomerFrozen)
 
 def validate_balance_type(account, adv_adj=False):
 	if not adv_adj and account:
diff --git a/erpnext/controllers/accounts_controller.py b/erpnext/controllers/accounts_controller.py
index c893a0a..cbd8a6f 100644
--- a/erpnext/controllers/accounts_controller.py
+++ b/erpnext/controllers/accounts_controller.py
@@ -11,6 +11,8 @@
 from erpnext.controllers.recurring_document import convert_to_recurring, validate_recurring_document
 from erpnext.controllers.sales_and_purchase_return import validate_return
 
+class CustomerFrozen(frappe.ValidationError): pass
+
 class AccountsController(TransactionBase):
 	def validate(self):
 		if self.get("_action") and self._action != "update_after_submit":
@@ -344,18 +346,17 @@
 		return self._abbr
 
 	def validate_party(self):
-		party = None
+		party_type = None
 		if self.meta.get_field("customer"):
-			party_type = 'customer'
-			party = self.customer
+			party_type = 'Customer'
 
-		elif self.meta.get_field("suppier"):
-			party_type = 'supplier'
-			party = self.supplier
+		elif self.meta.get_field("supplier"):
+			party_type = 'Supplier'
 			
-		if party:
+		if party_type:
+			party = self.get(party_type.lower())
 			if frappe.db.get_value(party_type, party, "is_frozen"):
-				frappe.throw("Accounts for {0} {1} is frozen".format(party_type, party))
+				frappe.throw("{0} {1} is frozen".format(party_type, party), CustomerFrozen)
 
 @frappe.whitelist()
 def get_tax_rate(account_head):
diff --git a/erpnext/selling/doctype/customer/test_customer.py b/erpnext/selling/doctype/customer/test_customer.py
index 1db6c6a..2f9c4e1 100644
--- a/erpnext/selling/doctype/customer/test_customer.py
+++ b/erpnext/selling/doctype/customer/test_customer.py
@@ -7,6 +7,7 @@
 import unittest
 
 from frappe.test_runner import make_test_records
+from erpnext.controllers.accounts_controller import CustomerFrozen
 
 test_ignore = ["Price List"]
 
@@ -65,5 +66,19 @@
 			{"comment_doctype": "Customer", "comment_docname": "_Test Customer 1 Renamed"}), comment.name)
 
 		frappe.rename_doc("Customer", "_Test Customer 1 Renamed", "_Test Customer 1")
-
-
+		
+	def test_freezed_customer(self):
+		cust = frappe.get_doc("Customer", "_Test Customer")
+		cust.is_frozen = 1
+		cust.save()
+		
+		from erpnext.selling.doctype.sales_order.test_sales_order import make_sales_order
+		
+		so = make_sales_order(do_not_save= True)
+		so.customer = "_Test Customer"
+		self.assertRaises(CustomerFrozen, so.save)
+		
+		cust.is_frozen = 0
+		cust.save()
+		
+		so.save()
\ No newline at end of file