diff --git a/erpnext/patches.txt b/erpnext/patches.txt
index 03919bc..1d4e913 100644
--- a/erpnext/patches.txt
+++ b/erpnext/patches.txt
@@ -75,3 +75,4 @@
 erpnext.patches.v4_2.toggle_rounded_total #2014-07-30
 erpnext.patches.v4_2.fix_account_master_type
 erpnext.patches.v4_2.update_project_milestones
+erpnext.patches.v4_2.add_currency_turkish_lira #2014-08-08
diff --git a/erpnext/patches/v4_2/add_currency_turkish_lira.py b/erpnext/patches/v4_2/add_currency_turkish_lira.py
new file mode 100644
index 0000000..f547661
--- /dev/null
+++ b/erpnext/patches/v4_2/add_currency_turkish_lira.py
@@ -0,0 +1,11 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
+# License: GNU General Public License v3. See license.txt
+
+from __future__ import unicode_literals
+import frappe
+from frappe.country_info import get_country_info
+from erpnext.setup.install import add_country_and_currency
+
+def execute():
+	country = get_country_info(country="Turkey")
+	add_country_and_currency("Turkey", country)
diff --git a/erpnext/setup/install.py b/erpnext/setup/install.py
index 344a89e..0e8e58d 100644
--- a/erpnext/setup/install.py
+++ b/erpnext/setup/install.py
@@ -28,29 +28,32 @@
 
 	for name in data:
 		country = frappe._dict(data[name])
-		if not frappe.db.exists("Country", name):
-			frappe.get_doc({
-				"doctype": "Country",
-				"country_name": name,
-				"code": country.code,
-				"date_format": country.date_format or "dd-mm-yyyy",
-				"time_zones": "\n".join(country.timezones or [])
-			}).insert()
-
-		if country.currency and not frappe.db.exists("Currency", country.currency):
-			frappe.get_doc({
-				"doctype": "Currency",
-				"currency_name": country.currency,
-				"fraction": country.currency_fraction,
-				"symbol": country.currency_symbol,
-				"fraction_units": country.currency_fraction_units,
-				"number_format": country.number_format
-			}).insert()
+		add_country_and_currency(name, country)
 
 	# enable frequently used currencies
 	for currency in ("INR", "USD", "GBP", "EUR", "AED", "AUD", "JPY", "CNY", "CHF"):
 		frappe.db.set_value("Currency", currency, "enabled", 1)
 
+def add_country_and_currency(name, country):
+	if not frappe.db.exists("Country", name):
+		frappe.get_doc({
+			"doctype": "Country",
+			"country_name": name,
+			"code": country.code,
+			"date_format": country.date_format or "dd-mm-yyyy",
+			"time_zones": "\n".join(country.timezones or [])
+		}).insert()
+
+	if country.currency and not frappe.db.exists("Currency", country.currency):
+		frappe.get_doc({
+			"doctype": "Currency",
+			"currency_name": country.currency,
+			"fraction": country.currency_fraction,
+			"symbol": country.currency_symbol,
+			"fraction_units": country.currency_fraction_units,
+			"number_format": country.number_format
+		}).insert()
+
 def feature_setup():
 	"""save global defaults and features setup"""
 	doc = frappe.get_doc("Features Setup", "Features Setup")
