install, web serving, session booting webnotes/wnframework#351
diff --git a/erpnext/accounts/doctype/account/account.py b/erpnext/accounts/doctype/account/account.py
index cae2028..eccbb47 100644
--- a/erpnext/accounts/doctype/account/account.py
+++ b/erpnext/accounts/doctype/account/account.py
@@ -206,7 +206,7 @@
 		
 	def before_rename(self, old, new, merge=False):
 		# Add company abbr if not provided
-		from setup.doctype.company.company import get_name_with_abbr
+		from erpnext.setup.doctype.company.company import get_name_with_abbr
 		new_account = get_name_with_abbr(new, self.doc.company)
 		
 		# Validate properties before merging
diff --git a/erpnext/accounts/doctype/c_form/c_form.py b/erpnext/accounts/doctype/c_form/c_form.py
index 81d5a15..80a9f44 100644
--- a/erpnext/accounts/doctype/c_form/c_form.py
+++ b/erpnext/accounts/doctype/c_form/c_form.py
@@ -76,7 +76,7 @@
 		}
 
 def get_invoice_nos(doctype, txt, searchfield, start, page_len, filters):
-	from utilities import build_filter_conditions
+	from erpnext.utilities import build_filter_conditions
 	conditions, filter_values = build_filter_conditions(filters)
 	
 	return webnotes.conn.sql("""select name from `tabSales Invoice` where docstatus = 1 
diff --git a/erpnext/accounts/doctype/cost_center/cost_center.py b/erpnext/accounts/doctype/cost_center/cost_center.py
index 692d47e..0d38cc8 100644
--- a/erpnext/accounts/doctype/cost_center/cost_center.py
+++ b/erpnext/accounts/doctype/cost_center/cost_center.py
@@ -75,7 +75,7 @@
 		
 	def before_rename(self, olddn, newdn, merge=False):
 		# Add company abbr if not provided
-		from setup.doctype.company.company import get_name_with_abbr
+		from erpnext.setup.doctype.company.company import get_name_with_abbr
 		new_cost_center = get_name_with_abbr(newdn, self.doc.company)
 		
 		# Validate properties before merging
diff --git a/erpnext/accounts/doctype/gl_entry/gl_entry.py b/erpnext/accounts/doctype/gl_entry/gl_entry.py
index 3a0b28c..358261f 100644
--- a/erpnext/accounts/doctype/gl_entry/gl_entry.py
+++ b/erpnext/accounts/doctype/gl_entry/gl_entry.py
@@ -51,7 +51,7 @@
 			self.doc.cost_center = None
 		
 	def validate_posting_date(self):
-		from accounts.utils import validate_fiscal_year
+		from erpnext.accounts.utils import validate_fiscal_year
 		validate_fiscal_year(self.doc.posting_date, self.doc.fiscal_year, "Posting Date")
 
 	def check_pl_account(self):
diff --git a/erpnext/accounts/doctype/journal_voucher/journal_voucher.js b/erpnext/accounts/doctype/journal_voucher/journal_voucher.js
index a5cd06d..f1b6959 100644
--- a/erpnext/accounts/doctype/journal_voucher/journal_voucher.js
+++ b/erpnext/accounts/doctype/journal_voucher/journal_voucher.js
@@ -165,7 +165,7 @@
 	var d = locals[dt][dn];
 	if(d.account) {
 		return wn.call({
-			method: "accounts.utils.get_balance_on",
+			method: "erpnext.accounts.utils.get_balance_on",
 			args: {account: d.account, date: doc.posting_date},
 			callback: function(r) {
 				d.balance = r.message;
@@ -208,7 +208,7 @@
 	if(in_list(["Bank Voucher", "Cash Voucher"], doc.voucher_type)) {
 		return wn.call({
 			type: "GET",
-			method: "accounts.doctype.journal_voucher.journal_voucher.get_default_bank_cash_account",
+			method: "erpnext.accounts.doctype.journal_voucher.journal_voucher.get_default_bank_cash_account",
 			args: {
 				"voucher_type": doc.voucher_type,
 				"company": doc.company
@@ -222,7 +222,7 @@
 	} else if(doc.voucher_type=="Opening Entry") {
 		return wn.call({
 			type:"GET",
-			method: "accounts.doctype.journal_voucher.journal_voucher.get_opening_accounts",
+			method: "erpnext.accounts.doctype.journal_voucher.journal_voucher.get_opening_accounts",
 			args: {
 				"company": doc.company
 			},
diff --git a/erpnext/accounts/doctype/journal_voucher/journal_voucher.py b/erpnext/accounts/doctype/journal_voucher/journal_voucher.py
index 00cbc03..32f8139 100644
--- a/erpnext/accounts/doctype/journal_voucher/journal_voucher.py
+++ b/erpnext/accounts/doctype/journal_voucher/journal_voucher.py
@@ -8,9 +8,9 @@
 from webnotes.model.doc import addchild
 from webnotes.model.bean import getlist
 from webnotes import msgprint, _
-from setup.utils import get_company_currency
+from erpnext.setup.utils import get_company_currency
 
-from controllers.accounts_controller import AccountsController
+from erpnext.controllers.accounts_controller import AccountsController
 
 class DocType(AccountsController):
 	def __init__(self,d,dl):
@@ -47,7 +47,7 @@
 		self.check_credit_limit()
 
 	def on_cancel(self):
-		from accounts.utils import remove_against_link_from_jv
+		from erpnext.accounts.utils import remove_against_link_from_jv
 		remove_against_link_from_jv(self.doc.doctype, self.doc.name, "against_jv")
 		
 		self.make_gl_entries(1)
@@ -240,7 +240,7 @@
 					Purchase Invoice"))
 
 	def make_gl_entries(self, cancel=0, adv_adj=0):
-		from accounts.general_ledger import make_gl_entries
+		from erpnext.accounts.general_ledger import make_gl_entries
 		gl_map = []
 		for d in self.doclist.get({"parentfield": "entries"}):
 			if d.debit or d.credit:
@@ -334,7 +334,7 @@
 
 @webnotes.whitelist()
 def get_default_bank_cash_account(company, voucher_type):
-	from accounts.utils import get_balance_on
+	from erpnext.accounts.utils import get_balance_on
 	account = webnotes.conn.get_value("Company", company,
 		voucher_type=="Bank Voucher" and "default_bank_account" or "default_cash_account")
 	if account:
@@ -345,7 +345,7 @@
 		
 @webnotes.whitelist()
 def get_payment_entry_from_sales_invoice(sales_invoice):
-	from accounts.utils import get_balance_on
+	from erpnext.accounts.utils import get_balance_on
 	si = webnotes.bean("Sales Invoice", sales_invoice)
 	jv = get_payment_entry(si.doc)
 	jv.doc.remark = 'Payment received against Sales Invoice %(name)s. %(remarks)s' % si.doc.fields
@@ -363,7 +363,7 @@
 
 @webnotes.whitelist()
 def get_payment_entry_from_purchase_invoice(purchase_invoice):
-	from accounts.utils import get_balance_on
+	from erpnext.accounts.utils import get_balance_on
 	pi = webnotes.bean("Purchase Invoice", purchase_invoice)
 	jv = get_payment_entry(pi.doc)
 	jv.doc.remark = 'Payment against Purchase Invoice %(name)s. %(remarks)s' % pi.doc.fields
@@ -407,7 +407,7 @@
 @webnotes.whitelist()
 def get_opening_accounts(company):
 	"""get all balance sheet accounts for opening entry"""
-	from accounts.utils import get_balance_on
+	from erpnext.accounts.utils import get_balance_on
 	accounts = webnotes.conn.sql_list("""select name from tabAccount 
 		where group_or_ledger='Ledger' and is_pl_account='No' and company=%s""", company)
 	
diff --git a/erpnext/accounts/doctype/journal_voucher/test_journal_voucher.py b/erpnext/accounts/doctype/journal_voucher/test_journal_voucher.py
index 70fb4e2..587445f 100644
--- a/erpnext/accounts/doctype/journal_voucher/test_journal_voucher.py
+++ b/erpnext/accounts/doctype/journal_voucher/test_journal_voucher.py
@@ -34,14 +34,14 @@
 			where against_jv=%s""", jv_invoice.doc.name))
 	
 	def test_jv_against_stock_account(self):
-		from stock.doctype.purchase_receipt.test_purchase_receipt import set_perpetual_inventory
+		from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import set_perpetual_inventory
 		set_perpetual_inventory()
 		
 		jv = webnotes.bean(copy=test_records[0])
 		jv.doclist[1].account = "_Test Warehouse - _TC"
 		jv.insert()
 		
-		from accounts.general_ledger import StockAccountInvalidTransaction
+		from erpnext.accounts.general_ledger import StockAccountInvalidTransaction
 		self.assertRaises(StockAccountInvalidTransaction, jv.submit)
 
 		set_perpetual_inventory(0)
@@ -61,7 +61,7 @@
 			{"voucher_type": "Journal Voucher", "voucher_no": jv.doc.name}))
 			
 	def test_monthly_budget_crossed_stop(self):
-		from accounts.utils import BudgetError
+		from erpnext.accounts.utils import BudgetError
 		webnotes.conn.set_value("Company", "_Test Company", "monthly_bgt_flag", "Stop")
 		self.clear_account_balance()
 		
@@ -77,7 +77,7 @@
 		webnotes.conn.set_value("Company", "_Test Company", "monthly_bgt_flag", "Ignore")
 		
 	def test_yearly_budget_crossed_stop(self):
-		from accounts.utils import BudgetError
+		from erpnext.accounts.utils import BudgetError
 		self.clear_account_balance()
 		self.test_monthly_budget_crossed_ignore()
 		
@@ -96,7 +96,7 @@
 		webnotes.conn.set_value("Company", "_Test Company", "yearly_bgt_flag", "Ignore")
 		
 	def test_monthly_budget_on_cancellation(self):
-		from accounts.utils import BudgetError
+		from erpnext.accounts.utils import BudgetError
 		webnotes.conn.set_value("Company", "_Test Company", "monthly_bgt_flag", "Stop")
 		self.clear_account_balance()
 		
diff --git a/erpnext/accounts/doctype/mis_control/mis_control.py b/erpnext/accounts/doctype/mis_control/mis_control.py
index 3a0483f..d2c0961 100644
--- a/erpnext/accounts/doctype/mis_control/mis_control.py
+++ b/erpnext/accounts/doctype/mis_control/mis_control.py
@@ -5,7 +5,7 @@
 import webnotes
 from webnotes.utils import flt, get_first_day, get_last_day, has_common
 import webnotes.defaults
-from accounts.utils import get_balance_on
+from erpnext.accounts.utils import get_balance_on
 
 class DocType:
 	def __init__(self, doc, doclist):
@@ -29,7 +29,7 @@
 
 		ret['period'] = ['Annual','Half Yearly','Quarterly','Monthly']
 		
-		from accounts.page.accounts_browser.accounts_browser import get_companies
+		from erpnext.accounts.page.accounts_browser.accounts_browser import get_companies
 		ret['company'] = get_companies()
 
 		#--- to get fiscal year and start_date of that fiscal year -----
diff --git a/erpnext/accounts/doctype/payment_to_invoice_matching_tool/payment_to_invoice_matching_tool.py b/erpnext/accounts/doctype/payment_to_invoice_matching_tool/payment_to_invoice_matching_tool.py
index 6a31191..efd2e91 100644
--- a/erpnext/accounts/doctype/payment_to_invoice_matching_tool/payment_to_invoice_matching_tool.py
+++ b/erpnext/accounts/doctype/payment_to_invoice_matching_tool/payment_to_invoice_matching_tool.py
@@ -121,14 +121,14 @@
 				lst.append(args)
 		
 		if lst:
-			from accounts.utils import reconcile_against_document
+			from erpnext.accounts.utils import reconcile_against_document
 			reconcile_against_document(lst)
 			msgprint("Successfully allocated.")
 		else:
 			msgprint("No amount allocated.", raise_exception=1)
 
 def gl_entry_details(doctype, txt, searchfield, start, page_len, filters):
-	from controllers.queries import get_match_cond
+	from erpnext.controllers.queries import get_match_cond
 	
 	return webnotes.conn.sql("""select gle.voucher_no, gle.posting_date, 
 		gle.%(account_type)s from `tabGL Entry` gle
diff --git a/erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.py b/erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.py
index 5d7fc1e..db58040 100644
--- a/erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.py
+++ b/erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.py
@@ -5,7 +5,7 @@
 import webnotes
 from webnotes.utils import cstr, flt, getdate
 from webnotes import msgprint, _
-from controllers.accounts_controller import AccountsController
+from erpnext.controllers.accounts_controller import AccountsController
 
 class DocType(AccountsController):
 	def __init__(self,d,dl):
@@ -33,7 +33,7 @@
 				_("must be a Liability account"))
 
 	def validate_posting_date(self):
-		from accounts.utils import get_fiscal_year
+		from erpnext.accounts.utils import get_fiscal_year
 		self.year_start_date = get_fiscal_year(self.doc.posting_date, self.doc.fiscal_year)[1]
 
 		pce = webnotes.conn.sql("""select name from `tabPeriod Closing Voucher`
@@ -99,5 +99,5 @@
 				"credit": abs(net_pl_balance) if net_pl_balance < 0 else 0
 			}))
 			
-		from accounts.general_ledger import make_gl_entries
+		from erpnext.accounts.general_ledger import make_gl_entries
 		make_gl_entries(gl_entries)
diff --git a/erpnext/accounts/doctype/period_closing_voucher/test_period_closing_voucher.py b/erpnext/accounts/doctype/period_closing_voucher/test_period_closing_voucher.py
index 97e49ae..c779d9b 100644
--- a/erpnext/accounts/doctype/period_closing_voucher/test_period_closing_voucher.py
+++ b/erpnext/accounts/doctype/period_closing_voucher/test_period_closing_voucher.py
@@ -11,7 +11,7 @@
 		# clear GL Entries
 		webnotes.conn.sql("""delete from `tabGL Entry`""")
 		
-		from accounts.doctype.journal_voucher.test_journal_voucher import test_records as jv_records
+		from erpnext.accounts.doctype.journal_voucher.test_journal_voucher import test_records as jv_records
 		jv = webnotes.bean(copy=jv_records[2])
 		jv.insert()
 		jv.submit()
diff --git a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js
index 9d75264..c20b297 100644
--- a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js
+++ b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js
@@ -44,7 +44,7 @@
 			cur_frm.add_custom_button(wn._('From Purchase Order'), 
 				function() {
 					wn.model.map_current_doc({
-						method: "buying.doctype.purchase_order.purchase_order.make_purchase_invoice",
+						method: "erpnext.buying.doctype.purchase_order.purchase_order.make_purchase_invoice",
 						source_doctype: "Purchase Order",
 						get_query_filters: {
 							supplier: cur_frm.doc.supplier || undefined,
@@ -59,7 +59,7 @@
 			cur_frm.add_custom_button(wn._('From Purchase Receipt'), 
 				function() {
 					wn.model.map_current_doc({
-						method: "stock.doctype.purchase_receipt.purchase_receipt.make_purchase_invoice",
+						method: "erpnext.stock.doctype.purchase_receipt.purchase_receipt.make_purchase_invoice",
 						source_doctype: "Purchase Receipt",
 						get_query_filters: {
 							supplier: cur_frm.doc.supplier || undefined,
@@ -107,7 +107,7 @@
 
 cur_frm.cscript.make_bank_voucher = function() {
 	return wn.call({
-		method: "accounts.doctype.journal_voucher.journal_voucher.get_payment_entry_from_purchase_invoice",
+		method: "erpnext.accounts.doctype.journal_voucher.journal_voucher.get_payment_entry_from_purchase_invoice",
 		args: {
 			"purchase_invoice": cur_frm.doc.name,
 		},
diff --git a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py
index 6c71fff..ddc68e7 100644
--- a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py
+++ b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py
@@ -8,12 +8,12 @@
 from webnotes.model.bean import getlist
 from webnotes.model.code import get_obj
 from webnotes import msgprint, _
-from setup.utils import get_company_currency
+from erpnext.setup.utils import get_company_currency
 
 import webnotes.defaults
 
 	
-from controllers.buying_controller import BuyingController
+from erpnext.controllers.buying_controller import BuyingController
 class DocType(BuyingController):
 	def __init__(self,d,dl):
 		self.doc, self.doclist = d, dl 
@@ -289,7 +289,7 @@
 				lst.append(args)
 		
 		if lst:
-			from accounts.utils import reconcile_against_document
+			from erpnext.accounts.utils import reconcile_against_document
 			reconcile_against_document(lst)
 
 	def on_submit(self):
@@ -425,11 +425,11 @@
 			)
 		
 		if gl_entries:
-			from accounts.general_ledger import make_gl_entries
+			from erpnext.accounts.general_ledger import make_gl_entries
 			make_gl_entries(gl_entries, cancel=(self.doc.docstatus == 2))
 
 	def on_cancel(self):
-		from accounts.utils import remove_against_link_from_jv
+		from erpnext.accounts.utils import remove_against_link_from_jv
 		remove_against_link_from_jv(self.doc.doctype, self.doc.name, "against_voucher")
 		
 		self.update_prevdoc_status()
@@ -455,7 +455,7 @@
 				
 @webnotes.whitelist()
 def get_expense_account(doctype, txt, searchfield, start, page_len, filters):
-	from controllers.queries import get_match_cond
+	from erpnext.controllers.queries import get_match_cond
 	
 	# expense account can be any Debit account, 
 	# but can also be a Liability account with account_type='Expense Account' in special circumstances. 
diff --git a/erpnext/accounts/doctype/purchase_invoice/test_purchase_invoice.py b/erpnext/accounts/doctype/purchase_invoice/test_purchase_invoice.py
index 9d82ca7..8a8b4a7 100644
--- a/erpnext/accounts/doctype/purchase_invoice/test_purchase_invoice.py
+++ b/erpnext/accounts/doctype/purchase_invoice/test_purchase_invoice.py
@@ -9,7 +9,7 @@
 import json	
 from webnotes.utils import cint
 import webnotes.defaults
-from stock.doctype.purchase_receipt.test_purchase_receipt import set_perpetual_inventory
+from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import set_perpetual_inventory
 
 test_dependencies = ["Item", "Cost Center"]
 test_ignore = ["Serial No"]
@@ -171,7 +171,7 @@
 			self.assertEqual(tax.total, expected_values[i][2])
 			
 	def test_purchase_invoice_with_advance(self):
-		from accounts.doctype.journal_voucher.test_journal_voucher \
+		from erpnext.accounts.doctype.journal_voucher.test_journal_voucher \
 			import test_records as jv_test_records
 			
 		jv = webnotes.bean(copy=jv_test_records[1])
diff --git a/erpnext/accounts/doctype/sales_invoice/pos.js b/erpnext/accounts/doctype/sales_invoice/pos.js
index adbdca1..c432765 100644
--- a/erpnext/accounts/doctype/sales_invoice/pos.js
+++ b/erpnext/accounts/doctype/sales_invoice/pos.js
@@ -199,7 +199,7 @@
 		var me = this;
 		me.item_timeout = null;
 		wn.call({
-			method: 'accounts.doctype.sales_invoice.pos.get_items',
+			method: 'erpnext.accounts.doctype.sales_invoice.pos.get_items',
 			args: {
 				sales_or_purchase: this.sales_or_purchase,
 				price_list: this.price_list,
@@ -450,7 +450,7 @@
 		var me = this;
 		me.barcode_timeout = null;
 		wn.call({
-			method: 'accounts.doctype.sales_invoice.pos.get_item_code',
+			method: 'erpnext.accounts.doctype.sales_invoice.pos.get_item_code',
 			args: {barcode_serial_no: this.barcode.$input.val()},
 			callback: function(r) {
 				if (r.message) {
@@ -503,7 +503,7 @@
 			msgprint(wn._("Payment cannot be made for empty cart"));
 		else {
 			wn.call({
-				method: 'accounts.doctype.sales_invoice.pos.get_mode_of_payment',
+				method: 'erpnext.accounts.doctype.sales_invoice.pos.get_mode_of_payment',
 				callback: function(r) {
 					for (x=0; x<=r.message.length - 1; x++) {
 						mode_of_payment.push(r.message[x].name);
diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.js b/erpnext/accounts/doctype/sales_invoice/sales_invoice.js
index 7784005..1940c6e 100644
--- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.js
+++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.js
@@ -90,7 +90,7 @@
 		this.$sales_order_btn = cur_frm.appframe.add_primary_action(wn._('From Sales Order'), 
 			function() {
 				wn.model.map_current_doc({
-					method: "selling.doctype.sales_order.sales_order.make_sales_invoice",
+					method: "erpnext.selling.doctype.sales_order.sales_order.make_sales_invoice",
 					source_doctype: "Sales Order",
 					get_query_filters: {
 						docstatus: 1,
@@ -107,7 +107,7 @@
 		this.$delivery_note_btn = cur_frm.appframe.add_primary_action(wn._('From Delivery Note'), 
 			function() {
 				wn.model.map_current_doc({
-					method: "stock.doctype.delivery_note.delivery_note.make_sales_invoice",
+					method: "erpnext.stock.doctype.delivery_note.delivery_note.make_sales_invoice",
 					source_doctype: "Delivery Note",
 					get_query: function() {
 						var filters = {
@@ -258,14 +258,14 @@
 
 cur_frm.cscript['Make Delivery Note'] = function() {
 	wn.model.open_mapped_doc({
-		method: "accounts.doctype.sales_invoice.sales_invoice.make_delivery_note",
+		method: "erpnext.accounts.doctype.sales_invoice.sales_invoice.make_delivery_note",
 		source_name: cur_frm.doc.name
 	})
 }
 
 cur_frm.cscript.make_bank_voucher = function() {
 	return wn.call({
-		method: "accounts.doctype.journal_voucher.journal_voucher.get_payment_entry_from_sales_invoice",
+		method: "erpnext.accounts.doctype.journal_voucher.journal_voucher.get_payment_entry_from_sales_invoice",
 		args: {
 			"sales_invoice": cur_frm.doc.name
 		},
diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py
index b1834d5..d5b4c51 100644
--- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py
+++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py
@@ -17,7 +17,7 @@
 
 month_map = {'Monthly': 1, 'Quarterly': 3, 'Half-yearly': 6, 'Yearly': 12}
 
-from controllers.selling_controller import SellingController
+from erpnext.controllers.selling_controller import SellingController
 
 class DocType(SellingController):
 	def __init__(self,d,dl):
@@ -109,7 +109,7 @@
 		
 		self.check_stop_sales_order("sales_order")
 		
-		from accounts.utils import remove_against_link_from_jv
+		from erpnext.accounts.utils import remove_against_link_from_jv
 		remove_against_link_from_jv(self.doc.doctype, self.doc.name, "against_invoice")
 
 		self.update_status_updater_args()
@@ -184,7 +184,7 @@
 		if cint(self.doc.is_pos) != 1:
 			return
 		
-		from selling.utils import get_pos_settings, apply_pos_settings	
+		from erpnext.selling.utils import get_pos_settings, apply_pos_settings	
 		pos = get_pos_settings(self.doc.company)
 			
 		if pos:
@@ -285,7 +285,7 @@
 				lst.append(args)
 		
 		if lst:
-			from accounts.utils import reconcile_against_document
+			from erpnext.accounts.utils import reconcile_against_document
 			reconcile_against_document(lst)
 			
 	def validate_customer_account(self):
@@ -464,7 +464,7 @@
 						if not d.warehouse:
 							d.warehouse = cstr(w)
 
-			from stock.doctype.packed_item.packed_item import make_packing_list
+			from erpnext.stock.doctype.packed_item.packed_item import make_packing_list
 			make_packing_list(self, 'entries')
 		else:
 			self.doclist = self.doc.clear_table(self.doclist, 'packing_details')
@@ -511,7 +511,7 @@
 		gl_entries = self.get_gl_entries()
 		
 		if gl_entries:
-			from accounts.general_ledger import make_gl_entries
+			from erpnext.accounts.general_ledger import make_gl_entries
 			
 			update_outstanding = cint(self.doc.is_pos) and self.doc.write_off_account \
 				and 'No' or 'Yes'
@@ -523,7 +523,7 @@
 					self.update_gl_entries_after()
 				
 	def get_gl_entries(self, warehouse_account=None):
-		from accounts.general_ledger import merge_similar_entries
+		from erpnext.accounts.general_ledger import merge_similar_entries
 		
 		gl_entries = []
 		
@@ -749,7 +749,7 @@
 
 def make_new_invoice(ref_wrapper, posting_date):
 	from webnotes.model.bean import clone
-	from accounts.utils import get_fiscal_year
+	from erpnext.accounts.utils import get_fiscal_year
 	new_invoice = clone(ref_wrapper)
 	
 	mcount = month_map[ref_wrapper.doc.recurring_type]
@@ -903,7 +903,7 @@
 
 @webnotes.whitelist()
 def get_income_account(doctype, txt, searchfield, start, page_len, filters):
-	from controllers.queries import get_match_cond
+	from erpnext.controllers.queries import get_match_cond
 
 	# income account can be any Credit account, 
 	# but can also be a Asset account with account_type='Income Account' in special circumstances. 
diff --git a/erpnext/accounts/doctype/sales_invoice/templates/pages/invoice.py b/erpnext/accounts/doctype/sales_invoice/templates/pages/invoice.py
index 89789d3..2002d14 100644
--- a/erpnext/accounts/doctype/sales_invoice/templates/pages/invoice.py
+++ b/erpnext/accounts/doctype/sales_invoice/templates/pages/invoice.py
@@ -9,7 +9,7 @@
 no_cache = True
 
 def get_context():
-	from portal.utils import get_transaction_context
+	from erpnext.portal.utils import get_transaction_context
 	context = get_transaction_context("Sales Invoice", webnotes.form_dict.name)
 	modify_status(context.get("doc"))
 	context.update({
diff --git a/erpnext/accounts/doctype/sales_invoice/templates/pages/invoices.py b/erpnext/accounts/doctype/sales_invoice/templates/pages/invoices.py
index 871e37d..7c2e4ed 100644
--- a/erpnext/accounts/doctype/sales_invoice/templates/pages/invoices.py
+++ b/erpnext/accounts/doctype/sales_invoice/templates/pages/invoices.py
@@ -7,7 +7,7 @@
 no_cache = True
 
 def get_context():
-	from portal.utils import get_currency_context
+	from erpnext.portal.utils import get_currency_context
 	context = get_currency_context()
 	context.update({
 		"title": "Invoices",
@@ -20,8 +20,8 @@
 	
 @webnotes.whitelist()
 def get_invoices(start=0):
-	from portal.utils import get_transaction_list
-	from accounts.doctype.sales_invoice.templates.pages.invoice import modify_status
+	from erpnext.portal.utils import get_transaction_list
+	from erpnext.accounts.doctype.sales_invoice.templates.pages.invoice import modify_status
 	invoices = get_transaction_list("Sales Invoice", start, ["outstanding_amount"])
 	for d in invoices:
 		modify_status(d)
diff --git a/erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py b/erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py
index 9b740d1..478ed3c 100644
--- a/erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py
+++ b/erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py
@@ -5,8 +5,8 @@
 import unittest, json
 from webnotes.utils import flt
 from webnotes.model.bean import DocstatusTransitionError, TimestampMismatchError
-from accounts.utils import get_stock_and_account_difference
-from stock.doctype.purchase_receipt.test_purchase_receipt import set_perpetual_inventory
+from erpnext.accounts.utils import get_stock_and_account_difference
+from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import set_perpetual_inventory
 
 class TestSalesInvoice(unittest.TestCase):
 	def make(self):
@@ -262,7 +262,7 @@
 		webnotes.conn.sql("""delete from `tabGL Entry`""")
 		w = self.make()
 		
-		from accounts.doctype.journal_voucher.test_journal_voucher \
+		from erpnext.accounts.doctype.journal_voucher.test_journal_voucher \
 			import test_records as jv_test_records
 			
 		jv = webnotes.bean(webnotes.copy_doclist(jv_test_records[0]))
@@ -399,7 +399,7 @@
 		webnotes.delete_doc("Account", "_Test Warehouse No Account - _TC")
 		
 		# insert purchase receipt
-		from stock.doctype.purchase_receipt.test_purchase_receipt import test_records \
+		from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import test_records \
 			as pr_test_records
 		pr = webnotes.bean(copy=pr_test_records[0])
 		pr.doc.naming_series = "_T-Purchase Receipt-"
@@ -505,7 +505,7 @@
 		set_perpetual_inventory(0)
 		
 	def _insert_purchase_receipt(self):
-		from stock.doctype.purchase_receipt.test_purchase_receipt import test_records \
+		from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import test_records \
 			as pr_test_records
 		pr = webnotes.bean(copy=pr_test_records[0])
 		pr.doc.naming_series = "_T-Purchase Receipt-"
@@ -514,7 +514,7 @@
 		pr.submit()
 		
 	def _insert_delivery_note(self):
-		from stock.doctype.delivery_note.test_delivery_note import test_records \
+		from erpnext.stock.doctype.delivery_note.test_delivery_note import test_records \
 			as dn_test_records
 		dn = webnotes.bean(copy=dn_test_records[0])
 		dn.doc.naming_series = "_T-Delivery Note-"
@@ -523,7 +523,7 @@
 		return dn
 		
 	def _insert_pos_settings(self):
-		from accounts.doctype.pos_setting.test_pos_setting \
+		from erpnext.accounts.doctype.pos_setting.test_pos_setting \
 			import test_records as pos_setting_test_records
 		webnotes.conn.sql("""delete from `tabPOS Setting`""")
 		
@@ -531,7 +531,7 @@
 		ps.insert()
 		
 	def test_sales_invoice_with_advance(self):
-		from accounts.doctype.journal_voucher.test_journal_voucher \
+		from erpnext.accounts.doctype.journal_voucher.test_journal_voucher \
 			import test_records as jv_test_records
 			
 		jv = webnotes.bean(copy=jv_test_records[0])
@@ -654,7 +654,7 @@
 
 	def _test_recurring_invoice(self, base_si, first_and_last_day):
 		from webnotes.utils import add_months, get_last_day
-		from accounts.doctype.sales_invoice.sales_invoice import manage_recurring_invoices
+		from erpnext.accounts.doctype.sales_invoice.sales_invoice import manage_recurring_invoices
 		
 		no_of_months = ({"Monthly": 1, "Quarterly": 3, "Yearly": 12})[base_si.doc.recurring_type]
 		
@@ -706,8 +706,8 @@
 		webnotes.conn.sql("delete from `tabGL Entry`")
 
 	def test_serialized(self):
-		from stock.doctype.stock_entry.test_stock_entry import make_serialized_item
-		from stock.doctype.serial_no.serial_no import get_serial_nos
+		from erpnext.stock.doctype.stock_entry.test_stock_entry import make_serialized_item
+		from erpnext.stock.doctype.serial_no.serial_no import get_serial_nos
 		
 		se = make_serialized_item()
 		serial_nos = get_serial_nos(se.doclist[1].serial_no)
@@ -728,7 +728,7 @@
 		return si
 			
 	def test_serialized_cancel(self):
-		from stock.doctype.serial_no.serial_no import get_serial_nos
+		from erpnext.stock.doctype.serial_no.serial_no import get_serial_nos
 		si = self.test_serialized()
 		si.cancel()
 
@@ -740,8 +740,8 @@
 			"delivery_document_no"))
 
 	def test_serialize_status(self):
-		from stock.doctype.serial_no.serial_no import SerialNoStatusError, get_serial_nos
-		from stock.doctype.stock_entry.test_stock_entry import make_serialized_item
+		from erpnext.stock.doctype.serial_no.serial_no import SerialNoStatusError, get_serial_nos
+		from erpnext.stock.doctype.stock_entry.test_stock_entry import make_serialized_item
 		
 		se = make_serialized_item()
 		serial_nos = get_serial_nos(se.doclist[1].serial_no)
diff --git a/erpnext/accounts/doctype/shipping_rule/shipping_rule.py b/erpnext/accounts/doctype/shipping_rule/shipping_rule.py
index dd4db5f..5c084f3 100644
--- a/erpnext/accounts/doctype/shipping_rule/shipping_rule.py
+++ b/erpnext/accounts/doctype/shipping_rule/shipping_rule.py
@@ -8,7 +8,7 @@
 from webnotes import _, msgprint
 from webnotes.utils import flt, fmt_money
 from webnotes.model.controller import DocListController
-from setup.utils import get_company_currency
+from erpnext.setup.utils import get_company_currency
 
 class OverlappingConditionError(webnotes.ValidationError): pass
 class FromGreaterThanToError(webnotes.ValidationError): pass
diff --git a/erpnext/accounts/doctype/shipping_rule/test_shipping_rule.py b/erpnext/accounts/doctype/shipping_rule/test_shipping_rule.py
index 8bac02b..6bf6bd3 100644
--- a/erpnext/accounts/doctype/shipping_rule/test_shipping_rule.py
+++ b/erpnext/accounts/doctype/shipping_rule/test_shipping_rule.py
@@ -3,7 +3,7 @@
 
 import webnotes
 import unittest
-from accounts.doctype.shipping_rule.shipping_rule import FromGreaterThanToError, ManyBlankToValuesError, OverlappingConditionError
+from erpnext.accounts.doctype.shipping_rule.shipping_rule import FromGreaterThanToError, ManyBlankToValuesError, OverlappingConditionError
 
 class TestShippingRule(unittest.TestCase):
 	def test_from_greater_than_to(self):
diff --git a/erpnext/accounts/general_ledger.py b/erpnext/accounts/general_ledger.py
index 87814b1..b638e6c 100644
--- a/erpnext/accounts/general_ledger.py
+++ b/erpnext/accounts/general_ledger.py
@@ -5,7 +5,7 @@
 import webnotes
 from webnotes.utils import flt, cstr
 from webnotes import _
-from accounts.utils import validate_expense_against_budget
+from erpnext.accounts.utils import validate_expense_against_budget
 
 
 class StockAccountInvalidTransaction(webnotes.ValidationError): pass
@@ -107,7 +107,7 @@
 def delete_gl_entries(gl_entries=None, voucher_type=None, voucher_no=None, 
 		adv_adj=False, update_outstanding="Yes"):
 	
-	from accounts.doctype.gl_entry.gl_entry import check_negative_balance, \
+	from erpnext.accounts.doctype.gl_entry.gl_entry import check_negative_balance, \
 		check_freezing_date, update_outstanding_amt, validate_frozen_account
 		
 	if not gl_entries:
diff --git a/erpnext/accounts/page/accounts_browser/accounts_browser.js b/erpnext/accounts/page/accounts_browser/accounts_browser.js
index d57073a..4623fdd 100644
--- a/erpnext/accounts/page/accounts_browser/accounts_browser.js
+++ b/erpnext/accounts/page/accounts_browser/accounts_browser.js
@@ -63,7 +63,7 @@
 		
 	// load up companies
 	return wn.call({
-		method:'accounts.page.accounts_browser.accounts_browser.get_companies',
+		method: 'erpnext.accounts.page.accounts_browser.accounts_browser.get_companies',
 		callback: function(r) {
 			wrapper.$company_select.empty();
 			$.each(r.message, function(i, v) {
@@ -108,7 +108,7 @@
 			parent: $(wrapper), 
 			label: ctype==="Account" ? "Accounts" : "Cost Centers",
 			args: {ctype: ctype, comp: company},
-			method: 'accounts.page.accounts_browser.accounts_browser.get_children',
+			method: 'erpnext.accounts.page.accounts_browser.accounts_browser.get_children',
 			click: function(link) {
 				if(me.cur_toolbar) 
 					$(me.cur_toolbar).toggle(false);
@@ -261,7 +261,7 @@
 			
 			return wn.call({
 				args: v,
-				method:'accounts.utils.add_ac',
+				method: 'erpnext.accounts.utils.add_ac',
 				callback: function(r) {
 					$(btn).done_working();
 					d.hide();
@@ -308,7 +308,7 @@
 			
 			return wn.call({
 				args: v,
-				method:'accounts.utils.add_cc',
+				method: 'erpnext.accounts.utils.add_cc',
 				callback: function(r) {
 					$(btn).done_working();
 					d.hide();
diff --git a/erpnext/accounts/page/accounts_browser/accounts_browser.py b/erpnext/accounts/page/accounts_browser/accounts_browser.py
index 68a53b2..6dfbf4a 100644
--- a/erpnext/accounts/page/accounts_browser/accounts_browser.py
+++ b/erpnext/accounts/page/accounts_browser/accounts_browser.py
@@ -5,7 +5,7 @@
 import webnotes
 import webnotes.defaults
 from webnotes.utils import flt
-from accounts.utils import get_balance_on
+from erpnext.accounts.utils import get_balance_on
 
 @webnotes.whitelist()
 def get_companies():
diff --git a/erpnext/accounts/report/accounts_payable/accounts_payable.py b/erpnext/accounts/report/accounts_payable/accounts_payable.py
index e5489d1..bb02ab2 100644
--- a/erpnext/accounts/report/accounts_payable/accounts_payable.py
+++ b/erpnext/accounts/report/accounts_payable/accounts_payable.py
@@ -5,7 +5,7 @@
 import webnotes
 from webnotes.utils import getdate, nowdate, flt, cstr
 from webnotes import msgprint, _
-from accounts.report.accounts_receivable.accounts_receivable import get_ageing_data
+from erpnext.accounts.report.accounts_receivable.accounts_receivable import get_ageing_data
 
 def execute(filters=None):
 	if not filters: filters = {}
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 431a649..f2a1edd 100644
--- a/erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.py
+++ b/erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.py
@@ -12,7 +12,7 @@
 	columns = get_columns()	
 	data = get_entries(filters)
 	
-	from accounts.utils import get_balance_on
+	from erpnext.accounts.utils import get_balance_on
 	balance_as_per_company = get_balance_on(filters["account"], filters["report_date"])
 
 	total_debit, total_credit = 0,0
diff --git a/erpnext/accounts/report/budget_variance_report/budget_variance_report.py b/erpnext/accounts/report/budget_variance_report/budget_variance_report.py
index a5860c8..8d164f8 100644
--- a/erpnext/accounts/report/budget_variance_report/budget_variance_report.py
+++ b/erpnext/accounts/report/budget_variance_report/budget_variance_report.py
@@ -6,8 +6,8 @@
 from webnotes import _, msgprint
 from webnotes.utils import flt
 import time
-from accounts.utils import get_fiscal_year
-from controllers.trends import get_period_date_ranges, get_period_month_ranges
+from erpnext.accounts.utils import get_fiscal_year
+from erpnext.controllers.trends import get_period_date_ranges, get_period_month_ranges
 
 def execute(filters=None):
 	if not filters: filters = {}
diff --git a/erpnext/accounts/report/gross_profit/gross_profit.py b/erpnext/accounts/report/gross_profit/gross_profit.py
index 8e73062..4f7a1e4 100644
--- a/erpnext/accounts/report/gross_profit/gross_profit.py
+++ b/erpnext/accounts/report/gross_profit/gross_profit.py
@@ -4,7 +4,7 @@
 from __future__ import unicode_literals
 import webnotes
 from webnotes.utils import flt
-from stock.utils import get_buying_amount, get_sales_bom_buying_amount
+from erpnext.stock.utils import get_buying_amount, get_sales_bom_buying_amount
 
 def execute(filters=None):
 	if not filters: filters = {}
diff --git a/erpnext/accounts/report/payment_period_based_on_invoice_date/payment_period_based_on_invoice_date.py b/erpnext/accounts/report/payment_period_based_on_invoice_date/payment_period_based_on_invoice_date.py
index 1273360..4662462 100644
--- a/erpnext/accounts/report/payment_period_based_on_invoice_date/payment_period_based_on_invoice_date.py
+++ b/erpnext/accounts/report/payment_period_based_on_invoice_date/payment_period_based_on_invoice_date.py
@@ -4,7 +4,7 @@
 from __future__ import unicode_literals
 import webnotes
 from webnotes import msgprint, _
-from accounts.report.accounts_receivable.accounts_receivable import get_ageing_data
+from erpnext.accounts.report.accounts_receivable.accounts_receivable import get_ageing_data
 
 def execute(filters=None):
 	if not filters: filters = {}
diff --git a/erpnext/accounts/report/purchase_invoice_trends/purchase_invoice_trends.py b/erpnext/accounts/report/purchase_invoice_trends/purchase_invoice_trends.py
index 4c38bed..4587618 100644
--- a/erpnext/accounts/report/purchase_invoice_trends/purchase_invoice_trends.py
+++ b/erpnext/accounts/report/purchase_invoice_trends/purchase_invoice_trends.py
@@ -3,7 +3,7 @@
 
 from __future__ import unicode_literals
 import webnotes
-from controllers.trends	import get_columns,get_data
+from erpnext.controllers.trends	import get_columns,get_data
 
 def execute(filters=None):
 	if not filters: filters ={}
diff --git a/erpnext/accounts/report/sales_invoice_trends/sales_invoice_trends.py b/erpnext/accounts/report/sales_invoice_trends/sales_invoice_trends.py
index 70c61d7..da70623 100644
--- a/erpnext/accounts/report/sales_invoice_trends/sales_invoice_trends.py
+++ b/erpnext/accounts/report/sales_invoice_trends/sales_invoice_trends.py
@@ -3,7 +3,7 @@
 
 from __future__ import unicode_literals
 import webnotes
-from controllers.trends	import get_columns,get_data
+from erpnext.controllers.trends	import get_columns,get_data
 
 def execute(filters=None):
 	if not filters: filters ={}
diff --git a/erpnext/accounts/utils.py b/erpnext/accounts/utils.py
index caad793..2b7c06f 100644
--- a/erpnext/accounts/utils.py
+++ b/erpnext/accounts/utils.py
@@ -8,7 +8,7 @@
 from webnotes.model.doc import addchild
 from webnotes import msgprint, _
 from webnotes.utils import formatdate
-from utilities import build_filter_conditions
+from erpnext.utilities import build_filter_conditions
 
 
 class FiscalYearError(webnotes.ValidationError): pass
@@ -260,7 +260,7 @@
 				(d.diff, d.voucher_type, d.voucher_no))
 	
 def get_stock_and_account_difference(account_list=None, posting_date=None):
-	from stock.utils import get_stock_balance_on
+	from erpnext.stock.utils import get_stock_balance_on
 	
 	if not posting_date: posting_date = nowdate()
 	
diff --git a/erpnext/buying/doctype/buying_settings/buying_settings.py b/erpnext/buying/doctype/buying_settings/buying_settings.py
index 53e4479..25d0f72 100644
--- a/erpnext/buying/doctype/buying_settings/buying_settings.py
+++ b/erpnext/buying/doctype/buying_settings/buying_settings.py
@@ -14,6 +14,6 @@
 		for key in ["supplier_type", "supp_master_name", "maintain_same_rate", "buying_price_list"]:
 			webnotes.conn.set_default(key, self.doc.fields.get(key, ""))
 
-		from setup.doctype.naming_series.naming_series import set_by_naming_series
+		from erpnext.setup.doctype.naming_series.naming_series import set_by_naming_series
 		set_by_naming_series("Supplier", "supplier_name", 
 			self.doc.get("supp_master_name")=="Naming Series", hide_name_field=False)
diff --git a/erpnext/buying/doctype/purchase_common/purchase_common.js b/erpnext/buying/doctype/purchase_common/purchase_common.js
index 9661f6e..86b252d 100644
--- a/erpnext/buying/doctype/purchase_common/purchase_common.js
+++ b/erpnext/buying/doctype/purchase_common/purchase_common.js
@@ -112,7 +112,7 @@
 				cur_frm.fields_dict[me.frm.cscript.fname].grid.grid_rows[item.idx - 1].remove();
 			} else {
 				return this.frm.call({
-					method: "buying.utils.get_item_details",
+					method: "erpnext.buying.utils.get_item_details",
 					child: item,
 					args: {
 						args: {
@@ -178,7 +178,7 @@
 		var item = wn.model.get_doc(cdt, cdn);
 		if(item.item_code && item.uom) {
 			return this.frm.call({
-				method: "buying.utils.get_conversion_factor",
+				method: "erpnext.buying.utils.get_conversion_factor",
 				child: item,
 				args: {
 					item_code: item.item_code,
@@ -211,7 +211,7 @@
 		var item = wn.model.get_doc(cdt, cdn);
 		if(item.item_code && item.warehouse) {
 			return this.frm.call({
-				method: "buying.utils.get_projected_qty",
+				method: "erpnext.buying.utils.get_projected_qty",
 				child: item,
 				args: {
 					item_code: item.item_code,
diff --git a/erpnext/buying/doctype/purchase_common/purchase_common.py b/erpnext/buying/doctype/purchase_common/purchase_common.py
index c265874..b2e59b0 100644
--- a/erpnext/buying/doctype/purchase_common/purchase_common.py
+++ b/erpnext/buying/doctype/purchase_common/purchase_common.py
@@ -8,10 +8,10 @@
 from webnotes.model.utils import getlist
 from webnotes import msgprint, _
 
-from buying.utils import get_last_purchase_details
+from erpnext.buying.utils import get_last_purchase_details
 
 	
-from controllers.buying_controller import BuyingController
+from erpnext.controllers.buying_controller import BuyingController
 class DocType(BuyingController):
 	def __init__(self, doc, doclist=None):
 		self.doc = doc
@@ -94,7 +94,7 @@
 			if not item:
 				msgprint("Item %s does not exist in Item Master." % cstr(d.item_code), raise_exception=True)
 			
-			from stock.utils import validate_end_of_life
+			from erpnext.stock.utils import validate_end_of_life
 			validate_end_of_life(d.item_code, item[0][3])
 			
 			# validate stock item
diff --git a/erpnext/buying/doctype/purchase_order/purchase_order.js b/erpnext/buying/doctype/purchase_order/purchase_order.js
index dad2864..7db0035 100644
--- a/erpnext/buying/doctype/purchase_order/purchase_order.js
+++ b/erpnext/buying/doctype/purchase_order/purchase_order.js
@@ -42,14 +42,14 @@
 		
 	make_purchase_receipt: function() {
 		wn.model.open_mapped_doc({
-			method: "buying.doctype.purchase_order.purchase_order.make_purchase_receipt",
+			method: "erpnext.buying.doctype.purchase_order.purchase_order.make_purchase_receipt",
 			source_name: cur_frm.doc.name
 		})
 	},
 	
 	make_purchase_invoice: function() {
 		wn.model.open_mapped_doc({
-			method: "buying.doctype.purchase_order.purchase_order.make_purchase_invoice",
+			method: "erpnext.buying.doctype.purchase_order.purchase_order.make_purchase_invoice",
 			source_name: cur_frm.doc.name
 		})
 	},
@@ -58,7 +58,7 @@
 		cur_frm.add_custom_button(wn._('From Material Request'), 
 			function() {
 				wn.model.map_current_doc({
-					method: "stock.doctype.material_request.material_request.make_purchase_order",
+					method: "erpnext.stock.doctype.material_request.material_request.make_purchase_order",
 					source_doctype: "Material Request",
 					get_query_filters: {
 						material_request_type: "Purchase",
@@ -74,7 +74,7 @@
 		cur_frm.add_custom_button(wn._('From Supplier Quotation'), 
 			function() {
 				wn.model.map_current_doc({
-					method: "buying.doctype.supplier_quotation.supplier_quotation.make_purchase_order",
+					method: "erpnext.buying.doctype.supplier_quotation.supplier_quotation.make_purchase_order",
 					source_doctype: "Supplier Quotation",
 					get_query_filters: {
 						docstatus: 1,
@@ -88,7 +88,7 @@
 		cur_frm.add_custom_button(wn._('For Supplier'), 
 			function() {
 				wn.model.map_current_doc({
-					method: "stock.doctype.material_request.material_request.make_purchase_order_based_on_supplier",
+					method: "erpnext.stock.doctype.material_request.material_request.make_purchase_order_based_on_supplier",
 					source_doctype: "Supplier",
 					get_query_filters: {
 						docstatus: ["!=", 2],
diff --git a/erpnext/buying/doctype/purchase_order/purchase_order.py b/erpnext/buying/doctype/purchase_order/purchase_order.py
index 33d8b48..ebfda85 100644
--- a/erpnext/buying/doctype/purchase_order/purchase_order.py
+++ b/erpnext/buying/doctype/purchase_order/purchase_order.py
@@ -10,7 +10,7 @@
 from webnotes import msgprint
 
 	
-from controllers.buying_controller import BuyingController
+from erpnext.controllers.buying_controller import BuyingController
 class DocType(BuyingController):
 	def __init__(self, doc, doclist=[]):
 		self.doc = doc
@@ -35,8 +35,8 @@
 		if not self.doc.status:
 			self.doc.status = "Draft"
 
-		import utilities
-		utilities.validate_status(self.doc.status, ["Draft", "Submitted", "Stopped", 
+		from erpnext.utilities import validate_status
+		validate_status(self.doc.status, ["Draft", "Submitted", "Stopped", 
 			"Cancelled"])
 
 		pc_obj = get_obj(dt='Purchase Common')
@@ -83,7 +83,7 @@
 
 		
 	def update_bin(self, is_submit, is_stopped = 0):
-		from stock.utils import update_bin
+		from erpnext.stock.utils import update_bin
 		pc_obj = get_obj('Purchase Common')
 		for d in getlist(self.doclist, 'po_details'):
 			#1. Check if is_stock_item == 'Yes'
diff --git a/erpnext/buying/doctype/purchase_order/test_purchase_order.py b/erpnext/buying/doctype/purchase_order/test_purchase_order.py
index f6c435c..3659f6d 100644
--- a/erpnext/buying/doctype/purchase_order/test_purchase_order.py
+++ b/erpnext/buying/doctype/purchase_order/test_purchase_order.py
@@ -10,7 +10,7 @@
 
 class TestPurchaseOrder(unittest.TestCase):
 	def test_make_purchase_receipt(self):		
-		from buying.doctype.purchase_order.purchase_order import make_purchase_receipt
+		from erpnext.buying.doctype.purchase_order.purchase_order import make_purchase_receipt
 
 		po = webnotes.bean(copy=test_records[0]).insert()
 
@@ -33,7 +33,7 @@
 	def test_ordered_qty(self):
 		webnotes.conn.sql("delete from tabBin")
 		
-		from buying.doctype.purchase_order.purchase_order import make_purchase_receipt
+		from erpnext.buying.doctype.purchase_order.purchase_order import make_purchase_receipt
 
 		po = webnotes.bean(copy=test_records[0]).insert()
 
@@ -75,7 +75,7 @@
 			"warehouse": "_Test Warehouse - _TC"}, "ordered_qty")), 0.0)
 		
 	def test_make_purchase_invocie(self):
-		from buying.doctype.purchase_order.purchase_order import make_purchase_invoice
+		from erpnext.buying.doctype.purchase_order.purchase_order import make_purchase_invoice
 
 		po = webnotes.bean(copy=test_records[0]).insert()
 
@@ -98,14 +98,14 @@
 		self.assertEquals(len(po.doclist.get({"parentfield": "po_raw_material_details"})), 2)
 
 	def test_warehouse_company_validation(self):
-		from stock.utils import InvalidWarehouseCompany
+		from erpnext.stock.utils import InvalidWarehouseCompany
 		po = webnotes.bean(copy=test_records[0])
 		po.doc.company = "_Test Company 1"
 		po.doc.conversion_rate = 0.0167
 		self.assertRaises(InvalidWarehouseCompany, po.insert)
 
 	def test_uom_integer_validation(self):
-		from utilities.transaction_base import UOMMustBeIntegerError
+		from erpnext.utilities.transaction_base import UOMMustBeIntegerError
 		po = webnotes.bean(copy=test_records[0])
 		po.doclist[1].qty = 3.4
 		self.assertRaises(UOMMustBeIntegerError, po.insert)
diff --git a/erpnext/buying/doctype/supplier/supplier.js b/erpnext/buying/doctype/supplier/supplier.js
index 0618616..aa8ea2a 100644
--- a/erpnext/buying/doctype/supplier/supplier.js
+++ b/erpnext/buying/doctype/supplier/supplier.js
@@ -38,7 +38,7 @@
 
 	return wn.call({
 		type: "GET",
-		method:"buying.doctype.supplier.supplier.get_dashboard_info",
+		method: "erpnext.buying.doctype.supplier.supplier.get_dashboard_info",
 		args: {
 			supplier: cur_frm.doc.name
 		},
diff --git a/erpnext/buying/doctype/supplier/supplier.py b/erpnext/buying/doctype/supplier/supplier.py
index b2873c5..ace1d12 100644
--- a/erpnext/buying/doctype/supplier/supplier.py
+++ b/erpnext/buying/doctype/supplier/supplier.py
@@ -10,7 +10,7 @@
 from webnotes.model.doc import make_autoname
 
 
-from utilities.transaction_base import TransactionBase
+from erpnext.utilities.transaction_base import TransactionBase
 
 class DocType(TransactionBase):
 	def __init__(self, doc, doclist=[]):
@@ -149,7 +149,7 @@
 		self.delete_supplier_account()
 		
 	def before_rename(self, olddn, newdn, merge=False):
-		from accounts.utils import rename_account_for
+		from erpnext.accounts.utils import rename_account_for
 		rename_account_for("Supplier", olddn, newdn, merge)
 		
 	def after_rename(self, olddn, newdn, merge=False):
diff --git a/erpnext/buying/doctype/supplier_quotation/supplier_quotation.js b/erpnext/buying/doctype/supplier_quotation/supplier_quotation.js
index 92bf7a1..597ad86 100644
--- a/erpnext/buying/doctype/supplier_quotation/supplier_quotation.js
+++ b/erpnext/buying/doctype/supplier_quotation/supplier_quotation.js
@@ -22,7 +22,7 @@
 			cur_frm.add_custom_button(wn._('From Material Request'), 
 				function() {
 					wn.model.map_current_doc({
-						method: "stock.doctype.material_request.material_request.make_supplier_quotation",
+						method: "erpnext.stock.doctype.material_request.material_request.make_supplier_quotation",
 						source_doctype: "Material Request",
 						get_query_filters: {
 							material_request_type: "Purchase",
@@ -38,7 +38,7 @@
 		
 	make_purchase_order: function() {
 		wn.model.open_mapped_doc({
-			method: "buying.doctype.supplier_quotation.supplier_quotation.make_purchase_order",
+			method: "erpnext.buying.doctype.supplier_quotation.supplier_quotation.make_purchase_order",
 			source_name: cur_frm.doc.name
 		})
 	}
diff --git a/erpnext/buying/doctype/supplier_quotation/supplier_quotation.py b/erpnext/buying/doctype/supplier_quotation/supplier_quotation.py
index dc564b9..b4562e0 100644
--- a/erpnext/buying/doctype/supplier_quotation/supplier_quotation.py
+++ b/erpnext/buying/doctype/supplier_quotation/supplier_quotation.py
@@ -5,7 +5,7 @@
 import webnotes
 from webnotes.model.code import get_obj
 
-from controllers.buying_controller import BuyingController
+from erpnext.controllers.buying_controller import BuyingController
 class DocType(BuyingController):
 	def __init__(self, doc, doclist=None):
 		self.doc, self.doclist = doc, doclist or []
@@ -17,8 +17,8 @@
 		if not self.doc.status:
 			self.doc.status = "Draft"
 
-		import utilities
-		utilities.validate_status(self.doc.status, ["Draft", "Submitted", "Stopped", 
+		from erpnext.utilities import validate_status
+		validate_status(self.doc.status, ["Draft", "Submitted", "Stopped", 
 			"Cancelled"])
 		
 		self.validate_common()
diff --git a/erpnext/buying/doctype/supplier_quotation/test_supplier_quotation.py b/erpnext/buying/doctype/supplier_quotation/test_supplier_quotation.py
index 82ad42a..82444ea 100644
--- a/erpnext/buying/doctype/supplier_quotation/test_supplier_quotation.py
+++ b/erpnext/buying/doctype/supplier_quotation/test_supplier_quotation.py
@@ -9,7 +9,7 @@
 
 class TestPurchaseOrder(unittest.TestCase):
 	def test_make_purchase_order(self):
-		from buying.doctype.supplier_quotation.supplier_quotation import make_purchase_order
+		from erpnext.buying.doctype.supplier_quotation.supplier_quotation import make_purchase_order
 
 		sq = webnotes.bean(copy=test_records[0]).insert()
 
diff --git a/erpnext/buying/report/purchase_order_trends/purchase_order_trends.py b/erpnext/buying/report/purchase_order_trends/purchase_order_trends.py
index df8d7cf..1ecdab2 100644
--- a/erpnext/buying/report/purchase_order_trends/purchase_order_trends.py
+++ b/erpnext/buying/report/purchase_order_trends/purchase_order_trends.py
@@ -3,7 +3,7 @@
 
 from __future__ import unicode_literals
 import webnotes
-from controllers.trends	import get_columns,get_data
+from erpnext.controllers.trends	import get_columns,get_data
 
 def execute(filters=None):
 	if not filters: filters ={}
diff --git a/erpnext/buying/utils.py b/erpnext/buying/utils.py
index 0d9c8fa..8a4ae3f 100644
--- a/erpnext/buying/utils.py
+++ b/erpnext/buying/utils.py
@@ -83,7 +83,7 @@
 	return out
 	
 def _get_price_list_rate(args, item_bean, meta):
-	from utilities.transaction_base import validate_currency
+	from erpnext.utilities.transaction_base import validate_currency
 	item = item_bean.doc
 	out = webnotes._dict()
 	
@@ -117,7 +117,7 @@
 	return item_supplier and item_supplier[0].supplier_part_no or None
 
 def _validate_item_details(args, item):
-	from utilities.transaction_base import validate_item_fetch
+	from erpnext.utilities.transaction_base import validate_item_fetch
 	validate_item_fetch(args, item)
 	
 	# validate if purchase item or subcontracted item
diff --git a/erpnext/controllers/accounts_controller.py b/erpnext/controllers/accounts_controller.py
index 5388ee1..d48a7a6 100644
--- a/erpnext/controllers/accounts_controller.py
+++ b/erpnext/controllers/accounts_controller.py
@@ -6,9 +6,9 @@
 from webnotes import _, msgprint
 from webnotes.utils import flt, cint, today, cstr
 from webnotes.model.code import get_obj
-from setup.utils import get_company_currency
-from accounts.utils import get_fiscal_year, validate_fiscal_year
-from utilities.transaction_base import TransactionBase, validate_conversion_rate
+from erpnext.setup.utils import get_company_currency
+from erpnext.accounts.utils import get_fiscal_year, validate_fiscal_year
+from erpnext.utilities.transaction_base import TransactionBase, validate_conversion_rate
 import json
 
 class AccountsController(TransactionBase):
@@ -403,7 +403,7 @@
 						raise_exception=1)
 		
 	def get_company_default(self, fieldname):
-		from accounts.utils import get_company_default
+		from erpnext.accounts.utils import get_company_default
 		return get_company_default(self.doc.company, fieldname)
 		
 	def get_stock_items(self):
diff --git a/erpnext/controllers/buying_controller.py b/erpnext/controllers/buying_controller.py
index b52d51c..8da572a 100644
--- a/erpnext/controllers/buying_controller.py
+++ b/erpnext/controllers/buying_controller.py
@@ -6,10 +6,10 @@
 from webnotes import _, msgprint
 from webnotes.utils import flt, _round
 
-from buying.utils import get_item_details
-from setup.utils import get_company_currency
+from erpnext.buying.utils import get_item_details
+from erpnext.setup.utils import get_company_currency
 
-from controllers.stock_controller import StockController
+from erpnext.controllers.stock_controller import StockController
 
 class BuyingController(StockController):
 	def onload_post_render(self):
@@ -50,7 +50,7 @@
 					break
 					
 	def validate_warehouse(self):
-		from stock.utils import validate_warehouse_user, validate_warehouse_company
+		from erpnext.stock.utils import validate_warehouse_user, validate_warehouse_company
 		
 		warehouses = list(set([d.warehouse for d in 
 			self.doclist.get({"doctype": self.tname}) if d.warehouse]))
diff --git a/erpnext/controllers/queries.py b/erpnext/controllers/queries.py
index 9d64d16..535ca3b 100644
--- a/erpnext/controllers/queries.py
+++ b/erpnext/controllers/queries.py
@@ -186,7 +186,7 @@
 			}, { "start": start, "page_len": page_len, "txt": ("%%%s%%" % txt) })
 
 def get_batch_no(doctype, txt, searchfield, start, page_len, filters):
-	from controllers.queries import get_match_cond
+	from erpnext.controllers.queries import get_match_cond
 
 	if filters.has_key('warehouse'):
 		return webnotes.conn.sql("""select batch_no from `tabStock Ledger Entry` sle 
diff --git a/erpnext/controllers/selling_controller.py b/erpnext/controllers/selling_controller.py
index fd4ca40..61db756 100644
--- a/erpnext/controllers/selling_controller.py
+++ b/erpnext/controllers/selling_controller.py
@@ -4,11 +4,11 @@
 from __future__ import unicode_literals
 import webnotes
 from webnotes.utils import cint, flt, comma_or, _round, cstr
-from setup.utils import get_company_currency
-from selling.utils import get_item_details
+from erpnext.setup.utils import get_company_currency
+from erpnext.selling.utils import get_item_details
 from webnotes import msgprint, _
 
-from controllers.stock_controller import StockController
+from erpnext.controllers.stock_controller import StockController
 
 class SellingController(StockController):
 	def onload_post_render(self):
diff --git a/erpnext/controllers/stock_controller.py b/erpnext/controllers/stock_controller.py
index 8a4a402..eff6491 100644
--- a/erpnext/controllers/stock_controller.py
+++ b/erpnext/controllers/stock_controller.py
@@ -7,8 +7,8 @@
 from webnotes import msgprint, _
 import webnotes.defaults
 
-from controllers.accounts_controller import AccountsController
-from accounts.general_ledger import make_gl_entries, delete_gl_entries
+from erpnext.controllers.accounts_controller import AccountsController
+from erpnext.accounts.general_ledger import make_gl_entries, delete_gl_entries
 
 class StockController(AccountsController):
 	def make_gl_entries(self, update_gl_entries_after=True):
@@ -27,7 +27,7 @@
 	
 	def get_gl_entries(self, warehouse_account=None, default_expense_account=None,
 			default_cost_center=None):
-		from accounts.general_ledger import process_gl_map
+		from erpnext.accounts.general_ledger import process_gl_map
 		if not warehouse_account:
 			warehouse_account = self.get_warehouse_account()
 		
@@ -160,7 +160,7 @@
 			where voucher_type=%s and voucher_no=%s""", (voucher_type, voucher_no))
 					
 	def make_adjustment_entry(self, expected_gle, voucher_obj):
-		from accounts.utils import get_stock_and_account_difference
+		from erpnext.accounts.utils import get_stock_and_account_difference
 		account_list = [d.account for d in expected_gle]
 		acc_diff = get_stock_and_account_difference(account_list, expected_gle[0].posting_date)
 		
@@ -190,7 +190,7 @@
 				])
 				
 		if gl_entries:
-			from accounts.general_ledger import make_gl_entries
+			from erpnext.accounts.general_ledger import make_gl_entries
 			make_gl_entries(gl_entries)
 			
 	def check_expense_account(self, item):
@@ -226,7 +226,7 @@
 		return sl_dict
 		
 	def make_sl_entries(self, sl_entries, is_amended=None):
-		from stock.stock_ledger import make_sl_entries
+		from erpnext.stock.stock_ledger import make_sl_entries
 		make_sl_entries(sl_entries, is_amended)
 		
 	def get_stock_ledger_entries(self, item_list=None, warehouse_list=None):
diff --git a/erpnext/home/page/activity/activity.js b/erpnext/home/page/activity/activity.js
index c4b0cf3..91b8184 100644
--- a/erpnext/home/page/activity/activity.js
+++ b/erpnext/home/page/activity/activity.js
@@ -12,7 +12,7 @@
 	var list = new wn.ui.Listing({
 		hide_refresh: true,
 		appframe: wrapper.appframe,
-		method: 'home.page.activity.activity.get_feed',
+		method: 'erpnext.home.page.activity.activity.get_feed',
 		parent: $(wrapper).find(".layout-main"),
 		render_row: function(row, data) {
 			new erpnext.ActivityFeed(row, data);
diff --git a/erpnext/home/page/latest_updates/latest_updates.js b/erpnext/home/page/latest_updates/latest_updates.js
index 80ba85e..06c34ef 100644
--- a/erpnext/home/page/latest_updates/latest_updates.js
+++ b/erpnext/home/page/latest_updates/latest_updates.js
@@ -13,7 +13,7 @@
 		<div class="progress-bar" style="width: 100%;"></div></div>')
 	
 	return wn.call({
-		method:"home.page.latest_updates.latest_updates.get",
+		method: "erpnext.home.page.latest_updates.latest_updates.get",
 		callback: function(r) {
 			parent.empty();
 			$("<p class='help'>"+wn._("Report issues at")+
diff --git a/erpnext/hr/doctype/appraisal/appraisal.js b/erpnext/hr/doctype/appraisal/appraisal.js
index fd2856c..e3626b0 100644
--- a/erpnext/hr/doctype/appraisal/appraisal.js
+++ b/erpnext/hr/doctype/appraisal/appraisal.js
@@ -25,7 +25,7 @@
 
 cur_frm.cscript.kra_template = function(doc, dt, dn) {
 	wn.model.map_current_doc({
-		method: "hr.doctype.appraisal.appraisal.fetch_appraisal_template",
+		method: "erpnext.hr.doctype.appraisal.appraisal.fetch_appraisal_template",
 		source_name: cur_frm.doc.kra_template,
 	});
 }
diff --git a/erpnext/hr/doctype/attendance/attendance.py b/erpnext/hr/doctype/attendance/attendance.py
index 3abc1ae..10d4222 100644
--- a/erpnext/hr/doctype/attendance/attendance.py
+++ b/erpnext/hr/doctype/attendance/attendance.py
@@ -33,7 +33,7 @@
 					raise_exception=1)
 	
 	def validate_fiscal_year(self):
-		from accounts.utils import validate_fiscal_year
+		from erpnext.accounts.utils import validate_fiscal_year
 		validate_fiscal_year(self.doc.att_date, self.doc.fiscal_year)
 	
 	def validate_att_date(self):
@@ -48,8 +48,8 @@
 				_(" not active or does not exists in the system"), raise_exception=1)
 			
 	def validate(self):
-		import utilities
-		utilities.validate_status(self.doc.status, ["Present", "Absent", "Half Day"])
+		from erpnext.utilities import validate_status
+		validate_status(self.doc.status, ["Present", "Absent", "Half Day"])
 		self.validate_fiscal_year()
 		self.validate_att_date()
 		self.validate_duplicate_record()
diff --git a/erpnext/hr/doctype/employee/employee.js b/erpnext/hr/doctype/employee/employee.js
index 08cadbd..55be526 100644
--- a/erpnext/hr/doctype/employee/employee.js
+++ b/erpnext/hr/doctype/employee/employee.js
@@ -29,7 +29,7 @@
 	setup_leave_approver_select: function() {
 		var me = this;
 		return this.frm.call({
-			method:"hr.utils.get_leave_approver_list",
+			method: "erpnext.hr.utils.get_leave_approver_list",
 			callback: function(r) {
 				var df = wn.meta.get_docfield("Employee Leave Approver", "leave_approver",
 					me.frm.doc.name);
diff --git a/erpnext/hr/doctype/employee/employee.py b/erpnext/hr/doctype/employee/employee.py
index 7129739..c185963 100644
--- a/erpnext/hr/doctype/employee/employee.py
+++ b/erpnext/hr/doctype/employee/employee.py
@@ -27,8 +27,8 @@
 		self.doc.employee = self.doc.name
 
 	def validate(self):
-		import utilities
-		utilities.validate_status(self.doc.status, ["Active", "Left"])
+		from erpnext.utilities import validate_status
+		validate_status(self.doc.status, ["Active", "Left"])
 
 		self.doc.employee = self.doc.name
 		self.validate_date()
@@ -143,7 +143,7 @@
 			
 	def validate_employee_leave_approver(self):
 		from webnotes.profile import Profile
-		from hr.doctype.leave_application.leave_application import InvalidLeaveApproverError
+		from erpnext.hr.doctype.leave_application.leave_application import InvalidLeaveApproverError
 		
 		for l in self.doclist.get({"parentfield": "employee_leave_approvers"}):
 			if "Leave Approver" not in Profile(l.leave_approver).get_roles():
diff --git a/erpnext/hr/doctype/expense_claim/expense_claim.js b/erpnext/hr/doctype/expense_claim/expense_claim.js
index c32df80..c65fe0a 100644
--- a/erpnext/hr/doctype/expense_claim/expense_claim.js
+++ b/erpnext/hr/doctype/expense_claim/expense_claim.js
@@ -7,7 +7,7 @@
 	make_bank_voucher: function() {
 		var me = this;
 		return wn.call({
-			method: "accounts.doctype.journal_voucher.journal_voucher.get_default_bank_cash_account",
+			method: "erpnext.accounts.doctype.journal_voucher.journal_voucher.get_default_bank_cash_account",
 			args: {
 				"company": cur_frm.doc.company,
 				"voucher_type": "Bank Voucher"
@@ -60,7 +60,7 @@
 	}
 	var exp_approver = doc.exp_approver;
 	return cur_frm.call({
-		method:"hr.utils.get_expense_approver_list",
+		method: "erpnext.hr.utils.get_expense_approver_list",
 		callback: function(r) {
 			cur_frm.set_df_property("exp_approver", "options", r.message);
 			if(exp_approver) cur_frm.set_value("exp_approver", exp_approver);
diff --git a/erpnext/hr/doctype/expense_claim/expense_claim.py b/erpnext/hr/doctype/expense_claim/expense_claim.py
index 6b792c8..521195f 100644
--- a/erpnext/hr/doctype/expense_claim/expense_claim.py
+++ b/erpnext/hr/doctype/expense_claim/expense_claim.py
@@ -22,7 +22,7 @@
 				'Rejected' before submitting""", raise_exception=1)
 	
 	def validate_fiscal_year(self):
-		from accounts.utils import validate_fiscal_year
+		from erpnext.accounts.utils import validate_fiscal_year
 		validate_fiscal_year(self.doc.posting_date, self.doc.fiscal_year, "Posting Date")
 			
 	def validate_exp_details(self):
diff --git a/erpnext/hr/doctype/hr_settings/hr_settings.py b/erpnext/hr/doctype/hr_settings/hr_settings.py
index 2abd7c6..e7e5d3e 100644
--- a/erpnext/hr/doctype/hr_settings/hr_settings.py
+++ b/erpnext/hr/doctype/hr_settings/hr_settings.py
@@ -15,7 +15,7 @@
 	def validate(self):
 		self.update_birthday_reminders()
 
-		from setup.doctype.naming_series.naming_series import set_by_naming_series
+		from erpnext.setup.doctype.naming_series.naming_series import set_by_naming_series
 		set_by_naming_series("Employee", "employee_number", 
 			self.doc.get("emp_created_by")=="Naming Series", hide_name_field=True)
 			
diff --git a/erpnext/hr/doctype/job_applicant/job_applicant.py b/erpnext/hr/doctype/job_applicant/job_applicant.py
index 887e789..0262568 100644
--- a/erpnext/hr/doctype/job_applicant/job_applicant.py
+++ b/erpnext/hr/doctype/job_applicant/job_applicant.py
@@ -5,7 +5,7 @@
 
 from __future__ import unicode_literals
 import webnotes
-from utilities.transaction_base import TransactionBase
+from erpnext.utilities.transaction_base import TransactionBase
 from webnotes.utils import extract_email_id
 
 class DocType(TransactionBase):
diff --git a/erpnext/hr/doctype/leave_application/leave_application.js b/erpnext/hr/doctype/leave_application/leave_application.js
index a3b62ca..cd04384 100755
--- a/erpnext/hr/doctype/leave_application/leave_application.js
+++ b/erpnext/hr/doctype/leave_application/leave_application.js
@@ -13,7 +13,7 @@
 	
 	var leave_approver = doc.leave_approver;
 	return cur_frm.call({
-		method:"hr.utils.get_leave_approver_list",
+		method: "erpnext.hr.utils.get_leave_approver_list",
 		callback: function(r) {
 			cur_frm.set_df_property("leave_approver", "options", $.map(r.message, 
 				function(profile) { 
diff --git a/erpnext/hr/doctype/leave_application/leave_application.py b/erpnext/hr/doctype/leave_application/leave_application.py
index 9b75b10..5d73719 100755
--- a/erpnext/hr/doctype/leave_application/leave_application.py
+++ b/erpnext/hr/doctype/leave_application/leave_application.py
@@ -53,7 +53,7 @@
 		self.notify_employee("cancelled")
 
 	def show_block_day_warning(self):
-		from hr.doctype.leave_block_list.leave_block_list import get_applicable_block_dates		
+		from erpnext.hr.doctype.leave_block_list.leave_block_list import get_applicable_block_dates		
 
 		block_dates = get_applicable_block_dates(self.doc.from_date, self.doc.to_date, 
 			self.doc.employee, self.doc.company, all_lists=True)
@@ -64,7 +64,7 @@
 				webnotes.msgprint(formatdate(d.block_date) + ": " + d.reason)
 
 	def validate_block_days(self):
-		from hr.doctype.leave_block_list.leave_block_list import get_applicable_block_dates
+		from erpnext.hr.doctype.leave_block_list.leave_block_list import get_applicable_block_dates
 
 		block_dates = get_applicable_block_dates(self.doc.from_date, self.doc.to_date, 
 			self.doc.employee, self.doc.company)
@@ -290,7 +290,7 @@
 
 def add_block_dates(events, start, end, employee, company):
 	# block days
-	from hr.doctype.leave_block_list.leave_block_list import get_applicable_block_dates
+	from erpnext.hr.doctype.leave_block_list.leave_block_list import get_applicable_block_dates
 
 	cnt = 0
 	block_dates = get_applicable_block_dates(start, end, employee, company, all_lists=True)
diff --git a/erpnext/hr/doctype/leave_application/leave_application_calendar.js b/erpnext/hr/doctype/leave_application/leave_application_calendar.js
index a258c8f..ba09a39 100644
--- a/erpnext/hr/doctype/leave_application/leave_application_calendar.js
+++ b/erpnext/hr/doctype/leave_application/leave_application_calendar.js
@@ -16,5 +16,5 @@
 			right: 'month'
 		}
 	},
-	get_events_method: "hr.doctype.leave_application.leave_application.get_events"
+	get_events_method: "erpnext.hr.doctype.leave_application.leave_application.get_events"
 }
\ No newline at end of file
diff --git a/erpnext/hr/doctype/leave_application/test_leave_application.py b/erpnext/hr/doctype/leave_application/test_leave_application.py
index 9f8a8e1..44e818d 100644
--- a/erpnext/hr/doctype/leave_application/test_leave_application.py
+++ b/erpnext/hr/doctype/leave_application/test_leave_application.py
@@ -4,7 +4,7 @@
 import webnotes
 import unittest
 
-from hr.doctype.leave_application.leave_application import LeaveDayBlockedError, OverlapError
+from erpnext.hr.doctype.leave_application.leave_application import LeaveDayBlockedError, OverlapError
 
 class TestLeaveApplication(unittest.TestCase):
 	def tearDown(self):
@@ -129,7 +129,7 @@
 			"docstatus"), 1)
 		
 	def _test_leave_approval_invalid_leave_approver_insert(self):
-		from hr.doctype.leave_application.leave_application import InvalidLeaveApproverError
+		from erpnext.hr.doctype.leave_application.leave_application import InvalidLeaveApproverError
 		
 		self._clear_applications()
 		
diff --git a/erpnext/hr/doctype/leave_block_list/leave_block_list.py b/erpnext/hr/doctype/leave_block_list/leave_block_list.py
index 973436e..4585e90 100644
--- a/erpnext/hr/doctype/leave_block_list/leave_block_list.py
+++ b/erpnext/hr/doctype/leave_block_list/leave_block_list.py
@@ -5,7 +5,7 @@
 
 from __future__ import unicode_literals
 import webnotes
-from accounts.utils import validate_fiscal_year
+from erpnext.accounts.utils import validate_fiscal_year
 from webnotes import _
 
 class DocType:
diff --git a/erpnext/hr/doctype/leave_block_list/test_leave_block_list.py b/erpnext/hr/doctype/leave_block_list/test_leave_block_list.py
index 0f0da65..13fa42c 100644
--- a/erpnext/hr/doctype/leave_block_list/test_leave_block_list.py
+++ b/erpnext/hr/doctype/leave_block_list/test_leave_block_list.py
@@ -4,7 +4,7 @@
 import webnotes
 import unittest
 
-from hr.doctype.leave_block_list.leave_block_list import get_applicable_block_dates
+from erpnext.hr.doctype.leave_block_list.leave_block_list import get_applicable_block_dates
 
 class TestLeaveBlockList(unittest.TestCase):
 	def tearDown(self):
diff --git a/erpnext/hr/doctype/salary_slip/salary_slip.py b/erpnext/hr/doctype/salary_slip/salary_slip.py
index f5eeea1..946106d 100644
--- a/erpnext/hr/doctype/salary_slip/salary_slip.py
+++ b/erpnext/hr/doctype/salary_slip/salary_slip.py
@@ -9,10 +9,10 @@
 from webnotes.model.bean import getlist
 from webnotes.model.code import get_obj
 from webnotes import msgprint, _
-from setup.utils import get_company_currency
+from erpnext.setup.utils import get_company_currency
 
 	
-from utilities.transaction_base import TransactionBase
+from erpnext.utilities.transaction_base import TransactionBase
 
 class DocType(TransactionBase):
 	def __init__(self,doc,doclist=[]):
@@ -39,7 +39,7 @@
 
 
 	def pull_sal_struct(self, struct):
-		from hr.doctype.salary_structure.salary_structure import make_salary_slip
+		from erpnext.hr.doctype.salary_structure.salary_structure import make_salary_slip
 		self.doclist = make_salary_slip(struct, self.doclist)
 		
 	def pull_emp_details(self):
diff --git a/erpnext/hr/doctype/salary_slip/test_salary_slip.py b/erpnext/hr/doctype/salary_slip/test_salary_slip.py
index 29e9407..372a858 100644
--- a/erpnext/hr/doctype/salary_slip/test_salary_slip.py
+++ b/erpnext/hr/doctype/salary_slip/test_salary_slip.py
@@ -8,7 +8,7 @@
 	def setUp(self):
 		webnotes.conn.sql("""delete from `tabLeave Application`""")
 		webnotes.conn.sql("""delete from `tabSalary Slip`""")
-		from hr.doctype.leave_application.test_leave_application import test_records as leave_applications
+		from erpnext.hr.doctype.leave_application.test_leave_application import test_records as leave_applications
 		la = webnotes.bean(copy=leave_applications[4])
 		la.insert()
 		la.doc.status = "Approved"
diff --git a/erpnext/hr/doctype/salary_structure/salary_structure.js b/erpnext/hr/doctype/salary_structure/salary_structure.js
index 8e36dbd..dd9ab97 100644
--- a/erpnext/hr/doctype/salary_structure/salary_structure.js
+++ b/erpnext/hr/doctype/salary_structure/salary_structure.js
@@ -20,7 +20,7 @@
 
 cur_frm.cscript['Make Salary Slip'] = function() {
 	wn.model.open_mapped_doc({
-		method: "hr.doctype.salary_structure.salary_structure.make_salary_slip",
+		method: "erpnext.hr.doctype.salary_structure.salary_structure.make_salary_slip",
 		source_name: cur_frm.doc.name
 	});
 }
diff --git a/erpnext/hr/doctype/upload_attendance/upload_attendance.js b/erpnext/hr/doctype/upload_attendance/upload_attendance.js
index 9f86dfe..aed3d7f 100644
--- a/erpnext/hr/doctype/upload_attendance/upload_attendance.js
+++ b/erpnext/hr/doctype/upload_attendance/upload_attendance.js
@@ -22,7 +22,7 @@
 		}
 		window.location.href = repl(wn.request.url + 
 			'?cmd=%(cmd)s&from_date=%(from_date)s&to_date=%(to_date)s', {
-				cmd: "hr.doctype.upload_attendance.upload_attendance.get_template",
+				cmd: "erpnext.hr.doctype.upload_attendance.upload_attendance.get_template",
 				from_date: this.frm.doc.att_fr_date,
 				to_date: this.frm.doc.att_to_date,
 			});
@@ -36,7 +36,7 @@
 		wn.upload.make({
 			parent: $wrapper,
 			args: {
-				method: 'hr.doctype.upload_attendance.upload_attendance.upload'
+				method: 'erpnext.hr.doctype.upload_attendance.upload_attendance.upload'
 			},
 			sample_url: "e.g. http://example.com/somefile.csv",
 			callback: function(fid, filename, r) {
diff --git a/erpnext/hr/doctype/upload_attendance/upload_attendance.py b/erpnext/hr/doctype/upload_attendance/upload_attendance.py
index 7bd1fd0..4f1069a 100644
--- a/erpnext/hr/doctype/upload_attendance/upload_attendance.py
+++ b/erpnext/hr/doctype/upload_attendance/upload_attendance.py
@@ -51,7 +51,7 @@
 	return w
 	
 def add_data(w, args):
-	from accounts.utils import get_fiscal_year
+	from erpnext.accounts.utils import get_fiscal_year
 	
 	dates = get_dates(args)
 	employees = get_active_employees()
diff --git a/erpnext/startup/install.py b/erpnext/manage.py
similarity index 78%
rename from erpnext/startup/install.py
rename to erpnext/manage.py
index 94a3f55..6f62673 100644
--- a/erpnext/startup/install.py
+++ b/erpnext/manage.py
@@ -5,41 +5,23 @@
 
 import webnotes
 
-def post_import():
-	webnotes.conn.begin()
+def get_hooks():
+	return {
+		"app_include_js": ["assets/js/erpnext.min.js"],
+		"app_include_css": ["assets/css/erpnext.css"],
+		"desktop_icons": get_desktop_icons(),
+		"boot_session": ["erpnext.startup.boot.boot_session"]
+	}
 
-	# feature setup
+def after_install():
 	import_defaults()
 	import_country_and_currency()
-	
-	# home page
 	webnotes.conn.set_value('Control Panel', None, 'home_page', 'setup-wizard')
-
-	# features
 	feature_setup()
-	
-	# all roles to Administrator
-	from setup.page.setup_wizard.setup_wizard import add_all_roles_to
+	from erpnext.setup.page.setup_wizard.setup_wizard import add_all_roles_to
 	add_all_roles_to("Administrator")
-	
 	webnotes.conn.commit()
 
-def feature_setup():
-	"""save global defaults and features setup"""
-	bean = webnotes.bean("Features Setup", "Features Setup")
-	bean.ignore_permissions = True
-
-	# store value as 1 for all these fields
-	flds = ['fs_item_serial_nos', 'fs_item_batch_nos', 'fs_brands', 'fs_item_barcode',
-		'fs_item_advanced', 'fs_packing_details', 'fs_item_group_in_details',
-		'fs_exports', 'fs_imports', 'fs_discounts', 'fs_purchase_discounts',
-		'fs_after_sales_installations', 'fs_projects', 'fs_sales_extras',
-		'fs_recurring_invoice', 'fs_pos', 'fs_manufacturing', 'fs_quality',
-		'fs_page_break', 'fs_more_info', 'fs_pos_view'
-	]
-	bean.doc.fields.update(dict(zip(flds, [1]*len(flds))))
-	bean.save()
-
 def import_country_and_currency():
 	from webnotes.country_info import get_all
 	data = get_all()
@@ -138,4 +120,94 @@
 		if parent_link_field in bean.doc.fields and not bean.doc.fields.get(parent_link_field):
 			bean.ignore_mandatory = True
 		
-		bean.insert()
\ No newline at end of file
+		bean.insert()
+		
+def feature_setup():
+	"""save global defaults and features setup"""
+	bean = webnotes.bean("Features Setup", "Features Setup")
+	bean.ignore_permissions = True
+
+	# store value as 1 for all these fields
+	flds = ['fs_item_serial_nos', 'fs_item_batch_nos', 'fs_brands', 'fs_item_barcode',
+		'fs_item_advanced', 'fs_packing_details', 'fs_item_group_in_details',
+		'fs_exports', 'fs_imports', 'fs_discounts', 'fs_purchase_discounts',
+		'fs_after_sales_installations', 'fs_projects', 'fs_sales_extras',
+		'fs_recurring_invoice', 'fs_pos', 'fs_manufacturing', 'fs_quality',
+		'fs_page_break', 'fs_more_info', 'fs_pos_view'
+	]
+	bean.doc.fields.update(dict(zip(flds, [1]*len(flds))))
+	bean.save()
+		
+def get_desktop_icons():
+	return	{
+		"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"
+		}
+	}
diff --git a/erpnext/manufacturing/doctype/bom/bom.py b/erpnext/manufacturing/doctype/bom/bom.py
index 7b647a7..45e96f7 100644
--- a/erpnext/manufacturing/doctype/bom/bom.py
+++ b/erpnext/manufacturing/doctype/bom/bom.py
@@ -30,7 +30,7 @@
 		self.clear_operations()
 		self.validate_main_item()
 
-		from utilities.transaction_base import validate_uom_is_integer
+		from erpnext.utilities.transaction_base import validate_uom_is_integer
 		validate_uom_is_integer(self.doclist, "stock_uom", "qty")
 
 		self.validate_operations()
@@ -152,7 +152,7 @@
 			as per valuation method (MAR/FIFO) 
 			as on costing date	
 		"""
-		from stock.utils import get_incoming_rate
+		from erpnext.stock.utils import get_incoming_rate
 		dt = self.doc.costing_date or nowdate()
 		time = self.doc.costing_date == nowdate() and now().split()[1] or '23:59'
 		warehouse = webnotes.conn.sql("select warehouse from `tabBin` where item_code = %s", args['item_code'])
diff --git a/erpnext/manufacturing/doctype/bom/test_bom.py b/erpnext/manufacturing/doctype/bom/test_bom.py
index 7917ab3..5f9186a 100644
--- a/erpnext/manufacturing/doctype/bom/test_bom.py
+++ b/erpnext/manufacturing/doctype/bom/test_bom.py
@@ -98,14 +98,14 @@
 
 class TestBOM(unittest.TestCase):
 	def test_get_items(self):
-		from manufacturing.doctype.bom.bom import get_bom_items_as_dict
+		from erpnext.manufacturing.doctype.bom.bom import get_bom_items_as_dict
 		items_dict = get_bom_items_as_dict(bom="BOM/_Test FG Item 2/001", qty=1, fetch_exploded=0)
 		self.assertTrue(test_records[2][1]["item_code"] in items_dict)
 		self.assertTrue(test_records[2][2]["item_code"] in items_dict)
 		self.assertEquals(len(items_dict.values()), 2)
 		
 	def test_get_items_exploded(self):
-		from manufacturing.doctype.bom.bom import get_bom_items_as_dict
+		from erpnext.manufacturing.doctype.bom.bom import get_bom_items_as_dict
 		items_dict = get_bom_items_as_dict(bom="BOM/_Test FG Item 2/001", qty=1, fetch_exploded=1)
 		self.assertTrue(test_records[2][1]["item_code"] in items_dict)
 		self.assertFalse(test_records[2][2]["item_code"] in items_dict)
@@ -114,6 +114,6 @@
 		self.assertEquals(len(items_dict.values()), 3)
 		
 	def test_get_items_list(self):
-		from manufacturing.doctype.bom.bom import get_bom_items
+		from erpnext.manufacturing.doctype.bom.bom import get_bom_items
 		self.assertEquals(len(get_bom_items(bom="BOM/_Test FG Item 2/001", qty=1, fetch_exploded=1)), 3)
 
diff --git a/erpnext/manufacturing/doctype/production_order/production_order.js b/erpnext/manufacturing/doctype/production_order/production_order.js
index 2277262..075f8bd 100644
--- a/erpnext/manufacturing/doctype/production_order/production_order.js
+++ b/erpnext/manufacturing/doctype/production_order/production_order.js
@@ -70,7 +70,7 @@
 
 cur_frm.cscript.make_se = function(purpose) {
 	wn.call({
-		method:"manufacturing.doctype.production_order.production_order.make_stock_entry",
+		method: "erpnext.manufacturing.doctype.production_order.production_order.make_stock_entry",
 		args: {
 			"production_order_id": cur_frm.doc.name,
 			"purpose": purpose
diff --git a/erpnext/manufacturing/doctype/production_order/production_order.py b/erpnext/manufacturing/doctype/production_order/production_order.py
index c5b2b04..a6e219a 100644
--- a/erpnext/manufacturing/doctype/production_order/production_order.py
+++ b/erpnext/manufacturing/doctype/production_order/production_order.py
@@ -20,15 +20,15 @@
 		if self.doc.docstatus == 0:
 			self.doc.status = "Draft"
 			
-		import utilities
-		utilities.validate_status(self.doc.status, ["Draft", "Submitted", "Stopped", 
+		from erpnext.utilities import validate_status
+		validate_status(self.doc.status, ["Draft", "Submitted", "Stopped", 
 			"In Process", "Completed", "Cancelled"])
 
 		self.validate_bom_no()
 		self.validate_sales_order()
 		self.validate_warehouse()
 		
-		from utilities.transaction_base import validate_uom_is_integer
+		from erpnext.utilities.transaction_base import validate_uom_is_integer
 		validate_uom_is_integer(self.doclist, "stock_uom", ["qty", "produced_qty"])
 		
 	def validate_bom_no(self):
@@ -50,7 +50,7 @@
 			self.validate_production_order_against_so()
 			
 	def validate_warehouse(self):
-		from stock.utils import validate_warehouse_user, validate_warehouse_company
+		from erpnext.stock.utils import validate_warehouse_user, validate_warehouse_company
 		
 		for w in [self.doc.fg_warehouse, self.doc.wip_warehouse]:
 			validate_warehouse_user(w)
@@ -128,7 +128,7 @@
 			"posting_date": nowdate(),
 			"planned_qty": flt(qty)
 		}
-		from stock.utils import update_bin
+		from erpnext.stock.utils import update_bin
 		update_bin(args)
 
 @webnotes.whitelist()	
diff --git a/erpnext/manufacturing/doctype/production_order/test_production_order.py b/erpnext/manufacturing/doctype/production_order/test_production_order.py
index 5269729..62bb26e 100644
--- a/erpnext/manufacturing/doctype/production_order/test_production_order.py
+++ b/erpnext/manufacturing/doctype/production_order/test_production_order.py
@@ -5,8 +5,8 @@
 from __future__ import unicode_literals
 import unittest
 import webnotes
-from stock.doctype.purchase_receipt.test_purchase_receipt import set_perpetual_inventory
-from manufacturing.doctype.production_order.production_order import make_stock_entry
+from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import set_perpetual_inventory
+from erpnext.manufacturing.doctype.production_order.production_order import make_stock_entry
 
 
 class TestProductionOrder(unittest.TestCase):
@@ -20,7 +20,7 @@
 		pro_bean.insert()
 		pro_bean.submit()
 		
-		from stock.doctype.stock_entry.test_stock_entry import test_records as se_test_records
+		from erpnext.stock.doctype.stock_entry.test_stock_entry import test_records as se_test_records
 		mr1 = webnotes.bean(copy = se_test_records[0])
 		mr1.insert()
 		mr1.submit()
@@ -45,7 +45,7 @@
 		return pro_bean.doc.name
 			
 	def test_over_production(self):
-		from stock.doctype.stock_entry.stock_entry import StockOverProductionError
+		from erpnext.stock.doctype.stock_entry.stock_entry import StockOverProductionError
 		pro_order = self.test_planned_qty()
 		
 		stock_entry = make_stock_entry(pro_order, "Manufacture/Repack")
diff --git a/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.py b/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.py
index f3626a3..cb611ba 100644
--- a/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.py
+++ b/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.py
@@ -173,7 +173,7 @@
 		"""It will raise production order (Draft) for all distinct FG items"""
 		self.validate_data()
 
-		from utilities.transaction_base import validate_uom_is_integer
+		from erpnext.utilities.transaction_base import validate_uom_is_integer
 		validate_uom_is_integer(self.doclist, "stock_uom", "planned_qty")
 
 		items = self.get_distinct_items_and_boms()[1]
@@ -208,7 +208,7 @@
 		
 	def create_production_order(self, items):
 		"""Create production order. Called from Production Planning Tool"""
-		from manufacturing.doctype.production_order.production_order import OverProductionError
+		from erpnext.manufacturing.doctype.production_order.production_order import OverProductionError
 
 		pro_list = []
 		for key in items:
@@ -302,7 +302,7 @@
 		
 		item_projected_qty = self.get_projected_qty()
 		
-		from accounts.utils import get_fiscal_year
+		from erpnext.accounts.utils import get_fiscal_year
 		fiscal_year = get_fiscal_year(nowdate())[0]
 		
 		items_to_be_requested = webnotes._dict()
diff --git a/erpnext/patches/april_2013/p01_update_serial_no_valuation_rate.py b/erpnext/patches/april_2013/p01_update_serial_no_valuation_rate.py
index 18fe9b5..c6f0612 100644
--- a/erpnext/patches/april_2013/p01_update_serial_no_valuation_rate.py
+++ b/erpnext/patches/april_2013/p01_update_serial_no_valuation_rate.py
@@ -3,7 +3,7 @@
 
 import webnotes
 from webnotes.utils import cstr
-from stock.stock_ledger import update_entries_after
+from erpnext.stock.stock_ledger import update_entries_after
 
 def execute():
 	webnotes.conn.auto_commit_on_many_writes = 1
diff --git a/erpnext/patches/december_2012/repost_ordered_qty.py b/erpnext/patches/december_2012/repost_ordered_qty.py
index 05cbb64..5b24fdf 100644
--- a/erpnext/patches/december_2012/repost_ordered_qty.py
+++ b/erpnext/patches/december_2012/repost_ordered_qty.py
@@ -3,7 +3,7 @@
 
 def execute():
 	import webnotes
-	from utilities.repost_stock import get_ordered_qty, update_bin
+	from erpnext.utilities.repost_stock import get_ordered_qty, update_bin
 			
 	for d in webnotes.conn.sql("select item_code, warehouse from tabBin"):
 		update_bin(d[0], d[1], {
diff --git a/erpnext/patches/february_2013/repost_reserved_qty.py b/erpnext/patches/february_2013/repost_reserved_qty.py
index 442a81b..fbc6f1a 100644
--- a/erpnext/patches/february_2013/repost_reserved_qty.py
+++ b/erpnext/patches/february_2013/repost_reserved_qty.py
@@ -4,7 +4,7 @@
 import webnotes
 def execute():
 	webnotes.conn.auto_commit_on_many_writes = 1
-	from utilities.repost_stock import get_reserved_qty, update_bin
+	from erpnext.utilities.repost_stock import get_reserved_qty, update_bin
 	
 	for d in webnotes.conn.sql("select item_code, warehouse from tabBin"):
 		update_bin(d[0], d[1], {
diff --git a/erpnext/patches/july_2013/restore_tree_roots.py b/erpnext/patches/july_2013/restore_tree_roots.py
index b6a988f..91b328c 100644
--- a/erpnext/patches/july_2013/restore_tree_roots.py
+++ b/erpnext/patches/july_2013/restore_tree_roots.py
@@ -2,5 +2,5 @@
 # License: GNU General Public License v3. See license.txt
 
 def execute():
-	from startup.install import import_defaults
+	from erpnext.startup.install import import_defaults
 	import_defaults()
\ No newline at end of file
diff --git a/erpnext/patches/june_2013/p04_fix_event_for_lead_oppty_project.py b/erpnext/patches/june_2013/p04_fix_event_for_lead_oppty_project.py
index 735a28a..f80209f 100644
--- a/erpnext/patches/june_2013/p04_fix_event_for_lead_oppty_project.py
+++ b/erpnext/patches/june_2013/p04_fix_event_for_lead_oppty_project.py
@@ -4,7 +4,7 @@
 import webnotes
 
 def execute():
-	from utilities.transaction_base import delete_events
+	from erpnext.utilities.transaction_base import delete_events
 	
 	# delete orphaned Event User
 	webnotes.conn.sql("""delete from `tabEvent User`
diff --git a/erpnext/patches/june_2013/p07_taxes_price_list_for_territory.py b/erpnext/patches/june_2013/p07_taxes_price_list_for_territory.py
index 1cdb783..4a224e3 100644
--- a/erpnext/patches/june_2013/p07_taxes_price_list_for_territory.py
+++ b/erpnext/patches/june_2013/p07_taxes_price_list_for_territory.py
@@ -9,7 +9,7 @@
 	webnotes.reload_doc("accounts", "doctype", "sales_taxes_and_charges_master")
 	webnotes.reload_doc("accounts", "doctype", "shipping_rule")
 	
-	from setup.utils import get_root_of
+	from erpnext.setup.utils import get_root_of
 	root_territory = get_root_of("Territory")
 	
 	for parenttype in ["Sales Taxes and Charges Master", "Price List", "Shipping Rule"]:
diff --git a/erpnext/patches/june_2013/p08_shopping_cart_settings.py b/erpnext/patches/june_2013/p08_shopping_cart_settings.py
index 6af7eb8..45028c8 100644
--- a/erpnext/patches/june_2013/p08_shopping_cart_settings.py
+++ b/erpnext/patches/june_2013/p08_shopping_cart_settings.py
@@ -7,7 +7,7 @@
 	webnotes.reload_doc("selling", "doctype", "shopping_cart_settings")
 	
 	# create two default territories, one for home country and one named Rest of the World
-	from setup.page.setup_wizard.setup_wizard import create_territories
+	from erpnext.setup.page.setup_wizard.setup_wizard import create_territories
 	create_territories()
 	
 	webnotes.conn.set_value("Shopping Cart Settings", None, "default_territory", "Rest of the World")
diff --git a/erpnext/patches/march_2013/p10_set_fiscal_year_for_stock.py b/erpnext/patches/march_2013/p10_set_fiscal_year_for_stock.py
index 1f5adf6..97510c7 100644
--- a/erpnext/patches/march_2013/p10_set_fiscal_year_for_stock.py
+++ b/erpnext/patches/march_2013/p10_set_fiscal_year_for_stock.py
@@ -2,7 +2,7 @@
 # License: GNU General Public License v3. See license.txt
 
 import webnotes
-from accounts.utils import get_fiscal_year, FiscalYearError
+from erpnext.accounts.utils import get_fiscal_year, FiscalYearError
 
 def execute():
 	webnotes.reload_doc("stock", "doctype", "stock_entry")
diff --git a/erpnext/patches/may_2013/p02_update_valuation_rate.py b/erpnext/patches/may_2013/p02_update_valuation_rate.py
index b521734..1419ebf 100644
--- a/erpnext/patches/may_2013/p02_update_valuation_rate.py
+++ b/erpnext/patches/may_2013/p02_update_valuation_rate.py
@@ -4,7 +4,7 @@
 from __future__ import unicode_literals
 import webnotes
 def execute():
-	from stock.stock_ledger import update_entries_after
+	from erpnext.stock.stock_ledger import update_entries_after
 	item_warehouse = []
 	# update valuation_rate in transaction
 	doctypes = {"Purchase Receipt": "purchase_receipt_details", "Purchase Invoice": "entries"}
diff --git a/erpnext/patches/may_2013/repost_stock_for_no_posting_time.py b/erpnext/patches/may_2013/repost_stock_for_no_posting_time.py
index db03992..b36ccf3 100644
--- a/erpnext/patches/may_2013/repost_stock_for_no_posting_time.py
+++ b/erpnext/patches/may_2013/repost_stock_for_no_posting_time.py
@@ -4,7 +4,7 @@
 from __future__ import unicode_literals
 def execute():
 	import webnotes
-	from stock.stock_ledger import update_entries_after
+	from erpnext.stock.stock_ledger import update_entries_after
 	
 	res = webnotes.conn.sql("""select distinct item_code, warehouse from `tabStock Ledger Entry` 
 		where posting_time = '00:00'""")
diff --git a/erpnext/patches/october_2013/perpetual_inventory_stock_transfer_utility.py b/erpnext/patches/october_2013/perpetual_inventory_stock_transfer_utility.py
index 5937422..889f5e2 100644
--- a/erpnext/patches/october_2013/perpetual_inventory_stock_transfer_utility.py
+++ b/erpnext/patches/october_2013/perpetual_inventory_stock_transfer_utility.py
@@ -4,7 +4,7 @@
 from __future__ import unicode_literals
 import webnotes
 from webnotes.utils import nowdate, nowtime, cstr
-from accounts.utils import get_fiscal_year
+from erpnext.accounts.utils import get_fiscal_year
 
 def execute():
 	item_map = {}
diff --git a/erpnext/patches/october_2013/repost_planned_qty.py b/erpnext/patches/october_2013/repost_planned_qty.py
index 6a78d33..1e9da30 100644
--- a/erpnext/patches/october_2013/repost_planned_qty.py
+++ b/erpnext/patches/october_2013/repost_planned_qty.py
@@ -3,7 +3,7 @@
 
 def execute():
 	import webnotes
-	from utilities.repost_stock import get_planned_qty, update_bin
+	from erpnext.utilities.repost_stock import get_planned_qty, update_bin
 	
 	for d in webnotes.conn.sql("select item_code, warehouse from tabBin"):
 		update_bin(d[0], d[1], {
diff --git a/erpnext/patches/september_2012/repost_stock.py b/erpnext/patches/september_2012/repost_stock.py
index 5df65a2..11c8747 100644
--- a/erpnext/patches/september_2012/repost_stock.py
+++ b/erpnext/patches/september_2012/repost_stock.py
@@ -4,7 +4,7 @@
 from __future__ import unicode_literals
 def execute():
 	import webnotes
-	from stock.stock_ledger import update_entries_after
+	from erpnext.stock.stock_ledger import update_entries_after
 	res = webnotes.conn.sql("select distinct item_code, warehouse from `tabStock Ledger Entry`")
 	i=0
 	for d in res:
diff --git a/erpnext/portal/templates/includes/cart.js b/erpnext/portal/templates/includes/cart.js
index 232501d..0765c60 100644
--- a/erpnext/portal/templates/includes/cart.js
+++ b/erpnext/portal/templates/includes/cart.js
@@ -7,7 +7,7 @@
 	erpnext.cart.bind_events();
 	return wn.call({
 		type: "POST",
-		method: "selling.utils.cart.get_cart_quotation",
+		method: "erpnext.selling.utils.cart.get_cart_quotation",
 		callback: function(r) {
 			$("#cart-container").removeClass("hide");
 			$(".progress").remove();
@@ -193,7 +193,7 @@
 		return wn.call({
 			btn: btn,
 			type: "POST",
-			method: "selling.utils.cart.apply_shipping_rule",
+			method: "erpnext.selling.utils.cart.apply_shipping_rule",
 			args: { shipping_rule: rule },
 			callback: function(r) {
 				if(!r.exc) {
@@ -241,7 +241,7 @@
 				
 				return wn.call({
 					type: "POST",
-					method: "selling.utils.cart.update_cart_address",
+					method: "erpnext.selling.utils.cart.update_cart_address",
 					args: {
 						address_fieldname: $address_wrapper.attr("data-fieldname"),
 						address_name: $(this).attr("data-address-name")
@@ -272,7 +272,7 @@
 	place_order: function(btn) {
 		return wn.call({
 			type: "POST",
-			method: "selling.utils.cart.place_order",
+			method: "erpnext.selling.utils.cart.place_order",
 			btn: btn,
 			callback: function(r) {
 				if(r.exc) {
diff --git a/erpnext/portal/templates/pages/profile.py b/erpnext/portal/templates/pages/profile.py
index 241f953..143abef 100644
--- a/erpnext/portal/templates/pages/profile.py
+++ b/erpnext/portal/templates/pages/profile.py
@@ -10,7 +10,7 @@
 no_sitemap = True
 
 def get_context():
-	from selling.utils.cart import get_lead_or_customer
+	from erpnext.selling.utils.cart import get_lead_or_customer
 	party = get_lead_or_customer()
 	if party.doctype == "Lead":
 		mobile_no = party.mobile_no
@@ -27,7 +27,7 @@
 	
 @webnotes.whitelist()
 def update_profile(fullname, password=None, company_name=None, mobile_no=None, phone=None):
-	from selling.utils.cart import update_party
+	from erpnext.selling.utils.cart import update_party
 	update_party(fullname, company_name, mobile_no, phone)
 	
 	if not fullname:
diff --git a/erpnext/portal/utils.py b/erpnext/portal/utils.py
index 727edf3..9ec5422 100644
--- a/erpnext/portal/utils.py
+++ b/erpnext/portal/utils.py
@@ -67,11 +67,11 @@
 		
 	if subject=="Support":
 		# create support ticket
-		from support.doctype.support_ticket.get_support_mails import add_support_communication
+		from erpnext.support.doctype.support_ticket.get_support_mails import add_support_communication
 		add_support_communication(subject, message, sender, mail=None)
 	else:
 		# make lead / communication
-		from selling.doctype.lead.get_leads import add_sales_communication
+		from erpnext.selling.doctype.lead.get_leads import add_sales_communication
 		add_sales_communication(subject or "Website Query", message, sender, sender, 
 			mail=None, status=status)
 	
\ No newline at end of file
diff --git a/erpnext/projects/doctype/project/project.py b/erpnext/projects/doctype/project/project.py
index 5b20c5b..f159452 100644
--- a/erpnext/projects/doctype/project/project.py
+++ b/erpnext/projects/doctype/project/project.py
@@ -6,7 +6,7 @@
 
 from webnotes.utils import flt, getdate
 from webnotes import msgprint
-from utilities.transaction_base import delete_events
+from erpnext.utilities.transaction_base import delete_events
 
 class DocType:
 	def __init__(self, doc, doclist=None):
diff --git a/erpnext/projects/doctype/task/task.py b/erpnext/projects/doctype/task/task.py
index 227119e..85d8a49 100644
--- a/erpnext/projects/doctype/task/task.py
+++ b/erpnext/projects/doctype/task/task.py
@@ -80,7 +80,7 @@
 	return data
 
 def get_project(doctype, txt, searchfield, start, page_len, filters):
-	from controllers.queries import get_match_cond
+	from erpnext.controllers.queries import get_match_cond
 	return webnotes.conn.sql(""" select name from `tabProject`
 			where %(key)s like "%(txt)s"
 				%(mcond)s
diff --git a/erpnext/projects/doctype/task/task_calendar.js b/erpnext/projects/doctype/task/task_calendar.js
index 62d9757..f6adf58 100644
--- a/erpnext/projects/doctype/task/task_calendar.js
+++ b/erpnext/projects/doctype/task/task_calendar.js
@@ -18,5 +18,5 @@
 			"label": wn._("Project")
 		}
 	],
-	get_events_method: "projects.doctype.task.task.get_events"
+	get_events_method: "erpnext.projects.doctype.task.task.get_events"
 }
\ No newline at end of file
diff --git a/erpnext/projects/doctype/time_log/test_time_log.py b/erpnext/projects/doctype/time_log/test_time_log.py
index c62bee1..23206d6 100644
--- a/erpnext/projects/doctype/time_log/test_time_log.py
+++ b/erpnext/projects/doctype/time_log/test_time_log.py
@@ -4,7 +4,7 @@
 import webnotes
 import unittest
 
-from projects.doctype.time_log.time_log import OverlapError
+from erpnext.projects.doctype.time_log.time_log import OverlapError
 
 class TestTimeLog(unittest.TestCase):
 	def test_duplication(self):		
diff --git a/erpnext/projects/doctype/time_log/time_log_calendar.js b/erpnext/projects/doctype/time_log/time_log_calendar.js
index 2451de1..ea14074 100644
--- a/erpnext/projects/doctype/time_log/time_log_calendar.js
+++ b/erpnext/projects/doctype/time_log/time_log_calendar.js
@@ -9,5 +9,5 @@
 		"title": "title",
 		"allDay": "allDay"
 	},
-	get_events_method: "projects.doctype.time_log.time_log.get_events"
+	get_events_method: "erpnext.projects.doctype.time_log.time_log.get_events"
 }
\ No newline at end of file
diff --git a/erpnext/projects/doctype/time_log_batch/test_time_log_batch.py b/erpnext/projects/doctype/time_log_batch/test_time_log_batch.py
index 8a7e6f5..9fbf709 100644
--- a/erpnext/projects/doctype/time_log_batch/test_time_log_batch.py
+++ b/erpnext/projects/doctype/time_log_batch/test_time_log_batch.py
@@ -5,7 +5,7 @@
 
 class TimeLogBatchTest(unittest.TestCase):
 	def test_time_log_status(self):
-		from projects.doctype.time_log.test_time_log import test_records as time_log_records
+		from erpnext.projects.doctype.time_log.test_time_log import test_records as time_log_records
 		time_log = webnotes.bean(copy=time_log_records[0])
 		time_log.doc.fields.update({
 			"from_time": "2013-01-02 10:00:00",
diff --git a/erpnext/public/js/conf.js b/erpnext/public/js/conf.js
index 929bfca..0c53ecd 100644
--- a/erpnext/public/js/conf.js
+++ b/erpnext/public/js/conf.js
@@ -9,7 +9,7 @@
 	
 	var brand = ($("<div></div>").append(wn.boot.website_settings.brand_html).text() || 'erpnext');
 	$('.navbar-brand').html('<div style="display: inline-block;">\
-			<object type="image/svg+xml" data="app/images/splash.svg" class="toolbar-splash"></object>\
+			<object type="image/svg+xml" data="assets/erpnext/images/splash.svg" class="toolbar-splash"></object>\
 		</div>' + brand)
 	.attr("title", brand)
 	.addClass("navbar-icon-home")
diff --git a/erpnext/public/js/transaction.js b/erpnext/public/js/transaction.js
index 4c4a810..96f10c7 100644
--- a/erpnext/public/js/transaction.js
+++ b/erpnext/public/js/transaction.js
@@ -214,7 +214,7 @@
 		var fieldname = buying_or_selling.toLowerCase() + "_price_list";
 		if(this.frm.doc[fieldname]) {
 			return this.frm.call({
-				method: "setup.utils.get_price_list_currency",
+				method: "erpnext.setup.utils.get_price_list_currency",
 				args: { 
 					price_list: this.frm.doc[fieldname],
 				},
diff --git a/erpnext/public/js/website_utils.js b/erpnext/public/js/website_utils.js
index e752812..fda30b8 100644
--- a/erpnext/public/js/website_utils.js
+++ b/erpnext/public/js/website_utils.js
@@ -8,7 +8,7 @@
 wn.send_message = function(opts, btn) {
 	return wn.call({
 		type: "POST",
-		method: "portal.utils.send_message",
+		method: "erpnext.portal.utils.send_message",
 		btn: btn,
 		args: opts,
 		callback: opts.callback
@@ -46,7 +46,7 @@
 		} else {
 			return wn.call({
 				type: "POST",
-				method: "selling.utils.cart.update_cart",
+				method: "erpnext.selling.utils.cart.update_cart",
 				args: {
 					item_code: opts.item_code,
 					qty: opts.qty,
diff --git a/erpnext/selling/doctype/customer/customer.js b/erpnext/selling/doctype/customer/customer.js
index 5e0ccc9..8ec4a2b 100644
--- a/erpnext/selling/doctype/customer/customer.js
+++ b/erpnext/selling/doctype/customer/customer.js
@@ -52,7 +52,7 @@
 	
 	return wn.call({
 		type: "GET",
-		method:"selling.doctype.customer.customer.get_dashboard_info",
+		method: "erpnext.selling.doctype.customer.customer.get_dashboard_info",
 		args: {
 			customer: cur_frm.doc.name
 		},
diff --git a/erpnext/selling/doctype/customer/customer.py b/erpnext/selling/doctype/customer/customer.py
index d00926f..185c74b 100644
--- a/erpnext/selling/doctype/customer/customer.py
+++ b/erpnext/selling/doctype/customer/customer.py
@@ -9,7 +9,7 @@
 import webnotes.defaults
 
 
-from utilities.transaction_base import TransactionBase
+from erpnext.utilities.transaction_base import TransactionBase
 
 class DocType(TransactionBase):
 	def __init__(self, doc, doclist=[]):
@@ -144,7 +144,7 @@
 			webnotes.conn.sql("update `tabLead` set status='Interested' where name=%s",self.doc.lead_name)
 			
 	def before_rename(self, olddn, newdn, merge=False):
-		from accounts.utils import rename_account_for
+		from erpnext.accounts.utils import rename_account_for
 		rename_account_for("Customer", olddn, newdn, merge)
 			
 	def after_rename(self, olddn, newdn, merge=False):
diff --git a/erpnext/selling/doctype/installation_note/installation_note.js b/erpnext/selling/doctype/installation_note/installation_note.js
index ea777e0..d96b993 100644
--- a/erpnext/selling/doctype/installation_note/installation_note.js
+++ b/erpnext/selling/doctype/installation_note/installation_note.js
@@ -47,7 +47,7 @@
 			cur_frm.add_custom_button(wn._('From Delivery Note'), 
 				function() {
 					wn.model.map_current_doc({
-						method: "stock.doctype.delivery_note.delivery_note.make_installation_note",
+						method: "erpnext.stock.doctype.delivery_note.delivery_note.make_installation_note",
 						source_doctype: "Delivery Note",
 						get_query_filters: {
 							docstatus: 1,
diff --git a/erpnext/selling/doctype/installation_note/installation_note.py b/erpnext/selling/doctype/installation_note/installation_note.py
index 026d7e1..253e43e 100644
--- a/erpnext/selling/doctype/installation_note/installation_note.py
+++ b/erpnext/selling/doctype/installation_note/installation_note.py
@@ -7,9 +7,9 @@
 from webnotes.utils import cstr, getdate
 from webnotes.model.bean import getlist
 from webnotes import msgprint
-from stock.utils import get_valid_serial_nos	
+from erpnext.stock.utils import get_valid_serial_nos	
 
-from utilities.transaction_base import TransactionBase
+from erpnext.utilities.transaction_base import TransactionBase
 
 class DocType(TransactionBase):
 	def __init__(self, doc, doclist=[]):
@@ -36,11 +36,11 @@
 		self.validate_installation_date()
 		self.check_item_table()
 		
-		from controllers.selling_controller import check_active_sales_items
+		from erpnext.controllers.selling_controller import check_active_sales_items
 		check_active_sales_items(self)
 
 	def validate_fiscal_year(self):
-		from accounts.utils import validate_fiscal_year
+		from erpnext.accounts.utils import validate_fiscal_year
 		validate_fiscal_year(self.doc.inst_date, self.doc.fiscal_year, "Installation Date")
 	
 	def is_serial_no_added(self, item_code, serial_no):
diff --git a/erpnext/selling/doctype/lead/lead.js b/erpnext/selling/doctype/lead/lead.js
index 54a249f..cf972b6 100644
--- a/erpnext/selling/doctype/lead/lead.js
+++ b/erpnext/selling/doctype/lead/lead.js
@@ -77,14 +77,14 @@
 	
 	create_customer: function() {
 		wn.model.open_mapped_doc({
-			method: "selling.doctype.lead.lead.make_customer",
+			method: "erpnext.selling.doctype.lead.lead.make_customer",
 			source_name: cur_frm.doc.name
 		})
 	}, 
 	
 	create_opportunity: function() {
 		wn.model.open_mapped_doc({
-			method: "selling.doctype.lead.lead.make_opportunity",
+			method: "erpnext.selling.doctype.lead.lead.make_opportunity",
 			source_name: cur_frm.doc.name
 		})
 	}
diff --git a/erpnext/selling/doctype/lead/lead.py b/erpnext/selling/doctype/lead/lead.py
index 26c06bb..e5f2b62 100644
--- a/erpnext/selling/doctype/lead/lead.py
+++ b/erpnext/selling/doctype/lead/lead.py
@@ -8,7 +8,7 @@
 from webnotes import session, msgprint
 
 	
-from controllers.selling_controller import SellingController
+from erpnext.controllers.selling_controller import SellingController
 
 class DocType(SellingController):
 	def __init__(self, doc, doclist):
diff --git a/erpnext/selling/doctype/lead/test_lead.py b/erpnext/selling/doctype/lead/test_lead.py
index ec18ff7..d3f6f03 100644
--- a/erpnext/selling/doctype/lead/test_lead.py
+++ b/erpnext/selling/doctype/lead/test_lead.py
@@ -19,7 +19,7 @@
 
 class TestLead(unittest.TestCase):
 	def test_make_customer(self):
-		from selling.doctype.lead.lead import make_customer
+		from erpnext.selling.doctype.lead.lead import make_customer
 
 		customer = make_customer("_T-Lead-00001")
 		self.assertEquals(customer[0]["doctype"], "Customer")
diff --git a/erpnext/selling/doctype/opportunity/opportunity.js b/erpnext/selling/doctype/opportunity/opportunity.js
index 05970fc..5fc84fa 100644
--- a/erpnext/selling/doctype/opportunity/opportunity.js
+++ b/erpnext/selling/doctype/opportunity/opportunity.js
@@ -91,7 +91,7 @@
 	
 	create_quotation: function() {
 		wn.model.open_mapped_doc({
-			method: "selling.doctype.opportunity.opportunity.make_quotation",
+			method: "erpnext.selling.doctype.opportunity.opportunity.make_quotation",
 			source_name: cur_frm.doc.name
 		})
 	}
@@ -162,7 +162,7 @@
 	cur_frm.toggle_display("contact_info", doc.customer || doc.lead);
 	
 	wn.model.map_current_doc({
-		method: "selling.doctype.lead.lead.make_opportunity",
+		method: "erpnext.selling.doctype.lead.lead.make_opportunity",
 		source_name: cur_frm.doc.lead
 	})
 	
diff --git a/erpnext/selling/doctype/opportunity/opportunity.py b/erpnext/selling/doctype/opportunity/opportunity.py
index e6c0afe..00a447f 100644
--- a/erpnext/selling/doctype/opportunity/opportunity.py
+++ b/erpnext/selling/doctype/opportunity/opportunity.py
@@ -9,7 +9,7 @@
 from webnotes import msgprint, _
 
 	
-from utilities.transaction_base import TransactionBase
+from erpnext.utilities.transaction_base import TransactionBase
 
 class DocType(TransactionBase):
 	def __init__(self,doc,doclist):
@@ -104,7 +104,7 @@
 		self.validate_uom_is_integer("uom", "qty")
 		self.validate_lead_cust()
 		
-		from accounts.utils import validate_fiscal_year
+		from erpnext.accounts.utils import validate_fiscal_year
 		validate_fiscal_year(self.doc.transaction_date, self.doc.fiscal_year, "Opportunity Date")
 
 	def on_submit(self):
diff --git a/erpnext/selling/doctype/quotation/quotation.js b/erpnext/selling/doctype/quotation/quotation.js
index c7bf447..9f145ce 100644
--- a/erpnext/selling/doctype/quotation/quotation.js
+++ b/erpnext/selling/doctype/quotation/quotation.js
@@ -39,7 +39,7 @@
 			cur_frm.add_custom_button(wn._('From Opportunity'), 
 				function() {
 					wn.model.map_current_doc({
-						method: "selling.doctype.opportunity.opportunity.make_quotation",
+						method: "erpnext.selling.doctype.opportunity.opportunity.make_quotation",
 						source_doctype: "Opportunity",
 						get_query_filters: {
 							docstatus: 1,
@@ -112,7 +112,7 @@
 // =====================================================================================
 cur_frm.cscript['Make Sales Order'] = function() {
 	wn.model.open_mapped_doc({
-		method: "selling.doctype.quotation.quotation.make_sales_order",
+		method: "erpnext.selling.doctype.quotation.quotation.make_sales_order",
 		source_name: cur_frm.doc.name
 	})
 }
diff --git a/erpnext/selling/doctype/quotation/quotation.py b/erpnext/selling/doctype/quotation/quotation.py
index f2546b9..6a030b9 100644
--- a/erpnext/selling/doctype/quotation/quotation.py
+++ b/erpnext/selling/doctype/quotation/quotation.py
@@ -11,7 +11,7 @@
 
 	
 
-from controllers.selling_controller import SellingController
+from erpnext.controllers.selling_controller import SellingController
 
 class DocType(SellingController):
 	def __init__(self, doc, doclist=[]):
@@ -150,7 +150,7 @@
 		lead_name = quotation[0]
 		customer_name = webnotes.conn.get_value("Customer", {"lead_name": lead_name})
 		if not customer_name:
-			from selling.doctype.lead.lead import _make_customer
+			from erpnext.selling.doctype.lead.lead import _make_customer
 			customer_doclist = _make_customer(lead_name, ignore_permissions=ignore_permissions)
 			customer = webnotes.bean(customer_doclist)
 			customer.ignore_permissions = ignore_permissions
diff --git a/erpnext/selling/doctype/quotation/test_quotation.py b/erpnext/selling/doctype/quotation/test_quotation.py
index 8f0e644..00cbd6c 100644
--- a/erpnext/selling/doctype/quotation/test_quotation.py
+++ b/erpnext/selling/doctype/quotation/test_quotation.py
@@ -9,7 +9,7 @@
 
 class TestQuotation(unittest.TestCase):
 	def test_make_sales_order(self):
-		from selling.doctype.quotation.quotation import make_sales_order
+		from erpnext.selling.doctype.quotation.quotation import make_sales_order
 		
 		quotation = webnotes.bean(copy=test_records[0])
 		quotation.insert()
diff --git a/erpnext/selling/doctype/sales_bom/sales_bom.py b/erpnext/selling/doctype/sales_bom/sales_bom.py
index f6cfafa..2f47be3 100644
--- a/erpnext/selling/doctype/sales_bom/sales_bom.py
+++ b/erpnext/selling/doctype/sales_bom/sales_bom.py
@@ -14,7 +14,7 @@
 	def validate(self):
 		self.validate_main_item()
 
-		from utilities.transaction_base import validate_uom_is_integer
+		from erpnext.utilities.transaction_base import validate_uom_is_integer
 		validate_uom_is_integer(self.doclist, "uom", "qty")
 
 	def validate_main_item(self):
@@ -33,7 +33,7 @@
 		}
 
 def get_new_item_code(doctype, txt, searchfield, start, page_len, filters):
-	from controllers.queries import get_match_cond
+	from erpnext.controllers.queries import get_match_cond
 	
 	return webnotes.conn.sql("""select name, item_name, description from tabItem 
 		where is_stock_item="No" and is_sales_item="Yes"
diff --git a/erpnext/selling/doctype/sales_order/sales_order.js b/erpnext/selling/doctype/sales_order/sales_order.js
index e4b3caf..a8ba502 100644
--- a/erpnext/selling/doctype/sales_order/sales_order.js
+++ b/erpnext/selling/doctype/sales_order/sales_order.js
@@ -62,7 +62,7 @@
 			cur_frm.add_custom_button(wn._('From Quotation'), 
 				function() {
 					wn.model.map_current_doc({
-						method: "selling.doctype.quotation.quotation.make_sales_order",
+						method: "erpnext.selling.doctype.quotation.quotation.make_sales_order",
 						source_doctype: "Quotation",
 						get_query_filters: {
 							docstatus: 1,
@@ -90,7 +90,7 @@
 		var item = wn.model.get_doc(cdt, cdn);
 		if(item.item_code && item.reserved_warehouse) {
 			return this.frm.call({
-				method: "selling.utils.get_available_qty",
+				method: "erpnext.selling.utils.get_available_qty",
 				child: item,
 				args: {
 					item_code: item.item_code,
@@ -102,35 +102,35 @@
 
 	make_material_request: function() {
 		wn.model.open_mapped_doc({
-			method: "selling.doctype.sales_order.sales_order.make_material_request",
+			method: "erpnext.selling.doctype.sales_order.sales_order.make_material_request",
 			source_name: cur_frm.doc.name
 		})
 	},
 
 	make_delivery_note: function() {
 		wn.model.open_mapped_doc({
-			method: "selling.doctype.sales_order.sales_order.make_delivery_note",
+			method: "erpnext.selling.doctype.sales_order.sales_order.make_delivery_note",
 			source_name: cur_frm.doc.name
 		})
 	},
 
 	make_sales_invoice: function() {
 		wn.model.open_mapped_doc({
-			method: "selling.doctype.sales_order.sales_order.make_sales_invoice",
+			method: "erpnext.selling.doctype.sales_order.sales_order.make_sales_invoice",
 			source_name: cur_frm.doc.name
 		})
 	},
 	
 	make_maintenance_schedule: function() {
 		wn.model.open_mapped_doc({
-			method: "selling.doctype.sales_order.sales_order.make_maintenance_schedule",
+			method: "erpnext.selling.doctype.sales_order.sales_order.make_maintenance_schedule",
 			source_name: cur_frm.doc.name
 		})
 	}, 
 	
 	make_maintenance_visit: function() {
 		wn.model.open_mapped_doc({
-			method: "selling.doctype.sales_order.sales_order.make_maintenance_visit",
+			method: "erpnext.selling.doctype.sales_order.sales_order.make_maintenance_visit",
 			source_name: cur_frm.doc.name
 		})
 	},
diff --git a/erpnext/selling/doctype/sales_order/sales_order.py b/erpnext/selling/doctype/sales_order/sales_order.py
index 771aafa..aa5f214 100644
--- a/erpnext/selling/doctype/sales_order/sales_order.py
+++ b/erpnext/selling/doctype/sales_order/sales_order.py
@@ -11,7 +11,7 @@
 from webnotes import msgprint
 from webnotes.model.mapper import get_mapped_doclist
 
-from controllers.selling_controller import SellingController
+from erpnext.controllers.selling_controller import SellingController
 
 class DocType(SellingController):
 	def __init__(self, doc, doclist=None):
@@ -111,7 +111,7 @@
 		self.validate_for_items()
 		self.validate_warehouse()
 
-		from stock.doctype.packed_item.packed_item import make_packing_list
+		from erpnext.stock.doctype.packed_item.packed_item import make_packing_list
 		self.doclist = make_packing_list(self,'sales_order_details')
 
 		self.validate_with_previous_doc()
@@ -119,8 +119,8 @@
 		if not self.doc.status:
 			self.doc.status = "Draft"
 
-		import utilities
-		utilities.validate_status(self.doc.status, ["Draft", "Submitted", "Stopped", 
+		from erpnext.utilities import validate_status
+		validate_status(self.doc.status, ["Draft", "Submitted", "Stopped", 
 			"Cancelled"])
 
 		if not self.doc.billing_status: self.doc.billing_status = 'Not Billed'
@@ -128,7 +128,7 @@
 		
 		
 	def validate_warehouse(self):
-		from stock.utils import validate_warehouse_user, validate_warehouse_company
+		from erpnext.stock.utils import validate_warehouse_user, validate_warehouse_company
 		
 		warehouses = list(set([d.reserved_warehouse for d in 
 			self.doclist.get({"doctype": self.tname}) if d.reserved_warehouse]))
@@ -231,7 +231,7 @@
 
 
 	def update_stock_ledger(self, update_stock):
-		from stock.utils import update_bin
+		from erpnext.stock.utils import update_bin
 		for d in self.get_item_list():
 			if webnotes.conn.get_value("Item", d['item_code'], "is_stock_item") == "Yes":
 				args = {
diff --git a/erpnext/selling/doctype/sales_order/templates/pages/order.py b/erpnext/selling/doctype/sales_order/templates/pages/order.py
index d53a8b0..0f996e4 100644
--- a/erpnext/selling/doctype/sales_order/templates/pages/order.py
+++ b/erpnext/selling/doctype/sales_order/templates/pages/order.py
@@ -8,7 +8,7 @@
 no_cache = True
 
 def get_context():
-	from portal.utils import get_transaction_context
+	from erpnext.portal.utils import get_transaction_context
 	context = get_transaction_context("Sales Order", webnotes.form_dict.name)
 	modify_status(context.get("doc"))
 	context.update({
diff --git a/erpnext/selling/doctype/sales_order/templates/pages/orders.py b/erpnext/selling/doctype/sales_order/templates/pages/orders.py
index d7f83dc..ad523fc 100644
--- a/erpnext/selling/doctype/sales_order/templates/pages/orders.py
+++ b/erpnext/selling/doctype/sales_order/templates/pages/orders.py
@@ -7,7 +7,7 @@
 no_cache = True
 
 def get_context():
-	from portal.utils import get_currency_context
+	from erpnext.portal.utils import get_currency_context
 	context = get_currency_context()
 	context.update({
 		"title": "My Orders",
@@ -20,8 +20,8 @@
 	
 @webnotes.whitelist()
 def get_orders(start=0):
-	from portal.utils import get_transaction_list
-	from selling.doctype.sales_order.templates.pages.order import modify_status
+	from erpnext.portal.utils import get_transaction_list
+	from erpnext.selling.doctype.sales_order.templates.pages.order import modify_status
 	orders = get_transaction_list("Sales Order", start, ["per_billed", "per_delivered"])
 	for d in orders:
 		modify_status(d)
diff --git a/erpnext/selling/doctype/sales_order/test_sales_order.py b/erpnext/selling/doctype/sales_order/test_sales_order.py
index 1549b24..31c7cbc 100644
--- a/erpnext/selling/doctype/sales_order/test_sales_order.py
+++ b/erpnext/selling/doctype/sales_order/test_sales_order.py
@@ -7,7 +7,7 @@
 
 class TestSalesOrder(unittest.TestCase):
 	def test_make_material_request(self):
-		from selling.doctype.sales_order.sales_order import make_material_request
+		from erpnext.selling.doctype.sales_order.sales_order import make_material_request
 		
 		so = webnotes.bean(copy=test_records[0]).insert()
 		
@@ -22,7 +22,7 @@
 		self.assertEquals(len(mr), len(sales_order.doclist))
 
 	def test_make_delivery_note(self):
-		from selling.doctype.sales_order.sales_order import make_delivery_note
+		from erpnext.selling.doctype.sales_order.sales_order import make_delivery_note
 
 		so = webnotes.bean(copy=test_records[0]).insert()
 
@@ -37,7 +37,7 @@
 		self.assertEquals(len(dn), len(sales_order.doclist))
 
 	def test_make_sales_invoice(self):
-		from selling.doctype.sales_order.sales_order import make_sales_invoice
+		from erpnext.selling.doctype.sales_order.sales_order import make_sales_invoice
 
 		so = webnotes.bean(copy=test_records[0]).insert()
 
@@ -71,8 +71,8 @@
 		return w
 		
 	def create_dn_against_so(self, so, delivered_qty=0):
-		from stock.doctype.delivery_note.test_delivery_note import test_records as dn_test_records
-		from stock.doctype.delivery_note.test_delivery_note import _insert_purchase_receipt
+		from erpnext.stock.doctype.delivery_note.test_delivery_note import test_records as dn_test_records
+		from erpnext.stock.doctype.delivery_note.test_delivery_note import _insert_purchase_receipt
 
 		_insert_purchase_receipt(so.doclist[1].item_code)
 		
@@ -164,7 +164,7 @@
 		self.check_reserved_qty(so.doclist[1].item_code, so.doclist[1].reserved_warehouse, 10.0)
 		
 	def test_reserved_qty_for_so_with_packing_list(self):
-		from selling.doctype.sales_bom.test_sales_bom import test_records as sbom_test_records
+		from erpnext.selling.doctype.sales_bom.test_sales_bom import test_records as sbom_test_records
 		
 		# change item in test so record
 		test_record = test_records[0][:]
@@ -191,7 +191,7 @@
 			so.doclist[1].reserved_warehouse, 0.0)
 			
 	def test_reserved_qty_for_partial_delivery_with_packing_list(self):
-		from selling.doctype.sales_bom.test_sales_bom import test_records as sbom_test_records
+		from erpnext.selling.doctype.sales_bom.test_sales_bom import test_records as sbom_test_records
 		
 		# change item in test so record
 		
@@ -241,7 +241,7 @@
 			so.doclist[1].reserved_warehouse, 20.0)
 			
 	def test_reserved_qty_for_over_delivery_with_packing_list(self):
-		from selling.doctype.sales_bom.test_sales_bom import test_records as sbom_test_records
+		from erpnext.selling.doctype.sales_bom.test_sales_bom import test_records as sbom_test_records
 		
 		# change item in test so record
 		test_record = webnotes.copy_doclist(test_records[0])
@@ -284,7 +284,7 @@
 		
 		webnotes.session.user = "test@example.com"
 
-		from stock.utils import UserNotAllowedForWarehouse
+		from erpnext.stock.utils import UserNotAllowedForWarehouse
 		so = webnotes.bean(copy = test_records[0])
 		so.doc.company = "_Test Company 1"
 		so.doc.conversion_rate = 0.02
diff --git a/erpnext/selling/doctype/selling_settings/selling_settings.py b/erpnext/selling/doctype/selling_settings/selling_settings.py
index 0895e3f..c280619 100644
--- a/erpnext/selling/doctype/selling_settings/selling_settings.py
+++ b/erpnext/selling/doctype/selling_settings/selling_settings.py
@@ -15,6 +15,6 @@
 			"editable_price_list_rate", "selling_price_list"]:
 				webnotes.conn.set_default(key, self.doc.fields.get(key, ""))
 
-		from setup.doctype.naming_series.naming_series import set_by_naming_series
+		from erpnext.setup.doctype.naming_series.naming_series import set_by_naming_series
 		set_by_naming_series("Customer", "customer_name", 
 			self.doc.get("cust_master_name")=="Naming Series", hide_name_field=False)
diff --git a/erpnext/selling/doctype/shopping_cart_settings/shopping_cart_settings.py b/erpnext/selling/doctype/shopping_cart_settings/shopping_cart_settings.py
index 6912ac5..923936e 100644
--- a/erpnext/selling/doctype/shopping_cart_settings/shopping_cart_settings.py
+++ b/erpnext/selling/doctype/shopping_cart_settings/shopping_cart_settings.py
@@ -47,7 +47,7 @@
 		
 		# validate that a Shopping Cart Price List exists for the root territory
 		# as a catch all!
-		from setup.utils import get_root_of
+		from erpnext.setup.utils import get_root_of
 		root_territory = get_root_of("Territory")
 		
 		if root_territory not in territory_name_map.keys():
@@ -143,7 +143,7 @@
 		return self.get_name_from_territory(shipping_territory, "shipping_rules", "shipping_rule")
 		
 	def get_territory_ancestry(self, territory):
-		from setup.utils import get_ancestors_of
+		from erpnext.setup.utils import get_ancestors_of
 		
 		if not hasattr(self, "_territory_ancestry"):
 			self._territory_ancestry = {}
diff --git a/erpnext/selling/doctype/shopping_cart_settings/test_shopping_cart_settings.py b/erpnext/selling/doctype/shopping_cart_settings/test_shopping_cart_settings.py
index 6055c61..be67f6f 100644
--- a/erpnext/selling/doctype/shopping_cart_settings/test_shopping_cart_settings.py
+++ b/erpnext/selling/doctype/shopping_cart_settings/test_shopping_cart_settings.py
@@ -6,7 +6,7 @@
 from __future__ import unicode_literals
 import webnotes
 import unittest
-from selling.doctype.shopping_cart_settings.shopping_cart_settings import ShoppingCartSetupError
+from erpnext.selling.doctype.shopping_cart_settings.shopping_cart_settings import ShoppingCartSetupError
 
 class TestShoppingCartSettings(unittest.TestCase):
 	def setUp(self):
@@ -74,7 +74,7 @@
 		controller = cart_settings.make_controller()
 		self.assertRaises(ShoppingCartSetupError, controller.validate_exchange_rates_exist)
 		
-		from setup.doctype.currency_exchange.test_currency_exchange import test_records as \
+		from erpnext.setup.doctype.currency_exchange.test_currency_exchange import test_records as \
 			currency_exchange_records
 		webnotes.bean(currency_exchange_records[0]).insert()
 		controller.validate_exchange_rates_exist()
diff --git a/erpnext/selling/page/sales_browser/sales_browser.js b/erpnext/selling/page/sales_browser/sales_browser.js
index 58a3b1f..1b7d9aa 100644
--- a/erpnext/selling/page/sales_browser/sales_browser.js
+++ b/erpnext/selling/page/sales_browser/sales_browser.js
@@ -22,7 +22,7 @@
 	wrapper.make_tree = function() {
 		var ctype = wn.get_route()[1] || 'Territory';
 		return wn.call({
-			method: 'selling.page.sales_browser.sales_browser.get_children',
+			method: 'erpnext.selling.page.sales_browser.sales_browser.get_children',
 			args: {ctype: ctype},
 			callback: function(r) {
 				var root = r.message[0]["value"];
@@ -60,7 +60,7 @@
 			parent: $(parent), 
 			label: root,
 			args: {ctype: ctype},
-			method: 'selling.page.sales_browser.sales_browser.get_children',
+			method: 'erpnext.selling.page.sales_browser.sales_browser.get_children',
 			click: function(link) {
 				if(me.cur_toolbar) 
 					$(me.cur_toolbar).toggle(false);
@@ -144,7 +144,7 @@
 			v.ctype = me.ctype;
 			
 			return wn.call({
-				method: 'selling.page.sales_browser.sales_browser.add_node',
+				method: 'erpnext.selling.page.sales_browser.sales_browser.add_node',
 				args: v,
 				callback: function() {
 					$(btn).done_working();
diff --git a/erpnext/selling/report/quotation_trends/quotation_trends.py b/erpnext/selling/report/quotation_trends/quotation_trends.py
index f7c023f..ea0d3db 100644
--- a/erpnext/selling/report/quotation_trends/quotation_trends.py
+++ b/erpnext/selling/report/quotation_trends/quotation_trends.py
@@ -3,7 +3,7 @@
 
 from __future__ import unicode_literals
 import webnotes
-from controllers.trends	import get_columns, get_data
+from erpnext.controllers.trends	import get_columns, get_data
 
 def execute(filters=None):
 	if not filters: filters ={}
diff --git a/erpnext/selling/report/sales_order_trends/sales_order_trends.py b/erpnext/selling/report/sales_order_trends/sales_order_trends.py
index d407be0..e9354e6 100644
--- a/erpnext/selling/report/sales_order_trends/sales_order_trends.py
+++ b/erpnext/selling/report/sales_order_trends/sales_order_trends.py
@@ -3,7 +3,7 @@
 
 from __future__ import unicode_literals
 import webnotes
-from controllers.trends	import get_columns,get_data
+from erpnext.controllers.trends	import get_columns,get_data
 
 def execute(filters=None):
 	if not filters: filters ={}
diff --git a/erpnext/selling/report/sales_person_target_variance_item_group_wise/sales_person_target_variance_item_group_wise.py b/erpnext/selling/report/sales_person_target_variance_item_group_wise/sales_person_target_variance_item_group_wise.py
index ca18936..3e500dc 100644
--- a/erpnext/selling/report/sales_person_target_variance_item_group_wise/sales_person_target_variance_item_group_wise.py
+++ b/erpnext/selling/report/sales_person_target_variance_item_group_wise/sales_person_target_variance_item_group_wise.py
@@ -6,8 +6,8 @@
 from webnotes import _, msgprint
 from webnotes.utils import flt
 import time
-from accounts.utils import get_fiscal_year
-from controllers.trends import get_period_date_ranges, get_period_month_ranges
+from erpnext.accounts.utils import get_fiscal_year
+from erpnext.controllers.trends import get_period_date_ranges, get_period_month_ranges
 from webnotes.model.meta import get_field_precision
 
 def execute(filters=None):
diff --git a/erpnext/selling/report/territory_target_variance_item_group_wise/territory_target_variance_item_group_wise.py b/erpnext/selling/report/territory_target_variance_item_group_wise/territory_target_variance_item_group_wise.py
index 08240a7..d55e210 100644
--- a/erpnext/selling/report/territory_target_variance_item_group_wise/territory_target_variance_item_group_wise.py
+++ b/erpnext/selling/report/territory_target_variance_item_group_wise/territory_target_variance_item_group_wise.py
@@ -6,8 +6,8 @@
 from webnotes import _, msgprint
 from webnotes.utils import flt
 import time
-from accounts.utils import get_fiscal_year
-from controllers.trends import get_period_date_ranges, get_period_month_ranges
+from erpnext.accounts.utils import get_fiscal_year
+from erpnext.controllers.trends import get_period_date_ranges, get_period_month_ranges
 
 def execute(filters=None):
 	if not filters: filters = {}
diff --git a/erpnext/selling/sales_common.js b/erpnext/selling/sales_common.js
index d6c8fdd..c5eb38c 100644
--- a/erpnext/selling/sales_common.js
+++ b/erpnext/selling/sales_common.js
@@ -158,7 +158,7 @@
 				cur_frm.fields_dict[me.frm.cscript.fname].grid.grid_rows[item.idx - 1].remove();
 			} else {
 				return this.frm.call({
-					method: "selling.utils.get_item_details",
+					method: "erpnext.selling.utils.get_item_details",
 					child: item,
 					args: {
 						args: {
@@ -268,7 +268,7 @@
 		var item = wn.model.get_doc(cdt, cdn);
 		if(item.item_code && item.warehouse) {
 			return this.frm.call({
-				method: "selling.utils.get_available_qty",
+				method: "erpnext.selling.utils.get_available_qty",
 				child: item,
 				args: {
 					item_code: item.item_code,
diff --git a/erpnext/selling/utils/__init__.py b/erpnext/selling/utils/__init__.py
index 5974da7..c73d76e 100644
--- a/erpnext/selling/utils/__init__.py
+++ b/erpnext/selling/utils/__init__.py
@@ -105,7 +105,7 @@
 	return item_code[0]
 	
 def _validate_item_details(args, item):
-	from utilities.transaction_base import validate_item_fetch
+	from erpnext.utilities.transaction_base import validate_item_fetch
 	validate_item_fetch(args, item)
 	
 	# validate if sales item or service item
@@ -154,7 +154,7 @@
 		return {}
 	
 	# found price list rate - now we can validate
-	from utilities.transaction_base import validate_currency
+	from erpnext.utilities.transaction_base import validate_currency
 	validate_currency(args, item_bean.doc, meta)
 	
 	return {"ref_rate": flt(ref_rate[0].ref_rate) * flt(args.plc_conversion_rate) / flt(args.conversion_rate)}
diff --git a/erpnext/selling/utils/cart.py b/erpnext/selling/utils/cart.py
index 3cd7b3c..f23a571 100644
--- a/erpnext/selling/utils/cart.py
+++ b/erpnext/selling/utils/cart.py
@@ -2,7 +2,7 @@
 # License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
-import webnotes
+import webnotes, json
 from webnotes import msgprint, _
 import webnotes.defaults
 from webnotes.utils import flt, get_fullname, fmt_money, cstr
@@ -42,7 +42,7 @@
 	quotation.ignore_permissions = True
 	quotation.submit()
 	
-	from selling.doctype.quotation.quotation import _make_sales_order
+	from erpnext.selling.doctype.quotation.quotation import _make_sales_order
 	sales_order = webnotes.bean(_make_sales_order(quotation.doc.name, ignore_permissions=True))
 	sales_order.ignore_permissions = True
 	sales_order.insert()
@@ -92,7 +92,7 @@
 		
 @webnotes.whitelist()
 def update_cart_address(address_fieldname, address_name):
-	from utilities.transaction_base import get_address_display
+	from erpnext.utilities.transaction_base import get_address_display
 	
 	quotation = _get_cart_quotation()
 	address_display = get_address_display(webnotes.doc("Address", address_name).fields)
@@ -123,7 +123,7 @@
 @webnotes.whitelist()
 def save_address(fields, address_fieldname=None):
 	party = get_lead_or_customer()
-	fields = webnotes.load_json(fields)
+	fields = json.loads(fields)
 	
 	if fields.get("name"):
 		bean = webnotes.bean("Address", fields.get("name"))
@@ -147,7 +147,7 @@
 	
 def get_address_docs(party=None):
 	from webnotes.model.doclist import objectify
-	from utilities.transaction_base import get_address_display
+	from erpnext.utilities.transaction_base import get_address_display
 	
 	if not party:
 		party = get_lead_or_customer()
diff --git a/erpnext/selling/utils/product.py b/erpnext/selling/utils/product.py
index 32ff85a..a976e2a 100644
--- a/erpnext/selling/utils/product.py
+++ b/erpnext/selling/utils/product.py
@@ -6,7 +6,7 @@
 import webnotes
 from webnotes.utils import cstr, cint, fmt_money, get_base_path
 from webnotes.webutils import delete_page_cache
-from selling.utils.cart import _get_cart_quotation
+from erpnext.selling.utils.cart import _get_cart_quotation
 
 @webnotes.whitelist(allow_guest=True)
 def get_product_info(item_code):
diff --git a/erpnext/setup/doctype/authorization_control/authorization_control.py b/erpnext/setup/doctype/authorization_control/authorization_control.py
index 8c8900a..6df0915 100644
--- a/erpnext/setup/doctype/authorization_control/authorization_control.py
+++ b/erpnext/setup/doctype/authorization_control/authorization_control.py
@@ -7,10 +7,10 @@
 from webnotes.utils import cstr, flt, has_common, make_esc
 from webnotes.model.bean import getlist
 from webnotes import session, msgprint
-from setup.utils import get_company_currency
+from erpnext.setup.utils import get_company_currency
 
 	
-from utilities.transaction_base import TransactionBase
+from erpnext.utilities.transaction_base import TransactionBase
 
 class DocType(TransactionBase):
 	def __init__(self, d, dl):
diff --git a/erpnext/setup/doctype/backup_manager/backup_manager.js b/erpnext/setup/doctype/backup_manager/backup_manager.js
index c011757..e94a316 100644
--- a/erpnext/setup/doctype/backup_manager/backup_manager.js
+++ b/erpnext/setup/doctype/backup_manager/backup_manager.js
@@ -47,7 +47,7 @@
 	allow_dropbox_access: function() {
 		if(cur_frm.cscript.validate_send_notifications_to()) {
 			return wn.call({
-				method: "setup.doctype.backup_manager.backup_dropbox.get_dropbox_authorize_url",
+				method: "erpnext.setup.doctype.backup_manager.backup_dropbox.get_dropbox_authorize_url",
 				callback: function(r) {
 					if(!r.exc) {
 						cur_frm.set_value("dropbox_access_secret", r.message.secret);
@@ -64,7 +64,7 @@
 	allow_gdrive_access: function() {
 		if(cur_frm.cscript.validate_send_notifications_to()) {
 			return wn.call({
-				method: "setup.doctype.backup_manager.backup_googledrive.get_gdrive_authorize_url",
+				method: "erpnext.setup.doctype.backup_manager.backup_googledrive.get_gdrive_authorize_url",
 				callback: function(r) {
 					if(!r.exc) {
 						window.open(r.message.authorize_url);
@@ -76,7 +76,7 @@
 	
 	validate_gdrive: function() {
 		return wn.call({
-			method: "setup.doctype.backup_manager.backup_googledrive.gdrive_callback",
+			method: "erpnext.setup.doctype.backup_manager.backup_googledrive.gdrive_callback",
 			args: {
 				verification_code: cur_frm.doc.verification_code
 			},
diff --git a/erpnext/setup/doctype/backup_manager/backup_manager.py b/erpnext/setup/doctype/backup_manager/backup_manager.py
index 0a83dea..332d983 100644
--- a/erpnext/setup/doctype/backup_manager/backup_manager.py
+++ b/erpnext/setup/doctype/backup_manager/backup_manager.py
@@ -30,7 +30,7 @@
 def take_backups_dropbox():
 	did_not_upload, error_log = [], []
 	try:
-		from setup.doctype.backup_manager.backup_dropbox import backup_to_dropbox
+		from erpnext.setup.doctype.backup_manager.backup_dropbox import backup_to_dropbox
 		did_not_upload, error_log = backup_to_dropbox()
 		if did_not_upload: raise Exception
 		
@@ -50,7 +50,7 @@
 def take_backups_gdrive():
 	did_not_upload, error_log = [], []
 	try:
-		from setup.doctype.backup_manager.backup_googledrive import backup_to_gdrive
+		from erpnext.setup.doctype.backup_manager.backup_googledrive import backup_to_gdrive
 		did_not_upload, error_log = backup_to_gdrive()
 		if did_not_upload: raise Exception
 		
diff --git a/erpnext/setup/doctype/company/company.js b/erpnext/setup/doctype/company/company.js
index 856d5e1..e047c97 100644
--- a/erpnext/setup/doctype/company/company.js
+++ b/erpnext/setup/doctype/company/company.js
@@ -27,7 +27,7 @@
 		args = dialog.get_values();
 		if(!args) return;
 		return wn.call({
-			method: "setup.doctype.company.company.replace_abbr",
+			method: "erpnext.setup.doctype.company.company.replace_abbr",
 			args: {
 				"company": cur_frm.doc.name,
 				"old": cur_frm.doc.abbr,
diff --git a/erpnext/setup/doctype/global_defaults/global_defaults.js b/erpnext/setup/doctype/global_defaults/global_defaults.js
index ba31f3c..6a2f84a 100644
--- a/erpnext/setup/doctype/global_defaults/global_defaults.js
+++ b/erpnext/setup/doctype/global_defaults/global_defaults.js
@@ -7,7 +7,7 @@
 		this.timezone = doc.time_zone;
 		
 		wn.call({
-			method:"webnotes.country_info.get_country_timezone_info",
+			method: "webnotes.country_info.get_country_timezone_info",
 			callback: function(data) {
 				erpnext.country_info = data.message.country_info;
 				erpnext.all_timezones = data.message.all_timezones;
diff --git a/erpnext/setup/doctype/item_group/item_group.py b/erpnext/setup/doctype/item_group/item_group.py
index 5ad25af..6b989d5 100644
--- a/erpnext/setup/doctype/item_group/item_group.py
+++ b/erpnext/setup/doctype/item_group/item_group.py
@@ -19,7 +19,7 @@
 		
 		self.validate_name_with_item()
 		
-		from selling.utils.product import invalidate_cache_for
+		from erpnext.selling.utils.product import invalidate_cache_for
 		invalidate_cache_for(self.doc.name)
 				
 		self.validate_one_root()
@@ -30,7 +30,7 @@
 				item group name or rename the item" % self.doc.name, raise_exception=1)
 		
 	def get_context(self):
-		from selling.utils.product import get_product_list_for_group, \
+		from erpnext.selling.utils.product import get_product_list_for_group, \
 			get_parent_item_groups, get_group_item_count
 
 		self.doc.sub_groups = webnotes.conn.sql("""select name, page_name
diff --git a/erpnext/setup/page/setup/setup.js b/erpnext/setup/page/setup/setup.js
index fc6afb4..fdde693 100644
--- a/erpnext/setup/page/setup/setup.js
+++ b/erpnext/setup/page/setup/setup.js
@@ -175,7 +175,7 @@
 	}
 
 	return wn.call({
-		method: "setup.page.setup.setup.get",
+		method: "erpnext.setup.page.setup.setup.get",
 		callback: function(r) {
 			if(r.message) {
 				body.empty();
diff --git a/erpnext/setup/page/setup_wizard/setup_wizard.js b/erpnext/setup/page/setup_wizard/setup_wizard.js
index 7b4253d..89a59a3 100644
--- a/erpnext/setup/page/setup_wizard/setup_wizard.js
+++ b/erpnext/setup/page/setup_wizard/setup_wizard.js
@@ -13,7 +13,7 @@
 			var values = wiz.get_values();
 			wiz.show_working();
 			wn.call({
-				method: "setup.page.setup_wizard.setup_wizard.setup_account",
+				method: "erpnext.setup.page.setup_wizard.setup_wizard.setup_account",
 				args: values,
 				callback: function(r) {
 					if(r.exc) {
diff --git a/erpnext/setup/page/setup_wizard/setup_wizard.py b/erpnext/setup/page/setup_wizard/setup_wizard.py
index bf14905..adb031c 100644
--- a/erpnext/setup/page/setup_wizard/setup_wizard.py
+++ b/erpnext/setup/page/setup_wizard/setup_wizard.py
@@ -323,7 +323,7 @@
 			
 def create_territories():
 	"""create two default territories, one for home country and one named Rest of the World"""
-	from setup.utils import get_root_of
+	from erpnext.setup.utils import get_root_of
 	country = webnotes.conn.get_value("Control Panel", None, "country")
 	root_territory = get_root_of("Territory")
 	for name in (country, "Rest Of The World"):
diff --git a/erpnext/setup/page/setup_wizard/test_setup_wizard.py b/erpnext/setup/page/setup_wizard/test_setup_wizard.py
index fe0904d..a4e5c29 100644
--- a/erpnext/setup/page/setup_wizard/test_setup_wizard.py
+++ b/erpnext/setup/page/setup_wizard/test_setup_wizard.py
@@ -4,8 +4,8 @@
 from __future__ import unicode_literals
 import webnotes
 
-from setup.page.setup_wizard.test_setup_data import args
-from setup.page.setup_wizard.setup_wizard import setup_account
+from erpnext.setup.page.setup_wizard.test_setup_data import args
+from erpnext.setup.page.setup_wizard.setup_wizard import setup_account
 
 if __name__=="__main__":
 	webnotes.connect()
diff --git a/erpnext/startup/bean_handlers.py b/erpnext/startup/bean_handlers.py
index 679c3aa..095dc0d 100644
--- a/erpnext/startup/bean_handlers.py
+++ b/erpnext/startup/bean_handlers.py
@@ -3,7 +3,7 @@
 
 from home import update_feed
 from webnotes.core.doctype.notification_count.notification_count import clear_doctype_notifications
-from stock.doctype.material_request.material_request import update_completed_qty
+from erpnext.stock.doctype.material_request.material_request import update_completed_qty
 
 def on_method(bean, method):
 	if method in ("on_update", "on_submit"):
diff --git a/erpnext/startup/boot.py b/erpnext/startup/boot.py
index a8dbf81..cd565c7 100644
--- a/erpnext/startup/boot.py
+++ b/erpnext/startup/boot.py
@@ -4,7 +4,6 @@
 
 from __future__ import unicode_literals
 import webnotes
-import home
 
 def boot_session(bootinfo):
 	"""boot session - send website info if guest"""
diff --git a/erpnext/startup/event_handlers.py b/erpnext/startup/event_handlers.py
index b59dee5..48c2aa0 100644
--- a/erpnext/startup/event_handlers.py
+++ b/erpnext/startup/event_handlers.py
@@ -31,7 +31,7 @@
 		webnotes.conn.commit()
 		
 	if webnotes.conn.get_value("Profile", webnotes.session.user, "user_type") == "Website User":
-		from selling.utils.cart import set_cart_count
+		from erpnext.selling.utils.cart import set_cart_count
 		set_cart_count()
 		
 def on_logout(login_manager):
diff --git a/erpnext/startup/schedule_handlers.py b/erpnext/startup/schedule_handlers.py
index 32987c4..e1b3bb4 100644
--- a/erpnext/startup/schedule_handlers.py
+++ b/erpnext/startup/schedule_handlers.py
@@ -13,13 +13,13 @@
 		* recurring invoice
 	"""
 	# pull emails
-	from support.doctype.support_ticket.get_support_mails import get_support_mails
+	from erpnext.support.doctype.support_ticket.get_support_mails import get_support_mails
 	run_fn(get_support_mails)
 
-	from hr.doctype.job_applicant.get_job_applications import get_job_applications
+	from erpnext.hr.doctype.job_applicant.get_job_applications import get_job_applications
 	run_fn(get_job_applications)
 
-	from selling.doctype.lead.get_leads import get_leads
+	from erpnext.selling.doctype.lead.get_leads import get_leads
 	run_fn(get_leads)
 
 	from webnotes.utils.email_lib.bulk import flush
@@ -35,11 +35,11 @@
 	delete_notification_count_for("Event")
 	
 	# email digest
-	from setup.doctype.email_digest.email_digest import send
+	from erpnext.setup.doctype.email_digest.email_digest import send
 	run_fn(send)
 
 	# run recurring invoices
-	from accounts.doctype.sales_invoice.sales_invoice import manage_recurring_invoices
+	from erpnext.accounts.doctype.sales_invoice.sales_invoice import manage_recurring_invoices
 	run_fn(manage_recurring_invoices)
 
 	# send bulk emails
@@ -47,18 +47,18 @@
 	run_fn(clear_outbox)
 
 	# daily backup
-	from setup.doctype.backup_manager.backup_manager import take_backups_daily
+	from erpnext.setup.doctype.backup_manager.backup_manager import take_backups_daily
 	run_fn(take_backups_daily)
 
 	# check reorder level
-	from stock.utils import reorder_item
+	from erpnext.stock.utils import reorder_item
 	run_fn(reorder_item)
 		
 	# scheduler error
 	scheduler.report_errors()
 
 def execute_weekly():
-	from setup.doctype.backup_manager.backup_manager import take_backups_weekly
+	from erpnext.setup.doctype.backup_manager.backup_manager import take_backups_weekly
 	run_fn(take_backups_weekly)
 
 def execute_monthly():
diff --git a/erpnext/stock/doctype/bin/bin.py b/erpnext/stock/doctype/bin/bin.py
index 73b1cac..1acb3aa 100644
--- a/erpnext/stock/doctype/bin/bin.py
+++ b/erpnext/stock/doctype/bin/bin.py
@@ -33,7 +33,7 @@
 		self.update_qty(args)
 		
 		if args.get("actual_qty"):
-			from stock.stock_ledger import update_entries_after
+			from erpnext.stock.stock_ledger import update_entries_after
 			
 			if not args.get("posting_date"):
 				args["posting_date"] = nowdate()
diff --git a/erpnext/stock/doctype/delivery_note/delivery_note.js b/erpnext/stock/doctype/delivery_note/delivery_note.js
index 7376f3c..796bf0f 100644
--- a/erpnext/stock/doctype/delivery_note/delivery_note.js
+++ b/erpnext/stock/doctype/delivery_note/delivery_note.js
@@ -52,7 +52,7 @@
 			cur_frm.add_custom_button(wn._('From Sales Order'), 
 				function() {
 					wn.model.map_current_doc({
-						method: "selling.doctype.sales_order.sales_order.make_delivery_note",
+						method: "erpnext.selling.doctype.sales_order.sales_order.make_delivery_note",
 						source_doctype: "Sales Order",
 						get_query_filters: {
 							docstatus: 1,
@@ -70,14 +70,14 @@
 	
 	make_sales_invoice: function() {
 		wn.model.open_mapped_doc({
-			method: "stock.doctype.delivery_note.delivery_note.make_sales_invoice",
+			method: "erpnext.stock.doctype.delivery_note.delivery_note.make_sales_invoice",
 			source_name: cur_frm.doc.name
 		})
 	}, 
 	
 	make_installation_note: function() {
 		wn.model.open_mapped_doc({
-			method: "stock.doctype.delivery_note.delivery_note.make_installation_note",
+			method: "erpnext.stock.doctype.delivery_note.delivery_note.make_installation_note",
 			source_name: cur_frm.doc.name
 		});
 	},
diff --git a/erpnext/stock/doctype/delivery_note/delivery_note.py b/erpnext/stock/doctype/delivery_note/delivery_note.py
index 1089a56..de76bb9 100644
--- a/erpnext/stock/doctype/delivery_note/delivery_note.py
+++ b/erpnext/stock/doctype/delivery_note/delivery_note.py
@@ -10,8 +10,8 @@
 from webnotes import msgprint, _
 import webnotes.defaults
 from webnotes.model.mapper import get_mapped_doclist
-from stock.utils import update_bin
-from controllers.selling_controller import SellingController
+from erpnext.stock.utils import update_bin
+from erpnext.controllers.selling_controller import SellingController
 
 class DocType(SellingController):
 	def __init__(self, doc, doclist=[]):
@@ -61,8 +61,8 @@
 	def validate(self):
 		super(DocType, self).validate()
 		
-		import utilities
-		utilities.validate_status(self.doc.status, ["Draft", "Submitted", "Cancelled"])
+		from erpnext.utilities import validate_status
+		validate_status(self.doc.status, ["Draft", "Submitted", "Cancelled"])
 
 		self.so_required()
 		self.validate_proj_cust()
@@ -144,7 +144,7 @@
 			d.projected_qty = bin and flt(bin[0]['projected_qty']) or 0
 			
 	def on_update(self):
-		from stock.doctype.packed_item.packed_item import make_packing_list
+		from erpnext.stock.doctype.packed_item.packed_item import make_packing_list
 		self.doclist = make_packing_list(self, 'delivery_note_details')
 
 	def on_submit(self):
diff --git a/erpnext/stock/doctype/delivery_note/templates/pages/shipment.py b/erpnext/stock/doctype/delivery_note/templates/pages/shipment.py
index 760ffe0..dc8ab6a 100644
--- a/erpnext/stock/doctype/delivery_note/templates/pages/shipment.py
+++ b/erpnext/stock/doctype/delivery_note/templates/pages/shipment.py
@@ -7,7 +7,7 @@
 no_cache = True
 
 def get_context():
-	from portal.utils import get_transaction_context
+	from erpnext.portal.utils import get_transaction_context
 	context = get_transaction_context("Delivery Note", webnotes.form_dict.name)
 	context.update({
 		"parent_link": "shipments",
diff --git a/erpnext/stock/doctype/delivery_note/templates/pages/shipments.py b/erpnext/stock/doctype/delivery_note/templates/pages/shipments.py
index b8fe65a..8c20149 100644
--- a/erpnext/stock/doctype/delivery_note/templates/pages/shipments.py
+++ b/erpnext/stock/doctype/delivery_note/templates/pages/shipments.py
@@ -7,7 +7,7 @@
 no_cache = True
 
 def get_context():
-	from portal.utils import get_currency_context
+	from erpnext.portal.utils import get_currency_context
 	context = get_currency_context()
 	context.update({
 		"title": "Shipments",
@@ -20,5 +20,5 @@
 	
 @webnotes.whitelist()
 def get_shipments(start=0):
-	from portal.utils import get_transaction_list
+	from erpnext.portal.utils import get_transaction_list
 	return get_transaction_list("Delivery Note", start)
diff --git a/erpnext/stock/doctype/delivery_note/test_delivery_note.py b/erpnext/stock/doctype/delivery_note/test_delivery_note.py
index 64ddff8..7b6b0ad 100644
--- a/erpnext/stock/doctype/delivery_note/test_delivery_note.py
+++ b/erpnext/stock/doctype/delivery_note/test_delivery_note.py
@@ -7,7 +7,7 @@
 import webnotes
 import webnotes.defaults
 from webnotes.utils import cint
-from stock.doctype.purchase_receipt.test_purchase_receipt import get_gl_entries, set_perpetual_inventory, test_records as pr_test_records
+from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import get_gl_entries, set_perpetual_inventory, test_records as pr_test_records
 
 def _insert_purchase_receipt(item_code=None):
 	if not item_code:
@@ -23,7 +23,7 @@
 		self.clear_stock_account_balance()
 		_insert_purchase_receipt()
 		
-		from stock.doctype.delivery_note.delivery_note import make_sales_invoice
+		from erpnext.stock.doctype.delivery_note.delivery_note import make_sales_invoice
 		_insert_purchase_receipt()
 		dn = webnotes.bean(copy=test_records[0]).insert()
 		
@@ -80,7 +80,7 @@
 		stock_in_hand_account = webnotes.conn.get_value("Account", 
 			{"master_name": dn.doclist[1].warehouse})
 		
-		from accounts.utils import get_balance_on
+		from erpnext.accounts.utils import get_balance_on
 		prev_bal = get_balance_on(stock_in_hand_account, dn.doc.posting_date)
 
 		dn.insert()
@@ -135,7 +135,7 @@
 		stock_in_hand_account = webnotes.conn.get_value("Account", 
 			{"master_name": dn.doclist[1].warehouse})
 		
-		from accounts.utils import get_balance_on
+		from erpnext.accounts.utils import get_balance_on
 		prev_bal = get_balance_on(stock_in_hand_account, dn.doc.posting_date)
 	
 		dn.insert()
@@ -161,8 +161,8 @@
 		set_perpetual_inventory(0)
 		
 	def test_serialized(self):
-		from stock.doctype.stock_entry.test_stock_entry import make_serialized_item
-		from stock.doctype.serial_no.serial_no import get_serial_nos
+		from erpnext.stock.doctype.stock_entry.test_stock_entry import make_serialized_item
+		from erpnext.stock.doctype.serial_no.serial_no import get_serial_nos
 		
 		se = make_serialized_item()
 		serial_nos = get_serial_nos(se.doclist[1].serial_no)
@@ -182,7 +182,7 @@
 		return dn
 			
 	def test_serialized_cancel(self):
-		from stock.doctype.serial_no.serial_no import get_serial_nos
+		from erpnext.stock.doctype.serial_no.serial_no import get_serial_nos
 		dn = self.test_serialized()
 		dn.cancel()
 
@@ -194,8 +194,8 @@
 			"delivery_document_no"))
 
 	def test_serialize_status(self):
-		from stock.doctype.serial_no.serial_no import SerialNoStatusError, get_serial_nos
-		from stock.doctype.stock_entry.test_stock_entry import make_serialized_item
+		from erpnext.stock.doctype.serial_no.serial_no import SerialNoStatusError, get_serial_nos
+		from erpnext.stock.doctype.stock_entry.test_stock_entry import make_serialized_item
 		
 		se = make_serialized_item()
 		serial_nos = get_serial_nos(se.doclist[1].serial_no)
diff --git a/erpnext/stock/doctype/item/item.py b/erpnext/stock/doctype/item/item.py
index 0459070..e7ce2f9 100644
--- a/erpnext/stock/doctype/item/item.py
+++ b/erpnext/stock/doctype/item/item.py
@@ -214,7 +214,7 @@
 				self.doc.name, raise_exception=1)
 
 	def update_website(self):
-		from selling.utils.product import invalidate_cache_for
+		from erpnext.selling.utils.product import invalidate_cache_for
 		invalidate_cache_for(self.doc.item_group)
 		[invalidate_cache_for(d.item_group) for d in \
 			self.doclist.get({"doctype":"Website Item Group"})]
@@ -233,7 +233,7 @@
 		return { "tax_rate": webnotes.conn.get_value("Account", tax_type, "tax_rate") }
 
 	def get_context(self):
-		from selling.utils.product import get_parent_item_groups
+		from erpnext.selling.utils.product import get_parent_item_groups
 		self.parent_groups = get_parent_item_groups(self.doc.item_group) + [{"name":self.doc.name}]
 		self.doc.title = self.doc.item_name
 
@@ -280,12 +280,12 @@
 			clear_cache(self.doc.page_name)
 			
 	def set_last_purchase_rate(self, newdn):
-		from buying.utils import get_last_purchase_details
+		from erpnext.buying.utils import get_last_purchase_details
 		last_purchase_rate = get_last_purchase_details(newdn).get("purchase_rate", 0)
 		webnotes.conn.set_value("Item", newdn, "last_purchase_rate", last_purchase_rate)
 			
 	def recalculate_bin_qty(self, newdn):
-		from utilities.repost_stock import repost_stock
+		from erpnext.utilities.repost_stock import repost_stock
 		webnotes.conn.auto_commit_on_many_writes = 1
 		webnotes.conn.set_default("allow_negative_stock", 1)
 		
diff --git a/erpnext/stock/doctype/item/templates/includes/product_list.js b/erpnext/stock/doctype/item/templates/includes/product_list.js
index 268760d..ac84c00 100644
--- a/erpnext/stock/doctype/item/templates/includes/product_list.js
+++ b/erpnext/stock/doctype/item/templates/includes/product_list.js
@@ -15,7 +15,7 @@
 		url: "/",
 		dataType: "json",
 		data: {
-			cmd: "selling.utils.product.get_product_list",
+			cmd: "erpnext.selling.utils.product.get_product_list",
 			start: window.start,
 			search: window.search,
 			product_group: window.product_group
diff --git a/erpnext/stock/doctype/item/templates/includes/product_page.js b/erpnext/stock/doctype/item/templates/includes/product_page.js
index df842cc..5029b90 100644
--- a/erpnext/stock/doctype/item/templates/includes/product_page.js
+++ b/erpnext/stock/doctype/item/templates/includes/product_page.js
@@ -7,7 +7,7 @@
 	
 	wn.call({
 		type: "POST",
-		method: "selling.utils.product.get_product_info",
+		method: "erpnext.selling.utils.product.get_product_info",
 		args: {
 			item_code: "{{ name }}"
 		},
diff --git a/erpnext/stock/doctype/item/test_item.py b/erpnext/stock/doctype/item/test_item.py
index b8f6f9e..3cf1d5e 100644
--- a/erpnext/stock/doctype/item/test_item.py
+++ b/erpnext/stock/doctype/item/test_item.py
@@ -10,7 +10,7 @@
 
 class TestItem(unittest.TestCase):
 	def test_default_warehouse(self):
-		from stock.doctype.item.item import WarehouseNotSet
+		from erpnext.stock.doctype.item.item import WarehouseNotSet
 		item = webnotes.bean(copy=test_records[0])
 		item.doc.is_stock_item = "Yes"
 		item.doc.default_warehouse = None
diff --git a/erpnext/stock/doctype/item_price/test_item_price.py b/erpnext/stock/doctype/item_price/test_item_price.py
index 583b3de..bc695ea 100644
--- a/erpnext/stock/doctype/item_price/test_item_price.py
+++ b/erpnext/stock/doctype/item_price/test_item_price.py
@@ -7,7 +7,7 @@
 
 class TestItem(unittest.TestCase):
 	def test_duplicate_item(self):
-		from stock.doctype.item_price.item_price import ItemPriceDuplicateItem
+		from erpnext.stock.doctype.item_price.item_price import ItemPriceDuplicateItem
 		bean = webnotes.bean(copy=test_records[0])
 		self.assertRaises(ItemPriceDuplicateItem, bean.insert)
 
diff --git a/erpnext/stock/doctype/material_request/material_request.js b/erpnext/stock/doctype/material_request/material_request.js
index 3ca95a4..7dca935 100644
--- a/erpnext/stock/doctype/material_request/material_request.js
+++ b/erpnext/stock/doctype/material_request/material_request.js
@@ -49,7 +49,7 @@
 			cur_frm.add_custom_button(wn._('From Sales Order'), 
 				function() {
 					wn.model.map_current_doc({
-						method: "selling.doctype.sales_order.sales_order.make_material_request",
+						method: "erpnext.selling.doctype.sales_order.sales_order.make_material_request",
 						source_doctype: "Sales Order",
 						get_query_filters: {
 							docstatus: 1,
@@ -95,7 +95,7 @@
 			if(!values) return;
 			
 			wn.call({
-				method:"manufacturing.doctype.bom.bom.get_bom_items",
+				method: "erpnext.manufacturing.doctype.bom.bom.get_bom_items",
 				args: values,
 				callback: function(r) {
 					$.each(r.message, function(i, item) {
@@ -128,21 +128,21 @@
 		
 	make_purchase_order: function() {
 		wn.model.open_mapped_doc({
-			method: "stock.doctype.material_request.material_request.make_purchase_order",
+			method: "erpnext.stock.doctype.material_request.material_request.make_purchase_order",
 			source_name: cur_frm.doc.name
 		})
 	},
 
 	make_supplier_quotation: function() {
 		wn.model.open_mapped_doc({
-			method: "stock.doctype.material_request.material_request.make_supplier_quotation",
+			method: "erpnext.stock.doctype.material_request.material_request.make_supplier_quotation",
 			source_name: cur_frm.doc.name
 		})
 	},
 
 	make_stock_entry: function() {
 		wn.model.open_mapped_doc({
-			method: "stock.doctype.material_request.material_request.make_stock_entry",
+			method: "erpnext.stock.doctype.material_request.material_request.make_stock_entry",
 			source_name: cur_frm.doc.name
 		})
 	}
diff --git a/erpnext/stock/doctype/material_request/material_request.py b/erpnext/stock/doctype/material_request/material_request.py
index f340cca..2f0fcb7 100644
--- a/erpnext/stock/doctype/material_request/material_request.py
+++ b/erpnext/stock/doctype/material_request/material_request.py
@@ -12,7 +12,7 @@
 from webnotes.model.code import get_obj
 from webnotes import msgprint, _
 
-from controllers.buying_controller import BuyingController
+from erpnext.controllers.buying_controller import BuyingController
 class DocType(BuyingController):
 	def __init__(self, doc, doclist=[]):
 		self.doc = doc
@@ -63,8 +63,8 @@
 		if not self.doc.status:
 			self.doc.status = "Draft"
 
-		import utilities
-		utilities.validate_status(self.doc.status, ["Draft", "Submitted", "Stopped", "Cancelled"])
+		from erpnext.utilities import validate_status
+		validate_status(self.doc.status, ["Draft", "Submitted", "Stopped", "Cancelled"])
 		
 		self.validate_value("material_request_type", "in", ["Purchase", "Transfer"])
 
@@ -76,7 +76,7 @@
 	def update_bin(self, is_submit, is_stopped):
 		""" Update Quantity Requested for Purchase in Bin for Material Request of type 'Purchase'"""
 		
-		from stock.utils import update_bin
+		from erpnext.stock.utils import update_bin
 		for d in getlist(self.doclist, 'indent_details'):
 			if webnotes.conn.get_value("Item", d.item_code, "is_stock_item") == "Yes":
 				if not d.warehouse:
@@ -188,7 +188,7 @@
 			
 def _update_requested_qty(controller, mr_obj, mr_items):
 	"""update requested qty (before ordered_qty is updated)"""
-	from stock.utils import update_bin
+	from erpnext.stock.utils import update_bin
 	for mr_item_name in mr_items:
 		mr_item = mr_obj.doclist.getone({"parentfield": "indent_details", "name": mr_item_name})
 		se_detail = controller.doclist.getone({"parentfield": "mtn_details",
diff --git a/erpnext/stock/doctype/material_request/test_material_request.py b/erpnext/stock/doctype/material_request/test_material_request.py
index c19bfd3..5266f49 100644
--- a/erpnext/stock/doctype/material_request/test_material_request.py
+++ b/erpnext/stock/doctype/material_request/test_material_request.py
@@ -13,7 +13,7 @@
 		webnotes.defaults.set_global_default("auto_accounting_for_stock", 0)
 
 	def test_make_purchase_order(self):
-		from stock.doctype.material_request.material_request import make_purchase_order
+		from erpnext.stock.doctype.material_request.material_request import make_purchase_order
 
 		mr = webnotes.bean(copy=test_records[0]).insert()
 
@@ -28,7 +28,7 @@
 		self.assertEquals(len(po), len(mr.doclist))
 		
 	def test_make_supplier_quotation(self):
-		from stock.doctype.material_request.material_request import make_supplier_quotation
+		from erpnext.stock.doctype.material_request.material_request import make_supplier_quotation
 
 		mr = webnotes.bean(copy=test_records[0]).insert()
 
@@ -44,7 +44,7 @@
 		
 			
 	def test_make_stock_entry(self):
-		from stock.doctype.material_request.material_request import make_stock_entry
+		from erpnext.stock.doctype.material_request.material_request import make_stock_entry
 
 		mr = webnotes.bean(copy=test_records[0]).insert()
 
@@ -122,7 +122,7 @@
 		self._test_requested_qty(54.0, 3.0)
 		
 		# map a purchase order
-		from stock.doctype.material_request.material_request import make_purchase_order
+		from erpnext.stock.doctype.material_request.material_request import make_purchase_order
 		po_doclist = make_purchase_order(mr.doc.name)
 		po_doclist[0].supplier = "_Test Supplier"
 		po_doclist[1].qty = 27.0
@@ -169,7 +169,7 @@
 		
 		self._test_requested_qty(54.0, 3.0)
 
-		from stock.doctype.material_request.material_request import make_stock_entry
+		from erpnext.stock.doctype.material_request.material_request import make_stock_entry
 				
 		# map a stock entry
 		se_doclist = make_stock_entry(mr.doc.name)
@@ -233,7 +233,7 @@
 		self._test_requested_qty(54.0, 3.0)
 		
 		# map a stock entry
-		from stock.doctype.material_request.material_request import make_stock_entry
+		from erpnext.stock.doctype.material_request.material_request import make_stock_entry
 
 		se_doclist = make_stock_entry(mr.doc.name)
 		se_doclist[0].update({
@@ -288,7 +288,7 @@
 		mr.submit()
 
 		# map a stock entry
-		from stock.doctype.material_request.material_request import make_stock_entry
+		from erpnext.stock.doctype.material_request.material_request import make_stock_entry
 		
 		se_doclist = make_stock_entry(mr.doc.name)
 		se_doclist[0].update({
@@ -315,7 +315,7 @@
 		self.assertRaises(webnotes.MappingMismatchError, se.insert)
 		
 	def test_warehouse_company_validation(self):
-		from stock.utils import InvalidWarehouseCompany
+		from erpnext.stock.utils import InvalidWarehouseCompany
 		mr = webnotes.bean(copy=test_records[0])
 		mr.doc.company = "_Test Company 1"
 		self.assertRaises(InvalidWarehouseCompany, mr.insert)
diff --git a/erpnext/stock/doctype/packing_slip/packing_slip.py b/erpnext/stock/doctype/packing_slip/packing_slip.py
index 8501b2b..9358347 100644
--- a/erpnext/stock/doctype/packing_slip/packing_slip.py
+++ b/erpnext/stock/doctype/packing_slip/packing_slip.py
@@ -24,7 +24,7 @@
 		self.validate_case_nos()
 		self.validate_qty()
 
-		from utilities.transaction_base import validate_uom_is_integer
+		from erpnext.utilities.transaction_base import validate_uom_is_integer
 		validate_uom_is_integer(self.doclist, "stock_uom", "qty")
 		validate_uom_is_integer(self.doclist, "weight_uom", "net_weight")
 
@@ -165,7 +165,7 @@
 		self.update_item_details()
 
 def item_details(doctype, txt, searchfield, start, page_len, filters):
-	from controllers.queries import get_match_cond
+	from erpnext.controllers.queries import get_match_cond
 	return webnotes.conn.sql("""select name, item_name, description from `tabItem` 
 				where name in ( select item_code FROM `tabDelivery Note Item` 
 	 						where parent= %s 
diff --git a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.js b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.js
index c647305..59a6063 100644
--- a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.js
+++ b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.js
@@ -28,7 +28,7 @@
 			cur_frm.add_custom_button(wn._(wn._('From Purchase Order')), 
 				function() {
 					wn.model.map_current_doc({
-						method: "buying.doctype.purchase_order.purchase_order.make_purchase_receipt",
+						method: "erpnext.buying.doctype.purchase_order.purchase_order.make_purchase_receipt",
 						source_doctype: "Purchase Order",
 						get_query_filters: {
 							supplier: cur_frm.doc.supplier || undefined,
@@ -91,7 +91,7 @@
 	
 	make_purchase_invoice: function() {
 		wn.model.open_mapped_doc({
-			method: "stock.doctype.purchase_receipt.purchase_receipt.make_purchase_invoice",
+			method: "erpnext.stock.doctype.purchase_receipt.purchase_receipt.make_purchase_invoice",
 			source_name: cur_frm.doc.name
 		})
 	}, 
diff --git a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py
index f8173bf..7a33971 100644
--- a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py
+++ b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py
@@ -9,9 +9,9 @@
 from webnotes.model.code import get_obj
 from webnotes import msgprint, _
 import webnotes.defaults
-from stock.utils import update_bin
+from erpnext.stock.utils import update_bin
 
-from controllers.buying_controller import BuyingController
+from erpnext.controllers.buying_controller import BuyingController
 class DocType(BuyingController):
 	def __init__(self, doc, doclist=[]):
 		self.doc = doc
@@ -46,8 +46,8 @@
 		if not self.doc.status:
 			self.doc.status = "Draft"
 
-		import utilities
-		utilities.validate_status(self.doc.status, ["Draft", "Submitted", "Cancelled"])
+		from erpnext.utilities import validate_status
+		validate_status(self.doc.status, ["Draft", "Submitted", "Cancelled"])
 
 		self.validate_with_previous_doc()
 		self.validate_rejected_warehouse()
@@ -240,7 +240,7 @@
 		
 		self.update_stock()
 
-		from stock.doctype.serial_no.serial_no import update_serial_nos_after_submit
+		from erpnext.stock.doctype.serial_no.serial_no import update_serial_nos_after_submit
 		update_serial_nos_after_submit(self, "purchase_receipt_details")
 
 		purchase_controller.update_last_purchase_rate(self, 1)
diff --git a/erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py b/erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py
index 96d1a13..89e77ce 100644
--- a/erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py
+++ b/erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py
@@ -12,7 +12,7 @@
 	def test_make_purchase_invoice(self):
 		self._clear_stock_account_balance()
 		set_perpetual_inventory(0)
-		from stock.doctype.purchase_receipt.purchase_receipt import make_purchase_invoice
+		from erpnext.stock.doctype.purchase_receipt.purchase_receipt import make_purchase_invoice
 
 		pr = webnotes.bean(copy=test_records[0]).insert()
 		
diff --git a/erpnext/stock/doctype/serial_no/serial_no.py b/erpnext/stock/doctype/serial_no/serial_no.py
index dc067ec..1690cad 100644
--- a/erpnext/stock/doctype/serial_no/serial_no.py
+++ b/erpnext/stock/doctype/serial_no/serial_no.py
@@ -8,7 +8,7 @@
 import datetime
 from webnotes import _, ValidationError
 
-from controllers.stock_controller import StockController
+from erpnext.controllers.stock_controller import StockController
 
 class SerialNoCannotCreateDirectError(ValidationError): pass
 class SerialNoCannotCannotChangeError(ValidationError): pass
diff --git a/erpnext/stock/doctype/serial_no/test_serial_no.py b/erpnext/stock/doctype/serial_no/test_serial_no.py
index 8ce36cd..fb23361 100644
--- a/erpnext/stock/doctype/serial_no/test_serial_no.py
+++ b/erpnext/stock/doctype/serial_no/test_serial_no.py
@@ -10,7 +10,7 @@
 test_dependencies = ["Item"]
 test_records = []
 
-from stock.doctype.serial_no.serial_no import *
+from erpnext.stock.doctype.serial_no.serial_no import *
 
 class TestSerialNo(unittest.TestCase):
 	def test_cannot_create_direct(self):
diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.js b/erpnext/stock/doctype/stock_entry/stock_entry.js
index 76284ea..d5c54b5 100644
--- a/erpnext/stock/doctype/stock_entry/stock_entry.js
+++ b/erpnext/stock/doctype/stock_entry/stock_entry.js
@@ -99,7 +99,7 @@
 				account_for = "stock_received_but_not_billed";
 			
 			return this.frm.call({
-				method: "accounts.utils.get_company_default",
+				method: "erpnext.accounts.utils.get_company_default",
 				args: {
 					"fieldname": account_for, 
 					"company": this.frm.doc.company
diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.py b/erpnext/stock/doctype/stock_entry/stock_entry.py
index ba0e724..a4a0424 100644
--- a/erpnext/stock/doctype/stock_entry/stock_entry.py
+++ b/erpnext/stock/doctype/stock_entry/stock_entry.py
@@ -10,9 +10,9 @@
 from webnotes.model.bean import getlist
 from webnotes.model.code import get_obj
 from webnotes import msgprint, _
-from stock.utils import get_incoming_rate
-from stock.stock_ledger import get_previous_sle
-from controllers.queries import get_match_cond
+from erpnext.stock.utils import get_incoming_rate
+from erpnext.stock.stock_ledger import get_previous_sle
+from erpnext.controllers.queries import get_match_cond
 import json
 
 
@@ -22,7 +22,7 @@
 class DuplicateEntryForProductionOrderError(webnotes.ValidationError): pass
 class StockOverProductionError(webnotes.ValidationError): pass
 	
-from controllers.stock_controller import StockController
+from erpnext.controllers.stock_controller import StockController
 
 class DocType(StockController):
 	def __init__(self, doc, doclist=None):
@@ -53,7 +53,7 @@
 	def on_submit(self):
 		self.update_stock_ledger()
 
-		from stock.doctype.serial_no.serial_no import update_serial_nos_after_submit
+		from erpnext.stock.doctype.serial_no.serial_no import update_serial_nos_after_submit
 		update_serial_nos_after_submit(self, "mtn_details")
 		self.update_production_order()
 		self.make_gl_entries()
@@ -64,8 +64,8 @@
 		self.make_cancel_gl_entries()
 		
 	def validate_fiscal_year(self):
-		import accounts.utils
-		accounts.utils.validate_fiscal_year(self.doc.posting_date, self.doc.fiscal_year,
+		from erpnext.accounts.utils import validate_fiscal_year
+		validate_fiscal_year(self.doc.posting_date, self.doc.fiscal_year,
 			self.meta.get_label("posting_date"))
 		
 	def validate_purpose(self):
@@ -356,7 +356,7 @@
 				where name=%s""", (status, produced_qty, self.doc.production_order))
 			
 	def update_planned_qty(self, pro_bean):
-		from stock.utils import update_bin
+		from erpnext.stock.utils import update_bin
 		update_bin({
 			"item_code": pro_bean.doc.production_item,
 			"warehouse": pro_bean.doc.fg_warehouse,
@@ -495,7 +495,7 @@
 		self.get_stock_and_rate()
 	
 	def get_bom_raw_materials(self, qty):
-		from manufacturing.doctype.bom.bom import get_bom_items_as_dict
+		from erpnext.manufacturing.doctype.bom.bom import get_bom_items_as_dict
 		
 		# item dict = { item_code: {qty, description, stock_uom} }
 		item_dict = get_bom_items_as_dict(self.doc.bom_no, qty=qty, fetch_exploded = self.doc.use_multi_level_bom)
@@ -601,7 +601,7 @@
 		return result and result[0] or {}
 		
 	def get_cust_addr(self):
-		from utilities.transaction_base import get_default_address, get_address_display
+		from erpnext.utilities.transaction_base import get_default_address, get_address_display
 		res = webnotes.conn.sql("select customer_name from `tabCustomer` where name = '%s'"%self.doc.customer)
 		address_display = None
 		customer_address = get_default_address("customer", self.doc.customer)
@@ -622,7 +622,7 @@
 		return result and result[0] or {}
 		
 	def get_supp_addr(self):
-		from utilities.transaction_base import get_default_address, get_address_display
+		from erpnext.utilities.transaction_base import get_default_address, get_address_display
 		res = webnotes.conn.sql("""select supplier_name from `tabSupplier`
 			where name=%s""", self.doc.supplier)
 		address_display = None
@@ -811,7 +811,7 @@
 		"company": se.doc.company
 	}]
 	
-	from accounts.utils import get_balance_on
+	from erpnext.accounts.utils import get_balance_on
 	for r in result:
 		jv_list.append({
 			"__islocal": 1,
diff --git a/erpnext/stock/doctype/stock_entry/test_stock_entry.py b/erpnext/stock/doctype/stock_entry/test_stock_entry.py
index d6f34f6..8014c99 100644
--- a/erpnext/stock/doctype/stock_entry/test_stock_entry.py
+++ b/erpnext/stock/doctype/stock_entry/test_stock_entry.py
@@ -4,8 +4,8 @@
 from __future__ import unicode_literals
 import webnotes, unittest
 from webnotes.utils import flt
-from stock.doctype.serial_no.serial_no import *
-from stock.doctype.purchase_receipt.test_purchase_receipt import set_perpetual_inventory
+from erpnext.stock.doctype.serial_no.serial_no import *
+from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import set_perpetual_inventory
 
 
 class TestStockEntry(unittest.TestCase):
@@ -29,7 +29,7 @@
 		st2.insert()
 		st2.submit()
 		
-		from stock.utils import reorder_item
+		from erpnext.stock.utils import reorder_item
 		reorder_item()
 		
 		mr_name = webnotes.conn.sql("""select parent from `tabMaterial Request Item`
@@ -46,7 +46,7 @@
 			.add_roles("Sales User", "Sales Manager", "Material User", "Material Manager")
 		webnotes.session.user = "test2@example.com"
 
-		from stock.utils import InvalidWarehouseCompany
+		from erpnext.stock.utils import InvalidWarehouseCompany
 		st1 = webnotes.bean(copy=test_records[0])
 		st1.doclist[1].t_warehouse="_Test Warehouse 2 - _TC1"
 		st1.insert()
@@ -56,7 +56,7 @@
 
 	def test_warehouse_user(self):
 		set_perpetual_inventory(0)
-		from stock.utils import UserNotAllowedForWarehouse
+		from erpnext.stock.utils import UserNotAllowedForWarehouse
 
 		webnotes.bean("Profile", "test@example.com").get_controller()\
 			.add_roles("Sales User", "Sales Manager", "Material User", "Material Manager")
@@ -272,9 +272,9 @@
 			"warehouse": "_Test Warehouse - _TC"}, "actual_qty"))
 			
 	def _test_sales_invoice_return(self, item_code, delivered_qty, returned_qty):
-		from stock.doctype.stock_entry.stock_entry import NotUpdateStockError
+		from erpnext.stock.doctype.stock_entry.stock_entry import NotUpdateStockError
 		
-		from accounts.doctype.sales_invoice.test_sales_invoice \
+		from erpnext.accounts.doctype.sales_invoice.test_sales_invoice \
 			import test_records as sales_invoice_test_records
 		
 		# invalid sales invoice as update stock not checked
@@ -352,10 +352,10 @@
 	def _test_delivery_note_return(self, item_code, delivered_qty, returned_qty):
 		self._insert_material_receipt()
 		
-		from stock.doctype.delivery_note.test_delivery_note \
+		from erpnext.stock.doctype.delivery_note.test_delivery_note \
 			import test_records as delivery_note_test_records
 
-		from stock.doctype.delivery_note.delivery_note import make_sales_invoice
+		from erpnext.stock.doctype.delivery_note.delivery_note import make_sales_invoice
 		
 		actual_qty_0 = self._get_actual_qty()
 		# make a delivery note based on this invoice
@@ -404,7 +404,7 @@
 		self._test_delivery_note_return("_Test Sales BOM Item", 25, 20)
 		
 	def _test_sales_return_jv(self, se):
-		from stock.doctype.stock_entry.stock_entry import make_return_jv
+		from erpnext.stock.doctype.stock_entry.stock_entry import make_return_jv
 		jv_list = make_return_jv(se.doc.name)
 		
 		self.assertEqual(len(jv_list), 3)
@@ -443,8 +443,8 @@
 	def _test_delivery_note_return_against_sales_order(self, item_code, delivered_qty, returned_qty):
 		self._insert_material_receipt()
 
-		from selling.doctype.sales_order.test_sales_order import test_records as sales_order_test_records
-		from selling.doctype.sales_order.sales_order import make_sales_invoice, make_delivery_note
+		from erpnext.selling.doctype.sales_order.test_sales_order import test_records as sales_order_test_records
+		from erpnext.selling.doctype.sales_order.sales_order import make_sales_invoice, make_delivery_note
 
 		actual_qty_0 = self._get_actual_qty()
 		
@@ -498,10 +498,10 @@
 		
 		actual_qty_0 = self._get_actual_qty()
 		
-		from stock.doctype.purchase_receipt.test_purchase_receipt \
+		from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt \
 			import test_records as purchase_receipt_test_records
 
-		from stock.doctype.purchase_receipt.purchase_receipt import make_purchase_invoice
+		from erpnext.stock.doctype.purchase_receipt.purchase_receipt import make_purchase_invoice
 		
 		# submit purchase receipt
 		pr = webnotes.bean(copy=purchase_receipt_test_records[0])
@@ -549,7 +549,7 @@
 		return se, pr.doc.name
 		
 	def test_over_stock_return(self):
-		from stock.doctype.stock_entry.stock_entry import StockOverReturnError
+		from erpnext.stock.doctype.stock_entry.stock_entry import StockOverReturnError
 		self._clear_stock_account_balance()
 		
 		# out of 10, 5 gets returned
@@ -567,7 +567,7 @@
 		self.assertRaises(StockOverReturnError, se.insert)
 		
 	def _test_purchase_return_jv(self, se):
-		from stock.doctype.stock_entry.stock_entry import make_return_jv
+		from erpnext.stock.doctype.stock_entry.stock_entry import make_return_jv
 		jv_list = make_return_jv(se.doc.name)
 		
 		self.assertEqual(len(jv_list), 3)
@@ -590,10 +590,10 @@
 		
 		actual_qty_0 = self._get_actual_qty()
 		
-		from buying.doctype.purchase_order.test_purchase_order \
+		from erpnext.buying.doctype.purchase_order.test_purchase_order \
 			import test_records as purchase_order_test_records
 		
-		from buying.doctype.purchase_order.purchase_order import \
+		from erpnext.buying.doctype.purchase_order.purchase_order import \
 			make_purchase_receipt, make_purchase_invoice
 		
 		# submit purchase receipt
diff --git a/erpnext/stock/doctype/stock_ledger/stock_ledger.py b/erpnext/stock/doctype/stock_ledger/stock_ledger.py
index 062d70f..f44e5e3 100644
--- a/erpnext/stock/doctype/stock_ledger/stock_ledger.py
+++ b/erpnext/stock/doctype/stock_ledger/stock_ledger.py
@@ -9,7 +9,7 @@
 from webnotes.model.bean import getlist
 from webnotes.model.code import get_obj
 from webnotes import session, msgprint
-from stock.utils import get_valid_serial_nos
+from erpnext.stock.utils import get_valid_serial_nos
 
 
 class DocType:
diff --git a/erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py b/erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py
index f059451..c14918f 100644
--- a/erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py
+++ b/erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py
@@ -13,21 +13,21 @@
 		self.doclist = doclist
 
 	def validate(self):
-		from stock.utils import validate_warehouse_user, validate_warehouse_company
+		from erpnext.stock.utils import validate_warehouse_user, validate_warehouse_company
 		self.validate_mandatory()
 		self.validate_item()
 		validate_warehouse_user(self.doc.warehouse)
 		validate_warehouse_company(self.doc.warehouse, self.doc.company)
 		self.scrub_posting_time()
 		
-		from accounts.utils import validate_fiscal_year
+		from erpnext.accounts.utils import validate_fiscal_year
 		validate_fiscal_year(self.doc.posting_date, self.doc.fiscal_year, self.meta.get_label("posting_date"))
 		
 	def on_submit(self):
 		self.check_stock_frozen_date()
 		self.actual_amt_check()
 		
-		from stock.doctype.serial_no.serial_no import process_serial_no
+		from erpnext.stock.doctype.serial_no.serial_no import process_serial_no
 		process_serial_no(self.doc)
 		
 	#check for item quantity available in stock
diff --git a/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.js b/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.js
index fc50246..bf08738 100644
--- a/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.js
+++ b/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.js
@@ -14,7 +14,7 @@
 		
 		if (sys_defaults.auto_accounting_for_stock && !this.frm.doc.expense_account) {
 			return this.frm.call({
-				method: "accounts.utils.get_company_default",
+				method: "erpnext.accounts.utils.get_company_default",
 				args: {
 					"fieldname": "stock_adjustment_account", 
 					"company": this.frm.doc.company
@@ -94,7 +94,7 @@
 		wn.upload.make({
 			parent: $wrapper,
 			args: {
-				method: 'stock.doctype.stock_reconciliation.stock_reconciliation.upload'
+				method: 'erpnext.stock.doctype.stock_reconciliation.stock_reconciliation.upload'
 			},
 			sample_url: "e.g. http://example.com/somefile.csv",
 			callback: function(fid, filename, r) {
diff --git a/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py b/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py
index 01ded1a..f2744af 100644
--- a/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py
+++ b/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py
@@ -7,9 +7,9 @@
 import json
 from webnotes import msgprint, _
 from webnotes.utils import cstr, flt, cint
-from stock.stock_ledger import update_entries_after
-from controllers.stock_controller import StockController
-from stock.utils import update_bin
+from erpnext.stock.stock_ledger import update_entries_after
+from erpnext.controllers.stock_controller import StockController
+from erpnext.stock.utils import update_bin
 
 class DocType(StockController):
 	def setup(self):
@@ -90,7 +90,7 @@
 			raise webnotes.ValidationError
 						
 	def validate_item(self, item_code, row_num):
-		from stock.utils import validate_end_of_life, validate_is_stock_item, \
+		from erpnext.stock.utils import validate_end_of_life, validate_is_stock_item, \
 			validate_cancelled_item
 		
 		# using try except to catch all validation msgs and display together
@@ -118,8 +118,8 @@
 	def insert_stock_ledger_entries(self):
 		"""	find difference between current and expected entries
 			and create stock ledger entries based on the difference"""
-		from stock.utils import get_valuation_method
-		from stock.stock_ledger import get_previous_sle
+		from erpnext.stock.utils import get_valuation_method
+		from erpnext.stock.stock_ledger import get_previous_sle
 			
 		row_template = ["item_code", "warehouse", "qty", "valuation_rate"]
 		
diff --git a/erpnext/stock/doctype/stock_reconciliation/test_stock_reconciliation.py b/erpnext/stock/doctype/stock_reconciliation/test_stock_reconciliation.py
index 984e508..287395f 100644
--- a/erpnext/stock/doctype/stock_reconciliation/test_stock_reconciliation.py
+++ b/erpnext/stock/doctype/stock_reconciliation/test_stock_reconciliation.py
@@ -8,7 +8,7 @@
 import webnotes, unittest
 from webnotes.utils import flt
 import json
-from accounts.utils import get_fiscal_year, get_stock_and_account_difference, get_balance_on
+from erpnext.accounts.utils import get_fiscal_year, get_stock_and_account_difference, get_balance_on
 
 
 class TestStockReconciliation(unittest.TestCase):
diff --git a/erpnext/stock/doctype/stock_settings/stock_settings.py b/erpnext/stock/doctype/stock_settings/stock_settings.py
index 48e1ee1..e3e29b9 100644
--- a/erpnext/stock/doctype/stock_settings/stock_settings.py
+++ b/erpnext/stock/doctype/stock_settings/stock_settings.py
@@ -16,7 +16,7 @@
 			"allow_negative_stock"]:
 			webnotes.conn.set_default(key, self.doc.fields.get(key, ""))
 			
-		from setup.doctype.naming_series.naming_series import set_by_naming_series
+		from erpnext.setup.doctype.naming_series.naming_series import set_by_naming_series
 		set_by_naming_series("Item", "item_code", 
 			self.doc.get("item_naming_by")=="Naming Series", hide_name_field=True)
 			
diff --git a/erpnext/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.py b/erpnext/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.py
index 5441c24..2644995 100644
--- a/erpnext/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.py
+++ b/erpnext/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.py
@@ -58,7 +58,7 @@
 			
 	def update_stock_ledger_entry(self):
 		# update stock ledger entry
-		from stock.stock_ledger import update_entries_after
+		from erpnext.stock.stock_ledger import update_entries_after
 		
 		if flt(self.doc.conversion_factor) != flt(1):
 			webnotes.conn.sql("update `tabStock Ledger Entry` set stock_uom = '%s', actual_qty = ifnull(actual_qty,0) * '%s' where item_code = '%s' " % (self.doc.new_stock_uom, self.doc.conversion_factor, self.doc.item_code))
diff --git a/erpnext/stock/doctype/warehouse/warehouse.py b/erpnext/stock/doctype/warehouse/warehouse.py
index 3559960..2b7473c 100644
--- a/erpnext/stock/doctype/warehouse/warehouse.py
+++ b/erpnext/stock/doctype/warehouse/warehouse.py
@@ -80,7 +80,7 @@
 			
 	def before_rename(self, olddn, newdn, merge=False):
 		# Add company abbr if not provided
-		from setup.doctype.company.company import get_name_with_abbr
+		from erpnext.setup.doctype.company.company import get_name_with_abbr
 		new_warehouse = get_name_with_abbr(newdn, self.doc.company)
 
 		if merge:
@@ -89,7 +89,7 @@
 				
 			webnotes.conn.sql("delete from `tabBin` where warehouse=%s", olddn)
 			
-		from accounts.utils import rename_account_for
+		from erpnext.accounts.utils import rename_account_for
 		rename_account_for("Warehouse", olddn, new_warehouse, merge)
 
 		return new_warehouse
@@ -99,7 +99,7 @@
 			self.recalculate_bin_qty(newdn)
 			
 	def recalculate_bin_qty(self, newdn):
-		from utilities.repost_stock import repost_stock
+		from erpnext.utilities.repost_stock import repost_stock
 		webnotes.conn.auto_commit_on_many_writes = 1
 		webnotes.conn.set_default("allow_negative_stock", 1)
 		
diff --git a/erpnext/stock/report/delivery_note_trends/delivery_note_trends.py b/erpnext/stock/report/delivery_note_trends/delivery_note_trends.py
index 6cd6f8e..a3f4218 100644
--- a/erpnext/stock/report/delivery_note_trends/delivery_note_trends.py
+++ b/erpnext/stock/report/delivery_note_trends/delivery_note_trends.py
@@ -3,7 +3,7 @@
 
 from __future__ import unicode_literals
 import webnotes
-from controllers.trends	import get_columns,get_data
+from erpnext.controllers.trends	import get_columns,get_data
 
 def execute(filters=None):
 	if not filters: filters ={}
diff --git a/erpnext/stock/report/purchase_receipt_trends/purchase_receipt_trends.py b/erpnext/stock/report/purchase_receipt_trends/purchase_receipt_trends.py
index 5fd003b..6be1179 100644
--- a/erpnext/stock/report/purchase_receipt_trends/purchase_receipt_trends.py
+++ b/erpnext/stock/report/purchase_receipt_trends/purchase_receipt_trends.py
@@ -3,7 +3,7 @@
 
 from __future__ import unicode_literals
 import webnotes
-from controllers.trends	import get_columns,get_data
+from erpnext.controllers.trends	import get_columns,get_data
 
 def execute(filters=None):
 	if not filters: filters ={}
diff --git a/erpnext/stock/stock_ledger.py b/erpnext/stock/stock_ledger.py
index 8702744..e6a402c 100644
--- a/erpnext/stock/stock_ledger.py
+++ b/erpnext/stock/stock_ledger.py
@@ -5,7 +5,7 @@
 import webnotes
 from webnotes import msgprint
 from webnotes.utils import cint, flt, cstr, now
-from stock.utils import get_valuation_method
+from erpnext.stock.utils import get_valuation_method
 import json
 
 # future reposting
@@ -16,7 +16,7 @@
 
 def make_sl_entries(sl_entries, is_amended=None):
 	if sl_entries:
-		from stock.utils import update_bin
+		from erpnext.stock.utils import update_bin
 	
 		cancel = True if sl_entries[0].get("is_cancelled") == "Yes" else False
 		if cancel:
diff --git a/erpnext/stock/utils.py b/erpnext/stock/utils.py
index 4f5e11a..1d838c9 100644
--- a/erpnext/stock/utils.py
+++ b/erpnext/stock/utils.py
@@ -110,7 +110,7 @@
 
 def get_incoming_rate(args):
 	"""Get Incoming Rate based on valuation method"""
-	from stock.stock_ledger import get_previous_sle
+	from erpnext.stock.stock_ledger import get_previous_sle
 		
 	in_rate = 0
 	if args.get("serial_no"):
@@ -299,7 +299,7 @@
 	mr_list = []
 	defaults = webnotes.defaults.get_defaults()
 	exceptions_list = []
-	from accounts.utils import get_fiscal_year
+	from erpnext.accounts.utils import get_fiscal_year
 	current_fiscal_year = get_fiscal_year(nowdate())[0] or defaults.fiscal_year
 	for request_type in material_requests:
 		for company in material_requests[request_type]:
diff --git a/erpnext/support/doctype/customer_issue/customer_issue.js b/erpnext/support/doctype/customer_issue/customer_issue.js
index 066a11a..5d0ffb5 100644
--- a/erpnext/support/doctype/customer_issue/customer_issue.js
+++ b/erpnext/support/doctype/customer_issue/customer_issue.js
@@ -25,7 +25,7 @@
 	
 	make_maintenance_visit: function() {
 		wn.model.open_mapped_doc({
-			method: "support.doctype.customer_issue.customer_issue.make_maintenance_visit",
+			method: "erpnext.support.doctype.customer_issue.customer_issue.make_maintenance_visit",
 			source_name: cur_frm.doc.name
 		})
 	}
diff --git a/erpnext/support/doctype/customer_issue/customer_issue.py b/erpnext/support/doctype/customer_issue/customer_issue.py
index 0739a2d..f6e6b6d 100644
--- a/erpnext/support/doctype/customer_issue/customer_issue.py
+++ b/erpnext/support/doctype/customer_issue/customer_issue.py
@@ -9,7 +9,7 @@
 
 	
 
-from utilities.transaction_base import TransactionBase
+from erpnext.utilities.transaction_base import TransactionBase
 
 class DocType(TransactionBase):
 	def __init__(self, doc, doclist=[]):
diff --git a/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.js b/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.js
index 25fe69a..f1b2ac8 100644
--- a/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.js
+++ b/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.js
@@ -9,7 +9,7 @@
 			cur_frm.add_custom_button(wn._('From Sales Order'), 
 				function() {
 					wn.model.map_current_doc({
-						method: "selling.doctype.sales_order.sales_order.make_maintenance_schedule",
+						method: "erpnext.selling.doctype.sales_order.sales_order.make_maintenance_schedule",
 						source_doctype: "Sales Order",
 						get_query_filters: {
 							docstatus: 1,
@@ -22,7 +22,7 @@
 		} else if (this.frm.doc.docstatus===1) {
 			cur_frm.add_custom_button(wn._("Make Maintenance Visit"), function() {
 				wn.model.open_mapped_doc({
-					method: "support.doctype.maintenance_schedule.maintenance_schedule.make_maintenance_visit",
+					method: "erpnext.support.doctype.maintenance_schedule.maintenance_schedule.make_maintenance_visit",
 					source_name: cur_frm.doc.name
 				})
 			})
diff --git a/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.py b/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.py
index f18408f..8263b19 100644
--- a/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.py
+++ b/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.py
@@ -11,7 +11,7 @@
 
 	
 
-from utilities.transaction_base import TransactionBase, delete_events
+from erpnext.utilities.transaction_base import TransactionBase, delete_events
 
 class DocType(TransactionBase):
 	def __init__(self, doc, doclist=[]):
diff --git a/erpnext/support/doctype/maintenance_visit/maintenance_visit.js b/erpnext/support/doctype/maintenance_visit/maintenance_visit.js
index 1a618cd..9b604b9 100644
--- a/erpnext/support/doctype/maintenance_visit/maintenance_visit.js
+++ b/erpnext/support/doctype/maintenance_visit/maintenance_visit.js
@@ -9,7 +9,7 @@
 			cur_frm.add_custom_button(wn._('From Maintenance Schedule'), 
 				function() {
 					wn.model.map_current_doc({
-						method: "support.doctype.maintenance_schedule.maintenance_schedule.make_maintenance_visit",
+						method: "erpnext.support.doctype.maintenance_schedule.maintenance_schedule.make_maintenance_visit",
 						source_doctype: "Maintenance Schedule",
 						get_query_filters: {
 							docstatus: 1,
@@ -21,7 +21,7 @@
 			cur_frm.add_custom_button(wn._('From Customer Issue'), 
 				function() {
 					wn.model.map_current_doc({
-						method: "support.doctype.customer_issue.customer_issue.make_maintenance_visit",
+						method: "erpnext.support.doctype.customer_issue.customer_issue.make_maintenance_visit",
 						source_doctype: "Customer Issue",
 						get_query_filters: {
 							status: ["in", "Open, Work in Progress"],
@@ -33,7 +33,7 @@
 			cur_frm.add_custom_button(wn._('From Sales Order'), 
 				function() {
 					wn.model.map_current_doc({
-						method: "selling.doctype.sales_order.sales_order.make_maintenance_visit",
+						method: "erpnext.selling.doctype.sales_order.sales_order.make_maintenance_visit",
 						source_doctype: "Sales Order",
 						get_query_filters: {
 							docstatus: 1,
diff --git a/erpnext/support/doctype/maintenance_visit/maintenance_visit.py b/erpnext/support/doctype/maintenance_visit/maintenance_visit.py
index f469657..e56389e 100644
--- a/erpnext/support/doctype/maintenance_visit/maintenance_visit.py
+++ b/erpnext/support/doctype/maintenance_visit/maintenance_visit.py
@@ -10,7 +10,7 @@
 
 	
 
-from utilities.transaction_base import TransactionBase
+from erpnext.utilities.transaction_base import TransactionBase
 
 class DocType(TransactionBase):
 	def __init__(self, doc, doclist=[]):
diff --git a/erpnext/support/doctype/newsletter/newsletter.js b/erpnext/support/doctype/newsletter/newsletter.js
index f7a7ad1..41967e3 100644
--- a/erpnext/support/doctype/newsletter/newsletter.js
+++ b/erpnext/support/doctype/newsletter/newsletter.js
@@ -3,7 +3,7 @@
 
 cur_frm.cscript.onload = function(doc) {
 	return wn.call({
-		method: "support.doctype.newsletter.newsletter.get_lead_options",
+		method: "erpnext.support.doctype.newsletter.newsletter.get_lead_options",
 		type: "GET",
 		callback: function(r) {
 			set_field_options("lead_source", r.message.sources.join("\n"))
diff --git a/erpnext/support/doctype/support_ticket/support_ticket.js b/erpnext/support/doctype/support_ticket/support_ticket.js
index 4f8f756..b372825 100644
--- a/erpnext/support/doctype/support_ticket/support_ticket.js
+++ b/erpnext/support/doctype/support_ticket/support_ticket.js
@@ -75,7 +75,7 @@
 
 	set_status: function(status) {
 		return wn.call({
-			method:"support.doctype.support_ticket.support_ticket.set_status",
+			method: "erpnext.support.doctype.support_ticket.support_ticket.set_status",
 			args: {
 				name: cur_frm.doc.name,
 				status: status
diff --git a/erpnext/support/doctype/support_ticket/support_ticket.py b/erpnext/support/doctype/support_ticket/support_ticket.py
index fd79583..0b95292 100644
--- a/erpnext/support/doctype/support_ticket/support_ticket.py
+++ b/erpnext/support/doctype/support_ticket/support_ticket.py
@@ -4,7 +4,7 @@
 from __future__ import unicode_literals
 import webnotes
 
-from utilities.transaction_base import TransactionBase
+from erpnext.utilities.transaction_base import TransactionBase
 from webnotes.utils import now, extract_email_id
 
 class DocType(TransactionBase):
diff --git a/erpnext/support/doctype/support_ticket/templates/pages/tickets.py b/erpnext/support/doctype/support_ticket/templates/pages/tickets.py
index 1816ccc..7434af2 100644
--- a/erpnext/support/doctype/support_ticket/templates/pages/tickets.py
+++ b/erpnext/support/doctype/support_ticket/templates/pages/tickets.py
@@ -32,7 +32,7 @@
 	if not (subject and message):
 		raise webnotes.throw(_("Please write something in subject and message!"))
 		
-	from support.doctype.support_ticket.get_support_mails import add_support_communication
+	from erpnext.support.doctype.support_ticket.get_support_mails import add_support_communication
 	ticket = add_support_communication(subject, message, webnotes.session.user)
 	
 	return ticket.doc.name
\ No newline at end of file
diff --git a/erpnext/utilities/demo/make_demo.py b/erpnext/utilities/demo/make_demo.py
index 18211a1..f469139 100644
--- a/erpnext/utilities/demo/make_demo.py
+++ b/erpnext/utilities/demo/make_demo.py
@@ -100,7 +100,7 @@
 
 def run_accounts(current_date):
 	if can_make("Sales Invoice"):
-		from selling.doctype.sales_order.sales_order import make_sales_invoice
+		from erpnext.selling.doctype.sales_order.sales_order import make_sales_invoice
 		report = "Ordered Items to be Billed"
 		for so in list(set([r[0] for r in query_report.run(report)["result"] if r[0]!="Total"]))[:how_many("Sales Invoice")]:
 			si = webnotes.bean(make_sales_invoice(so))
@@ -110,7 +110,7 @@
 			webnotes.conn.commit()
 
 	if can_make("Purchase Invoice"):
-		from stock.doctype.purchase_receipt.purchase_receipt import make_purchase_invoice
+		from erpnext.stock.doctype.purchase_receipt.purchase_receipt import make_purchase_invoice
 		report = "Received Items to be Billed"
 		for pr in list(set([r[0] for r in query_report.run(report)["result"] if r[0]!="Total"]))[:how_many("Purchase Invoice")]:
 			pi = webnotes.bean(make_purchase_invoice(pr))
@@ -121,7 +121,7 @@
 			webnotes.conn.commit()
 			
 	if can_make("Payment Received"):
-		from accounts.doctype.journal_voucher.journal_voucher import get_payment_entry_from_sales_invoice
+		from erpnext.accounts.doctype.journal_voucher.journal_voucher import get_payment_entry_from_sales_invoice
 		report = "Accounts Receivable"
 		for si in list(set([r[4] for r in query_report.run(report, {"report_date": current_date })["result"] if r[3]=="Sales Invoice"]))[:how_many("Payment Received")]:
 			jv = webnotes.bean(get_payment_entry_from_sales_invoice(si))
@@ -133,7 +133,7 @@
 			webnotes.conn.commit()
 			
 	if can_make("Payment Made"):
-		from accounts.doctype.journal_voucher.journal_voucher import get_payment_entry_from_purchase_invoice
+		from erpnext.accounts.doctype.journal_voucher.journal_voucher import get_payment_entry_from_purchase_invoice
 		report = "Accounts Payable"
 		for pi in list(set([r[4] for r in query_report.run(report, {"report_date": current_date })["result"] if r[3]=="Purchase Invoice"]))[:how_many("Payment Made")]:
 			jv = webnotes.bean(get_payment_entry_from_purchase_invoice(pi))
@@ -147,8 +147,8 @@
 def run_stock(current_date):
 	# make purchase requests
 	if can_make("Purchase Receipt"):
-		from buying.doctype.purchase_order.purchase_order import make_purchase_receipt
-		from stock.stock_ledger import NegativeStockError
+		from erpnext.buying.doctype.purchase_order.purchase_order import make_purchase_receipt
+		from erpnext.stock.stock_ledger import NegativeStockError
 		report = "Purchase Order Items To Be Received"
 		for po in list(set([r[0] for r in query_report.run(report)["result"] if r[0]!="Total"]))[:how_many("Purchase Receipt")]:
 			pr = webnotes.bean(make_purchase_receipt(po))
@@ -162,9 +162,9 @@
 	
 	# make delivery notes (if possible)
 	if can_make("Delivery Note"):
-		from selling.doctype.sales_order.sales_order import make_delivery_note
-		from stock.stock_ledger import NegativeStockError
-		from stock.doctype.serial_no.serial_no import SerialNoRequiredError, SerialNoQtyError
+		from erpnext.selling.doctype.sales_order.sales_order import make_delivery_note
+		from erpnext.stock.stock_ledger import NegativeStockError
+		from erpnext.stock.doctype.serial_no.serial_no import SerialNoRequiredError, SerialNoQtyError
 		report = "Ordered Items To Be Delivered"
 		for so in list(set([r[0] for r in query_report.run(report)["result"] if r[0]!="Total"]))[:how_many("Delivery Note")]:
 			dn = webnotes.bean(make_delivery_note(so))
@@ -205,7 +205,7 @@
 	
 	# make supplier quotations
 	if can_make("Supplier Quotation"):
-		from stock.doctype.material_request.material_request import make_supplier_quotation
+		from erpnext.stock.doctype.material_request.material_request import make_supplier_quotation
 		report = "Material Requests for which Supplier Quotations are not created"
 		for row in query_report.run(report)["result"][:how_many("Supplier Quotation")]:
 			if row[0] != "Total":
@@ -218,7 +218,7 @@
 		
 	# make purchase orders
 	if can_make("Purchase Order"):
-		from stock.doctype.material_request.material_request import make_purchase_order
+		from erpnext.stock.doctype.material_request.material_request import make_purchase_order
 		report = "Requested Items To Be Ordered"
 		for row in query_report.run(report)["result"][:how_many("Purchase Order")]:
 			if row[0] != "Total":
@@ -230,8 +230,8 @@
 				webnotes.conn.commit()
 			
 def run_manufacturing(current_date):
-	from stock.stock_ledger import NegativeStockError
-	from stock.doctype.stock_entry.stock_entry import IncorrectValuationRateError, DuplicateEntryForProductionOrderError
+	from erpnext.stock.stock_ledger import NegativeStockError
+	from erpnext.stock.doctype.stock_entry.stock_entry import IncorrectValuationRateError, DuplicateEntryForProductionOrderError
 
 	ppt = webnotes.bean("Production Planning Tool", "Production Planning Tool")
 	ppt.doc.company = company
@@ -276,9 +276,9 @@
 		except DuplicateEntryForProductionOrderError: pass
 
 def make_stock_entry_from_pro(pro_id, purpose, current_date):
-	from manufacturing.doctype.production_order.production_order import make_stock_entry
-	from stock.stock_ledger import NegativeStockError
-	from stock.doctype.stock_entry.stock_entry import IncorrectValuationRateError, DuplicateEntryForProductionOrderError
+	from erpnext.manufacturing.doctype.production_order.production_order import make_stock_entry
+	from erpnext.stock.stock_ledger import NegativeStockError
+	from erpnext.stock.doctype.stock_entry.stock_entry import IncorrectValuationRateError, DuplicateEntryForProductionOrderError
 
 	try:
 		st = webnotes.bean(make_stock_entry(pro_id, purpose))
@@ -322,7 +322,7 @@
 def make_sales_order(current_date):
 	q = get_random("Quotation", {"status": "Submitted"})
 	if q:
-		from selling.doctype.quotation.quotation import make_sales_order
+		from erpnext.selling.doctype.quotation.quotation import make_sales_order
 		so = webnotes.bean(make_sales_order(q))
 		so.doc.transaction_date = current_date
 		so.doc.delivery_date = webnotes.utils.add_days(current_date, 10)
@@ -376,7 +376,7 @@
 
 def complete_setup():
 	print "Complete Setup..."
-	from setup.page.setup_wizard.setup_wizard import setup_account
+	from erpnext.setup.page.setup_wizard.setup_wizard import setup_account
 	setup_account({
 		"first_name": "Test",
 		"last_name": "User",
diff --git a/erpnext/utilities/doctype/contact/contact.py b/erpnext/utilities/doctype/contact/contact.py
index 16f9d32..301d7fd 100644
--- a/erpnext/utilities/doctype/contact/contact.py
+++ b/erpnext/utilities/doctype/contact/contact.py
@@ -5,7 +5,7 @@
 import webnotes
 from webnotes.utils import cstr, extract_email_id
 
-from utilities.transaction_base import TransactionBase
+from erpnext.utilities.transaction_base import TransactionBase
 
 class DocType(TransactionBase):
 	def __init__(self, doc, doclist=[]):
diff --git a/erpnext/utilities/doctype/rename_tool/rename_tool.js b/erpnext/utilities/doctype/rename_tool/rename_tool.js
index c075656..90cd1e1 100644
--- a/erpnext/utilities/doctype/rename_tool/rename_tool.js
+++ b/erpnext/utilities/doctype/rename_tool/rename_tool.js
@@ -3,7 +3,7 @@
 
 cur_frm.cscript.refresh = function(doc) {
 	return wn.call({
-		method:"utilities.doctype.rename_tool.rename_tool.get_doctypes",
+		method: "erpnext.utilities.doctype.rename_tool.rename_tool.get_doctypes",
 		callback: function(r) {
 			cur_frm.set_df_property("select_doctype", "options", r.message);
 			cur_frm.cscript.setup_upload();
diff --git a/erpnext/utilities/doctype/sms_control/sms_control.py b/erpnext/utilities/doctype/sms_control/sms_control.py
index 5a9777a..8fbb8fe 100644
--- a/erpnext/utilities/doctype/sms_control/sms_control.py
+++ b/erpnext/utilities/doctype/sms_control/sms_control.py
@@ -2,9 +2,9 @@
 # License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
-import webnotes
+import webnotes, json
 
-from webnotes.utils import load_json, nowdate, cstr
+from webnotes.utils import nowdate, cstr
 from webnotes.model.code import get_obj
 from webnotes.model.doc import Document
 from webnotes import msgprint
@@ -47,14 +47,14 @@
 	
 	def get_contact_number(self, arg):
 		"returns mobile number of the contact"
-		args = load_json(arg)
+		args = json.loads(arg)
 		number = webnotes.conn.sql("""select mobile_no, phone from tabContact where name=%s and %s=%s""" % 
 			('%s', args['key'], '%s'), (args['contact_name'], args['value']))
 		return number and (number[0][0] or number[0][1]) or ''
 	
 	def send_form_sms(self, arg):
 		"called from client side"
-		args = load_json(arg)
+		args = json.loads(arg)
 		self.send_sms([str(args['number'])], str(args['message']))
 
 	def send_sms(self, receiver_list, msg, sender_name = ''):
diff --git a/erpnext/utilities/repost_stock.py b/erpnext/utilities/repost_stock.py
index 48ff25f..cb0ce10 100644
--- a/erpnext/utilities/repost_stock.py
+++ b/erpnext/utilities/repost_stock.py
@@ -39,7 +39,7 @@
 		})
 
 def repost_actual_qty(item_code, warehouse):
-	from stock.stock_ledger import update_entries_after
+	from erpnext.stock.stock_ledger import update_entries_after
 	try:
 		update_entries_after({ "item_code": item_code, "warehouse": warehouse })
 	except:
@@ -116,7 +116,7 @@
 	
 	
 def update_bin(item_code, warehouse, qty_dict=None):
-	from stock.utils import get_bin
+	from erpnext.stock.utils import get_bin
 	bin = get_bin(item_code, warehouse)
 	mismatch = False
 	for fld, val in qty_dict.items():
diff --git a/erpnext/utilities/transaction_base.py b/erpnext/utilities/transaction_base.py
index 5c28d8d..cb183b0 100644
--- a/erpnext/utilities/transaction_base.py
+++ b/erpnext/utilities/transaction_base.py
@@ -2,12 +2,12 @@
 # License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
-import webnotes
+import webnotes, json
 from webnotes import msgprint, _
-from webnotes.utils import load_json, cstr, flt, now_datetime, cint
+from webnotes.utils import cstr, flt, now_datetime, cint
 from webnotes.model.doc import addchild
 
-from controllers.status_updater import StatusUpdater
+from erpnext.controllers.status_updater import StatusUpdater
 
 class TransactionBase(StatusUpdater):
 	def get_default_address_and_contact(self, party_field, party_name=None):
@@ -145,7 +145,7 @@
 		self.doc.fields.update(self.get_lead_defaults())
 	
 	def get_customer_address(self, args):
-		args = load_json(args)
+		args = json.loads(args)
 		ret = {
 			'customer_address' : args["address"],
 			'address_display' : get_address_display(args["address"]),
@@ -170,7 +170,7 @@
 	# -----------------------
 	def get_default_supplier_address(self, args):
 		if isinstance(args, basestring):
-			args = load_json(args)
+			args = json.loads(args)
 			
 		address_name = get_default_address("supplier", args["supplier"])
 		ret = {
@@ -184,7 +184,7 @@
 	# Get Supplier Address
 	# -----------------------
 	def get_supplier_address(self, args):
-		args = load_json(args)
+		args = json.loads(args)
 		ret = {
 			'supplier_address' : args['address'],
 			'address_display' : get_address_display(args["address"]),
@@ -439,7 +439,7 @@
 		}, raise_exception=True)
 			
 def validate_item_fetch(args, item):
-	from stock.utils import validate_end_of_life
+	from erpnext.stock.utils import validate_end_of_life
 	validate_end_of_life(item.name, item.end_of_life)
 	
 	# validate company