Resolved conflict after merging with master
diff --git a/.gitignore b/.gitignore
index 56149a0..7f90378 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,3 +3,5 @@
 .DS_Store
 server_tools
 patch.log
+lib
+versions-local.db
diff --git a/README b/README
deleted file mode 100644
index 5f3ecd6..0000000
--- a/README
+++ /dev/null
@@ -1,3 +0,0 @@
-For more info, download, install
-
-http://erpnext.org
\ No newline at end of file
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..4ed8f0d
--- /dev/null
+++ b/README.md
@@ -0,0 +1,46 @@
+# ERPNext - Open Source + SAAS ERP
+
+Version 2.0
+
+Includes Accounting, Inventory, CRM, Sales, Purchase, Projects, HRMS
+
+Built on Python / MySQL / wnframework
+
+- [Download](http://erpnext.org)
+- [Use now as SAAS @ $7/user/month](https://erpnext.com)
+
+## Platform
+
+ERPNext is built on [wnframework](https://github.com/webnotes/wnframework) (Version 2.0)
+
+## Download and Install
+
+For download and install details, please go to [erpnext.org](http://erpnext.org)
+
+## Forums
+
+- [User / Functional](http://groups.google.com/group/erpnext-user-forum)
+- [Technical](http://groups.google.com/group/wnframework)
+
+## Changes from wnframework version 1.7
+
+To update from wnframework version 1.
+
+1. set your html folder to the root of erpnext (rather than wnframework)
+2. create a symlink in erpnext:
+
+    ln -s path/to/wnframework lib
+
+3. to setup the versions db, run:
+
+    python lib/wnf.py setup
+
+4. copy defs.py from cgi-bin/webnotes to py/webnotes
+5. change module_path (point to erpnext/erpnext) in defs.py
+6. delete cgi-bin directory
+7. delete all old module directories from erpnext
+
+## License
+
+ERPNext is available under the GNU/GPL license.
+
diff --git a/accounts/doctype/budget_control/budget_control.js b/accounts/doctype/budget_control/budget_control.js
deleted file mode 100644
index 3d4d1c1..0000000
--- a/accounts/doctype/budget_control/budget_control.js
+++ /dev/null
@@ -1,59 +0,0 @@
-class DocType:
-  def __init__(self,d,dl):
-    self.doc, self.doclist = d, dl
-    
-  # Get monthly budget
-  #-------------------
-  def get_monthly_budget(self, distribution_id, cfy, st_date, post_dt, budget_allocated):
-    
-    # get month_list
-    st_date, post_dt = getdate(st_date), getdate(post_dt)
-    
-    if distribution_id:
-      if st_date.month <= post_dt.month:
-        tot_per_allocated = sql("select ifnull(sum(percentage_allocation),0) from `tabBudget Distribution Detail` where parent='%s' and idx between '%s' and '%s'" % (distribution_id, st_date.month, post_dt.month))[0][0]
-
-      if st_date.month > post_dt.month:
-    
-        tot_per_allocated = flt(sql("select ifnull(sum(percentage_allocation),0) from `tabBudget Distribution Detail` where parent='%s' and idx between '%s' and '%s'" % (distribution_id, st_date.month, 12 ))[0][0])
-        tot_per_allocated = flt(tot_per_allocated)  + flt(sql("select ifnull(sum(percentage_allocation),0) from `tabBudget Distribution Detail` where parent='%s' and idx between '%s' and '%s'" % (distribution_id, 1, post_dt.month))[0][0])
-     
-      return (flt(budget_allocated) * flt(tot_per_allocated)) / 100
-    period_diff = sql("select PERIOD_DIFF('%s','%s')" % (post_dt.strftime('%Y%m'), st_date.strftime('%Y%m')))
-    
-    return (flt(budget_allocated) * (flt(period_diff[0][0]) + 1)) / 12
-    
-  def validate_budget(self, acct, cost_center, actual, budget, action):
-    # action if actual exceeds budget
-    if flt(actual) > flt(budget):
-      msgprint("Your monthly expense "+ cstr((action == 'stop') and "will exceed" or "has exceeded") +" budget for <b>Account - "+cstr(acct)+" </b> under <b>Cost Center - "+ cstr(cost_center) + "</b>"+cstr((action == 'Stop') and ", you can not have this transaction." or "."))
-      if action == 'Stop': raise Exception
-
-  def check_budget(self,le_list,cancel):
-    # get value from record
-    acct, cost_center, debit, credit, post_dt, cfy, company  = le_list
-
-    # get allocated budget
-    bgt = sql("select t1.budget_allocated, t1.actual, t2.distribution_id from `tabBudget Detail` t1, `tabCost Center` t2 where t1.account='%s' and t1.parent=t2.name and t2.name = '%s' and t1.fiscal_year='%s'" % (acct,cost_center,cfy), as_dict =1)
-    curr_amt = ((cancel and -1  or 1) * flt(debit)) + ((cancel and 1  or -1) *  flt(credit))
-    
-    if bgt and bgt[0]['budget_allocated']:
-      # check budget flag in Company
-      bgt_flag = sql("select yearly_bgt_flag, monthly_bgt_flag from `tabCompany` where name = '%s'" % company, as_dict =1)
-      
-      if bgt_flag and bgt_flag[0]['monthly_bgt_flag'] in ['Stop', 'Warn']:
-        # get start date and last date
-        st_date = get_value('Fiscal Year', cfy, 'year_start_date').strftime('%Y-%m-%d')
-        lt_date = sql("select LAST_DAY('%s')" % post_dt)
-        
-        # get Actual
-        actual = get_obj('GL Control').get_period_difference(acct + '~~~' + cstr(st_date) + '~~~' + cstr(lt_date[0][0]), cost_center)
-      
-        # Get Monthly  budget
-        budget = self.get_monthly_budget(bgt and bgt[0]['distribution_id'] or '' , cfy, st_date, post_dt, bgt[0]['budget_allocated'])
-      
-        # validate monthly budget
-        self.validate_budget(acct, cost_center, flt(actual) + flt(curr_amt), budget, 'monthly_bgt_flag')
-
-      # update actual against budget allocated in cost center
-      sql("update `tabBudget Detail` set actual = ifnull(actual,0) + %s where account = '%s' and fiscal_year = '%s' and parent = '%s'" % (curr_amt,cstr(acct),cstr(cfy),cstr(cost_center)))
\ No newline at end of file
diff --git a/accounts/doctype/cost_center/cost_center.js b/accounts/doctype/cost_center/cost_center.js
deleted file mode 100644
index 24dc50f..0000000
--- a/accounts/doctype/cost_center/cost_center.js
+++ /dev/null
@@ -1,39 +0,0 @@
- 
-
-//Account filtering for cost center
-cur_frm.fields_dict['budget_details'].grid.get_field('account').get_query = function(doc) {
-  var mydoc = locals[this.doctype][this.docname];
-  return 'SELECT DISTINCT `tabAccount`.`name`,`tabAccount`.debit_or_credit,`tabAccount`.group_or_ledger FROM `tabAccount` WHERE `tabAccount`.`company` = "' + doc.company_name + '" AND `tabAccount`.docstatus != 2 AND `tabAccount`.`is_pl_account` = "Yes" AND `tabAccount`.debit_or_credit = "Debit" AND `tabAccount`.`group_or_ledger` != "Group" AND `tabAccount`.`group_or_ledger` is not NULL AND `tabAccount`.`name` LIKE "%s" ORDER BY `tabAccount`.`name` LIMIT 50';
-  }
-
-cur_frm.fields_dict['parent_cost_center'].get_query = function(doc){
-  return 'SELECT DISTINCT `tabCost Center`.name FROM `tabCost Center` WHERE `tabCost Center`.group_or_ledger="Group" AND `tabCost Center`.docstatus != 2 AND `tabCost Center`.company_name="'+ doc.company_name+'" AND `tabCost Center`.company_name is not NULL AND `tabCost Center`.name LIKE "%s" ORDER BY `tabCost Center`.name LIMIT 50';
-}
-
-//parent cost center
-cur_frm.cscript.parent_cost_center = function(doc,cdt,cdn){
-  if(!doc.company_name){
-    alert('Please enter company name first');
-  }
-}
-
-//company abbr
-cur_frm.cscript.company_name = function(doc,cdt,cdn){
-  get_server_fields('get_abbr','','',doc,cdt,cdn,1);
-}
-
-//onload if cost center is group
-cur_frm.cscript.onload = function(doc, cdt, cdn) {
-   
-  if(!doc.__islocal && doc.docstatus == 0){
-    get_field(doc.doctype,'group_or_ledger',doc.name).permlevel = 1;
-    refresh_field('group_or_ledger');
-    get_field(doc.doctype,'company_name',doc.name).permlevel = 1;
-    refresh_field('company_name');
-  }
- 
-}
-
-cur_frm.cscript.refresh = function(doc, cdt, cdn) {
-   
-}
diff --git a/accounts/doctype/gl_control/gl_control.js b/accounts/doctype/gl_control/gl_control.js
deleted file mode 100644
index 8f8d786..0000000
--- a/accounts/doctype/gl_control/gl_control.js
+++ /dev/null
@@ -1,367 +0,0 @@
-class DocType:
-  def __init__(self,d,dl):
-    self.doc, self.doclist = d, dl
-    self.entries = []
-
-  # Get Company List
-  # ----------------
-  def get_companies(self,arg=''):
-    d = get_defaults()
-    ret = sql("select name, abbr from tabCompany where docstatus != 2")
-    pl = {}
-    for r in ret:
-      inc = get_value('Account','Income - '+r[1], 'balance')
-      exp = get_value('Account','Expenses - '+r[1], 'balance')
-      pl[r[0]] = flt(flt(inc) - flt(exp))
-    return {'cl':[r[0] for r in ret], 'pl':pl}
-
-  # Get current balance
-  # --------------------
-  def get_bal(self,arg):
-    ac, fy = arg.split('~~~')
-    det = sql("select t1.balance, t2.debit_or_credit from `tabAccount Balance` t1, `tabAccount` t2 where t1.period = %s and t2.name=%s and t1.parent = t2.name", (fy, ac))
-    bal = det and flt(det[0][0]) or 0
-    dr_or_cr = det and flt(det[0][1]) or ''
-    return fmt_money(bal) + ' ' + dr_or_cr
-
-  def get_period_balance(self,arg):
-    acc, f, t = arg.split('~~~')
-    c, fy = '', get_defaults()['fiscal_year']
-
-    det = sql("select debit_or_credit, lft, rgt, is_pl_account from tabAccount where name=%s", acc)
-    if f: c += (' and t1.posting_date >= "%s"' % f)
-    if t: c += (' and t1.posting_date <= "%s"' % t)
-    bal = sql("select sum(ifnull(t1.debit,0))-sum(ifnull(t1.credit,0)) from `tabGL Entry` t1 where t1.account='%s' and ifnull(is_opening, 'No') = 'No' %s" % (acc, c))
-    bal = bal and flt(bal[0][0]) or 0
-
-    if det[0][0] != 'Debit':
-      bal = (-1) * bal
-
-    # add opening for balance sheet accounts
-    if det[0][3] == 'No':
-      opening = flt(sql("select opening from `tabAccount Balance` where parent=%s and period=%s", (acc, fy))[0][0])
-      bal = bal + opening
-
-    return flt(bal)
-
-
-  def get_period_difference(self,arg, cost_center =''):
-    # used in General Ledger Page Report
-    # used for Budget where cost center passed as extra argument
-    acc, f, t = arg.split('~~~')
-    c, fy = '', get_defaults()['fiscal_year']
-
-    det = sql("select debit_or_credit, lft, rgt, is_pl_account from tabAccount where name=%s", acc)
-    if f: c += (' and t1.posting_date >= "%s"' % f)
-    if t: c += (' and t1.posting_date <= "%s"' % t)
-    if cost_center: c += (' and t1.cost_center = "%s"' % cost_center)
-    bal = sql("select sum(ifnull(t1.debit,0))-sum(ifnull(t1.credit,0)) from `tabGL Entry` t1 where t1.account='%s' %s" % (acc, c))
-    bal = bal and flt(bal[0][0]) or 0
-
-    if det[0][0] != 'Debit':
-      bal = (-1) * bal
-
-    return flt(bal)
-
-  # Get Children (for tree)
-  # -----------------------
-  def get_cl(self, arg):
-    fy = get_defaults()['fiscal_year']
-    parent, parent_acc_name, company, type = arg.split(',')
-    
-    # get children account details
-    if type=='Account':
-      if parent=='Root':
-        cl = sql("select t1.name, t1.group_or_ledger, t1.debit_or_credit, t2.balance, t1.account_name from tabAccount t1, `tabAccount Balance` t2 where t1.parent_account is NULL or t1.parent_account='' and t1.docstatus != 2 and t1.company=%s and t1.name = t2.parent and t2.period = %s order by t1.name asc", (company, fy),as_dict=1)
-      else:
-        cl = sql("select t1.name, t1.group_or_ledger, t1.debit_or_credit, t2.balance, t1.account_name from tabAccount t1, `tabAccount Balance` t2 where t1.parent_account=%s and t1.docstatus != 2 and t1.company=%s and t1.name = t2.parent and t2.period = %s order by t1.name asc",(parent, company, fy) ,as_dict=1)
-
-      # remove Decimals
-      for c in cl: c['balance'] = flt(c['balance'])
-      
-    # get children cost center details
-    elif type=='Cost Center':
-      if parent=='Root':
-        cl = sql("select name,group_or_ledger, cost_center_name from `tabCost Center`  where parent_cost_center is NULL or parent_cost_center='' and docstatus != 2 and company_name=%s order by name asc",(company),as_dict=1)
-      else:
-        cl = sql("select name,group_or_ledger,cost_center_name from `tabCost Center` where parent_cost_center=%s and docstatus != 2 and company_name=%s order by name asc",(parent,company),as_dict=1)
-    
-    return {'parent':parent, 'parent_acc_name':parent_acc_name, 'cl':cl}
-    
-  # Add a new account
-  # -----------------
-  def add_ac(self,arg):
-    arg = eval(arg)
-    ac = Document('Account')
-    for d in arg.keys():
-      ac.fields[d] = arg[d]
-    ac.old_parent = ''      
-    ac_obj = get_obj(doc=ac)
-    ac_obj.validate()
-    ac_obj.doc.save(1)
-    ac_obj.on_update()
-
-    return ac_obj.doc.name
-  
-  # Add a new cost center
-  #----------------------
-  def add_cc(self,arg):
-    arg = eval(arg)
-    cc = Document('Cost Center')
-    # map fields
-    for d in arg.keys():
-      cc.fields[d] = arg[d]
-    # map company abbr
-    other_info = sql("select company_abbr from `tabCost Center` where name='%s'"%arg['parent_cost_center'])
-    cc.company_abbr = other_info and other_info[0][0] or arg['company_abbr']
-    
-    cc_obj = get_obj(doc=cc)
-    cc_obj.validate()
-    cc_obj.doc.save(1)
-    cc_obj.on_update()
-
-    return cc_obj.doc.name
-    
-    
-
-  # Get field values from the voucher
-  #------------------------------------------
-  def get_val(self, src, d, parent=None):
-    if not src: 
-      return None
-    if src.startswith('parent:'):
-      return parent.fields[src.split(':')[1]]
-    elif src.startswith('value:'):
-      return eval(src.split(':')[1])
-    elif src:
-      return d.fields.get(src)  
-      
-  def check_if_in_list(self, le):
-    for e in self.entries:
-      if e.account == le.account and (cstr(e.against_voucher)==cstr(le.against_voucher)) and (cstr(e.against_voucher_type)==cstr(le.against_voucher_type)) and (cstr(e.cost_center)==cstr(le.cost_center)):
-        return [e]
-    return 0
-  
-  # Make a dictionary(le) for every gl entry and append to a list(self.entries)
-  #----------------------------------------------------------------------------
-  def make_single_entry(self,parent,d,le_map,cancel):
-    if self.get_val(le_map['account'], d, parent) and (self.get_val(le_map['debit'], d, parent) or self.get_val(le_map['credit'], d, parent)):
-      flist = ['account','cost_center','against','debit','credit','remarks','voucher_type','voucher_no','transaction_date','posting_date','fiscal_year','against_voucher','against_voucher_type','company','is_opening', 'aging_date']
-
-      # Check budget before gl entry
-      #check budget only if account is expense account
-      is_expense_acct = sql("select name from tabAccount where is_pl_account='Yes' and debit_or_credit='Debit' and name=%s",self.get_val(le_map['account'], d, parent))
-      if is_expense_acct and self.get_val(le_map['cost_center'], d, parent):
-        get_obj('Budget Control').check_budget([self.get_val(le_map[k], d, parent) for k in flist if k in ['account','cost_center','debit','credit','posting_date','fiscal_year','company']],cancel)
-      
-      # Create new GL entry object and map values
-      le = Document('GL Entry')
-      for k in flist:
-        le.fields[k] = self.get_val(le_map[k], d, parent)
-            
-      # if there is already an entry in this account then just add it to that entry
-      same_head = self.check_if_in_list(le)
-      if same_head:
-        same_head = same_head[0]
-        same_head.debit  = flt(same_head.debit)  + flt(le.debit)
-        same_head.credit = flt(same_head.credit) + flt(le.credit)
-      else:
-        self.entries.append(le)
-    
-  # Save GL Entries     
-  # ----------------
-  def save_entries(self, cancel, adv_adj):
-    for le in self.entries:
-      # cancel
-      if cancel:
-        tmp=le.debit
-        le.debit, le.credit = le.credit, tmp      
-        
-      le_obj = get_obj(doc=le)
-      # validate except on_cancel
-      if not cancel:
-        le_obj.validate()
-
-      # save
-      le.save(1)
-      le_obj.on_update(adv_adj)
-    
-      # update total debit / credit
-      self.td += flt(le.debit)
-      self.tc += flt(le.credit)
-      
-  # Make Multiple Entries
-  # ---------------------
-  def make_gl_entries(self, doc, doclist, cancel=0, adv_adj = 0):
-    # get entries
-    le_map_list = sql("select * from `tabGL Mapper Detail` where parent = %s", doc.doctype, as_dict=1)
-
-    self.td, self.tc = 0.0, 0.0
-
-    for le_map in le_map_list:    
-      if le_map['table_field']:
-        for d in getlist(doclist,le_map['table_field']):
-          # purchase_tax_details is the table of other charges in purchase cycle
-          if le_map['table_field'] != 'purchase_tax_details' or (le_map['table_field'] == 'purchase_tax_details' and d.fields.get('category') != 'For Valuation'):
-            self.make_single_entry(doc,d,le_map,cancel)
-      else:
-        self.make_single_entry(None,doc,le_map,cancel)
-        
-    # save entries
-    self.save_entries(cancel,adv_adj)
-    
-    # check total debit / credit
-    # Due to old wrong entries (total debit != total credit) some voucher could be cancelled
-    if abs(self.td - self.tc) > 0.001 and not cancel:
-      msgprint("Debit and Credit not equal for this voucher: Diff (Debit) is %s" % (self.td-self.tc))
-      raise Exception
-
-    # set as cancelled
-    if cancel:
-      vt, vn = self.get_val(le_map['voucher_type'],  doc, doc), self.get_val(le_map['voucher_no'],  doc, doc)
-      sql("update `tabGL Entry` set is_cancelled='Yes' where voucher_type=%s and voucher_no=%s", (vt, vn))
-  
-  # Get account balance on any date
-  # -------------------------------
-
-  def get_as_on_balance(self, account_name, fiscal_year, as_on, credit_or_debit, is_pl, lft, rgt, ysd):
-    # get total transaction value for the current year
-    bal = bal = sql("select SUM(t1.debit), SUM(t1.credit) from `tabGL Entry` t1, `tabAccount` t2 WHERE t1.posting_date >= %s AND t1.posting_date <= %s and t1.is_opening = 'No' AND t1.account = t2.name AND t2.lft >= %s AND t2.rgt <= %s and t1.is_cancelled = 'No'", (ysd,as_on,lft, rgt))
-    bal = bal and (flt(bal[0][0]) - flt(bal[0][1])) or 0
-    
-    if credit_or_debit == 'Credit' and bal:
-      bal = -bal
-      
-    # Add opening balance with the transaction value
-    if is_pl=='No':
-      op = sql("select opening from `tabAccount Balance` where parent=%s and period=%s", (account_name, fiscal_year))
-      op = op and op[0][0] or 0
-      bal += flt(op)
-    return flt(bal)
- 
-  # ADVANCE ALLOCATION
-  #-------------------
-  def get_advances(self, obj, account_head, table_name,table_field_name, dr_or_cr):
-    jv_detail = sql("select t1.name, t1.remark, t2.%s, t2.name, t1.ded_amount from `tabJournal Voucher` t1, `tabJournal Voucher Detail` t2 where t1.name = t2.parent and (t2.against_voucher is null or t2.against_voucher = '') and (t2.against_invoice is null or t2.against_invoice = '') and t2.account = '%s' and t2.is_advance = 'Yes' and t1.docstatus = 1 order by t1.voucher_date " % (dr_or_cr,account_head))
-    # clear advance table
-    obj.doc.clear_table(obj.doclist,table_field_name)
-    # Create advance table
-    for d in jv_detail:
-      add = addchild(obj.doc, table_field_name, table_name, 1, obj.doclist)
-      add.journal_voucher = d[0]
-      add.jv_detail_no = d[3]
-      add.remarks = d[1]
-      add.advance_amount = flt(d[2])
-      add.allocate_amount = 0
-      if table_name == 'Advance Allocation Detail':
-        add.tds_amount = flt(d[4])
-  
-  # Clear rows which is not adjusted
-  #-------------------------------------
-  def clear_advances(self, obj,table_name,table_field_name):
-    for d in getlist(obj.doclist,table_field_name):
-      if not flt(d.allocated_amount):
-        sql("update `tab%s` set parent = '' where name = '%s' and parent = '%s'" % (table_name, d.name, d.parent))
-        d.parent = ''
-          
-  # Update aginst document in journal voucher
-  #------------------------------------------
-  def update_against_document_in_jv(self, obj, table_field_name, against_document_no, against_document_doctype, account_head, dr_or_cr,doctype):
-    for d in getlist(obj.doclist, table_field_name):
-      self.validate_jv_entry(d, account_head, dr_or_cr)
-      if flt(d.advance_amount) == flt(d.allocated_amount):
-        # cancel JV
-        jv_obj = get_obj('Journal Voucher', d.journal_voucher, with_children=1)
-        get_obj(dt='GL Control').make_gl_entries(jv_obj.doc, jv_obj.doclist, cancel =1, adv_adj =1)
-
-        # update ref in JV Detail
-        sql("update `tabJournal Voucher Detail` set %s = '%s' where name = '%s'" % (doctype=='Payable Voucher' and 'against_voucher' or 'against_invoice', cstr(against_document_no), d.jv_detail_no))
-        
-        # re-submit JV
-        jv_obj = get_obj('Journal Voucher', d.journal_voucher, with_children =1)
-        get_obj(dt='GL Control').make_gl_entries(jv_obj.doc, jv_obj.doclist, cancel = 0, adv_adj =1)
-
-      elif flt(d.advance_amount) > flt(d.allocated_amount):
-        # cancel JV
-        jv_obj = get_obj('Journal Voucher', d.journal_voucher, with_children=1)
-        get_obj(dt='GL Control').make_gl_entries(jv_obj.doc, jv_obj.doclist, cancel =1, adv_adj = 1)
-        
-        # add extra entries
-        self.add_extra_entry(jv_obj, d.journal_voucher, d.jv_detail_no, flt(d.allocated_amount), account_head, doctype, dr_or_cr, against_document_no)
-        
-        # re-submit JV
-        jv_obj = get_obj('Journal Voucher', d.journal_voucher, with_children =1)
-        get_obj(dt='GL Control').make_gl_entries(jv_obj.doc, jv_obj.doclist, cancel = 0, adv_adj = 1)
-      else:
-        msgprint("Allocation amount cannot be greater than advance amount")
-        raise Exception
-  
-  # Add extra row in jv detail for unadjusted amount
-  #--------------------------------------------------
-  def add_extra_entry(self,jv_obj,jv,jv_detail_no, allocate, account_head, doctype, dr_or_cr, against_document_no):
-    # get old entry details
-    
-    jvd = sql("select %s, cost_center, balance, against_account from `tabJournal Voucher Detail` where name = '%s'" % (dr_or_cr,jv_detail_no))
-    advance = jvd and flt(jvd[0][0]) or 0
-    balance = flt(advance) - flt(allocate)
-
-    # update old entry
-    sql("update `tabJournal Voucher Detail` set %s = '%s', %s = '%s' where name = '%s'" % (dr_or_cr, flt(allocate), doctype == "Payable Voucher" and 'against_voucher' or 'against_invoice',cstr(against_document_no), jv_detail_no))
-
-    # new entry with balance amount
-    add = addchild(jv_obj.doc, 'entries', 'Journal Voucher Detail', 1, jv_obj.doclist)
-    add.account = account_head
-    add.cost_center = cstr(jvd[0][1])
-    add.balance = cstr(jvd[0][2])
-    add.fields[dr_or_cr] = balance
-    add.against_account = cstr(jvd[0][3])
-    add.is_advance = 'Yes'
-    add.save(1)
-  
-  # check if advance entries are still valid
-  # ----------------------------------------
-  def validate_jv_entry(self, d, account_head, dr_or_cr):
-    # 1. check if there is already a voucher reference
-    # 2. check if amount is same
-    # 3. check if is_advance is 'Yes'
-    # 4. check if jv is submitted
-    ret = sql("select t2.%s from `tabJournal Voucher` t1, `tabJournal Voucher Detail` t2 where t1.name = t2.parent and (t2.against_voucher = '' || t2.against_voucher is null) and (t2.against_invoice = '' || t2.against_invoice is null) and t2.account = '%s' and t1.name = '%s' and t2.name = '%s' and t2.is_advance = 'Yes' and t1.docstatus=1 and t2.%s = %s" % ( dr_or_cr, account_head, d.journal_voucher, d.jv_detail_no, dr_or_cr, d.advance_amount))
-    if (not ret):
-      msgprint("Please click on 'Get Advances Paid' button as the advance entries have been changed.")
-      raise Exception
-    return
-
-##############################################################################
-# Repair Outstanding Amount
-##############################################################################
-  def repair_voucher_outstanding(self, voucher_obj):
-    msg = []
-
-    # Get Balance from GL Entries
-    bal = sql("select sum(debit)-sum(credit) from `tabGL Entry` where against_voucher=%s and against_voucher_type=%s", (voucher_obj.doc.name , voucher_obj.doc.doctype))
-    bal = bal and flt(bal[0][0]) or 0.0
-    if cstr(voucher_obj.doc.doctype) == 'Payable Voucher':
-      bal = -bal
-
-    # Check outstanding Amount
-    if flt(voucher_obj.doc.outstanding_amount) != flt(bal):
-      msgprint('<div style="color: RED"> Difference found in Outstanding Amount of %s : %s (Before : %s; After : %s) </div>' % (voucher_obj.doc.doctype, voucher_obj.doc.name, voucher_obj.doc.outstanding_amount, bal))
-      msg.append('<div style="color: RED"> Difference found in Outstanding Amount of %s : %s (Before : %s; After : %s) </div>' % (voucher_obj.doc.doctype, voucher_obj.doc.name, voucher_obj.doc.outstanding_amount, bal))
-
-      # set voucher balance
-      #sql("update `tab%s` set outstanding_amount=%s where name='%s'" % (voucher_obj.doc.doctype, bal, voucher_obj.doc.name))
-      set(voucher_obj.doc, 'outstanding_amount', flt(bal))
-
-    # Send Mail
-    if msg:
-      email_msg = """ Dear Administrator,
-
-In Account := %s User := %s has Repaired Outstanding Amount For %s : %s and following was found:-
-
-%s
-
-""" % (get_value('Control Panel', None,'account_id'), session['user'], voucher_obj.doc.doctype, voucher_obj.doc.name, '\n'.join(msg))
-
-      sendmail(['jai@webnotestech.com'], subject='Repair Outstanding Amount', parts = [('text/plain', email_msg)])
-    # Acknowledge User
-    msgprint(cstr(voucher_obj.doc.doctype) + " : " + cstr(voucher_obj.doc.name) + " has been checked" + cstr(msg and " and repaired successfully." or ". No changes Found."))
diff --git a/accounts/doctype/gl_entry/gl_entry.js b/accounts/doctype/gl_entry/gl_entry.js
deleted file mode 100644
index 9f34ad8..0000000
--- a/accounts/doctype/gl_entry/gl_entry.js
+++ /dev/null
@@ -1,202 +0,0 @@
-class DocType:
-  def __init__(self,d,dl):
-    self.doc, self.doclist = d, dl
-
-  # Validate mandatory
-  #-------------------
-  def check_mandatory(self):
-    # Following fields are mandatory in GL Entry
-    mandatory = ['account','remarks','voucher_type','voucher_no','fiscal_year','company']
-    for k in mandatory:
-      if not self.doc.fields.get(k):
-        msgprint("%s is mandatory for GL Entry" % k)
-        raise Exception
-        
-    # Zero value transaction is not allowed
-    if not (flt(self.doc.debit) or flt(self.doc.credit)):
-      msgprint("GL Entry: Debit or Credit amount is mandatory for %s" % self.doc.account)
-      raise Exception
-      
-    # Debit and credit can not done at the same time
-    if flt(self.doc.credit) != 0 and flt(self.doc.debit) != 0:
-      msgprint("Sorry you cannot credit and debit under same account head.")
-      raise Exception, "Validation Error."
-    
-  # Cost center is required only if transaction made against pl account
-  #--------------------------------------------------------------------
-  def pl_must_have_cost_center(self):
-    if sql("select name from tabAccount where name=%s and is_pl_account='Yes'", self.doc.account):
-      if not self.doc.cost_center and not self.doc.voucher_type != 'Period Closing Entry':
-        msgprint("Error: Cost Center must be specified for PL Account: %s" % self.doc.account_name)
-        raise Exception
-    else: # not pl
-      if self.doc.cost_center:
-        self.doc.cost_center = ''
-    
-  # Account must be ledger, active and not freezed
-  #-----------------------------------------------
-  def validate_account_details(self, adv_adj):
-    ret = sql("select group_or_ledger, docstatus, freeze_account, company from tabAccount where name=%s", self.doc.account)
-    
-    # 1. Checks whether Account type is group or ledger
-    if ret and ret[0][0]=='Group':
-      msgprint("Error: All accounts must be Ledgers. Account %s is a group" % self.doc.account)
-      raise Exception
-
-    # 2. Checks whether Account is active
-    if ret and ret[0][1]==2:
-      msgprint("Error: All accounts must be Active. Account %s moved to Trash" % self.doc.account)
-      raise Exception
-      
-    # 3. Account has been freezed for other users except account manager
-    if ret and ret[0][2]== 'Yes' and not adv_adj and not 'Accounts Manager' in session['data']['roles']:
-      msgprint("Error: Account %s has been freezed. Only Accounts Manager can do transaction against this account." % self.doc.account)
-      raise Exception
-      
-    # 4. Check whether account is within the company
-    if ret and ret[0][3] != self.doc.company:
-      msgprint("Account: %s does not belong to the company: %s" % (self.doc.account, self.doc.company))
-      raise Exception
-      
-  # Posting date must be in selected fiscal year and fiscal year is active
-  #-------------------------------------------------------------------------
-  def validate_posting_date(self):
-    fy = sql("select docstatus, year_start_date from `tabFiscal Year` where name=%s ", self.doc.fiscal_year)
-    ysd = fy[0][1]
-    yed = get_last_day(get_first_day(ysd,0,11))
-    pd = getdate(self.doc.posting_date)
-    if fy[0][0] == 2:
-      msgprint("Fiscal Year is not active. You can restore it from Trash")
-      raise Exception
-    if pd < ysd or pd > yed:
-      msgprint("Posting date must be in the Selected Financial Year")
-      raise Exception
-      
-  
-  # Nobody can do GL Entries where posting date is before freezing date except 'Accounts Manager'
-  #----------------------------------------------------------------------------------------------
-  def check_freezing_date(self, adv_adj):
-    if not adv_adj:
-      pd,fd = getdate(self.doc.posting_date),0
-      acc_frozen_upto = get_obj(dt = 'Manage Account').doc.acc_frozen_upto or ''
-      if acc_frozen_upto:
-        fd = getdate(acc_frozen_upto)
-      
-      bde_auth_role = get_value( 'Manage Account', None,'bde_auth_role')
-      if fd and pd <= fd and (bde_auth_role and not bde_auth_role in session['data']['roles']):
-        msgprint("Message:You are not authorized to do back dated entries for account: %s before %s." % (self.doc.account, str(fd)))
-        raise Exception
-
-  # create new bal if not exists
-  #-----------------------------
-  def create_new_balances(self, ac_obj, p, amt):
-    ac = addchild(ac_obj.doc, 'account_balances', 'Account Balance', 1)
-    ac.period = p[0]
-    ac.start_date = p[1].strftime('%Y-%m-%d')
-    ac.end_date = p[2].strftime('%Y-%m-%d')
-    ac.fiscal_year = p[3]
-    ac.opening = 0
-    ac.balance = amt
-    ac.save()
-
-  # Post Balance
-  # ------------
-  def post_balance(self, acc):
-    # get details
-    lft = sql("select lft, rgt, debit_or_credit from `tabAccount` where name='%s'" % acc)
-
-    # amount to debit
-    amt = flt(self.doc.debit) - flt(self.doc.credit)
-    if lft[0][2] == 'Credit': amt = -amt
-
-    # get periods
-    periods = self.get_period_list(self.doc.posting_date, self.doc.fiscal_year)
-    
-    acc_obj = get_obj('Account', self.doc.account)
-    for p in periods:
-      if not sql("select name from `tabAccount Balance` where parent=%s and period=%s", (self.doc.account, p[0])):
-        self.create_new_balances(acc_obj, p, amt)
-      else:
-        # update current
-        pl = sql("update `tabAccount Balance` t1, `tabAccount` t2 set t1.balance = t1.balance + %s where t2.lft<=%s and t2.rgt>=%s and t1.parent = t2.name and t1.period = '%s'" % (amt, cint(lft[0][0]), cint(lft[0][1]), p[0]))
-
-    # update opening
-    if self.doc.is_opening=='Yes':
-      pl = sql("update `tabAccount Balance` t1, `tabAccount` t2 set t1.opening = ifnull(t1.opening,0) + %s where t2.lft<=%s and t2.rgt>=%s and t1.parent = t2.name and t1.period = '%s'" % (amt, cint(lft[0][0]), cint(lft[0][1]), self.doc.fiscal_year))
-    
-  # Get periods(month and year)
-  #-----------------------------
-  def get_period_list(self, dt, fy):
-    pl = sql("SELECT name, start_date, end_date, fiscal_year FROM tabPeriod WHERE end_date >='%s' and fiscal_year = '%s' and period_type in ('Month', 'Year')" % (dt,fy))
-    return pl
-
-  # Voucher Balance
-  # ---------------  
-  def update_outstanding_amt(self):
-    # get final outstanding amt
-    bal = flt(sql("select sum(debit)-sum(credit) from `tabGL Entry` where against_voucher=%s and against_voucher_type=%s and ifnull(is_cancelled,'No') = 'No'", (self.doc.against_voucher, self.doc.against_voucher_type))[0][0] or 0.0)
-    tds = 0
-    
-    if self.doc.against_voucher_type=='Payable Voucher':
-      # amount to debit
-      bal = -bal
-      
-      # Check if tds applicable
-      tds = sql("select total_tds_on_voucher from `tabPayable Voucher` where name = '%s'" % self.doc.against_voucher)
-      tds = tds and flt(tds[0][0]) or 0
-    
-    # Validation : Outstanding can not be negative
-    if bal < 0 and not tds and self.doc.is_cancelled == 'No':
-      msgprint("Outstanding for Voucher %s will become %s. Outstanding cannot be less than zero. Please match exact outstanding." % (self.doc.against_voucher, fmt_money(bal)))
-      raise Exception
-      
-    # Update outstanding amt on against voucher
-    sql("update `tab%s` set outstanding_amount=%s where name='%s'"% (self.doc.against_voucher_type,bal,self.doc.against_voucher))
-    
-          
-  # Total outstanding can not be greater than credit limit for any time for any customer
-  #---------------------------------------------------------------------------------------------
-  def check_credit_limit(self):
-    #check for user role Freezed
-    master_type=sql("select master_type from `tabAccount` where name='%s' " %self.doc.account)
-    tot_outstanding = 0  #needed when there is no GL Entry in the system for that acc head
-    if (self.doc.voucher_type=='Journal Voucher' or self.doc.voucher_type=='Receivable Voucher') and (master_type and master_type[0][0]=='Customer'):
-      dbcr=sql("select sum(debit),sum(credit) from `tabGL Entry` where account = '%s' and is_cancelled='No'" % self.doc.account)
-      if dbcr:
-        tot_outstanding = flt(dbcr[0][0])-flt(dbcr[0][1])+flt(self.doc.debit)-flt(self.doc.credit)
-      get_obj('Account',self.doc.account).check_credit_limit(self.doc.account, self.doc.company, tot_outstanding)
-  
-  #for opening entry account can not be pl account
-  #-----------------------------------------------
-  def check_pl_account(self):
-    if self.doc.is_opening=='Yes':
-      is_pl_account=sql("select is_pl_account from `tabAccount` where name='%s'"%(self.doc.account))
-      if is_pl_account and is_pl_account[0][0]=='Yes':
-        msgprint("For opening balance entry account can not be a PL account")
-        raise Exception
-
-  # Validate
-  # --------
-  def validate(self):  # not called on cancel
-    self.check_mandatory()
-    self.pl_must_have_cost_center()
-    self.validate_posting_date()
-    self.doc.is_cancelled = 'No' # will be reset by GL Control if cancelled
-    self.check_credit_limit()
-    self.check_pl_account()
-
-  # On Update
-  #----------
-  def on_update(self,adv_adj):
-    # Account must be ledger, active and not freezed
-    self.validate_account_details(adv_adj)
-    
-    # Posting date must be after freezing date
-    self.check_freezing_date(adv_adj)
-    
-    # Update current account balance
-    self.post_balance(self.doc.account)
-    
-    # Update outstanding amt on against voucher
-    if self.doc.against_voucher:
-      self.update_outstanding_amt()
\ No newline at end of file
diff --git a/accounts/doctype/pos_setting/pos_setting.js b/accounts/doctype/pos_setting/pos_setting.js
deleted file mode 100755
index 2bbc08c..0000000
--- a/accounts/doctype/pos_setting/pos_setting.js
+++ /dev/null
@@ -1,38 +0,0 @@
-cur_frm.cscript.onload = function(doc,cdt,cdn){
-  $c_obj(make_doclist(cdt,cdn),'get_series','',function(r,rt){
-    if(r.message) set_field_options('naming_series', r.message);
-  });
- 
-  
-}
-
-//cash bank account
-//------------------------------------
-cur_frm.fields_dict['cash_bank_account'].get_query = function(doc,cdt,cdn) {
-  return 'SELECT tabAccount.name FROM tabAccount WHERE tabAccount.debit_or_credit="Debit" AND tabAccount.is_pl_account = "No" AND tabAccount.group_or_ledger="Ledger" AND tabAccount.docstatus!=2 AND tabAccount.company="'+doc.company+'" AND tabAccount.%(key)s LIKE "%s"'
-}
-
-// Income Account 
-// --------------------------------
-cur_frm.fields_dict['income_account'].get_query = function(doc,cdt,cdn) {
-  return 'SELECT tabAccount.name FROM tabAccount WHERE tabAccount.debit_or_credit="Credit" AND tabAccount.group_or_ledger="Ledger" AND tabAccount.docstatus!=2 AND tabAccount.company="'+doc.company+'" AND tabAccount.account_type ="Income Account" AND tabAccount.%(key)s LIKE "%s"'
-}
-
-
-// Cost Center 
-// -----------------------------
-cur_frm.fields_dict['cost_center'].get_query = function(doc,cdt,cdn) {
-  return 'SELECT `tabCost Center`.`name` FROM `tabCost Center` WHERE `tabCost Center`.`company_name` = "' +doc.company+'" AND `tabCost Center`.%(key)s LIKE "%s" AND `tabCost Center`.`group_or_ledger` = "Ledger" AND `tabCost Center`.`docstatus`!= 2 ORDER BY  `tabCost Center`.`name` ASC LIMIT 50';
-}
-
-//get query select Territory
-//=================================================================
-cur_frm.fields_dict['territory'].get_query = function(doc,cdt,cdn) {
-  return 'SELECT `tabTerritory`.`name`,`tabTerritory`.`parent_territory` FROM `tabTerritory` WHERE `tabTerritory`.`is_group` = "No" AND `tabTerritory`.`docstatus`!= 2 AND `tabTerritory`.%(key)s LIKE "%s"  ORDER BY  `tabTerritory`.`name` ASC LIMIT 50';
-}
-
-
-// ------------------ Get Print Heading ------------------------------------
-cur_frm.fields_dict['select_print_heading'].get_query = function(doc, cdt, cdn) {
-  return 'SELECT `tabPrint Heading`.name FROM `tabPrint Heading` WHERE `tabPrint Heading`.docstatus !=2 AND `tabPrint Heading`.name LIKE "%s" ORDER BY `tabPrint Heading`.name ASC LIMIT 50';
-}
diff --git a/accounts/doctype/receivable_voucher/receivable_voucher.js b/accounts/doctype/receivable_voucher/receivable_voucher.js
deleted file mode 100644
index 14a53c4..0000000
--- a/accounts/doctype/receivable_voucher/receivable_voucher.js
+++ /dev/null
@@ -1,419 +0,0 @@
-cur_frm.cscript.tname = "RV Detail";
-cur_frm.cscript.fname = "entries";
-cur_frm.cscript.other_fname = "other_charges";
-cur_frm.cscript.sales_team_fname = "sales_team";
-
-// print heading
-cur_frm.pformat.print_heading = 'Invoice';
-
-$import(Sales Common)
-$import(Other Charges)
-$import(SMS Control)
-
-// On Load
-// -------
-cur_frm.cscript.onload = function(doc,dt,dn) {
-  if(!doc.customer && doc.debit_to) get_field(dt, 'debit_to', dn).print_hide = 0;
-  if (doc.__islocal) {
-		if(!doc.voucher_date) set_multiple(dt,dn,{voucher_date:get_today()});
-		if(!doc.due_date) set_multiple(dt,dn,{due_date:get_today()});
-		if(!doc.posting_date) set_multiple(dt,dn,{posting_date:get_today()});
-
-		//for previously created sales invoice, set required field related to pos
-		if(doc.is_pos ==1) cur_frm.cscript.is_pos(doc, dt, dn);
-
- 	    hide_field(['customer_address','contact_person','customer_name','address_display','contact_display','contact_mobile','contact_email','territory','customer_group']);
-  }
-}
-
-cur_frm.cscript.onload_post_render = function(doc, dt, dn) {
-	if(doc.customer && doc.__islocal) {
-		// called from mapper, update the account names for items and customer
-		$c_obj(make_doclist(doc.doctype,doc.name),
-			'load_default_accounts','',
-			function(r,rt) {
-				refresh_field('entries');
-				cur_frm.cscript.customer(doc,dt,dn);
-			}
-		);
-	}
-
-	if(!doc.customer && doc.__islocal) {
-		// new -- load default taxes
-		cur_frm.cscript.load_taxes(doc, cdt, cdn);
-	}
-}
-
-
-// Hide Fields
-// ------------
-cur_frm.cscript.hide_fields = function(doc, cdt, cdn) {
-  if(cint(doc.is_pos) == 1)
-    hide_field(['project_name', 'due_date', 'posting_time', 'sales_order_main', 'delivery_note_main', 'Get Items']);
-  else
-    unhide_field(['project_name', 'due_date', 'posting_time', 'sales_order_main', 'delivery_note_main', 'Get Items']);
-}
-
-
-// Refresh
-// -------
-cur_frm.cscript.refresh = function(doc, dt, dn) {
-
-  // Show / Hide button
-  cur_frm.clear_custom_buttons();
-
-  if(doc.docstatus==1) {
-    cur_frm.add_custom_button('View Ledger', cur_frm.cscript['View Ledger Entry']);
-    cur_frm.add_custom_button('Send SMS', cur_frm.cscript['Send SMS']);
-    unhide_field('Repair Outstanding Amt');
-
-    if(doc.is_pos==1 && doc.update_stock!=1)
-      cur_frm.add_custom_button('Make Delivery', cur_frm.cscript['Make Delivery Note']);
-
-    if(doc.outstanding_amount!=0)
-      cur_frm.add_custom_button('Make Payment Entry', cur_frm.cscript['Make Bank Voucher']);
-  }
-  else
-    hide_field('Repair Outstanding Amt');
-  cur_frm.cscript.is_opening(doc, dt, dn);
-  cur_frm.cscript.hide_fields(doc, cdt, cdn);
-}
-
-//fetch retail transaction related fields
-//--------------------------------------------
-cur_frm.cscript.is_pos = function(doc,dt,dn){
-  cur_frm.cscript.hide_fields(doc, cdt, cdn);
-  if(doc.is_pos == 1){
-    if (!doc.company) {
-      msgprint("Please select company to proceed");
-      doc.is_pos = 0;
-      refresh_field('is_pos');
-    }
-    else {
-      var callback = function(r,rt){
-        cur_frm.refresh();
-      }
-      $c_obj(make_doclist(dt,dn),'set_pos_fields','',callback);
-    }
-  }
-}
-
-
-cur_frm.cscript.warehouse = function(doc, cdt , cdn) {
-  var d = locals[cdt][cdn];
-  if (!d.item_code) {alert("please enter item code first"); return};
-  if (d.warehouse) {
-    arg = "{'item_code':'" + d.item_code + "','warehouse':'" + d.warehouse +"'}";
-    get_server_fields('get_actual_qty',arg,'entries',doc,cdt,cdn,1);
-  }
-}
-
-
-
-//Customer
-cur_frm.cscript.customer = function(doc,dt,dn) {
-
-  var callback = function(r,rt) {
-      var doc = locals[cur_frm.doctype][cur_frm.docname];
-      get_server_fields('get_debit_to','','',doc, dt, dn, 0);
-      cur_frm.refresh();
-  }
-
-  if(doc.customer) $c_obj(make_doclist(doc.doctype, doc.name), 'get_default_customer_address', '', callback);
-  if(doc.customer) unhide_field(['customer_address','contact_person','customer_name','address_display','contact_display','contact_mobile','contact_email','territory','customer_group']);
-}
-
-cur_frm.cscript.customer_address = cur_frm.cscript.contact_person = function(doc,dt,dn) {
-  if(doc.customer) get_server_fields('get_customer_address', JSON.stringify({customer: doc.customer, address: doc.customer_address, contact: doc.contact_person}),'', doc, dt, dn, 1);
-}
-
-cur_frm.fields_dict.customer_address.on_new = function(dn) {
-  locals['Address'][dn].customer = locals[cur_frm.doctype][cur_frm.docname].customer;
-  locals['Address'][dn].customer_name = locals[cur_frm.doctype][cur_frm.docname].customer_name;
-}
-
-cur_frm.fields_dict.contact_person.on_new = function(dn) {
-  locals['Contact'][dn].customer = locals[cur_frm.doctype][cur_frm.docname].customer;
-  locals['Contact'][dn].customer_name = locals[cur_frm.doctype][cur_frm.docname].customer_name;
-}
-
-cur_frm.fields_dict['customer_address'].get_query = function(doc, cdt, cdn) {
-  return 'SELECT name,address_line1,city FROM tabAddress WHERE customer = "'+ doc.customer +'" AND docstatus != 2 AND name LIKE "%s" ORDER BY name ASC LIMIT 50';
-}
-
-cur_frm.fields_dict['contact_person'].get_query = function(doc, cdt, cdn) {
-  return 'SELECT name,CONCAT(first_name," ",ifnull(last_name,"")) As FullName,department,designation FROM tabContact WHERE customer = "'+ doc.customer +'" AND docstatus != 2 AND name LIKE "%s" ORDER BY name ASC LIMIT 50';
-}
-
-
-// Set Due Date = posting date + credit days
-cur_frm.cscript.debit_to = function(doc,dt,dn) {
-
-  var callback2 = function(r,rt) {
-      var doc = locals[cur_frm.doctype][cur_frm.docname];
-      cur_frm.refresh();
-  }
-
-  var callback = function(r,rt) {
-      var doc = locals[cur_frm.doctype][cur_frm.docname];
-      if(doc.customer) $c_obj(make_doclist(dt,dn), 'get_default_customer_address', '', callback2);
-      if(doc.customer) unhide_field(['customer_address','contact_person','customer_name','address_display','contact_display','contact_mobile','contact_email','territory','customer_group']);
-      cur_frm.refresh();
-  }
-
-  if(doc.debit_to && doc.posting_date){
-    get_server_fields('get_cust_and_due_date','','',doc,dt,dn,1,callback);
-  }
-}
-
-
-
-//refresh advance amount
-//-------------------------------------------------
-
-cur_frm.cscript.paid_amount = function(doc,dt,dn){
-  doc.outstanding_amount = flt(doc.grand_total) - flt(doc.paid_amount) - flt(doc.write_off_amount);
-  refresh_field('outstanding_amount');
-}
-
-
-//---- get customer details ----------------------------
-cur_frm.cscript.project_name = function(doc,cdt,cdn){
-	$c_obj(make_doclist(doc.doctype, doc.name),'pull_project_customer','', function(r,rt){
-	  refresh_many(['customer', 'customer_name','customer_address', 'territory']);
-	});
-}
-
-//Set debit and credit to zero on adding new row
-//----------------------------------------------
-cur_frm.fields_dict['entries'].grid.onrowadd = function(doc, cdt, cdn){
-
-  cl = getchildren('RV Detail', doc.name, cur_frm.cscript.fname, doc.doctype);
-  acc = '';
-  cc = '';
-
-  for(var i = 0; i<cl.length; i++) {
-
-    if (cl[i].idx == 1){
-      acc = cl[i].income_account;
-      cc = cl[i].cost_center;
-    }
-    else{
-      if (! cl[i].income_account) { cl[i].income_account = acc; refresh_field('income_account', cl[i].name, 'entries');}
-      if (! cl[i].cost_center)  {cl[i].cost_center = cc;refresh_field('cost_center', cl[i].name, 'entries');}
-    }
-  }
-}
-
-cur_frm.cscript.is_opening = function(doc, dt, dn) {
-  hide_field('aging_date');
-  if (doc.is_opening == 'Yes') unhide_field('aging_date');
-}
-
-/* **************************** TRIGGERS ********************************** */
-
-
-
-// Posting Date
-// ------------
-//cur_frm.cscript.posting_date = cur_frm.cscript.debit_to;
-
-
-// Get Items based on SO or DN Selected
-cur_frm.cscript['Get Items'] = function(doc, dt, dn) {
-  var callback = function(r,rt) {
-	  unhide_field(['customer_address','contact_person','customer_name','address_display','contact_display','contact_mobile','contact_email','territory','customer_group']);
-	  cur_frm.refresh();
-  }
-  get_server_fields('pull_details','','',doc, dt, dn,1,callback);
-}
-
-
-
-// Allocated Amount in advances table
-// -----------------------------------
-cur_frm.cscript.allocated_amount = function(doc,cdt,cdn){
-  cur_frm.cscript.calc_adjustment_amount(doc,cdt,cdn);
-}
-
-//Make Delivery Note Button
-//-----------------------------
-
-cur_frm.cscript['Make Delivery Note'] = function() {
-
-  var doc = cur_frm.doc
-  n = createLocal('Delivery Note');
-  $c('dt_map', args={
-    'docs':compress_doclist([locals['Delivery Note'][n]]),
-    'from_doctype':doc.doctype,
-    'to_doctype':'Delivery Note',
-    'from_docname':doc.name,
-    'from_to_list':"[['Receivable Voucher','Delivery Note'],['RV Detail','Delivery Note Detail'],['RV Tax Detail','RV Tax Detail'],['Sales Team','Sales Team']]"
-    }, function(r,rt) {
-       loaddoc('Delivery Note', n);
-    }
-  );
-}
-
-
-
-// Make Bank Voucher Button
-// -------------------------
-cur_frm.cscript['Make Bank Voucher'] = function(doc, dt, dn) {
-  cur_frm.cscript.make_jv(cur_frm.doc);
-}
-
-
-/* ***************************** Get Query Functions ************************** */
-
-// Debit To
-// ---------
-cur_frm.fields_dict.debit_to.get_query = function(doc) {
-  return 'SELECT tabAccount.name FROM tabAccount WHERE tabAccount.debit_or_credit="Debit" AND tabAccount.is_pl_account = "No" AND tabAccount.group_or_ledger="Ledger" AND tabAccount.docstatus!=2 AND tabAccount.company="'+doc.company+'" AND tabAccount.%(key)s LIKE "%s"'
-}
-
-// Cash/bank account
-//------------------
-cur_frm.fields_dict.cash_bank_account.get_query = function(doc) {
-  return 'SELECT tabAccount.name FROM tabAccount WHERE tabAccount.debit_or_credit="Debit" AND tabAccount.is_pl_account = "No" AND tabAccount.group_or_ledger="Ledger" AND tabAccount.docstatus!=2 AND tabAccount.company="'+doc.company+'" AND tabAccount.%(key)s LIKE "%s"'
-}
-
-// Write off account
-//------------------
-cur_frm.fields_dict.write_off_account.get_query = function(doc) {
-  return 'SELECT tabAccount.name FROM tabAccount WHERE tabAccount.debit_or_credit="Debit" AND tabAccount.is_pl_account = "Yes" AND tabAccount.group_or_ledger="Ledger" AND tabAccount.docstatus!=2 AND tabAccount.company="'+doc.company+'" AND tabAccount.%(key)s LIKE "%s"'
-}
-
-// Write off cost center
-//-----------------------
-cur_frm.fields_dict.write_off_cost_center.get_query = function(doc) {
-  return 'SELECT `tabCost Center`.name FROM `tabCost Center` WHERE `tabCost Center`.group_or_ledger="Ledger" AND `tabCost Center`.docstatus!=2 AND `tabCost Center`.company_name="'+doc.company+'" AND `tabCost Center`.%(key)s LIKE "%s"'
-}
-
-//project name
-//--------------------------
-cur_frm.fields_dict['project_name'].get_query = function(doc, cdt, cdn) {
-  var cond = '';
-  if(doc.customer) cond = '(`tabProject`.customer = "'+doc.customer+'" OR IFNULL(`tabProject`.customer,"")="") AND';
-  return repl('SELECT `tabProject`.name FROM `tabProject` WHERE `tabProject`.status = "Open" AND %(cond)s `tabProject`.name LIKE "%s" ORDER BY `tabProject`.name ASC LIMIT 50', {cond:cond});
-}
-
-//Territory
-//-----------------------------
-cur_frm.fields_dict['territory'].get_query = function(doc,cdt,cdn) {
-  return 'SELECT `tabTerritory`.`name`,`tabTerritory`.`parent_territory` FROM `tabTerritory` WHERE `tabTerritory`.`is_group` = "No" AND `tabTerritory`.`docstatus`!= 2 AND `tabTerritory`.%(key)s LIKE "%s"  ORDER BY  `tabTerritory`.`name` ASC LIMIT 50';
-}
-
-// Income Account in Details Table
-// --------------------------------
-cur_frm.fields_dict.entries.grid.get_field("income_account").get_query = function(doc) {
-  return 'SELECT tabAccount.name FROM tabAccount WHERE tabAccount.debit_or_credit="Credit" AND tabAccount.group_or_ledger="Ledger" AND tabAccount.docstatus!=2 AND tabAccount.company="'+doc.company+'" AND tabAccount.%(key)s LIKE "%s"';
-}
-
-// warehouse in detail table
-//----------------------------
-cur_frm.fields_dict['entries'].grid.get_field('warehouse').get_query= function(doc, cdt, cdn) {
-  var d = locals[cdt][cdn];
-  return "SELECT `tabBin`.`warehouse`, `tabBin`.`actual_qty` FROM `tabBin` WHERE `tabBin`.`item_code` = '"+ d.item_code +"' AND ifnull(`tabBin`.`actual_qty`,0) > 0 AND `tabBin`.`warehouse` like '%s' ORDER BY `tabBin`.`warehouse` DESC LIMIT 50";
-}
-
-// Cost Center in Details Table
-// -----------------------------
-cur_frm.fields_dict.entries.grid.get_field("cost_center").get_query = function(doc) {
-  return 'SELECT `tabCost Center`.`name` FROM `tabCost Center` WHERE `tabCost Center`.`company_name` = "' +doc.company+'" AND `tabCost Center`.%(key)s LIKE "%s" AND `tabCost Center`.`group_or_ledger` = "Ledger" AND `tabCost Center`.`docstatus`!= 2 ORDER BY  `tabCost Center`.`name` ASC LIMIT 50';
-}
-
-// Sales Order
-// -----------
-cur_frm.fields_dict.sales_order_main.get_query = function(doc) {
-  if (doc.customer)
-    return 'SELECT DISTINCT `tabSales Order`.`name` FROM `tabSales Order` WHERE `tabSales Order`.company = "' + doc.company + '" and `tabSales Order`.`docstatus` = 1 and `tabSales Order`.`status` != "Stopped" and ifnull(`tabSales Order`.per_billed,0) < 100 and `tabSales Order`.`customer` =  "' + doc.customer + '" and `tabSales Order`.%(key)s LIKE "%s" ORDER BY `tabSales Order`.`name` DESC LIMIT 50';
-  else
-    return 'SELECT DISTINCT `tabSales Order`.`name` FROM `tabSales Order` WHERE `tabSales Order`.company = "' + doc.company + '" and `tabSales Order`.`docstatus` = 1 and `tabSales Order`.`status` != "Stopped" and ifnull(`tabSales Order`.per_billed,0) < 100 and `tabSales Order`.%(key)s LIKE "%s" ORDER BY `tabSales Order`.`name` DESC LIMIT 50';
-}
-
-// Delivery Note
-// --------------
-cur_frm.fields_dict.delivery_note_main.get_query = function(doc) {
-  if (doc.customer)
-    return 'SELECT DISTINCT `tabDelivery Note`.`name` FROM `tabDelivery Note` WHERE `tabDelivery Note`.company = "' + doc.company + '" and `tabDelivery Note`.`docstatus` = 1 and ifnull(`tabDelivery Note`.per_billed,0) < 100 and `tabDelivery Note`.`customer` =  "' + doc.customer + '" and `tabDelivery Note`.%(key)s LIKE "%s" ORDER BY `tabDelivery Note`.`name` DESC LIMIT 50';
-  else
-    return 'SELECT DISTINCT `tabDelivery Note`.`name` FROM `tabDelivery Note` WHERE `tabDelivery Note`.company = "' + doc.company + '" and `tabDelivery Note`.`docstatus` = 1 and ifnull(`tabDelivery Note`.per_billed,0) < 100 and `tabDelivery Note`.%(key)s LIKE "%s" ORDER BY `tabDelivery Note`.`name` DESC LIMIT 50';
-}
-
-
-
-cur_frm.cscript.income_account = function(doc, cdt, cdn){
-  var d = locals[cdt][cdn];
-  if(d.income_account){
-    var cl = getchildren('RV Detail', doc.name, cur_frm.cscript.fname, doc.doctype);
-    for(var i = 0; i < cl.length; i++){
-      if(!cl[i].income_account) cl[i].income_account = d.income_account;
-    }
-  }
-  refresh_field(cur_frm.cscript.fname);
-}
-
-
-cur_frm.cscript.cost_center = function(doc, cdt, cdn){
-  var d = locals[cdt][cdn];
-  if(d.cost_center){
-    var cl = getchildren('RV Detail', doc.name, cur_frm.cscript.fname, doc.doctype);
-    for(var i = 0; i < cl.length; i++){
-      if(!cl[i].cost_center) cl[i].cost_center = d.cost_center;
-    }
-  }
-  refresh_field(cur_frm.cscript.fname);
-}
-
-/* **************************************** Utility Functions *************************************** */
-
-// Details Calculation
-// --------------------
-cur_frm.cscript.calc_adjustment_amount = function(doc,cdt,cdn) {
-  var doc = locals[doc.doctype][doc.name];
-  var el = getchildren('Advance Adjustment Detail',doc.name,'advance_adjustment_details');
-  var total_adjustment_amt = 0
-  for(var i in el) {
-      total_adjustment_amt += flt(el[i].allocated_amount)
-  }
-  doc.total_advance = flt(total_adjustment_amt);
-  doc.outstanding_amount = flt(doc.grand_total) - flt(total_adjustment_amt) - flt(doc.paid_amount) - flt(doc.write_off_amount);
-  refresh_many(['total_advance','outstanding_amount']);
-}
-
-
-// Make Journal Voucher
-// --------------------
-cur_frm.cscript.make_jv = function(doc, dt, dn) {
-  var jv = LocalDB.create('Journal Voucher');
-  jv = locals['Journal Voucher'][jv];
-  jv.voucher_type = 'Bank Voucher';
-
-  jv.company = doc.company;
-  jv.remark = repl('Payment received against invoice %(vn)s for %(rem)s', {vn:doc.name, rem:doc.remarks});
-  jv.fiscal_year = doc.fiscal_year;
-
-  // debit to creditor
-  var d1 = LocalDB.add_child(jv, 'Journal Voucher Detail', 'entries');
-  d1.account = doc.debit_to;
-  d1.credit = doc.outstanding_amount;
-  d1.against_invoice = doc.name;
-
-
-  // credit to bank
-  var d1 = LocalDB.add_child(jv, 'Journal Voucher Detail', 'entries');
-  d1.debit = doc.outstanding_amount;
-
-  loaddoc('Journal Voucher', jv.name);
-}
-
-
-/****************** Get Accounting Entry *****************/
-cur_frm.cscript['View Ledger Entry'] = function(){
-  var callback = function(report){
-    report.set_filter('GL Entry', 'Voucher No',cur_frm.doc.name);
-    report.dt.run();
-  }
-  loadreport('GL Entry','General Ledger', callback);
-}
diff --git a/buying/doctype/qa_inspection_report/qa_inspection_report.js b/buying/doctype/qa_inspection_report/qa_inspection_report.js
deleted file mode 100644
index 67281ee..0000000
--- a/buying/doctype/qa_inspection_report/qa_inspection_report.js
+++ /dev/null
@@ -1,26 +0,0 @@
-cur_frm.cscript.item_code = function(doc, cdt, cdn) {
-  if (doc.item_code)
-    get_server_fields('get_purchase_receipt_item_details','','',doc,cdt,cdn,1);
-}
-
-cur_frm.cscript.inspection_type = function(doc, cdt, cdn) {
-  if(doc.inspection_type == 'Incoming'){
-    doc.delivery_note_no = '';
-    hide_field('delivery_note_no');    
-    unhide_field('purchase_receipt_no');
-  }
-  else if(doc.inspection_type == 'Outgoing'){
-    doc.purchase_receipt_no = '';
-    unhide_field('delivery_note_no');
-    hide_field('purchase_receipt_no');
-
-  }
-  else {
-    doc.purchase_receipt_no = '';
-    doc.delivery_note_no = '';    
-    hide_field('purchase_receipt_no');
-    hide_field('delivery_note_no');
-  }
-}
-
-cur_frm.cscript.refresh = cur_frm.cscript.inspection_type;
\ No newline at end of file
diff --git a/cgi-bin/README.md b/cgi-bin/README.md
new file mode 100644
index 0000000..0ea0779
--- /dev/null
+++ b/cgi-bin/README.md
@@ -0,0 +1 @@
+## Deprecated
\ No newline at end of file
diff --git a/cgi-bin/getfile.cgi b/cgi-bin/getfile.cgi
new file mode 100755
index 0000000..6b11305
--- /dev/null
+++ b/cgi-bin/getfile.cgi
@@ -0,0 +1,83 @@
+#!/usr/bin/python
+
+try:
+
+	import sys, os
+	
+	sys.path.append('../lib/py')
+	sys.path.append('../erpnext')
+
+	def getTraceback():
+		import sys, traceback, string
+		type, value, tb = sys.exc_info()
+		body = "Traceback (innermost last):\n"
+		list = traceback.format_tb(tb, None) \
+			+ traceback.format_exception_only(type, value)
+		body = body + "%-20s %s" % (string.join(list[:-1], ""), list[-1])
+		return body
+
+	import cgi
+	import webnotes
+	import webnotes.auth
+	import webnotes.utils
+	import webnotes.utils.file_manager
+	import webnotes.db
+	import webnotes.defs
+	
+	sys.path.append(webnotes.defs.modules_path)	
+	
+	form = cgi.FieldStorage()
+	webnotes.form_dict = {}
+	
+	for each in form.keys():
+		webnotes.form_dict[each] = form.getvalue(each)	
+	
+	n = form.getvalue('name')
+
+	# authenticate
+	webnotes.auth.HTTPRequest()
+	
+	# get file
+	res = webnotes.utils.file_manager.get_file(n)
+	
+	fname = res[0]
+	if hasattr(res[1], 'tostring'):
+		fcontent = res[1].tostring()
+	else: 
+		fcontent = res[1]
+
+	if form.getvalue('thumbnail'):
+		tn = webnotes.utils.cint(form.getvalue('thumbnail'))
+		try:
+			from PIL import Image
+			import cStringIO
+			
+			fobj = cStringIO.StringIO(fcontent)
+			image = Image.open(fobj)
+			image.thumbnail((tn,tn*2), Image.ANTIALIAS)
+			outfile = cStringIO.StringIO()
+	
+			if image.mode != "RGB":
+				image = image.convert("RGB")
+	
+			image.save(outfile, 'JPEG')
+			outfile.seek(0)
+			fcontent = outfile.read()
+		except:
+			pass
+
+	import mimetypes
+	print "Content-Type: %s" % (mimetypes.guess_type(fname)[0] or 'application/unknown')
+	print "Content-Disposition: filename="+fname.replace(' ', '_')
+	print "Cache-Control: max-age=3600"
+	print
+	print fcontent
+				
+except Exception, e:
+	print "Content-Type: text/html"
+	try:
+		out = {'message':'', 'exc':getTraceback().replace('\n','<br>')}
+	except:
+		out = {'exc': e}
+	print
+	print str(out)
diff --git a/config/conf.py b/config/conf.py
new file mode 100644
index 0000000..1cf35e2
--- /dev/null
+++ b/config/conf.py
@@ -0,0 +1,7 @@
+index_path = '/'
+
+include_paths = [
+	'erpnext',
+	'lib/py',
+	'lib/py/legacy'
+]
\ No newline at end of file
diff --git a/data/master.sql.gz b/data/master.sql.gz
new file mode 100644
index 0000000..f3eaf34
--- /dev/null
+++ b/data/master.sql.gz
Binary files differ
diff --git a/support/__init__.py b/erpnext/.no_timestamps
similarity index 100%
copy from support/__init__.py
copy to erpnext/.no_timestamps
diff --git a/accounts/DocType Label/Payable Voucher/Payable Voucher.txt b/erpnext/accounts/DocType Label/Payable Voucher/Payable Voucher.txt
similarity index 100%
rename from accounts/DocType Label/Payable Voucher/Payable Voucher.txt
rename to erpnext/accounts/DocType Label/Payable Voucher/Payable Voucher.txt
diff --git a/accounts/DocType Label/Receivable Voucher/Receivable Voucher.txt b/erpnext/accounts/DocType Label/Receivable Voucher/Receivable Voucher.txt
similarity index 100%
rename from accounts/DocType Label/Receivable Voucher/Receivable Voucher.txt
rename to erpnext/accounts/DocType Label/Receivable Voucher/Receivable Voucher.txt
diff --git a/accounts/DocType Mapper/Delivery Note-Receivable Voucher/Delivery Note-Receivable Voucher.txt b/erpnext/accounts/DocType Mapper/Delivery Note-Receivable Voucher/Delivery Note-Receivable Voucher.txt
similarity index 91%
rename from accounts/DocType Mapper/Delivery Note-Receivable Voucher/Delivery Note-Receivable Voucher.txt
rename to erpnext/accounts/DocType Mapper/Delivery Note-Receivable Voucher/Delivery Note-Receivable Voucher.txt
index 40cdad3..9ed756f 100644
--- a/accounts/DocType Mapper/Delivery Note-Receivable Voucher/Delivery Note-Receivable Voucher.txt
+++ b/erpnext/accounts/DocType Mapper/Delivery Note-Receivable Voucher/Delivery Note-Receivable Voucher.txt
@@ -5,7 +5,7 @@
 	{
 		'creation': '2010-08-08 17:09:34',
 		'docstatus': 0,
-		'modified': '2011-09-13 17:35:54',
+		'modified': '2011-09-15 15:04:42',
 		'modified_by': 'Administrator',
 		'owner': 'Administrator'
 	},
@@ -151,6 +151,17 @@
 		'match_id': 1,
 		'to_field': 'entries',
 		'to_table': 'RV Detail',
+		'validation_logic': 'amount > ifnull(billed_amt, 0) and docstatus = 1'
+	},
+
+	# Table Mapper Detail
+	{
+		'doctype': 'Table Mapper Detail',
+		'from_field': 'delivery_note_details',
+		'from_table': 'Delivery Note Detail',
+		'match_id': 1,
+		'to_field': 'entries',
+		'to_table': 'RV Detail',
 		'validation_logic': '(ifnull(amount, 0) = 0 or amount > ifnull(billed_amt, 0)) and docstatus = 1'
 	},
 
diff --git a/accounts/DocType Mapper/Project-Receivable Voucher/Project-Receivable Voucher.txt b/erpnext/accounts/DocType Mapper/Project-Receivable Voucher/Project-Receivable Voucher.txt
similarity index 94%
rename from accounts/DocType Mapper/Project-Receivable Voucher/Project-Receivable Voucher.txt
rename to erpnext/accounts/DocType Mapper/Project-Receivable Voucher/Project-Receivable Voucher.txt
index 0854802..e88f452 100644
--- a/accounts/DocType Mapper/Project-Receivable Voucher/Project-Receivable Voucher.txt
+++ b/erpnext/accounts/DocType Mapper/Project-Receivable Voucher/Project-Receivable Voucher.txt
@@ -3,9 +3,9 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-09-01 15:48:10',
+		'creation': '2010-09-01 15:47:59',
 		'docstatus': 0,
-		'modified': '2010-09-01 14:24:38',
+		'modified': '2011-09-15 15:04:43',
 		'modified_by': 'Administrator',
 		'owner': 'ashwini@webnotestech.com'
 	},
diff --git a/accounts/DocType Mapper/Purchase Order-Payable Voucher/Purchase Order-Payable Voucher.txt b/erpnext/accounts/DocType Mapper/Purchase Order-Payable Voucher/Purchase Order-Payable Voucher.txt
similarity index 91%
rename from accounts/DocType Mapper/Purchase Order-Payable Voucher/Purchase Order-Payable Voucher.txt
rename to erpnext/accounts/DocType Mapper/Purchase Order-Payable Voucher/Purchase Order-Payable Voucher.txt
index 61ee9b6..1949110 100644
--- a/accounts/DocType Mapper/Purchase Order-Payable Voucher/Purchase Order-Payable Voucher.txt
+++ b/erpnext/accounts/DocType Mapper/Purchase Order-Payable Voucher/Purchase Order-Payable Voucher.txt
@@ -5,7 +5,7 @@
 	{
 		'creation': '2010-08-08 17:09:35',
 		'docstatus': 0,
-		'modified': '2011-09-13 17:37:09',
+		'modified': '2011-09-15 15:04:43',
 		'modified_by': 'Administrator',
 		'owner': 'Administrator'
 	},
@@ -124,6 +124,17 @@
 		'match_id': 1,
 		'to_field': 'entries',
 		'to_table': 'PV Detail',
+		'validation_logic': 'ifnull(billed_qty,0)  < qty'
+	},
+
+	# Table Mapper Detail
+	{
+		'doctype': 'Table Mapper Detail',
+		'from_field': 'po_details',
+		'from_table': 'PO Detail',
+		'match_id': 1,
+		'to_field': 'entries',
+		'to_table': 'PV Detail',
 		'validation_logic': 'ifnull(billed_qty,0)  < qty and docstatus = 1'
 	},
 
diff --git a/accounts/DocType Mapper/Purchase Receipt-Payable Voucher/Purchase Receipt-Payable Voucher.txt b/erpnext/accounts/DocType Mapper/Purchase Receipt-Payable Voucher/Purchase Receipt-Payable Voucher.txt
similarity index 98%
rename from accounts/DocType Mapper/Purchase Receipt-Payable Voucher/Purchase Receipt-Payable Voucher.txt
rename to erpnext/accounts/DocType Mapper/Purchase Receipt-Payable Voucher/Purchase Receipt-Payable Voucher.txt
index b2baa57..94408e7 100644
--- a/accounts/DocType Mapper/Purchase Receipt-Payable Voucher/Purchase Receipt-Payable Voucher.txt
+++ b/erpnext/accounts/DocType Mapper/Purchase Receipt-Payable Voucher/Purchase Receipt-Payable Voucher.txt
@@ -5,7 +5,7 @@
 	{
 		'creation': '2010-08-08 17:09:35',
 		'docstatus': 0,
-		'modified': '2011-09-13 17:27:32',
+		'modified': '2011-09-15 15:04:44',
 		'modified_by': 'Administrator',
 		'owner': 'Administrator'
 	},
diff --git a/accounts/DocType Mapper/Sales Order-Receivable Voucher/Sales Order-Receivable Voucher.txt b/erpnext/accounts/DocType Mapper/Sales Order-Receivable Voucher/Sales Order-Receivable Voucher.txt
similarity index 92%
rename from accounts/DocType Mapper/Sales Order-Receivable Voucher/Sales Order-Receivable Voucher.txt
rename to erpnext/accounts/DocType Mapper/Sales Order-Receivable Voucher/Sales Order-Receivable Voucher.txt
index ebbdbcd..630fb15 100644
--- a/accounts/DocType Mapper/Sales Order-Receivable Voucher/Sales Order-Receivable Voucher.txt
+++ b/erpnext/accounts/DocType Mapper/Sales Order-Receivable Voucher/Sales Order-Receivable Voucher.txt
@@ -5,7 +5,7 @@
 	{
 		'creation': '2010-08-08 17:09:36',
 		'docstatus': 0,
-		'modified': '2011-09-13 17:36:31',
+		'modified': '2011-09-15 15:04:45',
 		'modified_by': 'Administrator',
 		'owner': 'Administrator'
 	},
@@ -153,6 +153,17 @@
 		'match_id': 1,
 		'to_field': 'entries',
 		'to_table': 'RV Detail',
+		'validation_logic': 'docstatus = 1'
+	},
+
+	# Table Mapper Detail
+	{
+		'doctype': 'Table Mapper Detail',
+		'from_field': 'sales_order_detail',
+		'from_table': 'Sales Order Detail',
+		'match_id': 1,
+		'to_field': 'entries',
+		'to_table': 'RV Detail',
 		'validation_logic': '(ifnull(amount, 0) = 0 or amount > ifnull(billed_amt, 0)) and docstatus = 1'
 	},
 
diff --git a/accounts/GL Mapper/Journal Voucher/Journal Voucher.txt b/erpnext/accounts/GL Mapper/Journal Voucher/Journal Voucher.txt
similarity index 100%
rename from accounts/GL Mapper/Journal Voucher/Journal Voucher.txt
rename to erpnext/accounts/GL Mapper/Journal Voucher/Journal Voucher.txt
diff --git a/accounts/GL Mapper/POS with write off/POS with write off.txt b/erpnext/accounts/GL Mapper/POS with write off/POS with write off.txt
similarity index 100%
rename from accounts/GL Mapper/POS with write off/POS with write off.txt
rename to erpnext/accounts/GL Mapper/POS with write off/POS with write off.txt
diff --git a/accounts/GL Mapper/POS/POS.txt b/erpnext/accounts/GL Mapper/POS/POS.txt
similarity index 100%
rename from accounts/GL Mapper/POS/POS.txt
rename to erpnext/accounts/GL Mapper/POS/POS.txt
diff --git a/accounts/GL Mapper/Payable Voucher/Payable Voucher.txt b/erpnext/accounts/GL Mapper/Payable Voucher/Payable Voucher.txt
similarity index 100%
rename from accounts/GL Mapper/Payable Voucher/Payable Voucher.txt
rename to erpnext/accounts/GL Mapper/Payable Voucher/Payable Voucher.txt
diff --git a/accounts/GL Mapper/Receivable Voucher/Receivable Voucher.txt b/erpnext/accounts/GL Mapper/Receivable Voucher/Receivable Voucher.txt
similarity index 100%
rename from accounts/GL Mapper/Receivable Voucher/Receivable Voucher.txt
rename to erpnext/accounts/GL Mapper/Receivable Voucher/Receivable Voucher.txt
diff --git a/accounts/Module Def/Accounts/Accounts.txt b/erpnext/accounts/Module Def/Accounts/Accounts.txt
similarity index 96%
rename from accounts/Module Def/Accounts/Accounts.txt
rename to erpnext/accounts/Module Def/Accounts/Accounts.txt
index 50a7ac9..0a6921a 100644
--- a/accounts/Module Def/Accounts/Accounts.txt
+++ b/erpnext/accounts/Module Def/Accounts/Accounts.txt
@@ -5,7 +5,7 @@
 	{
 		'creation': '2010-09-25 10:50:37',
 		'docstatus': 0,
-		'modified': '2011-09-12 13:22:15',
+		'modified': '2011-09-27 12:44:04',
 		'modified_by': 'Administrator',
 		'owner': 'Administrator'
 	},
@@ -130,6 +130,15 @@
 
 	# Module Def Item
 	{
+		'description': 'Link your invoices and payment vouchers to clear/update outstanding amount',
+		'display_name': 'Internal Reconciliation',
+		'doc_name': 'Internal Reconciliation',
+		'doc_type': 'Single DocType',
+		'doctype': 'Module Def Item'
+	},
+
+	# Module Def Item
+	{
 		'display_name': 'TDS Payment',
 		'doc_name': 'TDS Payment',
 		'doc_type': 'Setup Forms',
diff --git a/accounts/Print Format/Cheque Printing Format/Cheque Printing Format.txt b/erpnext/accounts/Print Format/Cheque Printing Format/Cheque Printing Format.txt
similarity index 100%
rename from accounts/Print Format/Cheque Printing Format/Cheque Printing Format.txt
rename to erpnext/accounts/Print Format/Cheque Printing Format/Cheque Printing Format.txt
diff --git a/accounts/Print Format/Form 16A Print Format/Form 16A Print Format.txt b/erpnext/accounts/Print Format/Form 16A Print Format/Form 16A Print Format.txt
similarity index 100%
rename from accounts/Print Format/Form 16A Print Format/Form 16A Print Format.txt
rename to erpnext/accounts/Print Format/Form 16A Print Format/Form 16A Print Format.txt
diff --git a/accounts/Print Format/Payment Receipt Voucher/Payment Receipt Voucher.txt b/erpnext/accounts/Print Format/Payment Receipt Voucher/Payment Receipt Voucher.txt
similarity index 100%
rename from accounts/Print Format/Payment Receipt Voucher/Payment Receipt Voucher.txt
rename to erpnext/accounts/Print Format/Payment Receipt Voucher/Payment Receipt Voucher.txt
diff --git a/accounts/Role/Accounts Manager/Accounts Manager.txt b/erpnext/accounts/Role/Accounts Manager/Accounts Manager.txt
similarity index 100%
rename from accounts/Role/Accounts Manager/Accounts Manager.txt
rename to erpnext/accounts/Role/Accounts Manager/Accounts Manager.txt
diff --git a/accounts/Role/Accounts User/Accounts User.txt b/erpnext/accounts/Role/Accounts User/Accounts User.txt
similarity index 100%
rename from accounts/Role/Accounts User/Accounts User.txt
rename to erpnext/accounts/Role/Accounts User/Accounts User.txt
diff --git "a/accounts/TDS Rate Chart/Rate chart \05001-07-2010\051/Rate chart \05001-07-2010\051.txt" "b/erpnext/accounts/TDS Rate Chart/Rate chart \05001-07-2010\051/Rate chart \05001-07-2010\051.txt"
similarity index 100%
rename from "accounts/TDS Rate Chart/Rate chart \05001-07-2010\051/Rate chart \05001-07-2010\051.txt"
rename to "erpnext/accounts/TDS Rate Chart/Rate chart \05001-07-2010\051/Rate chart \05001-07-2010\051.txt"
diff --git a/accounts/TDS Rate Chart/TDS Rate Chart October 2009 Onwards/TDS Rate Chart October 2009 Onwards.txt b/erpnext/accounts/TDS Rate Chart/TDS Rate Chart October 2009 Onwards/TDS Rate Chart October 2009 Onwards.txt
similarity index 100%
rename from accounts/TDS Rate Chart/TDS Rate Chart October 2009 Onwards/TDS Rate Chart October 2009 Onwards.txt
rename to erpnext/accounts/TDS Rate Chart/TDS Rate Chart October 2009 Onwards/TDS Rate Chart October 2009 Onwards.txt
diff --git a/accounts/TDS Rate Chart/TDS Rate Chart for 2009-10/TDS Rate Chart for 2009-10.txt b/erpnext/accounts/TDS Rate Chart/TDS Rate Chart for 2009-10/TDS Rate Chart for 2009-10.txt
similarity index 100%
rename from accounts/TDS Rate Chart/TDS Rate Chart for 2009-10/TDS Rate Chart for 2009-10.txt
rename to erpnext/accounts/TDS Rate Chart/TDS Rate Chart for 2009-10/TDS Rate Chart for 2009-10.txt
diff --git a/accounts/__init__.py b/erpnext/accounts/__init__.py
similarity index 100%
rename from accounts/__init__.py
rename to erpnext/accounts/__init__.py
diff --git a/accounts/doctype/__init__.py b/erpnext/accounts/doctype/__init__.py
similarity index 100%
rename from accounts/doctype/__init__.py
rename to erpnext/accounts/doctype/__init__.py
diff --git a/accounts/doctype/account/__init__.py b/erpnext/accounts/doctype/account/__init__.py
similarity index 100%
rename from accounts/doctype/account/__init__.py
rename to erpnext/accounts/doctype/account/__init__.py
diff --git a/accounts/doctype/account/account.js b/erpnext/accounts/doctype/account/account.js
similarity index 100%
rename from accounts/doctype/account/account.js
rename to erpnext/accounts/doctype/account/account.js
diff --git a/accounts/doctype/account/account.py b/erpnext/accounts/doctype/account/account.py
similarity index 100%
rename from accounts/doctype/account/account.py
rename to erpnext/accounts/doctype/account/account.py
diff --git a/accounts/doctype/account/account.txt b/erpnext/accounts/doctype/account/account.txt
similarity index 100%
rename from accounts/doctype/account/account.txt
rename to erpnext/accounts/doctype/account/account.txt
diff --git a/accounts/doctype/account_balance/__init__.py b/erpnext/accounts/doctype/account_balance/__init__.py
similarity index 100%
rename from accounts/doctype/account_balance/__init__.py
rename to erpnext/accounts/doctype/account_balance/__init__.py
diff --git a/accounts/doctype/account_balance/account_balance.txt b/erpnext/accounts/doctype/account_balance/account_balance.txt
similarity index 100%
rename from accounts/doctype/account_balance/account_balance.txt
rename to erpnext/accounts/doctype/account_balance/account_balance.txt
diff --git a/accounts/doctype/advance_adjustment_detail/__init__.py b/erpnext/accounts/doctype/advance_adjustment_detail/__init__.py
similarity index 100%
rename from accounts/doctype/advance_adjustment_detail/__init__.py
rename to erpnext/accounts/doctype/advance_adjustment_detail/__init__.py
diff --git a/accounts/doctype/advance_adjustment_detail/advance_adjustment_detail.txt b/erpnext/accounts/doctype/advance_adjustment_detail/advance_adjustment_detail.txt
similarity index 100%
rename from accounts/doctype/advance_adjustment_detail/advance_adjustment_detail.txt
rename to erpnext/accounts/doctype/advance_adjustment_detail/advance_adjustment_detail.txt
diff --git a/accounts/doctype/advance_allocation_detail/__init__.py b/erpnext/accounts/doctype/advance_allocation_detail/__init__.py
similarity index 100%
rename from accounts/doctype/advance_allocation_detail/__init__.py
rename to erpnext/accounts/doctype/advance_allocation_detail/__init__.py
diff --git a/accounts/doctype/advance_allocation_detail/advance_allocation_detail.txt b/erpnext/accounts/doctype/advance_allocation_detail/advance_allocation_detail.txt
similarity index 100%
rename from accounts/doctype/advance_allocation_detail/advance_allocation_detail.txt
rename to erpnext/accounts/doctype/advance_allocation_detail/advance_allocation_detail.txt
diff --git a/accounts/doctype/bank_reconciliation/__init__.py b/erpnext/accounts/doctype/bank_reconciliation/__init__.py
similarity index 100%
rename from accounts/doctype/bank_reconciliation/__init__.py
rename to erpnext/accounts/doctype/bank_reconciliation/__init__.py
diff --git a/accounts/doctype/bank_reconciliation/bank_reconciliation.js b/erpnext/accounts/doctype/bank_reconciliation/bank_reconciliation.js
similarity index 100%
rename from accounts/doctype/bank_reconciliation/bank_reconciliation.js
rename to erpnext/accounts/doctype/bank_reconciliation/bank_reconciliation.js
diff --git a/accounts/doctype/bank_reconciliation/bank_reconciliation.py b/erpnext/accounts/doctype/bank_reconciliation/bank_reconciliation.py
similarity index 100%
rename from accounts/doctype/bank_reconciliation/bank_reconciliation.py
rename to erpnext/accounts/doctype/bank_reconciliation/bank_reconciliation.py
diff --git a/accounts/doctype/bank_reconciliation/bank_reconciliation.txt b/erpnext/accounts/doctype/bank_reconciliation/bank_reconciliation.txt
similarity index 100%
rename from accounts/doctype/bank_reconciliation/bank_reconciliation.txt
rename to erpnext/accounts/doctype/bank_reconciliation/bank_reconciliation.txt
diff --git a/accounts/doctype/bank_reconciliation_detail/__init__.py b/erpnext/accounts/doctype/bank_reconciliation_detail/__init__.py
similarity index 100%
rename from accounts/doctype/bank_reconciliation_detail/__init__.py
rename to erpnext/accounts/doctype/bank_reconciliation_detail/__init__.py
diff --git a/accounts/doctype/bank_reconciliation_detail/bank_reconciliation_detail.txt b/erpnext/accounts/doctype/bank_reconciliation_detail/bank_reconciliation_detail.txt
similarity index 100%
rename from accounts/doctype/bank_reconciliation_detail/bank_reconciliation_detail.txt
rename to erpnext/accounts/doctype/bank_reconciliation_detail/bank_reconciliation_detail.txt
diff --git a/accounts/doctype/budget_control/__init__.py b/erpnext/accounts/doctype/budget_control/__init__.py
similarity index 100%
rename from accounts/doctype/budget_control/__init__.py
rename to erpnext/accounts/doctype/budget_control/__init__.py
diff --git a/accounts/doctype/budget_control/budget_control.py b/erpnext/accounts/doctype/budget_control/budget_control.py
similarity index 100%
rename from accounts/doctype/budget_control/budget_control.py
rename to erpnext/accounts/doctype/budget_control/budget_control.py
diff --git a/accounts/doctype/budget_control/budget_control.txt b/erpnext/accounts/doctype/budget_control/budget_control.txt
similarity index 100%
rename from accounts/doctype/budget_control/budget_control.txt
rename to erpnext/accounts/doctype/budget_control/budget_control.txt
diff --git a/accounts/doctype/budget_detail/__init__.py b/erpnext/accounts/doctype/budget_detail/__init__.py
similarity index 100%
rename from accounts/doctype/budget_detail/__init__.py
rename to erpnext/accounts/doctype/budget_detail/__init__.py
diff --git a/accounts/doctype/budget_detail/budget_detail.txt b/erpnext/accounts/doctype/budget_detail/budget_detail.txt
similarity index 100%
rename from accounts/doctype/budget_detail/budget_detail.txt
rename to erpnext/accounts/doctype/budget_detail/budget_detail.txt
diff --git a/accounts/doctype/budget_distribution/__init__.py b/erpnext/accounts/doctype/budget_distribution/__init__.py
similarity index 100%
rename from accounts/doctype/budget_distribution/__init__.py
rename to erpnext/accounts/doctype/budget_distribution/__init__.py
diff --git a/accounts/doctype/budget_distribution/budget_distribution.js b/erpnext/accounts/doctype/budget_distribution/budget_distribution.js
similarity index 100%
rename from accounts/doctype/budget_distribution/budget_distribution.js
rename to erpnext/accounts/doctype/budget_distribution/budget_distribution.js
diff --git a/accounts/doctype/budget_distribution/budget_distribution.py b/erpnext/accounts/doctype/budget_distribution/budget_distribution.py
similarity index 100%
rename from accounts/doctype/budget_distribution/budget_distribution.py
rename to erpnext/accounts/doctype/budget_distribution/budget_distribution.py
diff --git a/accounts/doctype/budget_distribution/budget_distribution.txt b/erpnext/accounts/doctype/budget_distribution/budget_distribution.txt
similarity index 100%
rename from accounts/doctype/budget_distribution/budget_distribution.txt
rename to erpnext/accounts/doctype/budget_distribution/budget_distribution.txt
diff --git a/accounts/doctype/budget_distribution_detail/__init__.py b/erpnext/accounts/doctype/budget_distribution_detail/__init__.py
similarity index 100%
rename from accounts/doctype/budget_distribution_detail/__init__.py
rename to erpnext/accounts/doctype/budget_distribution_detail/__init__.py
diff --git a/accounts/doctype/budget_distribution_detail/budget_distribution_detail.txt b/erpnext/accounts/doctype/budget_distribution_detail/budget_distribution_detail.txt
similarity index 100%
rename from accounts/doctype/budget_distribution_detail/budget_distribution_detail.txt
rename to erpnext/accounts/doctype/budget_distribution_detail/budget_distribution_detail.txt
diff --git a/accounts/doctype/cost_center/__init__.py b/erpnext/accounts/doctype/cost_center/__init__.py
similarity index 100%
rename from accounts/doctype/cost_center/__init__.py
rename to erpnext/accounts/doctype/cost_center/__init__.py
diff --git a/erpnext/accounts/doctype/cost_center/cost_center.js b/erpnext/accounts/doctype/cost_center/cost_center.js
new file mode 100644
index 0000000..58f39e0
--- /dev/null
+++ b/erpnext/accounts/doctype/cost_center/cost_center.js
@@ -0,0 +1,72 @@
+ 
+
+//Account filtering for cost center
+cur_frm.fields_dict['budget_details'].grid.get_field('account').get_query = function(doc) {
+	var mydoc = locals[this.doctype][this.docname];
+	return 'SELECT DISTINCT `tabAccount`.`name`,`tabAccount`.debit_or_credit,`tabAccount`.group_or_ledger FROM `tabAccount` WHERE `tabAccount`.`company` = "' + doc.company_name + '" AND `tabAccount`.docstatus != 2 AND `tabAccount`.`is_pl_account` = "Yes" AND `tabAccount`.debit_or_credit = "Debit" AND `tabAccount`.`group_or_ledger` != "Group" AND `tabAccount`.`group_or_ledger` is not NULL AND `tabAccount`.`name` LIKE "%s" ORDER BY `tabAccount`.`name` LIMIT 50';
+	}
+
+cur_frm.fields_dict['parent_cost_center'].get_query = function(doc){
+	return 'SELECT DISTINCT `tabCost Center`.name FROM `tabCost Center` WHERE `tabCost Center`.group_or_ledger="Group" AND `tabCost Center`.docstatus != 2 AND `tabCost Center`.company_name="'+ doc.company_name+'" AND `tabCost Center`.company_name is not NULL AND `tabCost Center`.name LIKE "%s" ORDER BY `tabCost Center`.name LIMIT 50';
+}
+
+//parent cost center
+cur_frm.cscript.parent_cost_center = function(doc,cdt,cdn){
+	if(!doc.company_name){
+		alert('Please enter company name first');
+	}
+}
+
+//company abbr
+cur_frm.cscript.company_name = function(doc,cdt,cdn){
+	get_server_fields('get_abbr','','',doc,cdt,cdn,1);
+}
+
+//onload if cost center is group
+cur_frm.cscript.onload = function(doc, cdt, cdn) {
+	 
+	if(!doc.__islocal && doc.docstatus == 0){
+		get_field(doc.doctype,'group_or_ledger',doc.name).permlevel = 1;
+		refresh_field('group_or_ledger');
+		get_field(doc.doctype,'company_name',doc.name).permlevel = 1;
+		refresh_field('company_name');
+	}
+ 
+}
+
+cur_frm.cscript.refresh = function(doc, cdt, cdn) {
+	cur_frm.cscript.hide_unhide_group_ledger(doc);
+}
+
+
+// Hide/unhide group or ledger
+// -----------------------------------------
+cur_frm.cscript.hide_unhide_group_ledger = function(doc) {
+	hide_field(['Convert to Group', 'Convert to Ledger']);
+	if (cstr(doc.group_or_ledger) == 'Group') unhide_field('Convert to Ledger');
+	else if (cstr(doc.group_or_ledger) == 'Ledger') unhide_field('Convert to Group');
+}
+
+// Convert group to ledger
+// -----------------------------------------
+cur_frm.cscript['Convert to Ledger'] = function(doc, cdt, cdn) {
+	$c_obj(make_doclist(cdt,cdn),'convert_group_to_ledger','',function(r,rt) {
+		if(r.message == 1) {
+			doc.group_or_ledger = 'Ledger';
+			refresh_field('group_or_ledger');
+			cur_frm.cscript.hide_unhide_group_ledger(doc);
+		}
+	});
+}
+
+// Convert ledger to group
+// -----------------------------------------
+cur_frm.cscript['Convert to Group'] = function(doc, cdt, cdn) {
+	$c_obj(make_doclist(cdt,cdn),'convert_ledger_to_group','',function(r,rt) {
+		if(r.message == 1) {
+			doc.group_or_ledger = 'Group';
+			refresh_field('group_or_ledger');
+			cur_frm.cscript.hide_unhide_group_ledger(doc);
+		}
+	});
+}
diff --git a/accounts/doctype/cost_center/cost_center.py b/erpnext/accounts/doctype/cost_center/cost_center.py
similarity index 72%
rename from accounts/doctype/cost_center/cost_center.py
rename to erpnext/accounts/doctype/cost_center/cost_center.py
index 66d22f0..b97274f 100644
--- a/accounts/doctype/cost_center/cost_center.py
+++ b/erpnext/accounts/doctype/cost_center/cost_center.py
@@ -32,9 +32,38 @@
 			'company_abbr'	: abbr
 		}
 		return ret
+		
+	#-------------------------------------------------------------------------
+	def convert_group_to_ledger(self):
+		if self.check_if_child_exists():
+			msgprint("Cost Center: %s has existing child. You can not convert this cost center to ledger" % (self.doc.name), raise_exception=1)
+		elif self.check_gle_exists():
+			msgprint("Cost Center with existing transaction can not be converted to ledger.", raise_exception=1)
+		else:
+			self.doc.group_or_ledger = 'Ledger'
+			self.doc.save()
+			return 1
+			
+	#-------------------------------------------------------------------------
+	def convert_ledger_to_group(self):
+		if self.check_gle_exists():
+			msgprint("Cost Center with existing transaction can not be converted to group.", raise_exception=1)
+		else:
+			self.doc.group_or_ledger = 'Group'
+			self.doc.save()
+			return 1
 
 	#-------------------------------------------------------------------------
-	def validate(self): 
+	def check_gle_exists(self):
+		return sql("select name from `tabGL Entry` where cost_center = %s and ifnull(is_cancelled, 'No') = 'No'", (self.doc.name))
+		
+		
+	#-------------------------------------------------------------------------
+	def check_if_child_exists(self):
+		return sql("select name from `tabCost Center` where parent_cost_center = %s and docstatus != 2", self.doc.name)
+
+	#-------------------------------------------------------------------------
+	def validate(self):
 		"""
 			Cost Center name must be unique
 		"""
@@ -60,9 +89,6 @@
 	def on_update(self):
 		self.update_nsm_model()
 		
-	def check_if_child_exists(self):
-		return sql("select name from `tabCost Center` where parent_cost_center = %s and docstatus != 2", self.doc.name)
-		
 	# On Trash
 	#-------------------------------------------------------------------------
 	def on_trash(self):
diff --git a/accounts/doctype/cost_center/cost_center.txt b/erpnext/accounts/doctype/cost_center/cost_center.txt
similarity index 89%
rename from accounts/doctype/cost_center/cost_center.txt
rename to erpnext/accounts/doctype/cost_center/cost_center.txt
index fab2dd5..94fb02b 100644
--- a/accounts/doctype/cost_center/cost_center.txt
+++ b/erpnext/accounts/doctype/cost_center/cost_center.txt
@@ -5,18 +5,19 @@
 	{
 		'creation': '2010-08-08 17:08:56',
 		'docstatus': 0,
-		'modified': '2010-12-29 18:18:55',
-		'modified_by': 'umair@iwebnotes.com',
+		'modified': '2011-10-10 12:05:07',
+		'modified_by': 'Administrator',
 		'owner': 'Administrator'
 	},
 
 	# These values are common for all DocType
 	{
-		'_last_update': '1308741898',
+		'_last_update': '1317365120',
 		'allow_copy': 1,
 		'allow_trash': 1,
 		'autoname': 'field:cost_center_name',
 		'colour': 'White:FFF',
+		'default_print_format': 'Standard',
 		'doctype': 'DocType',
 		'document_type': 'Master',
 		'in_create': 1,
@@ -26,7 +27,7 @@
 		'section_style': 'Simple',
 		'server_code_error': ' ',
 		'show_in_menu': 0,
-		'version': 104
+		'version': 109
 	},
 
 	# These values are common for all DocField
@@ -60,7 +61,6 @@
 		'cancel': 0,
 		'create': 0,
 		'doctype': 'DocPerm',
-		'idx': 1,
 		'permlevel': 1,
 		'role': 'Accounts Manager',
 		'submit': 0,
@@ -73,7 +73,6 @@
 		'cancel': 1,
 		'create': 1,
 		'doctype': 'DocPerm',
-		'idx': 2,
 		'permlevel': 0,
 		'role': 'Accounts Manager',
 		'submit': 0,
@@ -86,7 +85,6 @@
 		'cancel': 0,
 		'create': 0,
 		'doctype': 'DocPerm',
-		'idx': 3,
 		'permlevel': 1,
 		'role': 'Accounts User',
 		'submit': 0,
@@ -99,7 +97,6 @@
 		'cancel': 0,
 		'create': 0,
 		'doctype': 'DocPerm',
-		'idx': 4,
 		'permlevel': 0,
 		'role': 'Accounts User',
 		'submit': 0,
@@ -111,7 +108,6 @@
 		'cancel': 1,
 		'create': 1,
 		'doctype': 'DocPerm',
-		'idx': 5,
 		'permlevel': 0,
 		'role': 'System Manager',
 		'write': 1
@@ -120,7 +116,6 @@
 	# DocPerm
 	{
 		'doctype': 'DocPerm',
-		'idx': 6,
 		'permlevel': 1,
 		'role': 'All'
 	},
@@ -130,7 +125,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'trash_reason',
 		'fieldtype': 'Small Text',
-		'idx': 1,
 		'label': 'Trash Reason',
 		'oldfieldname': 'trash_reason',
 		'oldfieldtype': 'Small Text',
@@ -142,7 +136,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'cost_center_name',
 		'fieldtype': 'Data',
-		'idx': 2,
 		'in_filter': 0,
 		'label': 'Cost Center Name',
 		'no_copy': 1,
@@ -159,7 +152,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'parent_cost_center',
 		'fieldtype': 'Link',
-		'idx': 3,
 		'label': 'Parent Cost Center',
 		'oldfieldname': 'parent_cost_center',
 		'oldfieldtype': 'Link',
@@ -175,14 +167,12 @@
 		'doctype': 'DocField',
 		'fieldname': 'company_name',
 		'fieldtype': 'Link',
-		'idx': 4,
 		'label': 'Company',
 		'oldfieldname': 'company_name',
 		'oldfieldtype': 'Link',
 		'options': 'Company',
 		'permlevel': 0,
 		'reqd': 1,
-		'search_index': 0,
 		'trigger': 'Client'
 	},
 
@@ -191,7 +181,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'company_abbr',
 		'fieldtype': 'Data',
-		'idx': 5,
 		'label': 'Company Abbr',
 		'oldfieldname': 'company_abbr',
 		'oldfieldtype': 'Data',
@@ -204,8 +193,7 @@
 		'doctype': 'DocField',
 		'fieldname': 'group_or_ledger',
 		'fieldtype': 'Select',
-		'hidden': 1,
-		'idx': 6,
+		'hidden': 0,
 		'label': 'Group or Ledger',
 		'no_copy': 1,
 		'oldfieldname': 'group_or_ledger',
@@ -220,16 +208,34 @@
 
 	# DocField
 	{
+		'colour': 'White:FFF',
+		'doctype': 'DocField',
+		'fieldtype': 'Button',
+		'label': 'Convert to Group',
+		'permlevel': 0,
+		'trigger': 'Client'
+	},
+
+	# DocField
+	{
+		'colour': 'White:FFF',
+		'doctype': 'DocField',
+		'fieldtype': 'Button',
+		'label': 'Convert to Ledger',
+		'permlevel': 0,
+		'trigger': 'Client'
+	},
+
+	# DocField
+	{
 		'doctype': 'DocField',
 		'fieldname': 'distribution_id',
 		'fieldtype': 'Link',
-		'idx': 7,
 		'label': 'Distribution Id',
 		'oldfieldname': 'distribution_id',
 		'oldfieldtype': 'Link',
 		'options': 'Budget Distribution',
-		'permlevel': 0,
-		'search_index': 0
+		'permlevel': 0
 	},
 
 	# DocField
@@ -237,7 +243,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'budget_details',
 		'fieldtype': 'Table',
-		'idx': 8,
 		'label': 'Budget Details',
 		'oldfieldname': 'budget_details',
 		'oldfieldtype': 'Table',
@@ -251,7 +256,6 @@
 		'fieldname': 'lft',
 		'fieldtype': 'Int',
 		'hidden': 1,
-		'idx': 9,
 		'in_filter': 1,
 		'label': 'lft',
 		'no_copy': 1,
@@ -269,7 +273,6 @@
 		'fieldname': 'rgt',
 		'fieldtype': 'Int',
 		'hidden': 1,
-		'idx': 10,
 		'in_filter': 1,
 		'label': 'rgt',
 		'no_copy': 1,
@@ -286,13 +289,13 @@
 	{
 		'doctype': 'DocField',
 		'fieldname': 'old_parent',
-		'fieldtype': 'Data',
+		'fieldtype': 'Link',
 		'hidden': 1,
-		'idx': 11,
 		'label': 'old_parent',
 		'no_copy': 1,
 		'oldfieldname': 'old_parent',
 		'oldfieldtype': 'Data',
+		'options': 'Cost Center',
 		'permlevel': 0,
 		'print_hide': 1,
 		'report_hide': 1
diff --git a/accounts/doctype/fiscal_year/__init__.py b/erpnext/accounts/doctype/fiscal_year/__init__.py
similarity index 100%
rename from accounts/doctype/fiscal_year/__init__.py
rename to erpnext/accounts/doctype/fiscal_year/__init__.py
diff --git a/accounts/doctype/fiscal_year/fiscal_year.py b/erpnext/accounts/doctype/fiscal_year/fiscal_year.py
similarity index 100%
rename from accounts/doctype/fiscal_year/fiscal_year.py
rename to erpnext/accounts/doctype/fiscal_year/fiscal_year.py
diff --git a/accounts/doctype/fiscal_year/fiscal_year.txt b/erpnext/accounts/doctype/fiscal_year/fiscal_year.txt
similarity index 100%
rename from accounts/doctype/fiscal_year/fiscal_year.txt
rename to erpnext/accounts/doctype/fiscal_year/fiscal_year.txt
diff --git a/accounts/doctype/form_16a/__init__.py b/erpnext/accounts/doctype/form_16a/__init__.py
similarity index 100%
rename from accounts/doctype/form_16a/__init__.py
rename to erpnext/accounts/doctype/form_16a/__init__.py
diff --git a/accounts/doctype/form_16a/form_16a.js b/erpnext/accounts/doctype/form_16a/form_16a.js
similarity index 100%
rename from accounts/doctype/form_16a/form_16a.js
rename to erpnext/accounts/doctype/form_16a/form_16a.js
diff --git a/accounts/doctype/form_16a/form_16a.py b/erpnext/accounts/doctype/form_16a/form_16a.py
similarity index 100%
rename from accounts/doctype/form_16a/form_16a.py
rename to erpnext/accounts/doctype/form_16a/form_16a.py
diff --git a/accounts/doctype/form_16a/form_16a.txt b/erpnext/accounts/doctype/form_16a/form_16a.txt
similarity index 100%
rename from accounts/doctype/form_16a/form_16a.txt
rename to erpnext/accounts/doctype/form_16a/form_16a.txt
diff --git a/accounts/doctype/form_16a_ack_detail/__init__.py b/erpnext/accounts/doctype/form_16a_ack_detail/__init__.py
similarity index 100%
rename from accounts/doctype/form_16a_ack_detail/__init__.py
rename to erpnext/accounts/doctype/form_16a_ack_detail/__init__.py
diff --git a/accounts/doctype/form_16a_ack_detail/form_16a_ack_detail.txt b/erpnext/accounts/doctype/form_16a_ack_detail/form_16a_ack_detail.txt
similarity index 100%
rename from accounts/doctype/form_16a_ack_detail/form_16a_ack_detail.txt
rename to erpnext/accounts/doctype/form_16a_ack_detail/form_16a_ack_detail.txt
diff --git a/accounts/doctype/form_16a_tax_detail/__init__.py b/erpnext/accounts/doctype/form_16a_tax_detail/__init__.py
similarity index 100%
rename from accounts/doctype/form_16a_tax_detail/__init__.py
rename to erpnext/accounts/doctype/form_16a_tax_detail/__init__.py
diff --git a/accounts/doctype/form_16a_tax_detail/form_16a_tax_detail.txt b/erpnext/accounts/doctype/form_16a_tax_detail/form_16a_tax_detail.txt
similarity index 100%
rename from accounts/doctype/form_16a_tax_detail/form_16a_tax_detail.txt
rename to erpnext/accounts/doctype/form_16a_tax_detail/form_16a_tax_detail.txt
diff --git a/accounts/doctype/gl_control/__init__.py b/erpnext/accounts/doctype/gl_control/__init__.py
similarity index 100%
rename from accounts/doctype/gl_control/__init__.py
rename to erpnext/accounts/doctype/gl_control/__init__.py
diff --git a/accounts/doctype/gl_control/gl_control.py b/erpnext/accounts/doctype/gl_control/gl_control.py
similarity index 85%
rename from accounts/doctype/gl_control/gl_control.py
rename to erpnext/accounts/doctype/gl_control/gl_control.py
index a346b65..44a9e8d 100644
--- a/accounts/doctype/gl_control/gl_control.py
+++ b/erpnext/accounts/doctype/gl_control/gl_control.py
@@ -191,6 +191,7 @@
 			else:
 				self.entries.append(le)
 
+
 	# Save GL Entries
 	# ----------------
 	def save_entries(self, cancel, adv_adj, update_outstanding):
@@ -200,7 +201,6 @@
 				tmp=le.debit
 				le.debit, le.credit = abs(flt(le.credit)), abs(flt(tmp))
 
-
 			le_obj = get_obj(doc=le)
 			# validate except on_cancel
 			if not cancel:
@@ -213,10 +213,12 @@
 			# update total debit / credit
 			self.td += flt(le.debit)
 			self.tc += flt(le.credit)
-
+			
+			
 	# Make Multiple Entries
 	# ---------------------
 	def make_gl_entries(self, doc, doclist, cancel=0, adv_adj = 0, use_mapper='', merge_entries = 1, update_outstanding='Yes'):
+		self.entries = []
 		# get entries
 		le_map_list = sql("select * from `tabGL Mapper Detail` where parent = %s", use_mapper or doc.doctype, as_dict=1)
 		self.td, self.tc = 0.0, 0.0
@@ -329,6 +331,7 @@
 			else:
 				msgprint("Allocation amount cannot be greater than advance amount")
 				raise Exception
+				
 
 	# Add extra row in jv detail for unadjusted amount
 	#--------------------------------------------------
@@ -351,7 +354,7 @@
 		add.against_account = cstr(jvd[0][3])
 		add.is_advance = 'Yes'
 		add.save(1)
-
+		
 	# check if advance entries are still valid
 	# ----------------------------------------
 	def validate_jv_entry(self, d, account_head, dr_or_cr):
@@ -359,15 +362,92 @@
 		# 2. check if amount is same
 		# 3. check if is_advance is 'Yes'
 		# 4. check if jv is submitted
-		ret = sql("select t2.%s from `tabJournal Voucher` t1, `tabJournal Voucher Detail` t2 where t1.name = t2.parent and (t2.against_voucher = '' or t2.against_voucher is null) and (t2.against_invoice = '' or t2.against_invoice is null) and t2.account = '%s' and t1.name = '%s' and t2.name = '%s' and t2.is_advance = 'Yes' and t1.docstatus=1 and t2.%s = %s" % ( dr_or_cr, account_head, d.journal_voucher, d.jv_detail_no, dr_or_cr, d.advance_amount))
+		ret = sql("select t2.%s from `tabJournal Voucher` t1, `tabJournal Voucher Detail` t2 where t1.name = t2.parent and ifnull(t2.against_voucher, '') = '' and ifnull(t2.against_invoice, '') = '' and t2.account = '%s' and t1.name = '%s' and t2.name = '%s' and t2.is_advance = 'Yes' and t1.docstatus=1 and t2.%s = %s" % (dr_or_cr, account_head, d.journal_voucher, d.jv_detail_no, dr_or_cr, d.advance_amount))
 		if (not ret):
 			msgprint("Please click on 'Get Advances Paid' button as the advance entries have been changed.")
 			raise Exception
 		return
 
-##############################################################################
-# Repair Outstanding Amount
-##############################################################################
+
+######################################################################################################################
+
+	#------------------------------------------
+	def reconcile_against_document(self, args):
+		"""
+			Cancel JV, Update aginst document, split if required and resubmit jv
+		"""
+		
+		for d in args:
+			self.check_if_jv_modified(d)
+
+			against_fld = {
+				'Journal Voucher' : 'against_jv',
+				'Receivable Voucher' : 'against_invoice',
+				'Payable Voucher' : 'against_voucher'
+			}
+			
+			d['against_fld'] = against_fld[d['against_voucher_type']]
+
+			# cancel JV
+			jv_obj = get_obj('Journal Voucher', d['voucher_no'], with_children=1)
+			self.make_gl_entries(jv_obj.doc, jv_obj.doclist, cancel =1, adv_adj =1)
+
+			# update ref in JV Detail
+			self.update_against_doc(d, jv_obj)
+
+			# re-submit JV
+			jv_obj = get_obj('Journal Voucher', d['voucher_no'], with_children =1)
+			self.make_gl_entries(jv_obj.doc, jv_obj.doclist, cancel = 0, adv_adj =1)
+
+	#------------------------------------------
+	def update_against_doc(self, d, jv_obj):
+		"""
+			Updates against document, if partial amount splits into rows
+		"""
+
+		sql("""
+			update `tabJournal Voucher Detail` t1, `tabJournal Voucher` t2	
+			set t1.%(dr_or_cr)s = '%(allocated_amt)s', t1.%(against_fld)s = '%(against_voucher)s', t2.modified = now() 
+			where t1.name = '%(voucher_detail_no)s' and t1.parent = t2.name""" % d)
+
+		if d['allocated_amt'] < d['unadjusted_amt']:
+			jvd = sql("select cost_center, balance, against_account, is_advance from `tabJournal Voucher Detail` where name = '%s'" % d['voucher_detail_no'])
+			# new entry with balance amount
+			ch = addchild(jv_obj.doc, 'entries', 'Journal Voucher Detail', 1)
+			ch.account = d['account']
+			ch.cost_center = cstr(jvd[0][0])
+			ch.balance = cstr(jvd[0][1])
+			ch.fields[d['dr_or_cr']] = flt(d['unadjusted_amt']) - flt(d['allocated_amt'])
+			ch.fields[d['dr_or_cr']== 'debit' and 'credit' or 'debit'] = 0
+			ch.against_account = cstr(jvd[0][2])
+			ch.is_advance = cstr(jvd[0][3])
+			ch.docstatus = 1
+			ch.save(1)
+
+	#------------------------------------------
+	def check_if_jv_modified(self, args):
+		"""
+			check if there is already a voucher reference
+			check if amount is same
+			check if jv is submitted
+		"""
+		ret = sql("""
+			select t2.%(dr_or_cr)s from `tabJournal Voucher` t1, `tabJournal Voucher Detail` t2 
+			where t1.name = t2.parent and t2.account = '%(account)s' 
+			and ifnull(t2.against_voucher, '')='' and ifnull(t2.against_invoice, '')='' and ifnull(t2.against_jv, '')=''
+			and t1.name = '%(voucher_no)s' and t2.name = '%(voucher_detail_no)s'
+			and t1.docstatus=1 and t2.%(dr_or_cr)s = %(unadjusted_amt)s
+		""" % (args))
+		
+		if not ret:
+			msgprint("Payment Entry has been modified after you pulled it. Please pull it again.", raise_exception=1)
+		
+######################################################################################################################
+		
+
+
+	# Repair Outstanding Amount
+	#---------------------------------
 	def repair_voucher_outstanding(self, voucher_obj):
 		msg = []
 
diff --git a/accounts/doctype/gl_control/gl_control.txt b/erpnext/accounts/doctype/gl_control/gl_control.txt
similarity index 100%
rename from accounts/doctype/gl_control/gl_control.txt
rename to erpnext/accounts/doctype/gl_control/gl_control.txt
diff --git a/accounts/doctype/gl_entry/__init__.py b/erpnext/accounts/doctype/gl_entry/__init__.py
similarity index 100%
rename from accounts/doctype/gl_entry/__init__.py
rename to erpnext/accounts/doctype/gl_entry/__init__.py
diff --git a/accounts/doctype/gl_entry/gl_entry.py b/erpnext/accounts/doctype/gl_entry/gl_entry.py
similarity index 100%
rename from accounts/doctype/gl_entry/gl_entry.py
rename to erpnext/accounts/doctype/gl_entry/gl_entry.py
diff --git a/accounts/doctype/gl_entry/gl_entry.txt b/erpnext/accounts/doctype/gl_entry/gl_entry.txt
similarity index 100%
rename from accounts/doctype/gl_entry/gl_entry.txt
rename to erpnext/accounts/doctype/gl_entry/gl_entry.txt
diff --git a/accounts/doctype/bank_reconciliation/__init__.py b/erpnext/accounts/doctype/internal_reconciliation/__init__.py
similarity index 100%
copy from accounts/doctype/bank_reconciliation/__init__.py
copy to erpnext/accounts/doctype/internal_reconciliation/__init__.py
diff --git a/erpnext/accounts/doctype/internal_reconciliation/internal_reconciliation.js b/erpnext/accounts/doctype/internal_reconciliation/internal_reconciliation.js
new file mode 100644
index 0000000..bcd5c44
--- /dev/null
+++ b/erpnext/accounts/doctype/internal_reconciliation/internal_reconciliation.js
@@ -0,0 +1,21 @@
+// Booking Entry Id
+// --------------------
+
+cur_frm.fields_dict.voucher_no.get_query = function(doc) {
+
+	if (!doc.account) msgprint("Please select Account first");
+	else {
+		return repl("select voucher_no, posting_date \
+			from `tabGL Entry` where ifnull(is_cancelled, 'No') = 'No'\
+			and account = '%(acc)s' \
+			and voucher_type = '%(dt)s' \
+			and voucher_no LIKE '%s' \
+			ORDER BY posting_date DESC, voucher_no DESC LIMIT 50 \
+		", {dt:session.rev_dt_labels[doc.voucher_type] || doc.voucher_type, acc:doc.account});
+	}
+}
+
+cur_frm.cscript.voucher_no  =function(doc, cdt, cdn) {
+	get_server_fields('get_voucher_details', '', '', doc, cdt, cdn, 1)
+}
+
diff --git a/erpnext/accounts/doctype/internal_reconciliation/internal_reconciliation.py b/erpnext/accounts/doctype/internal_reconciliation/internal_reconciliation.py
new file mode 100644
index 0000000..7c34546
--- /dev/null
+++ b/erpnext/accounts/doctype/internal_reconciliation/internal_reconciliation.py
@@ -0,0 +1,138 @@
+# Please edit this list and import only required elements
+import webnotes
+
+from webnotes.utils import add_days, add_months, add_years, cint, cstr, date_diff, default_fields, flt, fmt_money, formatdate, generate_hash, getTraceback, get_defaults, get_first_day, get_last_day, getdate, has_common, month_name, now, nowdate, replace_newlines, sendmail, set_default, str_esc_quote, user_format, validate_email_add
+from webnotes.model import db_exists
+from webnotes.model.doc import Document, addchild, removechild, getchildren, make_autoname, SuperDocType
+from webnotes.model.doclist import getlist, copy_doclist
+from webnotes.model.code import get_obj, get_server_obj, run_server_obj, updatedb, check_syntax
+from webnotes import session, form, is_testing, msgprint, errprint
+
+set = webnotes.conn.set
+sql = webnotes.conn.sql
+get_value = webnotes.conn.get_value
+in_transaction = webnotes.conn.in_transaction
+convert_to_lists = webnotes.conn.convert_to_lists
+	
+# -----------------------------------------------------------------------------------------
+
+
+class DocType:
+	def __init__(self, doc, doclist):
+		self.doc = doc
+		self.doclist = doclist
+		self.acc_type = self.doc.account and sql("select debit_or_credit from `tabAccount` where name = %s", self.doc.account)[0][0].lower() or ''
+		self.dt = {
+			'Sales Invoice': 'Receivable Voucher',
+			'Purchase Invoice': 'Payable Voucher',
+			'Journal Voucher': 'Journal Voucher'
+		}
+		
+	#--------------------------------------------------
+	def get_voucher_details(self):
+		tot_amt = sql("""
+			select sum(%s) from `tabGL Entry` where 
+			voucher_type = %s and voucher_no = %s 
+			and account = %s and ifnull(is_cancelled, 'No') = 'No'
+		"""% (self.acc_type, '%s', '%s', '%s'), (self.dt[self.doc.voucher_type], self.doc.voucher_no, self.doc.account))
+		
+		outstanding = sql("""
+			select sum(%s) - sum(%s) from `tabGL Entry` where 
+			against_voucher = %s and voucher_no != %s
+			and account = %s and ifnull(is_cancelled, 'No') = 'No'
+		""" % ((self.acc_type == 'debit' and 'credit' or 'debit'), self.acc_type, '%s', '%s', '%s'), (self.doc.voucher_no, self.doc.voucher_no, self.doc.account))
+		
+		ret = {
+			'total_amount': flt(tot_amt[0][0]) or 0,	
+			'pending_amt_to_reconcile': flt(tot_amt[0][0]) - flt(outstanding[0][0]) or 0
+		}
+		
+		return ret
+
+		
+	#--------------------------------------------------
+	def get_payment_entries(self):
+		"""
+			Get payment entries for the account and period
+			Payment entry will be decided based on account type (Dr/Cr)
+		"""
+
+		self.doc.clear_table(self.doclist, 'ir_payment_details')		
+		gle = self.get_gl_entries()
+		self.create_payment_table(gle)
+
+	#--------------------------------------------------
+	def get_gl_entries(self):
+		self.validate_mandatory()
+		dc = self.acc_type == 'debit' and 'credit' or 'debit'
+		
+		cond = self.doc.from_date and " and t1.posting_date >= '" + self.doc.from_date + "'" or ""
+		cond += self.doc.to_date and " and t1.posting_date <= '" + self.doc.to_date + "'"or ""
+		
+		cond += self.doc.amt_greater_than and ' and t2.' + dc+' >= ' + self.doc.amt_greater_than or ''
+		cond += self.doc.amt_less_than and ' and t2.' + dc+' <= ' + self.doc.amt_less_than or ''
+
+		gle = sql("""
+			select t1.name as voucher_no, t1.posting_date, t1.total_debit as total_amt,  sum(ifnull(t2.credit, 0)) - sum(ifnull(t2.debit, 0)) as amt_due, t1.remark, t2.against_account, t2.name as voucher_detail_no
+			from `tabJournal Voucher` t1, `tabJournal Voucher Detail` t2
+			where t1.name = t2.parent  
+			and t1.docstatus = 1 
+			and t2.account = %s
+			and ifnull(t2.against_voucher, '')='' and ifnull(t2.against_invoice, '')='' and ifnull(t2.against_jv, '')=''
+			and t2.%s > 0
+			%s
+			group by t1.name
+		"""% ('%s', dc, cond), self.doc.account, as_dict=1)
+
+		return gle
+
+	#--------------------------------------------------
+	def create_payment_table(self, gle):
+		for d in gle:
+			ch = addchild(self.doc, 'ir_payment_details', 'IR Payment Detail', 1, self.doclist)
+			ch.voucher_no = d.get('voucher_no')
+			ch.posting_date = d.get('posting_date')
+			ch.amt_due =  self.acc_type == 'debit' and flt(d.get('amt_due')) or -1*flt(d.get('amt_due'))
+			ch.total_amt = flt(d.get('total_amt'))
+			ch.against_account = d.get('against_account')
+			ch.remarks = d.get('remark')
+			ch.amt_to_be_reconciled = flt(ch.amt_due)
+			ch.voucher_detail_no = d.get('voucher_detail_no')
+			
+	#--------------------------------------------------
+	def validate_mandatory(self):
+		if not self.doc.account:
+			msgprint("Please select Account first", raise_exception=1)
+	
+	#--------------------------------------------------	
+	def reconcile(self):
+		"""
+			Links booking and payment voucher
+			1. cancel payment voucher
+			2. split into multiple rows if partially adjusted, assign against voucher
+			3. submit payment voucher
+		"""
+		lst = []
+		for d in getlist(self.doclist, 'ir_payment_details'):
+			if d.selected and flt(d.amt_to_be_reconciled) > 0:
+				args = {
+					'voucher_no' : d.voucher_no,
+					'voucher_detail_no' : d.voucher_detail_no, 
+					'against_voucher_type' : self.dt[self.doc.voucher_type], 
+					'against_voucher'  : self.doc.voucher_no,
+					'account' : self.doc.account, 
+					'is_advance' : 'No', 
+					'dr_or_cr' :  self.acc_type=='debit' and 'credit' or 'debit', 
+					'unadjusted_amt' : flt(d.amt_due),
+					'allocated_amt' : flt(d.amt_to_be_reconciled)
+				}
+			
+				lst.append(args)
+		
+		if not sql("select name from `tab%s` where name = %s" %(self.dt[self.doc.voucher_type], '%s'),  self.doc.voucher_no):
+			msgprint("Please select valid Voucher No to proceed", raise_exception=1)
+		if lst:
+			get_obj('GL Control').reconcile_against_document(lst)
+			msgprint("Successfully reconciled.")
+		else:
+			msgprint("No payment entries selected.", raise_exception=1)
diff --git a/erpnext/accounts/doctype/internal_reconciliation/internal_reconciliation.txt b/erpnext/accounts/doctype/internal_reconciliation/internal_reconciliation.txt
new file mode 100644
index 0000000..cc1523a
--- /dev/null
+++ b/erpnext/accounts/doctype/internal_reconciliation/internal_reconciliation.txt
@@ -0,0 +1,266 @@
+# DocType, Internal Reconciliation
+[
+
+	# These values are common in all dictionaries
+	{
+		'creation': '2011-08-30 11:45:50',
+		'docstatus': 0,
+		'modified': '2011-09-26 14:21:22',
+		'modified_by': 'Administrator',
+		'owner': 'Administrator'
+	},
+
+	# These values are common for all DocType
+	{
+		'_last_update': '1316509358',
+		'colour': 'White:FFF',
+		'default_print_format': 'Standard',
+		'doctype': 'DocType',
+		'document_type': 'Other',
+		'issingle': 1,
+		'module': 'Accounts',
+		'name': '__common__',
+		'section_style': 'Simple',
+		'show_in_menu': 1,
+		'version': 35
+	},
+
+	# These values are common for all DocField
+	{
+		'doctype': 'DocField',
+		'name': '__common__',
+		'parent': 'Internal Reconciliation',
+		'parentfield': 'fields',
+		'parenttype': 'DocType'
+	},
+
+	# These values are common for all DocPerm
+	{
+		'doctype': 'DocPerm',
+		'name': '__common__',
+		'parent': 'Internal Reconciliation',
+		'parentfield': 'permissions',
+		'parenttype': 'DocType',
+		'read': 1
+	},
+
+	# DocType, Internal Reconciliation
+	{
+		'doctype': 'DocType',
+		'name': 'Internal Reconciliation'
+	},
+
+	# DocPerm
+	{
+		'create': 1,
+		'doctype': 'DocPerm',
+		'permlevel': 0,
+		'role': 'System Manager',
+		'write': 1
+	},
+
+	# DocPerm
+	{
+		'create': 1,
+		'doctype': 'DocPerm',
+		'permlevel': 0,
+		'role': 'Accounts Manager',
+		'write': 1
+	},
+
+	# DocPerm
+	{
+		'create': 1,
+		'doctype': 'DocPerm',
+		'permlevel': 0,
+		'role': 'Accounts User',
+		'write': 1
+	},
+
+	# DocPerm
+	{
+		'doctype': 'DocPerm',
+		'permlevel': 1,
+		'role': 'All'
+	},
+
+	# DocField
+	{
+		'colour': 'White:FFF',
+		'doctype': 'DocField',
+		'fieldtype': 'Column Break',
+		'permlevel': 0,
+		'width': '50%'
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldname': 'account',
+		'fieldtype': 'Link',
+		'label': 'Account',
+		'options': 'Account',
+		'permlevel': 0
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldname': 'voucher_type',
+		'fieldtype': 'Select',
+		'label': 'Voucher Type',
+		'options': 'Sales Invoice\nPurchase Invoice\nJournal Voucher',
+		'permlevel': 0
+	},
+
+	# DocField
+	{
+		'colour': 'White:FFF',
+		'doctype': 'DocField',
+		'fieldname': 'voucher_no',
+		'fieldtype': 'Link',
+		'label': 'Voucher No',
+		'permlevel': 0,
+		'trigger': 'Client'
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldtype': 'Column Break',
+		'permlevel': 0,
+		'width': '50%'
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldname': 'total_amount',
+		'fieldtype': 'Currency',
+		'label': 'Total Amount',
+		'permlevel': 1
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldname': 'pending_amt_to_reconcile',
+		'fieldtype': 'Currency',
+		'label': 'Pending Amt To Reconcile',
+		'permlevel': 1
+	},
+
+	# DocField
+	{
+		'colour': 'White:FFF',
+		'doctype': 'DocField',
+		'fieldtype': 'Section Break',
+		'label': 'Payment Entries',
+		'permlevel': 0
+	},
+
+	# DocField
+	{
+		'colour': 'White:FFF',
+		'doctype': 'DocField',
+		'fieldtype': 'Column Break',
+		'label': "<div class = 'field_description'>Filter payment entries based on date:</div>",
+		'permlevel': 0,
+		'width': '50%'
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldname': 'from_date',
+		'fieldtype': 'Date',
+		'label': 'From Date',
+		'permlevel': 0
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldname': 'to_date',
+		'fieldtype': 'Date',
+		'label': 'To Date',
+		'permlevel': 0
+	},
+
+	# DocField
+	{
+		'colour': 'White:FFF',
+		'doctype': 'DocField',
+		'fieldtype': 'Column Break',
+		'label': "<div class = 'field_description'>Filter payment entries based on amount:</div>",
+		'permlevel': 0,
+		'width': '50%'
+	},
+
+	# DocField
+	{
+		'colour': 'White:FFF',
+		'doctype': 'DocField',
+		'fieldname': 'amt_greater_than',
+		'fieldtype': 'Data',
+		'label': 'Amount >=',
+		'permlevel': 0
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldname': 'amt_less_than',
+		'fieldtype': 'Data',
+		'label': 'Amount <=',
+		'permlevel': 0
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldtype': 'Section Break',
+		'options': 'Simple',
+		'permlevel': 0
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldtype': 'Button',
+		'label': 'Pull Payment Entries',
+		'options': 'get_payment_entries',
+		'permlevel': 0
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldname': 'ir_payment_details',
+		'fieldtype': 'Table',
+		'label': 'Payment Entries',
+		'options': 'IR Payment Detail',
+		'permlevel': 0
+	},
+
+	# DocField
+	{
+		'colour': 'White:FFF',
+		'doctype': 'DocField',
+		'fieldtype': 'HTML',
+		'label': 'Reconcile HTML',
+		'options': "<div class='field_description'>Select Payment Voucher and Amount to Reconcile in the above table and then click Reconcile button</div>",
+		'permlevel': 0
+	},
+
+	# DocField
+	{
+		'colour': 'White:FFF',
+		'doctype': 'DocField',
+		'fieldtype': 'Button',
+		'label': 'Reconcile',
+		'options': 'reconcile',
+		'permlevel': 0,
+		'trigger': 'Client'
+	}
+]
\ No newline at end of file
diff --git a/erpnext/accounts/doctype/internal_reconciliation/test_ir.py b/erpnext/accounts/doctype/internal_reconciliation/test_ir.py
new file mode 100644
index 0000000..b35af6e
--- /dev/null
+++ b/erpnext/accounts/doctype/internal_reconciliation/test_ir.py
@@ -0,0 +1,169 @@
+import unittest
+import webnotes
+
+from webnotes.model.doc import Document
+from webnotes.model.code import get_obj
+from webnotes.utils import cstr, flt
+sql = webnotes.conn.sql
+
+class TestInternalReco(unittest.TestCase):
+	def setUp(self):
+		webnotes.conn.begin()
+		
+		comp1.save(1)
+		cust1.save(1)
+		bank1.save(1)
+		rv1.save(1)
+		rv_gle.save(1)
+
+
+		for t in jv1: t.save(1)
+		for t in jv1[1:]:
+			sql("update `tabJournal Voucher Detail` set parent = '%s' where name = '%s'" % (jv1[0].name, t.name))
+			
+		ir[0].save()
+		for t in ir[1:]:
+			t.save(1)
+			sql("update `tabIR Payment Detail` set voucher_no = '%s', voucher_detail_no = '%s' where parent = 'Internal Reconciliation'" % (jv1[0].name, jv1[1].name))
+		
+		
+		sql("update `tabGL Entry` set voucher_no = %s, against_voucher = %s where voucher_no = 'rv1'", (rv1.name, rv1.name))
+		sql("update `tabSingles` set value = %s where doctype = 'Internal Reconciliation' and field = 'voucher_no'", rv1.name)
+		
+		
+		self.ir = get_obj('Internal Reconciliation', with_children=1)		
+		self.ir.reconcile()
+		
+	#===========================
+	def test_jv(self):
+		"""
+			Test whether JV has benn properly splitted and against doc has been updated
+		"""
+		amt_against_doc = [[cstr(d[0]), flt(d[1]), flt(d[2])]for d in sql("select against_invoice, debit, credit from `tabJournal Voucher Detail` where parent = %s and account = 'cust1 - c1'", jv1[0].name)]
+		self.assertTrue(amt_against_doc == [[rv1.name, 0, 100.0], ['', 0, 400.0]])
+
+	#============================		
+	def test_gl_entry(self):
+		"""
+			Check proper gl entry has been made
+		"""
+		gle = [[cstr(d[0]), flt(d[1])] for d in sql("select against_voucher, sum(credit) - sum(debit) from `tabGL Entry` where voucher_no = %s and account = 'cust1 - c1' and ifnull(is_cancelled, 'No') = 'No' group by against_voucher", jv1[0].name)]
+
+		self.assertTrue([rv1.name, 100.0] in gle)
+		self.assertTrue(['', 400.0] in gle)
+		
+	#============================
+	def test_outstanding(self):
+		"""
+			Check whether Outstanding amount has been properly updated in RV
+		"""
+		amt = sql("select outstanding_amount from `tabReceivable Voucher` where name = '%s'" % rv1.name)[0][0]
+		self.assertTrue(amt == 0)
+		
+	#============================
+	def tearDown(self):
+		webnotes.conn.rollback()
+	
+
+
+
+# test data
+#---------------
+rv1 = Document(fielddata={
+		'doctype':'Receivable Voucher',
+		'docstatus':1,
+		'debit_to':'cust1 - c1',
+		'grand_total': 100,
+		'outstanding_amount': 100,
+		'name': 'rv1'
+	})
+	
+jv1 = [Document(fielddata={
+		'doctype':'Journal Voucher',
+		'docstatus':1,
+		'cheque_no': '163567',
+		'docstatus':1,
+		'company': 'comp1',
+		'posting_date' : '2011-05-02',
+		'remark': 'test data',
+		'fiscal_year': '2011-2012',
+		'total_debit': 500,
+		'total_credit': 500
+	}),
+	Document(fielddata = {
+		'parenttype':'Journal Voucher',
+		'parentfield':'entries',
+		'doctype':'Journal Voucher Detail',
+		'account' : 'cust1 - c1',
+		'credit':500,
+		'debit' : 0,
+		'docstatus':1
+	}),
+	Document(fielddata = {
+		'parenttype':'Journal Voucher',
+		'parentfield':'entries',
+		'doctype':'Journal Voucher Detail',
+		'account' : 'bank1 - c1',
+		'credit':0,
+		'debit' : 500,
+		'docstatus':1
+	})]
+	
+ir = [Document(fielddata = {
+		'doctype':'Internal Reconciliation',
+		'name' : 'Internal Reconciliation',
+		'account':'cust1 - c1',
+		'voucher_type' : 'Sales Invoice',
+		'voucher_no': 'rv1'
+	}),
+	Document(fielddata = {
+		'parenttype':'Internal Reconciliation',
+		'parentfield':'ir_payment_details',
+		'doctype':'IR Payment Detail',
+		'parent': 'Internal Reconciliation',
+		'voucher_no': 'jv1',
+		'name' : '123112',
+		'voucher_detail_no' : 'jvd1',
+		'selected' : 1,
+		'amt_due' : 500,
+		'amt_to_be_reconciled':100
+	})]
+	
+cust1 = Document(fielddata={
+		'doctype':'Account',
+		'docstatus':0,
+		'account_name' : 'cust1',
+		'debit_or_credit': 'Debit',
+		'company' : 'comp1',
+		'lft': 1,
+		'rgt': 2
+	})
+	
+bank1 = Document(fielddata={
+		'doctype':'Account',
+		'docstatus':0,
+		'account_name' : 'bank1',
+		'debit_or_credit': 'Debit',
+		'company' : 'comp1',
+		'lft': 3,
+		'rgt': 4
+	})	
+	
+comp1 = Document(fielddata={
+		'doctype':'Company',
+		'abbr': 'c1',
+		'company_name' : 'comp1',
+		'name': 'comp1'
+	})
+	
+rv_gle = Document(fielddata={
+		'doctype':'GL Entry',
+		'account': 'cust1 - c1',
+		'company' : 'comp1',
+		'voucher_no': 'rv1',
+		'against_voucher': 'rv1',
+		'against_voucher_type': 'Receivable Voucher',
+		'voucher_type' : 'Receivable Voucher',
+		'debit': 100,
+		'credit': 0
+	})
diff --git a/accounts/doctype/tds_payment_detail/__init__.py b/erpnext/accounts/doctype/ir_payment_detail/__init__.py
similarity index 100%
copy from accounts/doctype/tds_payment_detail/__init__.py
copy to erpnext/accounts/doctype/ir_payment_detail/__init__.py
diff --git a/erpnext/accounts/doctype/ir_payment_detail/ir_payment_detail.txt b/erpnext/accounts/doctype/ir_payment_detail/ir_payment_detail.txt
new file mode 100644
index 0000000..b35c497
--- /dev/null
+++ b/erpnext/accounts/doctype/ir_payment_detail/ir_payment_detail.txt
@@ -0,0 +1,132 @@
+# DocType, IR Payment Detail
+[
+
+	# These values are common in all dictionaries
+	{
+		'creation': '2011-08-30 11:57:48',
+		'docstatus': 0,
+		'modified': '2011-09-20 15:18:02',
+		'modified_by': 'Administrator',
+		'owner': 'Administrator'
+	},
+
+	# These values are common for all DocType
+	{
+		'colour': 'White:FFF',
+		'default_print_format': 'Standard',
+		'doctype': 'DocType',
+		'istable': 1,
+		'module': 'Accounts',
+		'name': '__common__',
+		'section_style': 'Simple',
+		'show_in_menu': 0,
+		'version': 14
+	},
+
+	# These values are common for all DocField
+	{
+		'doctype': 'DocField',
+		'name': '__common__',
+		'parent': 'IR Payment Detail',
+		'parentfield': 'fields',
+		'parenttype': 'DocType'
+	},
+
+	# DocType, IR Payment Detail
+	{
+		'doctype': 'DocType',
+		'name': 'IR Payment Detail'
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldname': 'selected',
+		'fieldtype': 'Check',
+		'label': 'Select',
+		'permlevel': 0,
+		'reqd': 1,
+		'width': '60px'
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldname': 'voucher_no',
+		'fieldtype': 'Link',
+		'label': 'Voucher No',
+		'options': 'Journal Voucher',
+		'permlevel': 1,
+		'reqd': 0,
+		'width': '140px'
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldname': 'amt_due',
+		'fieldtype': 'Currency',
+		'label': 'Amt Due',
+		'permlevel': 1
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldname': 'amt_to_be_reconciled',
+		'fieldtype': 'Currency',
+		'label': 'Amt to be reconciled',
+		'permlevel': 0,
+		'reqd': 1
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldname': 'posting_date',
+		'fieldtype': 'Date',
+		'label': 'Posting Date',
+		'permlevel': 1
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldname': 'total_amt',
+		'fieldtype': 'Currency',
+		'label': 'Total Amt',
+		'permlevel': 1
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldname': 'against_account',
+		'fieldtype': 'Data',
+		'label': 'Against Account',
+		'permlevel': 1
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldname': 'remarks',
+		'fieldtype': 'Small Text',
+		'label': 'Remarks',
+		'permlevel': 1,
+		'width': '200px'
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldname': 'voucher_detail_no',
+		'fieldtype': 'Data',
+		'hidden': 1,
+		'label': 'Voucher Detail No',
+		'no_column': 0,
+		'permlevel': 1,
+		'print_hide': 1,
+		'reqd': 0
+	}
+]
\ No newline at end of file
diff --git a/accounts/doctype/journal_voucher/__init__.py b/erpnext/accounts/doctype/journal_voucher/__init__.py
similarity index 100%
rename from accounts/doctype/journal_voucher/__init__.py
rename to erpnext/accounts/doctype/journal_voucher/__init__.py
diff --git a/accounts/doctype/journal_voucher/journal_voucher.js b/erpnext/accounts/doctype/journal_voucher/journal_voucher.js
similarity index 100%
rename from accounts/doctype/journal_voucher/journal_voucher.js
rename to erpnext/accounts/doctype/journal_voucher/journal_voucher.js
diff --git a/accounts/doctype/journal_voucher/journal_voucher.py b/erpnext/accounts/doctype/journal_voucher/journal_voucher.py
similarity index 100%
rename from accounts/doctype/journal_voucher/journal_voucher.py
rename to erpnext/accounts/doctype/journal_voucher/journal_voucher.py
diff --git a/accounts/doctype/journal_voucher/journal_voucher.txt b/erpnext/accounts/doctype/journal_voucher/journal_voucher.txt
similarity index 100%
rename from accounts/doctype/journal_voucher/journal_voucher.txt
rename to erpnext/accounts/doctype/journal_voucher/journal_voucher.txt
diff --git a/accounts/doctype/journal_voucher_detail/__init__.py b/erpnext/accounts/doctype/journal_voucher_detail/__init__.py
similarity index 100%
rename from accounts/doctype/journal_voucher_detail/__init__.py
rename to erpnext/accounts/doctype/journal_voucher_detail/__init__.py
diff --git a/accounts/doctype/journal_voucher_detail/journal_voucher_detail.txt b/erpnext/accounts/doctype/journal_voucher_detail/journal_voucher_detail.txt
similarity index 100%
rename from accounts/doctype/journal_voucher_detail/journal_voucher_detail.txt
rename to erpnext/accounts/doctype/journal_voucher_detail/journal_voucher_detail.txt
diff --git a/accounts/doctype/lease_agreement/__init__.py b/erpnext/accounts/doctype/lease_agreement/__init__.py
similarity index 100%
rename from accounts/doctype/lease_agreement/__init__.py
rename to erpnext/accounts/doctype/lease_agreement/__init__.py
diff --git a/accounts/doctype/lease_agreement/lease_agreement.js b/erpnext/accounts/doctype/lease_agreement/lease_agreement.js
similarity index 99%
rename from accounts/doctype/lease_agreement/lease_agreement.js
rename to erpnext/accounts/doctype/lease_agreement/lease_agreement.js
index 8ffd522..7b90be9 100644
--- a/accounts/doctype/lease_agreement/lease_agreement.js
+++ b/erpnext/accounts/doctype/lease_agreement/lease_agreement.js
@@ -75,4 +75,4 @@
 cur_frm.fields_dict.invoice.get_query=function(doc){
 
 	return "SELECT tv.name FROM `tabReceivable Voucher` tv WHERE debit_to='"+doc.account+"' and  tv.%(key)s like '%s' ORDER BY tv.name LIMIT 50"
-}
\ No newline at end of file
+}
diff --git a/accounts/doctype/lease_agreement/lease_agreement.py b/erpnext/accounts/doctype/lease_agreement/lease_agreement.py
similarity index 100%
rename from accounts/doctype/lease_agreement/lease_agreement.py
rename to erpnext/accounts/doctype/lease_agreement/lease_agreement.py
diff --git a/accounts/doctype/lease_agreement/lease_agreement.txt b/erpnext/accounts/doctype/lease_agreement/lease_agreement.txt
similarity index 100%
rename from accounts/doctype/lease_agreement/lease_agreement.txt
rename to erpnext/accounts/doctype/lease_agreement/lease_agreement.txt
diff --git a/accounts/doctype/lease_installment/__init__.py b/erpnext/accounts/doctype/lease_installment/__init__.py
similarity index 100%
rename from accounts/doctype/lease_installment/__init__.py
rename to erpnext/accounts/doctype/lease_installment/__init__.py
diff --git a/accounts/doctype/lease_installment/lease_installment.txt b/erpnext/accounts/doctype/lease_installment/lease_installment.txt
similarity index 100%
rename from accounts/doctype/lease_installment/lease_installment.txt
rename to erpnext/accounts/doctype/lease_installment/lease_installment.txt
diff --git a/accounts/doctype/ledger_balance_export/__init__.py b/erpnext/accounts/doctype/ledger_balance_export/__init__.py
similarity index 100%
rename from accounts/doctype/ledger_balance_export/__init__.py
rename to erpnext/accounts/doctype/ledger_balance_export/__init__.py
diff --git a/accounts/doctype/ledger_balance_export/ledger_balance_export.js b/erpnext/accounts/doctype/ledger_balance_export/ledger_balance_export.js
similarity index 100%
rename from accounts/doctype/ledger_balance_export/ledger_balance_export.js
rename to erpnext/accounts/doctype/ledger_balance_export/ledger_balance_export.js
diff --git a/accounts/doctype/ledger_balance_export/ledger_balance_export.py b/erpnext/accounts/doctype/ledger_balance_export/ledger_balance_export.py
similarity index 100%
rename from accounts/doctype/ledger_balance_export/ledger_balance_export.py
rename to erpnext/accounts/doctype/ledger_balance_export/ledger_balance_export.py
diff --git a/accounts/doctype/ledger_balance_export/ledger_balance_export.txt b/erpnext/accounts/doctype/ledger_balance_export/ledger_balance_export.txt
similarity index 100%
rename from accounts/doctype/ledger_balance_export/ledger_balance_export.txt
rename to erpnext/accounts/doctype/ledger_balance_export/ledger_balance_export.txt
diff --git a/accounts/doctype/ledger_detail/__init__.py b/erpnext/accounts/doctype/ledger_detail/__init__.py
similarity index 100%
rename from accounts/doctype/ledger_detail/__init__.py
rename to erpnext/accounts/doctype/ledger_detail/__init__.py
diff --git a/accounts/doctype/ledger_detail/ledger_detail.txt b/erpnext/accounts/doctype/ledger_detail/ledger_detail.txt
similarity index 100%
rename from accounts/doctype/ledger_detail/ledger_detail.txt
rename to erpnext/accounts/doctype/ledger_detail/ledger_detail.txt
diff --git a/accounts/doctype/mode_of_payment/__init__.py b/erpnext/accounts/doctype/mode_of_payment/__init__.py
similarity index 100%
rename from accounts/doctype/mode_of_payment/__init__.py
rename to erpnext/accounts/doctype/mode_of_payment/__init__.py
diff --git a/accounts/doctype/mode_of_payment/mode_of_payment.js b/erpnext/accounts/doctype/mode_of_payment/mode_of_payment.js
similarity index 100%
rename from accounts/doctype/mode_of_payment/mode_of_payment.js
rename to erpnext/accounts/doctype/mode_of_payment/mode_of_payment.js
diff --git a/accounts/doctype/mode_of_payment/mode_of_payment.txt b/erpnext/accounts/doctype/mode_of_payment/mode_of_payment.txt
similarity index 100%
rename from accounts/doctype/mode_of_payment/mode_of_payment.txt
rename to erpnext/accounts/doctype/mode_of_payment/mode_of_payment.txt
diff --git a/accounts/doctype/payable_voucher/__init__.py b/erpnext/accounts/doctype/payable_voucher/__init__.py
similarity index 100%
rename from accounts/doctype/payable_voucher/__init__.py
rename to erpnext/accounts/doctype/payable_voucher/__init__.py
diff --git a/accounts/doctype/payable_voucher/payable_voucher.js b/erpnext/accounts/doctype/payable_voucher/payable_voucher.js
similarity index 100%
rename from accounts/doctype/payable_voucher/payable_voucher.js
rename to erpnext/accounts/doctype/payable_voucher/payable_voucher.js
diff --git a/accounts/doctype/payable_voucher/payable_voucher.py b/erpnext/accounts/doctype/payable_voucher/payable_voucher.py
similarity index 95%
rename from accounts/doctype/payable_voucher/payable_voucher.py
rename to erpnext/accounts/doctype/payable_voucher/payable_voucher.py
index 7bc0eb6..178a0cb 100644
--- a/accounts/doctype/payable_voucher/payable_voucher.py
+++ b/erpnext/accounts/doctype/payable_voucher/payable_voucher.py
@@ -441,12 +441,38 @@
 				if not submitted:
 					msgprint("Purchase Receipt : "+ cstr(d.purchase_receipt) +" is not submitted")
 					raise Exception , "Validation Error."
-
-	def update_against_document_in_jv(self, against_document_no, against_document_doctype):
-		get_obj('GL Control').update_against_document_in_jv( self,'advance_allocation_details', against_document_no, against_document_doctype, self.doc.credit_to, 'debit',self.doc.doctype)
+					
+					
+	#--------------------------------------------------------------------
+	def update_against_document_in_jv(self):
+		"""
+			Links invoice and advance voucher:
+				1. cancel advance voucher
+				2. split into multiple rows if partially adjusted, assign against voucher
+				3. submit advance voucher
+		"""
+		
+		lst = []
+		for d in getlist(self.doclist, 'advance_allocation_details'):
+			if flt(d.allocated_amount) > 0:
+				args = {
+					'voucher_no' : d.journal_voucher, 
+					'voucher_detail_no' : d.jv_detail_no, 
+					'against_voucher_type' : 'Payable Voucher', 
+					'against_voucher'  : self.doc.name,
+					'account' : self.doc.credit_to, 
+					'is_advance' : 'Yes', 
+					'dr_or_cr' : 'debit', 
+					'unadjusted_amt' : flt(d.advance_amount),
+					'allocated_amt' : flt(d.allocated_amount)
+				}
+				lst.append(args)
+		
+		if lst:
+			get_obj('GL Control').reconcile_against_document(lst)
 
 	# On Submit
-	# ----------
+	#--------------------------------------------------------------------
 	def on_submit(self):
 		self.check_prev_docstatus()
 		
@@ -456,7 +482,9 @@
 		
 		# this sequence because outstanding may get -negative
 		get_obj(dt='GL Control').make_gl_entries(self.doc, self.doclist)
-		self.update_against_document_in_jv(self.doc.name, self.doc.doctype)
+		
+		self.update_against_document_in_jv()
+		
 		get_obj(dt = 'Purchase Common').update_prevdoc_detail(self, is_submit = 1)
 
 
diff --git a/accounts/doctype/payable_voucher/payable_voucher.txt b/erpnext/accounts/doctype/payable_voucher/payable_voucher.txt
similarity index 100%
rename from accounts/doctype/payable_voucher/payable_voucher.txt
rename to erpnext/accounts/doctype/payable_voucher/payable_voucher.txt
diff --git a/accounts/doctype/period_closing_voucher/__init__.py b/erpnext/accounts/doctype/period_closing_voucher/__init__.py
similarity index 100%
rename from accounts/doctype/period_closing_voucher/__init__.py
rename to erpnext/accounts/doctype/period_closing_voucher/__init__.py
diff --git a/accounts/doctype/period_closing_voucher/period_closing_voucher.js b/erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.js
similarity index 100%
rename from accounts/doctype/period_closing_voucher/period_closing_voucher.js
rename to erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.js
diff --git a/accounts/doctype/period_closing_voucher/period_closing_voucher.py b/erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.py
similarity index 100%
rename from accounts/doctype/period_closing_voucher/period_closing_voucher.py
rename to erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.py
diff --git a/accounts/doctype/period_closing_voucher/period_closing_voucher.txt b/erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.txt
similarity index 100%
rename from accounts/doctype/period_closing_voucher/period_closing_voucher.txt
rename to erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.txt
diff --git a/accounts/doctype/pos_setting/__init__.py b/erpnext/accounts/doctype/pos_setting/__init__.py
similarity index 100%
rename from accounts/doctype/pos_setting/__init__.py
rename to erpnext/accounts/doctype/pos_setting/__init__.py
diff --git a/erpnext/accounts/doctype/pos_setting/pos_setting.js b/erpnext/accounts/doctype/pos_setting/pos_setting.js
new file mode 100755
index 0000000..4eed7b6
--- /dev/null
+++ b/erpnext/accounts/doctype/pos_setting/pos_setting.js
@@ -0,0 +1,109 @@
+ 
+
+//--------- ONLOAD -------------
+cur_frm.cscript.onload = function(doc, cdt, cdn) {
+   
+}
+
+// Settings Module
+
+cur_frm.cscript.refresh = function(doc,cdt,cdn){
+   
+
+  if(doc.based_on == 'Grand Total' || doc.based_on == 'Average Discount' || doc.based_on == 'Total Claimed Amount' || doc.based_on == 'Not Applicable') hide_field('master_name');
+  else  unhide_field('master_name');
+  
+  if(doc.based_on == 'Not Applicable') hide_field('value');
+  else unhide_field('value');
+  
+  if(doc.transaction == 'Expense Voucher' || doc.transaction == 'Appraisal'){
+    hide_field(['master_name','system_role', 'system_user']);
+    unhide_field(['to_emp','to_designation']);
+    if(doc.transaction == 'Appraisal') hide_field('value');
+    else unhide_field('value');
+  }
+  else {
+    unhide_field(['master_name','system_role', 'system_user','value']);
+    hide_field(['to_emp','to_designation']);
+  }
+}
+
+cur_frm.cscript.based_on = function(doc){
+  if(doc.based_on == 'Grand Total' || doc.based_on == 'Average Discount' || doc.based_on == 'Total Claimed Amount' || doc.based_on == 'Not Applicable'){
+    doc.master_name = '';
+    refresh_field('master_name');
+    hide_field('master_name');
+  }
+  else{
+    unhide_field('master_name');
+  }
+  
+  if(doc.based_on == 'Not Applicable') {
+      doc.value =0;
+      refresh_field('value');
+      hide_field('value');
+    }
+    else unhide_field('value');
+}
+
+cur_frm.cscript.transaction = function(doc,cdt,cdn){
+  if(doc.transaction == 'Expense Voucher' || doc.transaction == 'Appraisal'){
+    doc.master_name = doc.system_role = doc.system_user = '';
+    refresh_many(['master_name','system_role', 'system_user']);
+    hide_field(['master_name','system_role', 'system_user']);
+    unhide_field(['to_emp','to_designation']);
+    if(doc.transaction == 'Appraisal') {
+      doc.value =0;
+      refresh_many('value');
+      hide_field('value');
+    }
+    else unhide_field('value');
+  }
+  else {
+    unhide_field(['master_name','system_role', 'system_user','value']);
+    hide_field(['to_emp','to_designation']);
+  }
+  
+  if(doc.transaction == 'Expense Voucher') doc.based_on = 'Total Claimed Amount';
+  if(doc.transaction == 'Appraisal') doc.based_on == 'Not Applicable';
+}
+
+
+// System User Trigger
+// -------------------
+cur_frm.fields_dict['system_user'].get_query = function(doc) {
+  return 'SELECT tabProfile.name, tabProfile.first_name FROM tabProfile WHERE tabProfile.name not in ("Administrator","Guest") AND tabProfile.docstatus != 2 AND tabProfile.%(key)s LIKE "%s" LIMIT 50'
+}
+
+
+// System Role Trigger
+// -----------------------
+cur_frm.fields_dict['system_role'].get_query = function(doc) {
+  return 'SELECT tabRole.name FROM tabRole WHERE tabRole.name not in ("Administrator","Guest","All") AND tabRole.docstatus != 2 AND tabRole.%(key)s LIKE "%s" LIMIT 50'
+}
+
+
+// Approving User Trigger
+// -----------------------
+cur_frm.fields_dict['approving_user'].get_query = function(doc) {
+  return 'SELECT tabProfile.name, tabProfile.first_name FROM tabProfile WHERE tabProfile.name not in ("Administrator","Guest") AND tabProfile.docstatus != 2 AND tabProfile.%(key)s LIKE "%s" LIMIT 50'
+}
+
+
+// Approving Role Trigger
+// -----------------------
+cur_frm.fields_dict['approving_role'].get_query = function(doc) {
+  return 'SELECT tabRole.name FROM tabRole WHERE tabRole.name not in ("Administrator","Guest","All") AND tabRole.docstatus != 2 AND tabRole.%(key)s LIKE "%s" LIMIT 50'
+}
+
+
+// Master Name Trigger
+// --------------------
+cur_frm.fields_dict['master_name'].get_query = function(doc){
+  if(doc.based_on == 'Customerwise Discount')
+    return 'SELECT `tabCustomer`.`name` FROM `tabCustomer` WHERE `tabCustomer`.docstatus !=2 and `tabCustomer`.`name` LIKE "%s" ORDER BY `tabCustomer`.`name` DESC LIMIT 50';
+  else if(doc.based_on == 'Itemwise Discount')
+    return 'SELECT `tabItem`.`name` FROM `tabItem` WHERE (IFNULL(`tabItem`.`end_of_life`,"") = "" OR `tabItem`.`end_of_life` = "0000-00-00" OR `tabItem`.`end_of_life` > NOW()) and `tabItem`.is_sales_item = "Yes" and tabItem.%(key)s LIKE "%s" ORDER BY `tabItem`.`name` DESC LIMIT 50';
+  else
+    return 'SELECT `tabItem`.`name` FROM `tabItem` WHERE `tabItem`.`name` = "cheating done to avoid null" ORDER BY `tabItem`.`name` DESC LIMIT 50';
+}
diff --git a/accounts/doctype/pos_setting/pos_setting.py b/erpnext/accounts/doctype/pos_setting/pos_setting.py
similarity index 100%
rename from accounts/doctype/pos_setting/pos_setting.py
rename to erpnext/accounts/doctype/pos_setting/pos_setting.py
diff --git a/accounts/doctype/pos_setting/pos_setting.txt b/erpnext/accounts/doctype/pos_setting/pos_setting.txt
similarity index 100%
rename from accounts/doctype/pos_setting/pos_setting.txt
rename to erpnext/accounts/doctype/pos_setting/pos_setting.txt
diff --git a/accounts/doctype/purchase_tax_detail/__init__.py b/erpnext/accounts/doctype/purchase_tax_detail/__init__.py
similarity index 100%
rename from accounts/doctype/purchase_tax_detail/__init__.py
rename to erpnext/accounts/doctype/purchase_tax_detail/__init__.py
diff --git a/accounts/doctype/purchase_tax_detail/purchase_tax_detail.txt b/erpnext/accounts/doctype/purchase_tax_detail/purchase_tax_detail.txt
similarity index 100%
rename from accounts/doctype/purchase_tax_detail/purchase_tax_detail.txt
rename to erpnext/accounts/doctype/purchase_tax_detail/purchase_tax_detail.txt
diff --git a/accounts/doctype/pv_detail/__init__.py b/erpnext/accounts/doctype/pv_detail/__init__.py
similarity index 100%
rename from accounts/doctype/pv_detail/__init__.py
rename to erpnext/accounts/doctype/pv_detail/__init__.py
diff --git a/accounts/doctype/pv_detail/pv_detail.txt b/erpnext/accounts/doctype/pv_detail/pv_detail.txt
similarity index 100%
rename from accounts/doctype/pv_detail/pv_detail.txt
rename to erpnext/accounts/doctype/pv_detail/pv_detail.txt
diff --git a/accounts/doctype/receivable_voucher/__init__.py b/erpnext/accounts/doctype/receivable_voucher/__init__.py
similarity index 100%
rename from accounts/doctype/receivable_voucher/__init__.py
rename to erpnext/accounts/doctype/receivable_voucher/__init__.py
diff --git a/erpnext/accounts/doctype/receivable_voucher/receivable_voucher.js b/erpnext/accounts/doctype/receivable_voucher/receivable_voucher.js
new file mode 100644
index 0000000..ec8f291
--- /dev/null
+++ b/erpnext/accounts/doctype/receivable_voucher/receivable_voucher.js
@@ -0,0 +1,434 @@
+cur_frm.cscript.tname = "RV Detail";
+cur_frm.cscript.fname = "entries";
+cur_frm.cscript.other_fname = "other_charges";
+cur_frm.cscript.sales_team_fname = "sales_team";
+
+// print heading
+cur_frm.pformat.print_heading = 'Invoice';
+
+$import(Sales Common)
+$import(Other Charges)
+$import(SMS Control)
+
+// On Load
+// -------
+cur_frm.cscript.onload = function(doc,dt,dn) {
+	if(!doc.customer && doc.debit_to) get_field(dt, 'debit_to', dn).print_hide = 0;
+	if (doc.__islocal) {
+		if(!doc.voucher_date) set_multiple(dt,dn,{voucher_date:get_today()});
+		if(!doc.due_date) set_multiple(dt,dn,{due_date:get_today()});
+		if(!doc.posting_date) set_multiple(dt,dn,{posting_date:get_today()});
+
+		//for previously created sales invoice, set required field related to pos
+		if(doc.is_pos ==1) cur_frm.cscript.is_pos(doc, dt, dn);
+
+ 			hide_field(['customer_address', 'contact_person', 'customer_name', 'address_display', 'contact_display', 'contact_mobile', 'contact_email', 'territory', 'customer_group']);
+	}
+}
+
+cur_frm.cscript.onload_post_render = function(doc, dt, dn) {
+	if(doc.customer && doc.__islocal) {
+		// called from mapper, update the account names for items and customer
+		$c_obj(make_doclist(doc.doctype,doc.name),
+			'load_default_accounts','',
+			function(r,rt) {
+				refresh_field('entries');
+				cur_frm.cscript.customer(doc,dt,dn);
+			}
+		);
+	}
+
+	if(!doc.customer && doc.__islocal) {
+		// new -- load default taxes
+		cur_frm.cscript.load_taxes(doc, cdt, cdn);
+	}
+}
+
+
+// Hide Fields
+// ------------
+cur_frm.cscript.hide_fields = function(doc, cdt, cdn) {
+	par_flds	=['project_name', 'due_date', 'posting_time', 'sales_order_main', 'delivery_note_main', 'Get Items', 'company', 'is_opening', 'currency', 'conversion_rate', 'price_list_name', 'cash_bank_account', 'source', 'cancel_reason', 'total_advance', 'gross_profit', 'gross_profit_percent', 'Get Advances Received', 'advance_adjustment_details', 'sales_partner', 'commission_rate', 'total_commission', 'Repair Outstanding Amt'];
+	
+	ch_flds = {'entries': ['income_account', 'warehouse', 'cost_center', 'sales_order', 'delivery_note']}
+	
+	if(cint(doc.is_pos) == 1) {
+		hide_field(par_flds);	
+		for(t in ch_flds) {
+			for(f in ch_flds[t]) {
+				cur_frm.fields_dict[t].grid.set_column_disp(ch_flds[t][f], false);
+			}
+		}
+	} else {
+		unhide_field(par_flds);
+		for (t in ch_flds) {
+			for (f in ch_flds[t]) {
+				cur_frm.fields_dict[t].grid.set_column_disp(ch_flds[t][f], true);
+			}
+		}
+	}
+}
+
+
+// Refresh
+// -------
+cur_frm.cscript.refresh = function(doc, dt, dn) {
+
+	// Show / Hide button
+	cur_frm.clear_custom_buttons();
+
+	if(doc.docstatus==1) {
+		cur_frm.add_custom_button('View Ledger', cur_frm.cscript['View Ledger Entry']);
+		cur_frm.add_custom_button('Send SMS', cur_frm.cscript['Send SMS']);
+		unhide_field('Repair Outstanding Amt');
+
+		if(doc.is_pos==1 && doc.update_stock!=1)
+			cur_frm.add_custom_button('Make Delivery', cur_frm.cscript['Make Delivery Note']);
+
+		if(doc.outstanding_amount!=0)
+			cur_frm.add_custom_button('Make Payment Entry', cur_frm.cscript['Make Bank Voucher']);
+	}
+	else
+		hide_field('Repair Outstanding Amt');
+	cur_frm.cscript.is_opening(doc, dt, dn);
+	cur_frm.cscript.hide_fields(doc, cdt, cdn);
+}
+
+//fetch retail transaction related fields
+//--------------------------------------------
+cur_frm.cscript.is_pos = function(doc,dt,dn){
+	cur_frm.cscript.hide_fields(doc, cdt, cdn);
+	if(doc.is_pos == 1){
+		if (!doc.company) {
+			msgprint("Please select company to proceed");
+			doc.is_pos = 0;
+			refresh_field('is_pos');
+		}
+		else {
+			var callback = function(r,rt){
+				cur_frm.refresh();
+			}
+			$c_obj(make_doclist(dt,dn),'set_pos_fields','',callback);
+		}
+	}
+}
+
+
+cur_frm.cscript.warehouse = function(doc, cdt , cdn) {
+	var d = locals[cdt][cdn];
+	if (!d.item_code) {alert("please enter item code first"); return};
+	if (d.warehouse) {
+		arg = "{'item_code':'" + d.item_code + "','warehouse':'" + d.warehouse +"'}";
+		get_server_fields('get_actual_qty',arg,'entries',doc,cdt,cdn,1);
+	}
+}
+
+
+
+//Customer
+cur_frm.cscript.customer = function(doc,dt,dn) {
+
+	var callback = function(r,rt) {
+			var doc = locals[cur_frm.doctype][cur_frm.docname];
+			get_server_fields('get_debit_to','','',doc, dt, dn, 0);
+			cur_frm.refresh();
+	}
+
+	if(doc.customer) $c_obj(make_doclist(doc.doctype, doc.name), 'get_default_customer_address', '', callback);
+	if(doc.customer) unhide_field(['customer_address','contact_person','customer_name','address_display','contact_display','contact_mobile','contact_email','territory','customer_group']);
+}
+
+cur_frm.cscript.customer_address = cur_frm.cscript.contact_person = function(doc,dt,dn) {
+	if(doc.customer) get_server_fields('get_customer_address', JSON.stringify({customer: doc.customer, address: doc.customer_address, contact: doc.contact_person}),'', doc, dt, dn, 1);
+}
+
+cur_frm.fields_dict.customer_address.on_new = function(dn) {
+	locals['Address'][dn].customer = locals[cur_frm.doctype][cur_frm.docname].customer;
+	locals['Address'][dn].customer_name = locals[cur_frm.doctype][cur_frm.docname].customer_name;
+}
+
+cur_frm.fields_dict.contact_person.on_new = function(dn) {
+	locals['Contact'][dn].customer = locals[cur_frm.doctype][cur_frm.docname].customer;
+	locals['Contact'][dn].customer_name = locals[cur_frm.doctype][cur_frm.docname].customer_name;
+}
+
+cur_frm.fields_dict['customer_address'].get_query = function(doc, cdt, cdn) {
+	return 'SELECT name,address_line1,city FROM tabAddress WHERE customer = "'+ doc.customer +'" AND docstatus != 2 AND name LIKE "%s" ORDER BY name ASC LIMIT 50';
+}
+
+cur_frm.fields_dict['contact_person'].get_query = function(doc, cdt, cdn) {
+	return 'SELECT name,CONCAT(first_name," ",ifnull(last_name,"")) As FullName,department,designation FROM tabContact WHERE customer = "'+ doc.customer +'" AND docstatus != 2 AND name LIKE "%s" ORDER BY name ASC LIMIT 50';
+}
+
+
+// Set Due Date = posting date + credit days
+cur_frm.cscript.debit_to = function(doc,dt,dn) {
+
+	var callback2 = function(r,rt) {
+			var doc = locals[cur_frm.doctype][cur_frm.docname];
+			cur_frm.refresh();
+	}
+
+	var callback = function(r,rt) {
+			var doc = locals[cur_frm.doctype][cur_frm.docname];
+			if(doc.customer) $c_obj(make_doclist(dt,dn), 'get_default_customer_address', '', callback2);
+			if(doc.customer) unhide_field(['customer_address','contact_person','customer_name','address_display','contact_display','contact_mobile','contact_email','territory','customer_group']);
+			cur_frm.refresh();
+	}
+
+	if(doc.debit_to && doc.posting_date){
+		get_server_fields('get_cust_and_due_date','','',doc,dt,dn,1,callback);
+	}
+}
+
+
+
+//refresh advance amount
+//-------------------------------------------------
+
+cur_frm.cscript.paid_amount = function(doc,dt,dn){
+	doc.outstanding_amount = flt(doc.grand_total) - flt(doc.paid_amount) - flt(doc.write_off_amount);
+	refresh_field('outstanding_amount');
+}
+
+
+//---- get customer details ----------------------------
+cur_frm.cscript.project_name = function(doc,cdt,cdn){
+	$c_obj(make_doclist(doc.doctype, doc.name),'pull_project_customer','', function(r,rt){
+		refresh_many(['customer', 'customer_name','customer_address', 'territory']);
+	});
+}
+
+//Set debit and credit to zero on adding new row
+//----------------------------------------------
+cur_frm.fields_dict['entries'].grid.onrowadd = function(doc, cdt, cdn){
+
+	cl = getchildren('RV Detail', doc.name, cur_frm.cscript.fname, doc.doctype);
+	acc = '';
+	cc = '';
+
+	for(var i = 0; i<cl.length; i++) {
+
+		if (cl[i].idx == 1){
+			acc = cl[i].income_account;
+			cc = cl[i].cost_center;
+		}
+		else{
+			if (! cl[i].income_account) { cl[i].income_account = acc; refresh_field('income_account', cl[i].name, 'entries');}
+			if (! cl[i].cost_center)	{cl[i].cost_center = cc;refresh_field('cost_center', cl[i].name, 'entries');}
+		}
+	}
+}
+
+cur_frm.cscript.is_opening = function(doc, dt, dn) {
+	hide_field('aging_date');
+	if (doc.is_opening == 'Yes') unhide_field('aging_date');
+}
+
+/* **************************** TRIGGERS ********************************** */
+
+
+
+// Posting Date
+// ------------
+//cur_frm.cscript.posting_date = cur_frm.cscript.debit_to;
+
+
+// Get Items based on SO or DN Selected
+cur_frm.cscript['Get Items'] = function(doc, dt, dn) {
+	var callback = function(r,rt) {
+		unhide_field(['customer_address','contact_person','customer_name','address_display','contact_display','contact_mobile','contact_email','territory','customer_group']);
+		cur_frm.refresh();
+	}
+	get_server_fields('pull_details','','',doc, dt, dn,1,callback);
+}
+
+
+
+// Allocated Amount in advances table
+// -----------------------------------
+cur_frm.cscript.allocated_amount = function(doc,cdt,cdn){
+	cur_frm.cscript.calc_adjustment_amount(doc,cdt,cdn);
+}
+
+//Make Delivery Note Button
+//-----------------------------
+
+cur_frm.cscript['Make Delivery Note'] = function() {
+
+	var doc = cur_frm.doc
+	n = createLocal('Delivery Note');
+	$c('dt_map', args={
+		'docs':compress_doclist([locals['Delivery Note'][n]]),
+		'from_doctype':doc.doctype,
+		'to_doctype':'Delivery Note',
+		'from_docname':doc.name,
+		'from_to_list':"[['Receivable Voucher','Delivery Note'],['RV Detail','Delivery Note Detail'],['RV Tax Detail','RV Tax Detail'],['Sales Team','Sales Team']]"
+		}, function(r,rt) {
+			 loaddoc('Delivery Note', n);
+		}
+	);
+}
+
+
+
+// Make Bank Voucher Button
+// -------------------------
+cur_frm.cscript['Make Bank Voucher'] = function(doc, dt, dn) {
+	cur_frm.cscript.make_jv(cur_frm.doc);
+}
+
+
+/* ***************************** Get Query Functions ************************** */
+
+// Debit To
+// ---------
+cur_frm.fields_dict.debit_to.get_query = function(doc) {
+	return 'SELECT tabAccount.name FROM tabAccount WHERE tabAccount.debit_or_credit="Debit" AND tabAccount.is_pl_account = "No" AND tabAccount.group_or_ledger="Ledger" AND tabAccount.docstatus!=2 AND tabAccount.company="'+doc.company+'" AND tabAccount.%(key)s LIKE "%s"'
+}
+
+// Cash/bank account
+//------------------
+cur_frm.fields_dict.cash_bank_account.get_query = function(doc) {
+	return 'SELECT tabAccount.name FROM tabAccount WHERE tabAccount.debit_or_credit="Debit" AND tabAccount.is_pl_account = "No" AND tabAccount.group_or_ledger="Ledger" AND tabAccount.docstatus!=2 AND tabAccount.company="'+doc.company+'" AND tabAccount.%(key)s LIKE "%s"'
+}
+
+// Write off account
+//------------------
+cur_frm.fields_dict.write_off_account.get_query = function(doc) {
+	return 'SELECT tabAccount.name FROM tabAccount WHERE tabAccount.debit_or_credit="Debit" AND tabAccount.is_pl_account = "Yes" AND tabAccount.group_or_ledger="Ledger" AND tabAccount.docstatus!=2 AND tabAccount.company="'+doc.company+'" AND tabAccount.%(key)s LIKE "%s"'
+}
+
+// Write off cost center
+//-----------------------
+cur_frm.fields_dict.write_off_cost_center.get_query = function(doc) {
+	return 'SELECT `tabCost Center`.name FROM `tabCost Center` WHERE `tabCost Center`.group_or_ledger="Ledger" AND `tabCost Center`.docstatus!=2 AND `tabCost Center`.company_name="'+doc.company+'" AND `tabCost Center`.%(key)s LIKE "%s"'
+}
+
+//project name
+//--------------------------
+cur_frm.fields_dict['project_name'].get_query = function(doc, cdt, cdn) {
+	var cond = '';
+	if(doc.customer) cond = '(`tabProject`.customer = "'+doc.customer+'" OR IFNULL(`tabProject`.customer,"")="") AND';
+	return repl('SELECT `tabProject`.name FROM `tabProject` WHERE `tabProject`.status = "Open" AND %(cond)s `tabProject`.name LIKE "%s" ORDER BY `tabProject`.name ASC LIMIT 50', {cond:cond});
+}
+
+//Territory
+//-----------------------------
+cur_frm.fields_dict['territory'].get_query = function(doc,cdt,cdn) {
+	return 'SELECT `tabTerritory`.`name`,`tabTerritory`.`parent_territory` FROM `tabTerritory` WHERE `tabTerritory`.`is_group` = "No" AND `tabTerritory`.`docstatus`!= 2 AND `tabTerritory`.%(key)s LIKE "%s"	ORDER BY	`tabTerritory`.`name` ASC LIMIT 50';
+}
+
+// Income Account in Details Table
+// --------------------------------
+cur_frm.fields_dict.entries.grid.get_field("income_account").get_query = function(doc) {
+	return 'SELECT tabAccount.name FROM tabAccount WHERE tabAccount.debit_or_credit="Credit" AND tabAccount.group_or_ledger="Ledger" AND tabAccount.docstatus!=2 AND tabAccount.company="'+doc.company+'" AND tabAccount.%(key)s LIKE "%s"';
+}
+
+// warehouse in detail table
+//----------------------------
+cur_frm.fields_dict['entries'].grid.get_field('warehouse').get_query= function(doc, cdt, cdn) {
+	var d = locals[cdt][cdn];
+	return "SELECT `tabBin`.`warehouse`, `tabBin`.`actual_qty` FROM `tabBin` WHERE `tabBin`.`item_code` = '"+ d.item_code +"' AND ifnull(`tabBin`.`actual_qty`,0) > 0 AND `tabBin`.`warehouse` like '%s' ORDER BY `tabBin`.`warehouse` DESC LIMIT 50";
+}
+
+// Cost Center in Details Table
+// -----------------------------
+cur_frm.fields_dict.entries.grid.get_field("cost_center").get_query = function(doc) {
+	return 'SELECT `tabCost Center`.`name` FROM `tabCost Center` WHERE `tabCost Center`.`company_name` = "' +doc.company+'" AND `tabCost Center`.%(key)s LIKE "%s" AND `tabCost Center`.`group_or_ledger` = "Ledger" AND `tabCost Center`.`docstatus`!= 2 ORDER BY	`tabCost Center`.`name` ASC LIMIT 50';
+}
+
+// Sales Order
+// -----------
+cur_frm.fields_dict.sales_order_main.get_query = function(doc) {
+	if (doc.customer)
+		return 'SELECT DISTINCT `tabSales Order`.`name` FROM `tabSales Order` WHERE `tabSales Order`.company = "' + doc.company + '" and `tabSales Order`.`docstatus` = 1 and `tabSales Order`.`status` != "Stopped" and ifnull(`tabSales Order`.per_billed,0) < 100 and `tabSales Order`.`customer` =	"' + doc.customer + '" and `tabSales Order`.%(key)s LIKE "%s" ORDER BY `tabSales Order`.`name` DESC LIMIT 50';
+	else
+		return 'SELECT DISTINCT `tabSales Order`.`name` FROM `tabSales Order` WHERE `tabSales Order`.company = "' + doc.company + '" and `tabSales Order`.`docstatus` = 1 and `tabSales Order`.`status` != "Stopped" and ifnull(`tabSales Order`.per_billed,0) < 100 and `tabSales Order`.%(key)s LIKE "%s" ORDER BY `tabSales Order`.`name` DESC LIMIT 50';
+}
+
+// Delivery Note
+// --------------
+cur_frm.fields_dict.delivery_note_main.get_query = function(doc) {
+	if (doc.customer)
+		return 'SELECT DISTINCT `tabDelivery Note`.`name` FROM `tabDelivery Note` WHERE `tabDelivery Note`.company = "' + doc.company + '" and `tabDelivery Note`.`docstatus` = 1 and ifnull(`tabDelivery Note`.per_billed,0) < 100 and `tabDelivery Note`.`customer` =	"' + doc.customer + '" and `tabDelivery Note`.%(key)s LIKE "%s" ORDER BY `tabDelivery Note`.`name` DESC LIMIT 50';
+	else
+		return 'SELECT DISTINCT `tabDelivery Note`.`name` FROM `tabDelivery Note` WHERE `tabDelivery Note`.company = "' + doc.company + '" and `tabDelivery Note`.`docstatus` = 1 and ifnull(`tabDelivery Note`.per_billed,0) < 100 and `tabDelivery Note`.%(key)s LIKE "%s" ORDER BY `tabDelivery Note`.`name` DESC LIMIT 50';
+}
+
+
+
+cur_frm.cscript.income_account = function(doc, cdt, cdn){
+	var d = locals[cdt][cdn];
+	if(d.income_account){
+		var cl = getchildren('RV Detail', doc.name, cur_frm.cscript.fname, doc.doctype);
+		for(var i = 0; i < cl.length; i++){
+			if(!cl[i].income_account) cl[i].income_account = d.income_account;
+		}
+	}
+	refresh_field(cur_frm.cscript.fname);
+}
+
+
+cur_frm.cscript.cost_center = function(doc, cdt, cdn){
+	var d = locals[cdt][cdn];
+	if(d.cost_center){
+		var cl = getchildren('RV Detail', doc.name, cur_frm.cscript.fname, doc.doctype);
+		for(var i = 0; i < cl.length; i++){
+			if(!cl[i].cost_center) cl[i].cost_center = d.cost_center;
+		}
+	}
+	refresh_field(cur_frm.cscript.fname);
+}
+
+/* **************************************** Utility Functions *************************************** */
+
+// Details Calculation
+// --------------------
+cur_frm.cscript.calc_adjustment_amount = function(doc,cdt,cdn) {
+	var doc = locals[doc.doctype][doc.name];
+	var el = getchildren('Advance Adjustment Detail',doc.name,'advance_adjustment_details');
+	var total_adjustment_amt = 0
+	for(var i in el) {
+			total_adjustment_amt += flt(el[i].allocated_amount)
+	}
+	doc.total_advance = flt(total_adjustment_amt);
+	doc.outstanding_amount = flt(doc.grand_total) - flt(total_adjustment_amt) - flt(doc.paid_amount) - flt(doc.write_off_amount);
+	refresh_many(['total_advance','outstanding_amount']);
+}
+
+
+// Make Journal Voucher
+// --------------------
+cur_frm.cscript.make_jv = function(doc, dt, dn) {
+	var jv = LocalDB.create('Journal Voucher');
+	jv = locals['Journal Voucher'][jv];
+	jv.voucher_type = 'Bank Voucher';
+
+	jv.company = doc.company;
+	jv.remark = repl('Payment received against invoice %(vn)s for %(rem)s', {vn:doc.name, rem:doc.remarks});
+	jv.fiscal_year = doc.fiscal_year;
+
+	// debit to creditor
+	var d1 = LocalDB.add_child(jv, 'Journal Voucher Detail', 'entries');
+	d1.account = doc.debit_to;
+	d1.credit = doc.outstanding_amount;
+	d1.against_invoice = doc.name;
+
+
+	// credit to bank
+	var d1 = LocalDB.add_child(jv, 'Journal Voucher Detail', 'entries');
+	d1.debit = doc.outstanding_amount;
+
+	loaddoc('Journal Voucher', jv.name);
+}
+
+
+/****************** Get Accounting Entry *****************/
+cur_frm.cscript['View Ledger Entry'] = function(){
+	var callback = function(report){
+		report.set_filter('GL Entry', 'Voucher No',cur_frm.doc.name);
+		report.dt.run();
+	}
+	loadreport('GL Entry','General Ledger', callback);
+}
diff --git a/accounts/doctype/receivable_voucher/receivable_voucher.py b/erpnext/accounts/doctype/receivable_voucher/receivable_voucher.py
similarity index 93%
rename from accounts/doctype/receivable_voucher/receivable_voucher.py
rename to erpnext/accounts/doctype/receivable_voucher/receivable_voucher.py
index dba08fe..6d1f80a 100644
--- a/accounts/doctype/receivable_voucher/receivable_voucher.py
+++ b/erpnext/accounts/doctype/receivable_voucher/receivable_voucher.py
@@ -225,40 +225,47 @@
 
 
 	#-----------------------------------------------------------------
-	# ADVANCE ALLOCATION
-	#-----------------------------------------------------------------
-	def update_against_document_in_jv(self,against_document_no, against_document_doctype):
-		get_obj('GL Control').update_against_document_in_jv( self, 'advance_adjustment_details', against_document_no, against_document_doctype, self.doc.debit_to, 'credit', self.doc.doctype)
+	def update_against_document_in_jv(self):
+		"""
+			Links invoice and advance voucher:
+				1. cancel advance voucher
+				2. split into multiple rows if partially adjusted, assign against voucher
+				3. submit advance voucher
+		"""
+		
+		lst = []
+		for d in getlist(self.doclist, 'advance_adjustment_details'):
+			if flt(d.allocated_amount) > 0:
+				args = {
+					'voucher_no' : d.journal_voucher, 
+					'voucher_detail_no' : d.jv_detail_no, 
+					'against_voucher_type' : 'Receivable Voucher', 
+					'against_voucher'  : self.doc.name,
+					'account' : self.doc.debit_to, 
+					'is_advance' : 'Yes', 
+					'dr_or_cr' : 'credit', 
+					'unadjusted_amt' : flt(d.advance_amount),
+					'allocated_amt' : flt(d.allocated_amount)
+				}
+				lst.append(args)
+		
+		if lst:
+			get_obj('GL Control').reconcile_against_document(lst)
 	
-
-
-# ************************************* VALIDATE **********************************************
-	# Get Customer Name and address based on Debit To Account selected
-	# This case arises in case of direct RV where user doesn't enter customer name.
-	# Hence it should be fetched from Account Head.
-	# -----------------------------------------------------------------------------
-	#def get_customer_details(self):
-	#	get_obj('Sales Common').get_customer_details(self, inv_det_reqd = 1)
-	#	self.get_cust_and_due_date()
-
 	
-	# Validate Customer Name with SO or DN if items are fetched from SO or DN
 	# ------------------------------------------------------------------------
 	def validate_customer(self):
+		"""
+			Validate customer name with SO and DN
+		"""
 		for d in getlist(self.doclist,'entries'):
-			customer = ''
-			if d.sales_order:
-				customer = sql("select customer from `tabSales Order` where name = '%s'" % d.sales_order)[0][0]
-				doctype = 'sales order'
-				doctype_no = cstr(d.sales_order)
-			if d.delivery_note:
-				customer = sql("select customer from `tabDelivery Note` where name = '%s'" % d.delivery_note)[0][0]
-				doctype = 'delivery note'
-				doctype_no = cstr(d.delivery_note)
-			if customer and not cstr(self.doc.customer) == cstr(customer):
-				msgprint("Customer %s do not match with customer	of %s %s." %(self.doc.customer,doctype,doctype_no))
-				raise Exception , " Validation Error "
-		
+			dt = d.delivery_note and 'Delivery Note' or d.sales_order and 'Sales Order' or ''
+			if dt:
+				dt_no = d.delivery_note or d.sales_order
+				cust = sql("select customer from `tab%s` where name = %s" % (dt, '%s'), dt_no)
+				if cust and cstr(cust[0][0]) != cstr(self.doc.customer):
+					msgprint("Customer %s does not match with customer of %s: %s." %(self.doc.customer, dt, dt_no), raise_exception=1)
+			
 
 	# Validates Debit To Account and Customer Matches
 	# ------------------------------------------------
@@ -545,7 +552,7 @@
 		self.make_gl_entries()
 
 		if not cint(self.doc.is_pos) == 1:
-			self.update_against_document_in_jv(self.doc.name, self.doc.doctype)
+			self.update_against_document_in_jv()
 		
 		# on submit notification
 		# get_obj('Notification Control').notify_contact('Sales Invoice', self.doc.doctype,self.doc.name, self.doc.email_id, self.doc.contact_person)
diff --git a/accounts/doctype/receivable_voucher/receivable_voucher.txt b/erpnext/accounts/doctype/receivable_voucher/receivable_voucher.txt
similarity index 94%
rename from accounts/doctype/receivable_voucher/receivable_voucher.txt
rename to erpnext/accounts/doctype/receivable_voucher/receivable_voucher.txt
index f2f9eaf..2f3b48d 100644
--- a/accounts/doctype/receivable_voucher/receivable_voucher.txt
+++ b/erpnext/accounts/doctype/receivable_voucher/receivable_voucher.txt
@@ -5,16 +5,17 @@
 	{
 		'creation': '2010-08-08 17:09:18',
 		'docstatus': 0,
-		'modified': '2011-06-20 13:02:04',
+		'modified': '2011-10-10 12:29:26',
 		'modified_by': 'Administrator',
 		'owner': 'Administrator'
 	},
 
 	# These values are common for all DocType
 	{
-		'_last_update': '1309508839',
+		'_last_update': '1317986484',
 		'change_log': '1. Change in pull_details method dt.-26-06-2009',
 		'colour': 'White:FFF',
+		'default_print_format': 'Standard',
 		'doctype': 'DocType',
 		'module': 'Accounts',
 		'name': '__common__',
@@ -24,7 +25,7 @@
 		'server_code_error': ' ',
 		'show_in_menu': 0,
 		'subject': 'To %(customer_name)s worth %(currency)s %(grand_total_export)s due on %(due_date)s | %(outstanding_amount)s outstanding',
-		'version': 356
+		'version': 359
 	},
 
 	# These values are common for all DocField
@@ -58,7 +59,6 @@
 		'cancel': 0,
 		'create': 0,
 		'doctype': 'DocPerm',
-		'idx': 1,
 		'permlevel': 1,
 		'role': 'Accounts Manager',
 		'submit': 0,
@@ -71,7 +71,6 @@
 		'cancel': 1,
 		'create': 1,
 		'doctype': 'DocPerm',
-		'idx': 2,
 		'permlevel': 0,
 		'role': 'Accounts Manager',
 		'submit': 1,
@@ -84,7 +83,6 @@
 		'cancel': 1,
 		'create': 1,
 		'doctype': 'DocPerm',
-		'idx': 3,
 		'permlevel': 0,
 		'role': 'Accounts User',
 		'submit': 1,
@@ -97,7 +95,6 @@
 		'cancel': 0,
 		'create': 0,
 		'doctype': 'DocPerm',
-		'idx': 4,
 		'permlevel': 1,
 		'role': 'Accounts User',
 		'submit': 0,
@@ -106,18 +103,21 @@
 
 	# DocPerm
 	{
+		'amend': 0,
+		'cancel': 0,
+		'create': 0,
 		'doctype': 'DocPerm',
-		'idx': 5,
 		'match': 'customer',
 		'permlevel': 0,
-		'role': 'Customer'
+		'role': 'Customer',
+		'submit': 0,
+		'write': 0
 	},
 
 	# DocField
 	{
 		'doctype': 'DocField',
 		'fieldtype': 'Section Break',
-		'idx': 1,
 		'label': 'Basic Info',
 		'oldfieldtype': 'Section Break',
 		'permlevel': 0,
@@ -128,7 +128,6 @@
 	{
 		'doctype': 'DocField',
 		'fieldtype': 'Column Break',
-		'idx': 2,
 		'oldfieldtype': 'Column Break',
 		'permlevel': 0,
 		'print_hide': 0,
@@ -143,7 +142,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'naming_series',
 		'fieldtype': 'Select',
-		'idx': 3,
 		'label': 'Series',
 		'no_copy': 1,
 		'oldfieldname': 'naming_series',
@@ -159,7 +157,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'is_pos',
 		'fieldtype': 'Check',
-		'idx': 4,
 		'label': 'Is POS',
 		'oldfieldname': 'is_pos',
 		'oldfieldtype': 'Check',
@@ -174,7 +171,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'update_stock',
 		'fieldtype': 'Check',
-		'idx': 5,
 		'label': 'Update Stock',
 		'oldfieldname': 'update_stock',
 		'oldfieldtype': 'Check',
@@ -189,7 +185,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'debit_to',
 		'fieldtype': 'Link',
-		'idx': 6,
 		'in_filter': 1,
 		'label': 'Debit To',
 		'oldfieldname': 'debit_to',
@@ -209,7 +204,6 @@
 		'fieldname': 'customer',
 		'fieldtype': 'Link',
 		'hidden': 0,
-		'idx': 7,
 		'label': 'Customer',
 		'no_copy': 0,
 		'oldfieldname': 'customer',
@@ -225,7 +219,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'customer_address',
 		'fieldtype': 'Link',
-		'idx': 8,
 		'label': 'Customer Address',
 		'options': 'Address',
 		'permlevel': 0,
@@ -237,7 +230,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'contact_person',
 		'fieldtype': 'Link',
-		'idx': 9,
 		'label': 'Contact Person',
 		'options': 'Contact',
 		'permlevel': 0,
@@ -249,7 +241,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'customer_name',
 		'fieldtype': 'Data',
-		'idx': 10,
 		'label': 'Name',
 		'oldfieldname': 'customer_name',
 		'oldfieldtype': 'Data',
@@ -261,7 +252,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'address_display',
 		'fieldtype': 'Small Text',
-		'idx': 11,
 		'label': 'Address',
 		'permlevel': 1
 	},
@@ -271,7 +261,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'contact_display',
 		'fieldtype': 'Small Text',
-		'idx': 12,
 		'label': 'Contact',
 		'permlevel': 1
 	},
@@ -281,7 +270,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'contact_mobile',
 		'fieldtype': 'Text',
-		'idx': 13,
 		'label': 'Mobile No',
 		'permlevel': 1
 	},
@@ -291,7 +279,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'contact_email',
 		'fieldtype': 'Text',
-		'idx': 14,
 		'label': 'Contact Email',
 		'permlevel': 1,
 		'print_hide': 1
@@ -302,7 +289,6 @@
 		'colour': 'White:FFF',
 		'doctype': 'DocField',
 		'fieldtype': 'Column Break',
-		'idx': 15,
 		'oldfieldtype': 'Column Break',
 		'permlevel': 0
 	},
@@ -315,7 +301,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'voucher_date',
 		'fieldtype': 'Date',
-		'idx': 16,
 		'in_filter': 1,
 		'label': 'Voucher Date',
 		'no_copy': 1,
@@ -334,7 +319,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'due_date',
 		'fieldtype': 'Date',
-		'idx': 17,
 		'in_filter': 1,
 		'label': 'Due Date',
 		'no_copy': 1,
@@ -353,7 +337,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'posting_date',
 		'fieldtype': 'Date',
-		'idx': 18,
 		'in_filter': 1,
 		'label': 'Posting Date',
 		'no_copy': 1,
@@ -370,7 +353,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'posting_time',
 		'fieldtype': 'Time',
-		'idx': 19,
 		'label': 'Posting Time',
 		'no_copy': 1,
 		'oldfieldname': 'posting_time',
@@ -385,7 +367,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'amendment_date',
 		'fieldtype': 'Date',
-		'idx': 20,
 		'label': 'Amendment Date',
 		'no_copy': 1,
 		'oldfieldname': 'amendment_date',
@@ -399,8 +380,8 @@
 		'doctype': 'DocField',
 		'fieldname': 'amended_from',
 		'fieldtype': 'Link',
-		'idx': 21,
 		'label': 'Amended From',
+		'no_copy': 1,
 		'oldfieldname': 'amended_from',
 		'oldfieldtype': 'Link',
 		'options': 'Receivable Voucher',
@@ -413,7 +394,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'mode_of_payment',
 		'fieldtype': 'Select',
-		'idx': 22,
 		'label': 'Mode of Payment',
 		'oldfieldname': 'mode_of_payment',
 		'oldfieldtype': 'Select',
@@ -426,7 +406,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'territory',
 		'fieldtype': 'Link',
-		'idx': 23,
 		'in_filter': 1,
 		'label': 'Territory',
 		'options': 'Territory',
@@ -441,14 +420,12 @@
 		'doctype': 'DocField',
 		'fieldname': 'customer_group',
 		'fieldtype': 'Link',
-		'idx': 24,
 		'in_filter': 1,
 		'label': 'Customer Group',
 		'options': 'Customer Group',
 		'permlevel': 0,
 		'print_hide': 1,
-		'reqd': 1,
-		'search_index': 1
+		'search_index': 0
 	},
 
 	# DocField
@@ -456,7 +433,6 @@
 		'colour': 'White:FFF',
 		'doctype': 'DocField',
 		'fieldtype': 'Section Break',
-		'idx': 25,
 		'label': 'Items',
 		'oldfieldtype': 'Section Break',
 		'permlevel': 0
@@ -467,7 +443,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'price_list_name',
 		'fieldtype': 'Select',
-		'idx': 26,
 		'label': 'Price List',
 		'oldfieldname': 'price_list_name',
 		'oldfieldtype': 'Select',
@@ -484,7 +459,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'sales_order_main',
 		'fieldtype': 'Link',
-		'idx': 27,
 		'label': 'Sales Order',
 		'oldfieldname': 'sales_order_main',
 		'oldfieldtype': 'Link',
@@ -500,7 +474,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'delivery_note_main',
 		'fieldtype': 'Link',
-		'idx': 28,
 		'label': 'Delivery Note',
 		'oldfieldname': 'delivery_note_main',
 		'oldfieldtype': 'Link',
@@ -513,7 +486,6 @@
 	{
 		'doctype': 'DocField',
 		'fieldtype': 'Button',
-		'idx': 29,
 		'label': 'Get Items',
 		'oldfieldtype': 'Button',
 		'permlevel': 0,
@@ -525,7 +497,6 @@
 	{
 		'doctype': 'DocField',
 		'fieldtype': 'Column Break',
-		'idx': 30,
 		'permlevel': 0,
 		'width': '50%'
 	},
@@ -535,7 +506,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'currency',
 		'fieldtype': 'Select',
-		'idx': 31,
 		'label': 'Currency',
 		'oldfieldname': 'currency',
 		'oldfieldtype': 'Select',
@@ -551,7 +521,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'conversion_rate',
 		'fieldtype': 'Currency',
-		'idx': 32,
 		'label': 'Conversion Rate',
 		'oldfieldname': 'conversion_rate',
 		'oldfieldtype': 'Currency',
@@ -564,7 +533,6 @@
 	{
 		'doctype': 'DocField',
 		'fieldtype': 'Section Break',
-		'idx': 33,
 		'permlevel': 0
 	},
 
@@ -575,7 +543,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'entries',
 		'fieldtype': 'Table',
-		'idx': 34,
 		'label': 'Entries',
 		'oldfieldname': 'entries',
 		'oldfieldtype': 'Table',
@@ -588,7 +555,6 @@
 		'colour': 'White:FFF',
 		'doctype': 'DocField',
 		'fieldtype': 'Button',
-		'idx': 35,
 		'label': 'Re-Calculate Values',
 		'oldfieldtype': 'Button',
 		'permlevel': 0,
@@ -598,11 +564,25 @@
 
 	# DocField
 	{
+		'doctype': 'DocField',
+		'fieldtype': 'Section Break',
+		'permlevel': 0
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldtype': 'Column Break',
+		'permlevel': 0,
+		'width': '50%'
+	},
+
+	# DocField
+	{
 		'description': 'Will be calculated automatically when you enter the details',
 		'doctype': 'DocField',
 		'fieldname': 'net_total',
 		'fieldtype': 'Currency',
-		'idx': 36,
 		'label': 'Net Total*',
 		'oldfieldname': 'net_total',
 		'oldfieldtype': 'Currency',
@@ -615,7 +595,6 @@
 	{
 		'doctype': 'DocField',
 		'fieldtype': 'HTML',
-		'idx': 37,
 		'label': 'Rates HTML',
 		'oldfieldtype': 'HTML',
 		'options': '* Rates in standard currency',
@@ -625,20 +604,11 @@
 
 	# DocField
 	{
-		'doctype': 'DocField',
-		'fieldtype': 'Section Break',
-		'idx': 38,
-		'permlevel': 0
-	},
-
-	# DocField
-	{
 		'colour': 'White:FFF',
 		'depends_on': 'eval:doc.is_pos==1',
 		'doctype': 'DocField',
 		'fieldname': 'cash_bank_account',
 		'fieldtype': 'Link',
-		'idx': 39,
 		'label': 'Cash/Bank Account',
 		'oldfieldname': 'cash_bank_account',
 		'oldfieldtype': 'Link',
@@ -654,7 +624,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'paid_amount',
 		'fieldtype': 'Currency',
-		'idx': 40,
 		'label': 'Paid Amount',
 		'oldfieldname': 'paid_amount',
 		'oldfieldtype': 'Currency',
@@ -667,7 +636,6 @@
 	{
 		'doctype': 'DocField',
 		'fieldtype': 'Column Break',
-		'idx': 41,
 		'permlevel': 0,
 		'width': '50%'
 	},
@@ -679,7 +647,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'write_off_account',
 		'fieldtype': 'Link',
-		'idx': 42,
 		'label': 'Write Off Account',
 		'options': 'Account',
 		'permlevel': 0,
@@ -693,7 +660,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'write_off_cost_center',
 		'fieldtype': 'Link',
-		'idx': 43,
 		'label': 'Write Off Cost Center',
 		'options': 'Cost Center',
 		'permlevel': 0,
@@ -707,7 +673,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'write_off_amount',
 		'fieldtype': 'Currency',
-		'idx': 44,
 		'label': 'Write Off Amount',
 		'permlevel': 0,
 		'print_hide': 1
@@ -717,7 +682,6 @@
 	{
 		'doctype': 'DocField',
 		'fieldtype': 'Section Break',
-		'idx': 45,
 		'label': 'Taxes',
 		'oldfieldtype': 'Section Break',
 		'permlevel': 0
@@ -728,7 +692,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'charge',
 		'fieldtype': 'Link',
-		'idx': 46,
 		'label': 'Charge',
 		'oldfieldname': 'charge',
 		'oldfieldtype': 'Link',
@@ -741,7 +704,6 @@
 	{
 		'doctype': 'DocField',
 		'fieldtype': 'Button',
-		'idx': 47,
 		'label': 'Get Charges',
 		'oldfieldtype': 'Button',
 		'permlevel': 0,
@@ -756,7 +718,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'other_charges',
 		'fieldtype': 'Table',
-		'idx': 48,
 		'label': 'Taxes1',
 		'oldfieldname': 'other_charges',
 		'oldfieldtype': 'Table',
@@ -767,21 +728,7 @@
 	# DocField
 	{
 		'doctype': 'DocField',
-		'fieldname': 'other_charges_total',
-		'fieldtype': 'Currency',
-		'idx': 49,
-		'label': 'Total Charges',
-		'oldfieldname': 'other_charges_total',
-		'oldfieldtype': 'Currency',
-		'permlevel': 1,
-		'print_hide': 1
-	},
-
-	# DocField
-	{
-		'doctype': 'DocField',
 		'fieldtype': 'Button',
-		'idx': 50,
 		'label': 'Calculate Charges',
 		'oldfieldtype': 'Button',
 		'permlevel': 0,
@@ -792,8 +739,19 @@
 	# DocField
 	{
 		'doctype': 'DocField',
+		'fieldname': 'other_charges_total',
+		'fieldtype': 'Currency',
+		'label': 'Total Charges',
+		'oldfieldname': 'other_charges_total',
+		'oldfieldtype': 'Currency',
+		'permlevel': 1,
+		'print_hide': 1
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
 		'fieldtype': 'HTML',
-		'idx': 51,
 		'label': 'Other Charges Calculation',
 		'oldfieldtype': 'HTML',
 		'permlevel': 0,
@@ -805,7 +763,6 @@
 		'colour': 'White:FFF',
 		'doctype': 'DocField',
 		'fieldtype': 'Section Break',
-		'idx': 52,
 		'label': 'Terms',
 		'oldfieldtype': 'Section Break',
 		'permlevel': 0
@@ -816,7 +773,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'tc_name',
 		'fieldtype': 'Link',
-		'idx': 53,
 		'label': 'Select Terms',
 		'oldfieldname': 'tc_name',
 		'oldfieldtype': 'Link',
@@ -830,7 +786,6 @@
 		'colour': 'White:FFF',
 		'doctype': 'DocField',
 		'fieldtype': 'Button',
-		'idx': 54,
 		'label': 'Get Terms',
 		'oldfieldtype': 'Button',
 		'options': 'get_tc_details',
@@ -844,7 +799,6 @@
 		'colour': 'White:FFF',
 		'doctype': 'DocField',
 		'fieldtype': 'HTML',
-		'idx': 55,
 		'label': 'Terms HTML',
 		'oldfieldtype': 'HTML',
 		'options': 'You can add Terms and Notes that will be printed in the Transaction',
@@ -857,7 +811,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'terms',
 		'fieldtype': 'Text Editor',
-		'idx': 56,
 		'label': 'Term Details',
 		'oldfieldname': 'terms',
 		'oldfieldtype': 'Text Editor',
@@ -869,7 +822,6 @@
 		'colour': 'White:FFF',
 		'doctype': 'DocField',
 		'fieldtype': 'Section Break',
-		'idx': 57,
 		'label': 'More Info',
 		'oldfieldtype': 'Section Break',
 		'permlevel': 0,
@@ -881,7 +833,6 @@
 		'colour': 'White:FFF',
 		'doctype': 'DocField',
 		'fieldtype': 'Column Break',
-		'idx': 58,
 		'oldfieldtype': 'Column Break',
 		'permlevel': 0,
 		'print_hide': 1,
@@ -895,7 +846,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'is_opening',
 		'fieldtype': 'Select',
-		'idx': 59,
 		'in_filter': 1,
 		'label': 'Is Opening',
 		'oldfieldname': 'is_opening',
@@ -912,7 +862,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'aging_date',
 		'fieldtype': 'Date',
-		'idx': 60,
 		'label': 'Aging Date',
 		'oldfieldname': 'aging_date',
 		'oldfieldtype': 'Date',
@@ -927,7 +876,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'letter_head',
 		'fieldtype': 'Select',
-		'idx': 61,
 		'label': 'Letter Head',
 		'oldfieldname': 'letter_head',
 		'oldfieldtype': 'Select',
@@ -941,7 +889,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'source',
 		'fieldtype': 'Select',
-		'idx': 62,
 		'label': 'Source',
 		'oldfieldname': 'source',
 		'oldfieldtype': 'Select',
@@ -957,7 +904,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'campaign',
 		'fieldtype': 'Link',
-		'idx': 63,
 		'label': 'Campaign',
 		'oldfieldname': 'campaign',
 		'oldfieldtype': 'Link',
@@ -973,7 +919,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'select_print_heading',
 		'fieldtype': 'Link',
-		'idx': 64,
 		'label': 'Select Print Heading',
 		'no_copy': 1,
 		'oldfieldname': 'select_print_heading',
@@ -992,7 +937,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'project_name',
 		'fieldtype': 'Link',
-		'idx': 65,
 		'in_filter': 1,
 		'label': 'Project Name',
 		'oldfieldname': 'project_name',
@@ -1008,7 +952,6 @@
 		'colour': 'White:FFF',
 		'doctype': 'DocField',
 		'fieldtype': 'Column Break',
-		'idx': 66,
 		'oldfieldtype': 'Column Break',
 		'permlevel': 0
 	},
@@ -1018,7 +961,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'company',
 		'fieldtype': 'Link',
-		'idx': 67,
 		'in_filter': 1,
 		'label': 'Company',
 		'oldfieldname': 'company',
@@ -1035,7 +977,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'fiscal_year',
 		'fieldtype': 'Select',
-		'idx': 68,
 		'in_filter': 1,
 		'label': 'Fiscal Year',
 		'no_copy': 0,
@@ -1055,7 +996,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'cancel_reason',
 		'fieldtype': 'Data',
-		'idx': 69,
 		'label': 'Cancel Reason',
 		'oldfieldname': 'cancel_reason',
 		'oldfieldtype': 'Data',
@@ -1068,7 +1008,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'remarks',
 		'fieldtype': 'Small Text',
-		'idx': 70,
 		'label': 'Remarks',
 		'no_copy': 1,
 		'oldfieldname': 'remarks',
@@ -1083,7 +1022,6 @@
 		'colour': 'White:FFF',
 		'doctype': 'DocField',
 		'fieldtype': 'Section Break',
-		'idx': 71,
 		'label': 'Totals',
 		'oldfieldtype': 'Section Break',
 		'permlevel': 0,
@@ -1095,7 +1033,6 @@
 		'colour': 'White:FFF',
 		'doctype': 'DocField',
 		'fieldtype': 'Column Break',
-		'idx': 72,
 		'oldfieldtype': 'Column Break',
 		'permlevel': 0,
 		'print_hide': 1,
@@ -1108,7 +1045,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'grand_total',
 		'fieldtype': 'Currency',
-		'idx': 73,
 		'in_filter': 1,
 		'label': 'Grand Total',
 		'oldfieldname': 'grand_total',
@@ -1124,7 +1060,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'rounded_total',
 		'fieldtype': 'Currency',
-		'idx': 74,
 		'label': 'Rounded Total',
 		'oldfieldname': 'rounded_total',
 		'oldfieldtype': 'Currency',
@@ -1139,7 +1074,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'in_words',
 		'fieldtype': 'Data',
-		'idx': 75,
 		'label': 'In Words',
 		'oldfieldname': 'in_words',
 		'oldfieldtype': 'Data',
@@ -1152,7 +1086,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'total_advance',
 		'fieldtype': 'Currency',
-		'idx': 76,
 		'label': 'Total Advance',
 		'oldfieldname': 'total_advance',
 		'oldfieldtype': 'Currency',
@@ -1166,7 +1099,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'outstanding_amount',
 		'fieldtype': 'Currency',
-		'idx': 77,
 		'label': 'Outstanding Amount',
 		'no_copy': 1,
 		'oldfieldname': 'outstanding_amount',
@@ -1180,7 +1112,6 @@
 		'colour': 'White:FFF',
 		'doctype': 'DocField',
 		'fieldtype': 'Column Break',
-		'idx': 78,
 		'oldfieldtype': 'Column Break',
 		'permlevel': 0,
 		'print_hide': 1,
@@ -1192,7 +1123,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'grand_total_export',
 		'fieldtype': 'Currency',
-		'idx': 79,
 		'label': 'Grand Total (Export)',
 		'oldfieldname': 'grand_total_export',
 		'oldfieldtype': 'Currency',
@@ -1206,7 +1136,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'rounded_total_export',
 		'fieldtype': 'Currency',
-		'idx': 80,
 		'label': 'Rounded Total (Export)',
 		'oldfieldname': 'rounded_total_export',
 		'oldfieldtype': 'Currency',
@@ -1221,7 +1150,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'in_words_export',
 		'fieldtype': 'Data',
-		'idx': 81,
 		'label': 'In Words (Export)',
 		'oldfieldname': 'in_words_export',
 		'oldfieldtype': 'Data',
@@ -1234,7 +1162,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'gross_profit',
 		'fieldtype': 'Currency',
-		'idx': 82,
 		'label': 'Gross Profit',
 		'oldfieldname': 'gross_profit',
 		'oldfieldtype': 'Currency',
@@ -1247,7 +1174,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'gross_profit_percent',
 		'fieldtype': 'Currency',
-		'idx': 83,
 		'label': 'Gross Profit (%)',
 		'oldfieldname': 'gross_profit_percent',
 		'oldfieldtype': 'Currency',
@@ -1260,7 +1186,6 @@
 		'colour': 'White:FFF',
 		'doctype': 'DocField',
 		'fieldtype': 'Section Break',
-		'idx': 84,
 		'label': 'Advances',
 		'oldfieldtype': 'Section Break',
 		'permlevel': 0,
@@ -1271,7 +1196,6 @@
 	{
 		'doctype': 'DocField',
 		'fieldtype': 'Button',
-		'idx': 85,
 		'label': 'Get Advances Received',
 		'oldfieldtype': 'Button',
 		'options': 'get_advances',
@@ -1284,7 +1208,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'advance_adjustment_details',
 		'fieldtype': 'Table',
-		'idx': 86,
 		'label': 'Advance Adjustment Detail',
 		'oldfieldname': 'advance_adjustment_details',
 		'oldfieldtype': 'Table',
@@ -1297,7 +1220,6 @@
 	{
 		'doctype': 'DocField',
 		'fieldtype': 'Section Break',
-		'idx': 87,
 		'label': 'Sales Team',
 		'oldfieldtype': 'Section Break',
 		'permlevel': 0,
@@ -1309,7 +1231,6 @@
 		'colour': 'White:FFF',
 		'doctype': 'DocField',
 		'fieldtype': 'Column Break',
-		'idx': 88,
 		'oldfieldtype': 'Column Break',
 		'permlevel': 0,
 		'print_hide': 1,
@@ -1321,7 +1242,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'sales_partner',
 		'fieldtype': 'Link',
-		'idx': 89,
 		'in_filter': 1,
 		'label': 'Sales Partner',
 		'oldfieldname': 'sales_partner',
@@ -1337,7 +1257,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'commission_rate',
 		'fieldtype': 'Currency',
-		'idx': 90,
 		'label': 'Commission Rate (%)',
 		'oldfieldname': 'commission_rate',
 		'oldfieldtype': 'Currency',
@@ -1352,7 +1271,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'total_commission',
 		'fieldtype': 'Currency',
-		'idx': 91,
 		'label': 'Total Commission',
 		'oldfieldname': 'total_commission',
 		'oldfieldtype': 'Currency',
@@ -1366,7 +1284,6 @@
 		'colour': 'White:FFF',
 		'doctype': 'DocField',
 		'fieldtype': 'Column Break',
-		'idx': 92,
 		'oldfieldtype': 'Column Break',
 		'permlevel': 0,
 		'print_hide': 1,
@@ -1378,7 +1295,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'sales_team',
 		'fieldtype': 'Table',
-		'idx': 93,
 		'label': 'Sales Team1',
 		'oldfieldname': 'sales_team',
 		'oldfieldtype': 'Table',
@@ -1392,7 +1308,6 @@
 		'allow_on_submit': 1,
 		'doctype': 'DocField',
 		'fieldtype': 'Button',
-		'idx': 94,
 		'label': 'Repair Outstanding Amt',
 		'oldfieldtype': 'Button',
 		'options': 'repair_rv_outstanding',
@@ -1406,7 +1321,6 @@
 		'fieldname': 'against_income_account',
 		'fieldtype': 'Small Text',
 		'hidden': 1,
-		'idx': 95,
 		'label': 'Against Income Account',
 		'no_copy': 1,
 		'oldfieldname': 'against_income_account',
diff --git a/accounts/doctype/rv_detail/__init__.py b/erpnext/accounts/doctype/rv_detail/__init__.py
similarity index 100%
rename from accounts/doctype/rv_detail/__init__.py
rename to erpnext/accounts/doctype/rv_detail/__init__.py
diff --git a/accounts/doctype/rv_detail/rv_detail.txt b/erpnext/accounts/doctype/rv_detail/rv_detail.txt
similarity index 100%
rename from accounts/doctype/rv_detail/rv_detail.txt
rename to erpnext/accounts/doctype/rv_detail/rv_detail.txt
diff --git a/accounts/doctype/rv_tax_detail/__init__.py b/erpnext/accounts/doctype/rv_tax_detail/__init__.py
similarity index 100%
rename from accounts/doctype/rv_tax_detail/__init__.py
rename to erpnext/accounts/doctype/rv_tax_detail/__init__.py
diff --git a/accounts/doctype/rv_tax_detail/rv_tax_detail.txt b/erpnext/accounts/doctype/rv_tax_detail/rv_tax_detail.txt
similarity index 100%
rename from accounts/doctype/rv_tax_detail/rv_tax_detail.txt
rename to erpnext/accounts/doctype/rv_tax_detail/rv_tax_detail.txt
diff --git a/accounts/doctype/tds_category/__init__.py b/erpnext/accounts/doctype/tds_category/__init__.py
similarity index 100%
rename from accounts/doctype/tds_category/__init__.py
rename to erpnext/accounts/doctype/tds_category/__init__.py
diff --git a/accounts/doctype/tds_category/tds_category.js b/erpnext/accounts/doctype/tds_category/tds_category.js
similarity index 100%
rename from accounts/doctype/tds_category/tds_category.js
rename to erpnext/accounts/doctype/tds_category/tds_category.js
diff --git a/accounts/doctype/tds_category/tds_category.py b/erpnext/accounts/doctype/tds_category/tds_category.py
similarity index 100%
rename from accounts/doctype/tds_category/tds_category.py
rename to erpnext/accounts/doctype/tds_category/tds_category.py
diff --git a/accounts/doctype/tds_category/tds_category.txt b/erpnext/accounts/doctype/tds_category/tds_category.txt
similarity index 100%
rename from accounts/doctype/tds_category/tds_category.txt
rename to erpnext/accounts/doctype/tds_category/tds_category.txt
diff --git a/accounts/doctype/tds_category_account/__init__.py b/erpnext/accounts/doctype/tds_category_account/__init__.py
similarity index 100%
rename from accounts/doctype/tds_category_account/__init__.py
rename to erpnext/accounts/doctype/tds_category_account/__init__.py
diff --git a/accounts/doctype/tds_category_account/tds_category_account.txt b/erpnext/accounts/doctype/tds_category_account/tds_category_account.txt
similarity index 100%
rename from accounts/doctype/tds_category_account/tds_category_account.txt
rename to erpnext/accounts/doctype/tds_category_account/tds_category_account.txt
diff --git a/accounts/doctype/tds_control/__init__.py b/erpnext/accounts/doctype/tds_control/__init__.py
similarity index 100%
rename from accounts/doctype/tds_control/__init__.py
rename to erpnext/accounts/doctype/tds_control/__init__.py
diff --git a/accounts/doctype/tds_control/tds_control.js b/erpnext/accounts/doctype/tds_control/tds_control.js
similarity index 100%
rename from accounts/doctype/tds_control/tds_control.js
rename to erpnext/accounts/doctype/tds_control/tds_control.js
diff --git a/accounts/doctype/tds_control/tds_control.py b/erpnext/accounts/doctype/tds_control/tds_control.py
similarity index 100%
rename from accounts/doctype/tds_control/tds_control.py
rename to erpnext/accounts/doctype/tds_control/tds_control.py
diff --git a/accounts/doctype/tds_control/tds_control.txt b/erpnext/accounts/doctype/tds_control/tds_control.txt
similarity index 100%
rename from accounts/doctype/tds_control/tds_control.txt
rename to erpnext/accounts/doctype/tds_control/tds_control.txt
diff --git a/accounts/doctype/tds_detail/__init__.py b/erpnext/accounts/doctype/tds_detail/__init__.py
similarity index 100%
rename from accounts/doctype/tds_detail/__init__.py
rename to erpnext/accounts/doctype/tds_detail/__init__.py
diff --git a/accounts/doctype/tds_detail/tds_detail.txt b/erpnext/accounts/doctype/tds_detail/tds_detail.txt
similarity index 100%
rename from accounts/doctype/tds_detail/tds_detail.txt
rename to erpnext/accounts/doctype/tds_detail/tds_detail.txt
diff --git a/accounts/doctype/tds_payment/__init__.py b/erpnext/accounts/doctype/tds_payment/__init__.py
similarity index 100%
rename from accounts/doctype/tds_payment/__init__.py
rename to erpnext/accounts/doctype/tds_payment/__init__.py
diff --git a/accounts/doctype/tds_payment/tds_payment.js b/erpnext/accounts/doctype/tds_payment/tds_payment.js
similarity index 100%
rename from accounts/doctype/tds_payment/tds_payment.js
rename to erpnext/accounts/doctype/tds_payment/tds_payment.js
diff --git a/accounts/doctype/tds_payment/tds_payment.py b/erpnext/accounts/doctype/tds_payment/tds_payment.py
similarity index 100%
rename from accounts/doctype/tds_payment/tds_payment.py
rename to erpnext/accounts/doctype/tds_payment/tds_payment.py
diff --git a/accounts/doctype/tds_payment/tds_payment.txt b/erpnext/accounts/doctype/tds_payment/tds_payment.txt
similarity index 100%
rename from accounts/doctype/tds_payment/tds_payment.txt
rename to erpnext/accounts/doctype/tds_payment/tds_payment.txt
diff --git a/accounts/doctype/tds_payment_detail/__init__.py b/erpnext/accounts/doctype/tds_payment_detail/__init__.py
similarity index 100%
rename from accounts/doctype/tds_payment_detail/__init__.py
rename to erpnext/accounts/doctype/tds_payment_detail/__init__.py
diff --git a/accounts/doctype/tds_payment_detail/tds_payment_detail.txt b/erpnext/accounts/doctype/tds_payment_detail/tds_payment_detail.txt
similarity index 100%
rename from accounts/doctype/tds_payment_detail/tds_payment_detail.txt
rename to erpnext/accounts/doctype/tds_payment_detail/tds_payment_detail.txt
diff --git a/accounts/doctype/tds_rate_chart/__init__.py b/erpnext/accounts/doctype/tds_rate_chart/__init__.py
similarity index 100%
rename from accounts/doctype/tds_rate_chart/__init__.py
rename to erpnext/accounts/doctype/tds_rate_chart/__init__.py
diff --git a/accounts/doctype/tds_rate_chart/tds_rate_chart.txt b/erpnext/accounts/doctype/tds_rate_chart/tds_rate_chart.txt
similarity index 100%
rename from accounts/doctype/tds_rate_chart/tds_rate_chart.txt
rename to erpnext/accounts/doctype/tds_rate_chart/tds_rate_chart.txt
diff --git a/accounts/doctype/tds_rate_detail/__init__.py b/erpnext/accounts/doctype/tds_rate_detail/__init__.py
similarity index 100%
rename from accounts/doctype/tds_rate_detail/__init__.py
rename to erpnext/accounts/doctype/tds_rate_detail/__init__.py
diff --git a/accounts/doctype/tds_rate_detail/tds_rate_detail.txt b/erpnext/accounts/doctype/tds_rate_detail/tds_rate_detail.txt
similarity index 100%
rename from accounts/doctype/tds_rate_detail/tds_rate_detail.txt
rename to erpnext/accounts/doctype/tds_rate_detail/tds_rate_detail.txt
diff --git a/accounts/doctype/tds_return_acknowledgement/__init__.py b/erpnext/accounts/doctype/tds_return_acknowledgement/__init__.py
similarity index 100%
rename from accounts/doctype/tds_return_acknowledgement/__init__.py
rename to erpnext/accounts/doctype/tds_return_acknowledgement/__init__.py
diff --git a/accounts/doctype/tds_return_acknowledgement/tds_return_acknowledgement.js b/erpnext/accounts/doctype/tds_return_acknowledgement/tds_return_acknowledgement.js
similarity index 100%
rename from accounts/doctype/tds_return_acknowledgement/tds_return_acknowledgement.js
rename to erpnext/accounts/doctype/tds_return_acknowledgement/tds_return_acknowledgement.js
diff --git a/accounts/doctype/tds_return_acknowledgement/tds_return_acknowledgement.txt b/erpnext/accounts/doctype/tds_return_acknowledgement/tds_return_acknowledgement.txt
similarity index 100%
rename from accounts/doctype/tds_return_acknowledgement/tds_return_acknowledgement.txt
rename to erpnext/accounts/doctype/tds_return_acknowledgement/tds_return_acknowledgement.txt
diff --git a/accounts/page/__init__.py b/erpnext/accounts/page/__init__.py
similarity index 100%
rename from accounts/page/__init__.py
rename to erpnext/accounts/page/__init__.py
diff --git a/accounts/page/accounts_browser/__init__.py b/erpnext/accounts/page/accounts_browser/__init__.py
similarity index 100%
rename from accounts/page/accounts_browser/__init__.py
rename to erpnext/accounts/page/accounts_browser/__init__.py
diff --git a/accounts/page/accounts_browser/accounts_browser.css b/erpnext/accounts/page/accounts_browser/accounts_browser.css
similarity index 100%
rename from accounts/page/accounts_browser/accounts_browser.css
rename to erpnext/accounts/page/accounts_browser/accounts_browser.css
diff --git a/accounts/page/accounts_browser/accounts_browser.html b/erpnext/accounts/page/accounts_browser/accounts_browser.html
similarity index 100%
rename from accounts/page/accounts_browser/accounts_browser.html
rename to erpnext/accounts/page/accounts_browser/accounts_browser.html
diff --git a/accounts/page/accounts_browser/accounts_browser.js b/erpnext/accounts/page/accounts_browser/accounts_browser.js
similarity index 100%
rename from accounts/page/accounts_browser/accounts_browser.js
rename to erpnext/accounts/page/accounts_browser/accounts_browser.js
diff --git a/accounts/page/accounts_browser/accounts_browser.txt b/erpnext/accounts/page/accounts_browser/accounts_browser.txt
similarity index 100%
rename from accounts/page/accounts_browser/accounts_browser.txt
rename to erpnext/accounts/page/accounts_browser/accounts_browser.txt
diff --git a/accounts/page/financial_statements/__init__.py b/erpnext/accounts/page/financial_statements/__init__.py
similarity index 100%
rename from accounts/page/financial_statements/__init__.py
rename to erpnext/accounts/page/financial_statements/__init__.py
diff --git a/accounts/page/financial_statements/financial_statements.html b/erpnext/accounts/page/financial_statements/financial_statements.html
similarity index 100%
rename from accounts/page/financial_statements/financial_statements.html
rename to erpnext/accounts/page/financial_statements/financial_statements.html
diff --git a/accounts/page/financial_statements/financial_statements.js b/erpnext/accounts/page/financial_statements/financial_statements.js
similarity index 100%
rename from accounts/page/financial_statements/financial_statements.js
rename to erpnext/accounts/page/financial_statements/financial_statements.js
diff --git a/accounts/page/financial_statements/financial_statements.txt b/erpnext/accounts/page/financial_statements/financial_statements.txt
similarity index 100%
rename from accounts/page/financial_statements/financial_statements.txt
rename to erpnext/accounts/page/financial_statements/financial_statements.txt
diff --git a/accounts/search_criteria/__init__.py b/erpnext/accounts/search_criteria/__init__.py
similarity index 100%
rename from accounts/search_criteria/__init__.py
rename to erpnext/accounts/search_criteria/__init__.py
diff --git a/accounts/search_criteria/accounts_payable/__init__.py b/erpnext/accounts/search_criteria/accounts_payable/__init__.py
similarity index 100%
rename from accounts/search_criteria/accounts_payable/__init__.py
rename to erpnext/accounts/search_criteria/accounts_payable/__init__.py
diff --git a/accounts/search_criteria/accounts_payable/accounts_payable.js b/erpnext/accounts/search_criteria/accounts_payable/accounts_payable.js
similarity index 100%
rename from accounts/search_criteria/accounts_payable/accounts_payable.js
rename to erpnext/accounts/search_criteria/accounts_payable/accounts_payable.js
diff --git a/accounts/search_criteria/accounts_payable/accounts_payable.py b/erpnext/accounts/search_criteria/accounts_payable/accounts_payable.py
similarity index 100%
rename from accounts/search_criteria/accounts_payable/accounts_payable.py
rename to erpnext/accounts/search_criteria/accounts_payable/accounts_payable.py
diff --git a/accounts/search_criteria/accounts_payable/accounts_payable.sql b/erpnext/accounts/search_criteria/accounts_payable/accounts_payable.sql
similarity index 100%
rename from accounts/search_criteria/accounts_payable/accounts_payable.sql
rename to erpnext/accounts/search_criteria/accounts_payable/accounts_payable.sql
diff --git a/accounts/search_criteria/accounts_payable/accounts_payable.txt b/erpnext/accounts/search_criteria/accounts_payable/accounts_payable.txt
similarity index 100%
rename from accounts/search_criteria/accounts_payable/accounts_payable.txt
rename to erpnext/accounts/search_criteria/accounts_payable/accounts_payable.txt
diff --git a/accounts/search_criteria/accounts_receivable/__init__.py b/erpnext/accounts/search_criteria/accounts_receivable/__init__.py
similarity index 100%
rename from accounts/search_criteria/accounts_receivable/__init__.py
rename to erpnext/accounts/search_criteria/accounts_receivable/__init__.py
diff --git a/accounts/search_criteria/accounts_receivable/accounts_receivable.js b/erpnext/accounts/search_criteria/accounts_receivable/accounts_receivable.js
similarity index 100%
rename from accounts/search_criteria/accounts_receivable/accounts_receivable.js
rename to erpnext/accounts/search_criteria/accounts_receivable/accounts_receivable.js
diff --git a/accounts/search_criteria/accounts_receivable/accounts_receivable.py b/erpnext/accounts/search_criteria/accounts_receivable/accounts_receivable.py
similarity index 100%
rename from accounts/search_criteria/accounts_receivable/accounts_receivable.py
rename to erpnext/accounts/search_criteria/accounts_receivable/accounts_receivable.py
diff --git a/accounts/search_criteria/accounts_receivable/accounts_receivable.sql b/erpnext/accounts/search_criteria/accounts_receivable/accounts_receivable.sql
similarity index 100%
rename from accounts/search_criteria/accounts_receivable/accounts_receivable.sql
rename to erpnext/accounts/search_criteria/accounts_receivable/accounts_receivable.sql
diff --git a/accounts/search_criteria/accounts_receivable/accounts_receivable.txt b/erpnext/accounts/search_criteria/accounts_receivable/accounts_receivable.txt
similarity index 100%
rename from accounts/search_criteria/accounts_receivable/accounts_receivable.txt
rename to erpnext/accounts/search_criteria/accounts_receivable/accounts_receivable.txt
diff --git a/accounts/search_criteria/bank_clearance_report/__init__.py b/erpnext/accounts/search_criteria/bank_clearance_report/__init__.py
similarity index 100%
rename from accounts/search_criteria/bank_clearance_report/__init__.py
rename to erpnext/accounts/search_criteria/bank_clearance_report/__init__.py
diff --git a/accounts/search_criteria/bank_clearance_report/bank_clearance_report.js b/erpnext/accounts/search_criteria/bank_clearance_report/bank_clearance_report.js
similarity index 100%
rename from accounts/search_criteria/bank_clearance_report/bank_clearance_report.js
rename to erpnext/accounts/search_criteria/bank_clearance_report/bank_clearance_report.js
diff --git a/accounts/search_criteria/bank_clearance_report/bank_clearance_report.txt b/erpnext/accounts/search_criteria/bank_clearance_report/bank_clearance_report.txt
similarity index 100%
rename from accounts/search_criteria/bank_clearance_report/bank_clearance_report.txt
rename to erpnext/accounts/search_criteria/bank_clearance_report/bank_clearance_report.txt
diff --git a/accounts/search_criteria/bank_reconciliation_statement/__init__.py b/erpnext/accounts/search_criteria/bank_reconciliation_statement/__init__.py
similarity index 100%
rename from accounts/search_criteria/bank_reconciliation_statement/__init__.py
rename to erpnext/accounts/search_criteria/bank_reconciliation_statement/__init__.py
diff --git a/accounts/search_criteria/bank_reconciliation_statement/bank_reconciliation_statement.js b/erpnext/accounts/search_criteria/bank_reconciliation_statement/bank_reconciliation_statement.js
similarity index 100%
rename from accounts/search_criteria/bank_reconciliation_statement/bank_reconciliation_statement.js
rename to erpnext/accounts/search_criteria/bank_reconciliation_statement/bank_reconciliation_statement.js
diff --git a/accounts/search_criteria/bank_reconciliation_statement/bank_reconciliation_statement.py b/erpnext/accounts/search_criteria/bank_reconciliation_statement/bank_reconciliation_statement.py
similarity index 100%
rename from accounts/search_criteria/bank_reconciliation_statement/bank_reconciliation_statement.py
rename to erpnext/accounts/search_criteria/bank_reconciliation_statement/bank_reconciliation_statement.py
diff --git a/accounts/search_criteria/bank_reconciliation_statement/bank_reconciliation_statement.txt b/erpnext/accounts/search_criteria/bank_reconciliation_statement/bank_reconciliation_statement.txt
similarity index 100%
rename from accounts/search_criteria/bank_reconciliation_statement/bank_reconciliation_statement.txt
rename to erpnext/accounts/search_criteria/bank_reconciliation_statement/bank_reconciliation_statement.txt
diff --git a/accounts/search_criteria/budget_variance_report/__init__.py b/erpnext/accounts/search_criteria/budget_variance_report/__init__.py
similarity index 100%
rename from accounts/search_criteria/budget_variance_report/__init__.py
rename to erpnext/accounts/search_criteria/budget_variance_report/__init__.py
diff --git a/accounts/search_criteria/budget_variance_report/budget_variance_report.js b/erpnext/accounts/search_criteria/budget_variance_report/budget_variance_report.js
similarity index 100%
rename from accounts/search_criteria/budget_variance_report/budget_variance_report.js
rename to erpnext/accounts/search_criteria/budget_variance_report/budget_variance_report.js
diff --git a/accounts/search_criteria/budget_variance_report/budget_variance_report.py b/erpnext/accounts/search_criteria/budget_variance_report/budget_variance_report.py
similarity index 100%
rename from accounts/search_criteria/budget_variance_report/budget_variance_report.py
rename to erpnext/accounts/search_criteria/budget_variance_report/budget_variance_report.py
diff --git a/accounts/search_criteria/budget_variance_report/budget_variance_report.sql b/erpnext/accounts/search_criteria/budget_variance_report/budget_variance_report.sql
similarity index 100%
rename from accounts/search_criteria/budget_variance_report/budget_variance_report.sql
rename to erpnext/accounts/search_criteria/budget_variance_report/budget_variance_report.sql
diff --git a/accounts/search_criteria/budget_variance_report/budget_variance_report.txt b/erpnext/accounts/search_criteria/budget_variance_report/budget_variance_report.txt
similarity index 100%
rename from accounts/search_criteria/budget_variance_report/budget_variance_report.txt
rename to erpnext/accounts/search_criteria/budget_variance_report/budget_variance_report.txt
diff --git a/accounts/search_criteria/business_associate_commission_report/__init__.py b/erpnext/accounts/search_criteria/business_associate_commission_report/__init__.py
similarity index 100%
rename from accounts/search_criteria/business_associate_commission_report/__init__.py
rename to erpnext/accounts/search_criteria/business_associate_commission_report/__init__.py
diff --git a/accounts/search_criteria/business_associate_commission_report/business_associate_commission_report.js b/erpnext/accounts/search_criteria/business_associate_commission_report/business_associate_commission_report.js
similarity index 100%
rename from accounts/search_criteria/business_associate_commission_report/business_associate_commission_report.js
rename to erpnext/accounts/search_criteria/business_associate_commission_report/business_associate_commission_report.js
diff --git a/accounts/search_criteria/business_associate_commission_report/business_associate_commission_report.py b/erpnext/accounts/search_criteria/business_associate_commission_report/business_associate_commission_report.py
similarity index 100%
rename from accounts/search_criteria/business_associate_commission_report/business_associate_commission_report.py
rename to erpnext/accounts/search_criteria/business_associate_commission_report/business_associate_commission_report.py
diff --git a/accounts/search_criteria/business_associate_commission_report/business_associate_commission_report.txt b/erpnext/accounts/search_criteria/business_associate_commission_report/business_associate_commission_report.txt
similarity index 100%
rename from accounts/search_criteria/business_associate_commission_report/business_associate_commission_report.txt
rename to erpnext/accounts/search_criteria/business_associate_commission_report/business_associate_commission_report.txt
diff --git a/accounts/search_criteria/cash_flow_statement/__init__.py b/erpnext/accounts/search_criteria/cash_flow_statement/__init__.py
similarity index 100%
rename from accounts/search_criteria/cash_flow_statement/__init__.py
rename to erpnext/accounts/search_criteria/cash_flow_statement/__init__.py
diff --git a/accounts/search_criteria/cash_flow_statement/cash_flow_statement.js b/erpnext/accounts/search_criteria/cash_flow_statement/cash_flow_statement.js
similarity index 100%
rename from accounts/search_criteria/cash_flow_statement/cash_flow_statement.js
rename to erpnext/accounts/search_criteria/cash_flow_statement/cash_flow_statement.js
diff --git a/accounts/search_criteria/cash_flow_statement/cash_flow_statement.py b/erpnext/accounts/search_criteria/cash_flow_statement/cash_flow_statement.py
similarity index 100%
rename from accounts/search_criteria/cash_flow_statement/cash_flow_statement.py
rename to erpnext/accounts/search_criteria/cash_flow_statement/cash_flow_statement.py
diff --git a/accounts/search_criteria/cash_flow_statement/cash_flow_statement.sql b/erpnext/accounts/search_criteria/cash_flow_statement/cash_flow_statement.sql
similarity index 100%
rename from accounts/search_criteria/cash_flow_statement/cash_flow_statement.sql
rename to erpnext/accounts/search_criteria/cash_flow_statement/cash_flow_statement.sql
diff --git a/accounts/search_criteria/cash_flow_statement/cash_flow_statement.txt b/erpnext/accounts/search_criteria/cash_flow_statement/cash_flow_statement.txt
similarity index 100%
rename from accounts/search_criteria/cash_flow_statement/cash_flow_statement.txt
rename to erpnext/accounts/search_criteria/cash_flow_statement/cash_flow_statement.txt
diff --git a/accounts/search_criteria/cenvat_credit___input_or_capital_goods/__init__.py b/erpnext/accounts/search_criteria/cenvat_credit___input_or_capital_goods/__init__.py
similarity index 100%
rename from accounts/search_criteria/cenvat_credit___input_or_capital_goods/__init__.py
rename to erpnext/accounts/search_criteria/cenvat_credit___input_or_capital_goods/__init__.py
diff --git a/accounts/search_criteria/cenvat_credit___input_or_capital_goods/cenvat_credit___input_or_capital_goods.js b/erpnext/accounts/search_criteria/cenvat_credit___input_or_capital_goods/cenvat_credit___input_or_capital_goods.js
similarity index 100%
rename from accounts/search_criteria/cenvat_credit___input_or_capital_goods/cenvat_credit___input_or_capital_goods.js
rename to erpnext/accounts/search_criteria/cenvat_credit___input_or_capital_goods/cenvat_credit___input_or_capital_goods.js
diff --git a/accounts/search_criteria/cenvat_credit___input_or_capital_goods/cenvat_credit___input_or_capital_goods.py b/erpnext/accounts/search_criteria/cenvat_credit___input_or_capital_goods/cenvat_credit___input_or_capital_goods.py
similarity index 100%
rename from accounts/search_criteria/cenvat_credit___input_or_capital_goods/cenvat_credit___input_or_capital_goods.py
rename to erpnext/accounts/search_criteria/cenvat_credit___input_or_capital_goods/cenvat_credit___input_or_capital_goods.py
diff --git a/accounts/search_criteria/cenvat_credit___input_or_capital_goods/cenvat_credit___input_or_capital_goods.sql b/erpnext/accounts/search_criteria/cenvat_credit___input_or_capital_goods/cenvat_credit___input_or_capital_goods.sql
similarity index 100%
rename from accounts/search_criteria/cenvat_credit___input_or_capital_goods/cenvat_credit___input_or_capital_goods.sql
rename to erpnext/accounts/search_criteria/cenvat_credit___input_or_capital_goods/cenvat_credit___input_or_capital_goods.sql
diff --git a/accounts/search_criteria/cenvat_credit___input_or_capital_goods/cenvat_credit___input_or_capital_goods.txt b/erpnext/accounts/search_criteria/cenvat_credit___input_or_capital_goods/cenvat_credit___input_or_capital_goods.txt
similarity index 100%
rename from accounts/search_criteria/cenvat_credit___input_or_capital_goods/cenvat_credit___input_or_capital_goods.txt
rename to erpnext/accounts/search_criteria/cenvat_credit___input_or_capital_goods/cenvat_credit___input_or_capital_goods.txt
diff --git a/accounts/search_criteria/collection_report/__init__.py b/erpnext/accounts/search_criteria/collection_report/__init__.py
similarity index 100%
rename from accounts/search_criteria/collection_report/__init__.py
rename to erpnext/accounts/search_criteria/collection_report/__init__.py
diff --git a/accounts/search_criteria/collection_report/collection_report.js b/erpnext/accounts/search_criteria/collection_report/collection_report.js
similarity index 100%
rename from accounts/search_criteria/collection_report/collection_report.js
rename to erpnext/accounts/search_criteria/collection_report/collection_report.js
diff --git a/accounts/search_criteria/collection_report/collection_report.py b/erpnext/accounts/search_criteria/collection_report/collection_report.py
similarity index 100%
rename from accounts/search_criteria/collection_report/collection_report.py
rename to erpnext/accounts/search_criteria/collection_report/collection_report.py
diff --git a/accounts/search_criteria/collection_report/collection_report.sql b/erpnext/accounts/search_criteria/collection_report/collection_report.sql
similarity index 100%
rename from accounts/search_criteria/collection_report/collection_report.sql
rename to erpnext/accounts/search_criteria/collection_report/collection_report.sql
diff --git a/accounts/search_criteria/collection_report/collection_report.txt b/erpnext/accounts/search_criteria/collection_report/collection_report.txt
similarity index 100%
rename from accounts/search_criteria/collection_report/collection_report.txt
rename to erpnext/accounts/search_criteria/collection_report/collection_report.txt
diff --git a/accounts/search_criteria/cost_center_wise_expense/__init__.py b/erpnext/accounts/search_criteria/cost_center_wise_expense/__init__.py
similarity index 100%
rename from accounts/search_criteria/cost_center_wise_expense/__init__.py
rename to erpnext/accounts/search_criteria/cost_center_wise_expense/__init__.py
diff --git a/accounts/search_criteria/cost_center_wise_expense/cost_center_wise_expense.js b/erpnext/accounts/search_criteria/cost_center_wise_expense/cost_center_wise_expense.js
similarity index 100%
rename from accounts/search_criteria/cost_center_wise_expense/cost_center_wise_expense.js
rename to erpnext/accounts/search_criteria/cost_center_wise_expense/cost_center_wise_expense.js
diff --git a/accounts/search_criteria/cost_center_wise_expense/cost_center_wise_expense.py b/erpnext/accounts/search_criteria/cost_center_wise_expense/cost_center_wise_expense.py
similarity index 100%
rename from accounts/search_criteria/cost_center_wise_expense/cost_center_wise_expense.py
rename to erpnext/accounts/search_criteria/cost_center_wise_expense/cost_center_wise_expense.py
diff --git a/accounts/search_criteria/cost_center_wise_expense/cost_center_wise_expense.sql b/erpnext/accounts/search_criteria/cost_center_wise_expense/cost_center_wise_expense.sql
similarity index 100%
rename from accounts/search_criteria/cost_center_wise_expense/cost_center_wise_expense.sql
rename to erpnext/accounts/search_criteria/cost_center_wise_expense/cost_center_wise_expense.sql
diff --git a/accounts/search_criteria/cost_center_wise_expense/cost_center_wise_expense.txt b/erpnext/accounts/search_criteria/cost_center_wise_expense/cost_center_wise_expense.txt
similarity index 100%
rename from accounts/search_criteria/cost_center_wise_expense/cost_center_wise_expense.txt
rename to erpnext/accounts/search_criteria/cost_center_wise_expense/cost_center_wise_expense.txt
diff --git a/accounts/search_criteria/creditors_ledger/__init__.py b/erpnext/accounts/search_criteria/creditors_ledger/__init__.py
similarity index 100%
rename from accounts/search_criteria/creditors_ledger/__init__.py
rename to erpnext/accounts/search_criteria/creditors_ledger/__init__.py
diff --git a/accounts/search_criteria/creditors_ledger/creditors_ledger.js b/erpnext/accounts/search_criteria/creditors_ledger/creditors_ledger.js
similarity index 100%
rename from accounts/search_criteria/creditors_ledger/creditors_ledger.js
rename to erpnext/accounts/search_criteria/creditors_ledger/creditors_ledger.js
diff --git a/accounts/search_criteria/creditors_ledger/creditors_ledger.py b/erpnext/accounts/search_criteria/creditors_ledger/creditors_ledger.py
similarity index 100%
rename from accounts/search_criteria/creditors_ledger/creditors_ledger.py
rename to erpnext/accounts/search_criteria/creditors_ledger/creditors_ledger.py
diff --git a/accounts/search_criteria/creditors_ledger/creditors_ledger.sql b/erpnext/accounts/search_criteria/creditors_ledger/creditors_ledger.sql
similarity index 100%
rename from accounts/search_criteria/creditors_ledger/creditors_ledger.sql
rename to erpnext/accounts/search_criteria/creditors_ledger/creditors_ledger.sql
diff --git a/accounts/search_criteria/creditors_ledger/creditors_ledger.txt b/erpnext/accounts/search_criteria/creditors_ledger/creditors_ledger.txt
similarity index 100%
rename from accounts/search_criteria/creditors_ledger/creditors_ledger.txt
rename to erpnext/accounts/search_criteria/creditors_ledger/creditors_ledger.txt
diff --git a/accounts/search_criteria/debtors_ledger/__init__.py b/erpnext/accounts/search_criteria/debtors_ledger/__init__.py
similarity index 100%
rename from accounts/search_criteria/debtors_ledger/__init__.py
rename to erpnext/accounts/search_criteria/debtors_ledger/__init__.py
diff --git a/accounts/search_criteria/debtors_ledger/debtors_ledger.js b/erpnext/accounts/search_criteria/debtors_ledger/debtors_ledger.js
similarity index 100%
rename from accounts/search_criteria/debtors_ledger/debtors_ledger.js
rename to erpnext/accounts/search_criteria/debtors_ledger/debtors_ledger.js
diff --git a/accounts/search_criteria/debtors_ledger/debtors_ledger.py b/erpnext/accounts/search_criteria/debtors_ledger/debtors_ledger.py
similarity index 100%
rename from accounts/search_criteria/debtors_ledger/debtors_ledger.py
rename to erpnext/accounts/search_criteria/debtors_ledger/debtors_ledger.py
diff --git a/accounts/search_criteria/debtors_ledger/debtors_ledger.sql b/erpnext/accounts/search_criteria/debtors_ledger/debtors_ledger.sql
similarity index 100%
rename from accounts/search_criteria/debtors_ledger/debtors_ledger.sql
rename to erpnext/accounts/search_criteria/debtors_ledger/debtors_ledger.sql
diff --git a/accounts/search_criteria/debtors_ledger/debtors_ledger.txt b/erpnext/accounts/search_criteria/debtors_ledger/debtors_ledger.txt
similarity index 100%
rename from accounts/search_criteria/debtors_ledger/debtors_ledger.txt
rename to erpnext/accounts/search_criteria/debtors_ledger/debtors_ledger.txt
diff --git a/accounts/search_criteria/general_ledger/__init__.py b/erpnext/accounts/search_criteria/general_ledger/__init__.py
similarity index 100%
rename from accounts/search_criteria/general_ledger/__init__.py
rename to erpnext/accounts/search_criteria/general_ledger/__init__.py
diff --git a/accounts/search_criteria/general_ledger/general_ledger.js b/erpnext/accounts/search_criteria/general_ledger/general_ledger.js
similarity index 100%
rename from accounts/search_criteria/general_ledger/general_ledger.js
rename to erpnext/accounts/search_criteria/general_ledger/general_ledger.js
diff --git a/accounts/search_criteria/general_ledger/general_ledger.py b/erpnext/accounts/search_criteria/general_ledger/general_ledger.py
similarity index 100%
rename from accounts/search_criteria/general_ledger/general_ledger.py
rename to erpnext/accounts/search_criteria/general_ledger/general_ledger.py
diff --git a/accounts/search_criteria/general_ledger/general_ledger.sql b/erpnext/accounts/search_criteria/general_ledger/general_ledger.sql
similarity index 100%
rename from accounts/search_criteria/general_ledger/general_ledger.sql
rename to erpnext/accounts/search_criteria/general_ledger/general_ledger.sql
diff --git a/accounts/search_criteria/general_ledger/general_ledger.txt b/erpnext/accounts/search_criteria/general_ledger/general_ledger.txt
similarity index 100%
rename from accounts/search_criteria/general_ledger/general_ledger.txt
rename to erpnext/accounts/search_criteria/general_ledger/general_ledger.txt
diff --git a/accounts/search_criteria/itemwise_purchase_register/__init__.py b/erpnext/accounts/search_criteria/itemwise_purchase_register/__init__.py
similarity index 100%
rename from accounts/search_criteria/itemwise_purchase_register/__init__.py
rename to erpnext/accounts/search_criteria/itemwise_purchase_register/__init__.py
diff --git a/accounts/search_criteria/itemwise_purchase_register/itemwise_purchase_register.js b/erpnext/accounts/search_criteria/itemwise_purchase_register/itemwise_purchase_register.js
similarity index 100%
rename from accounts/search_criteria/itemwise_purchase_register/itemwise_purchase_register.js
rename to erpnext/accounts/search_criteria/itemwise_purchase_register/itemwise_purchase_register.js
diff --git a/accounts/search_criteria/itemwise_purchase_register/itemwise_purchase_register.txt b/erpnext/accounts/search_criteria/itemwise_purchase_register/itemwise_purchase_register.txt
similarity index 100%
rename from accounts/search_criteria/itemwise_purchase_register/itemwise_purchase_register.txt
rename to erpnext/accounts/search_criteria/itemwise_purchase_register/itemwise_purchase_register.txt
diff --git a/accounts/search_criteria/itemwise_sales_register/__init__.py b/erpnext/accounts/search_criteria/itemwise_sales_register/__init__.py
similarity index 100%
rename from accounts/search_criteria/itemwise_sales_register/__init__.py
rename to erpnext/accounts/search_criteria/itemwise_sales_register/__init__.py
diff --git a/accounts/search_criteria/itemwise_sales_register/itemwise_sales_register.js b/erpnext/accounts/search_criteria/itemwise_sales_register/itemwise_sales_register.js
similarity index 100%
rename from accounts/search_criteria/itemwise_sales_register/itemwise_sales_register.js
rename to erpnext/accounts/search_criteria/itemwise_sales_register/itemwise_sales_register.js
diff --git a/accounts/search_criteria/itemwise_sales_register/itemwise_sales_register.txt b/erpnext/accounts/search_criteria/itemwise_sales_register/itemwise_sales_register.txt
similarity index 100%
rename from accounts/search_criteria/itemwise_sales_register/itemwise_sales_register.txt
rename to erpnext/accounts/search_criteria/itemwise_sales_register/itemwise_sales_register.txt
diff --git a/accounts/search_criteria/lease_agreement_list/__init__.py b/erpnext/accounts/search_criteria/lease_agreement_list/__init__.py
similarity index 100%
rename from accounts/search_criteria/lease_agreement_list/__init__.py
rename to erpnext/accounts/search_criteria/lease_agreement_list/__init__.py
diff --git a/accounts/search_criteria/lease_agreement_list/lease_agreement_list.js b/erpnext/accounts/search_criteria/lease_agreement_list/lease_agreement_list.js
similarity index 100%
rename from accounts/search_criteria/lease_agreement_list/lease_agreement_list.js
rename to erpnext/accounts/search_criteria/lease_agreement_list/lease_agreement_list.js
diff --git a/accounts/search_criteria/lease_agreement_list/lease_agreement_list.py b/erpnext/accounts/search_criteria/lease_agreement_list/lease_agreement_list.py
similarity index 100%
rename from accounts/search_criteria/lease_agreement_list/lease_agreement_list.py
rename to erpnext/accounts/search_criteria/lease_agreement_list/lease_agreement_list.py
diff --git a/accounts/search_criteria/lease_agreement_list/lease_agreement_list.sql b/erpnext/accounts/search_criteria/lease_agreement_list/lease_agreement_list.sql
similarity index 100%
rename from accounts/search_criteria/lease_agreement_list/lease_agreement_list.sql
rename to erpnext/accounts/search_criteria/lease_agreement_list/lease_agreement_list.sql
diff --git a/accounts/search_criteria/lease_agreement_list/lease_agreement_list.txt b/erpnext/accounts/search_criteria/lease_agreement_list/lease_agreement_list.txt
similarity index 92%
rename from accounts/search_criteria/lease_agreement_list/lease_agreement_list.txt
rename to erpnext/accounts/search_criteria/lease_agreement_list/lease_agreement_list.txt
index f47c609..5e84916 100644
--- a/accounts/search_criteria/lease_agreement_list/lease_agreement_list.txt
+++ b/erpnext/accounts/search_criteria/lease_agreement_list/lease_agreement_list.txt
@@ -3,9 +3,9 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2011-08-29 13:45:35',
+		'creation': '2011-07-27 16:17:04',
 		'docstatus': 0,
-		'modified': '2011-08-29 13:45:35',
+		'modified': '2011-07-27 16:17:04',
 		'modified_by': 'Administrator',
 		'owner': 'Administrator'
 	},
@@ -27,4 +27,4 @@
 		'doctype': 'Search Criteria',
 		'name': 'lease_agreement_list'
 	}
-]
\ No newline at end of file
+]
diff --git a/accounts/search_criteria/lease_monthly_future_installment_inflows/__init__.py b/erpnext/accounts/search_criteria/lease_monthly_future_installment_inflows/__init__.py
similarity index 100%
rename from accounts/search_criteria/lease_monthly_future_installment_inflows/__init__.py
rename to erpnext/accounts/search_criteria/lease_monthly_future_installment_inflows/__init__.py
diff --git a/accounts/search_criteria/lease_monthly_future_installment_inflows/lease_monthly_future_installment_inflows.js b/erpnext/accounts/search_criteria/lease_monthly_future_installment_inflows/lease_monthly_future_installment_inflows.js
similarity index 100%
rename from accounts/search_criteria/lease_monthly_future_installment_inflows/lease_monthly_future_installment_inflows.js
rename to erpnext/accounts/search_criteria/lease_monthly_future_installment_inflows/lease_monthly_future_installment_inflows.js
diff --git a/accounts/search_criteria/lease_monthly_future_installment_inflows/lease_monthly_future_installment_inflows.py b/erpnext/accounts/search_criteria/lease_monthly_future_installment_inflows/lease_monthly_future_installment_inflows.py
similarity index 100%
rename from accounts/search_criteria/lease_monthly_future_installment_inflows/lease_monthly_future_installment_inflows.py
rename to erpnext/accounts/search_criteria/lease_monthly_future_installment_inflows/lease_monthly_future_installment_inflows.py
diff --git a/accounts/search_criteria/lease_monthly_future_installment_inflows/lease_monthly_future_installment_inflows.sql b/erpnext/accounts/search_criteria/lease_monthly_future_installment_inflows/lease_monthly_future_installment_inflows.sql
similarity index 100%
rename from accounts/search_criteria/lease_monthly_future_installment_inflows/lease_monthly_future_installment_inflows.sql
rename to erpnext/accounts/search_criteria/lease_monthly_future_installment_inflows/lease_monthly_future_installment_inflows.sql
diff --git a/accounts/search_criteria/lease_monthly_future_installment_inflows/lease_monthly_future_installment_inflows.txt b/erpnext/accounts/search_criteria/lease_monthly_future_installment_inflows/lease_monthly_future_installment_inflows.txt
similarity index 100%
rename from accounts/search_criteria/lease_monthly_future_installment_inflows/lease_monthly_future_installment_inflows.txt
rename to erpnext/accounts/search_criteria/lease_monthly_future_installment_inflows/lease_monthly_future_installment_inflows.txt
diff --git a/accounts/search_criteria/lease_over_due_list/__init__.py b/erpnext/accounts/search_criteria/lease_over_due_list/__init__.py
similarity index 100%
rename from accounts/search_criteria/lease_over_due_list/__init__.py
rename to erpnext/accounts/search_criteria/lease_over_due_list/__init__.py
diff --git a/accounts/search_criteria/lease_over_due_list/lease_over_due_list.js b/erpnext/accounts/search_criteria/lease_over_due_list/lease_over_due_list.js
similarity index 100%
rename from accounts/search_criteria/lease_over_due_list/lease_over_due_list.js
rename to erpnext/accounts/search_criteria/lease_over_due_list/lease_over_due_list.js
diff --git a/accounts/search_criteria/lease_over_due_list/lease_over_due_list.py b/erpnext/accounts/search_criteria/lease_over_due_list/lease_over_due_list.py
similarity index 100%
rename from accounts/search_criteria/lease_over_due_list/lease_over_due_list.py
rename to erpnext/accounts/search_criteria/lease_over_due_list/lease_over_due_list.py
diff --git a/accounts/search_criteria/lease_over_due_list/lease_over_due_list.sql b/erpnext/accounts/search_criteria/lease_over_due_list/lease_over_due_list.sql
similarity index 100%
rename from accounts/search_criteria/lease_over_due_list/lease_over_due_list.sql
rename to erpnext/accounts/search_criteria/lease_over_due_list/lease_over_due_list.sql
diff --git a/accounts/search_criteria/lease_over_due_list/lease_over_due_list.txt b/erpnext/accounts/search_criteria/lease_over_due_list/lease_over_due_list.txt
similarity index 100%
rename from accounts/search_criteria/lease_over_due_list/lease_over_due_list.txt
rename to erpnext/accounts/search_criteria/lease_over_due_list/lease_over_due_list.txt
diff --git a/accounts/search_criteria/lease_overdue_age_wise/__init__.py b/erpnext/accounts/search_criteria/lease_overdue_age_wise/__init__.py
similarity index 100%
rename from accounts/search_criteria/lease_overdue_age_wise/__init__.py
rename to erpnext/accounts/search_criteria/lease_overdue_age_wise/__init__.py
diff --git a/accounts/search_criteria/lease_overdue_age_wise/lease_overdue_age_wise.js b/erpnext/accounts/search_criteria/lease_overdue_age_wise/lease_overdue_age_wise.js
similarity index 100%
rename from accounts/search_criteria/lease_overdue_age_wise/lease_overdue_age_wise.js
rename to erpnext/accounts/search_criteria/lease_overdue_age_wise/lease_overdue_age_wise.js
diff --git a/accounts/search_criteria/lease_overdue_age_wise/lease_overdue_age_wise.py b/erpnext/accounts/search_criteria/lease_overdue_age_wise/lease_overdue_age_wise.py
similarity index 100%
rename from accounts/search_criteria/lease_overdue_age_wise/lease_overdue_age_wise.py
rename to erpnext/accounts/search_criteria/lease_overdue_age_wise/lease_overdue_age_wise.py
diff --git a/accounts/search_criteria/lease_overdue_age_wise/lease_overdue_age_wise.sql b/erpnext/accounts/search_criteria/lease_overdue_age_wise/lease_overdue_age_wise.sql
similarity index 100%
rename from accounts/search_criteria/lease_overdue_age_wise/lease_overdue_age_wise.sql
rename to erpnext/accounts/search_criteria/lease_overdue_age_wise/lease_overdue_age_wise.sql
diff --git a/accounts/search_criteria/lease_overdue_age_wise/lease_overdue_age_wise.txt b/erpnext/accounts/search_criteria/lease_overdue_age_wise/lease_overdue_age_wise.txt
similarity index 100%
rename from accounts/search_criteria/lease_overdue_age_wise/lease_overdue_age_wise.txt
rename to erpnext/accounts/search_criteria/lease_overdue_age_wise/lease_overdue_age_wise.txt
diff --git a/accounts/search_criteria/lease_receipt_summary_month_wise/__init__.py b/erpnext/accounts/search_criteria/lease_receipt_summary_month_wise/__init__.py
similarity index 100%
rename from accounts/search_criteria/lease_receipt_summary_month_wise/__init__.py
rename to erpnext/accounts/search_criteria/lease_receipt_summary_month_wise/__init__.py
diff --git a/accounts/search_criteria/lease_receipt_summary_month_wise/lease_receipt_summary_month_wise.js b/erpnext/accounts/search_criteria/lease_receipt_summary_month_wise/lease_receipt_summary_month_wise.js
similarity index 100%
rename from accounts/search_criteria/lease_receipt_summary_month_wise/lease_receipt_summary_month_wise.js
rename to erpnext/accounts/search_criteria/lease_receipt_summary_month_wise/lease_receipt_summary_month_wise.js
diff --git a/accounts/search_criteria/lease_receipt_summary_month_wise/lease_receipt_summary_month_wise.py b/erpnext/accounts/search_criteria/lease_receipt_summary_month_wise/lease_receipt_summary_month_wise.py
similarity index 100%
rename from accounts/search_criteria/lease_receipt_summary_month_wise/lease_receipt_summary_month_wise.py
rename to erpnext/accounts/search_criteria/lease_receipt_summary_month_wise/lease_receipt_summary_month_wise.py
diff --git a/accounts/search_criteria/lease_receipt_summary_month_wise/lease_receipt_summary_month_wise.sql b/erpnext/accounts/search_criteria/lease_receipt_summary_month_wise/lease_receipt_summary_month_wise.sql
similarity index 100%
rename from accounts/search_criteria/lease_receipt_summary_month_wise/lease_receipt_summary_month_wise.sql
rename to erpnext/accounts/search_criteria/lease_receipt_summary_month_wise/lease_receipt_summary_month_wise.sql
diff --git a/accounts/search_criteria/lease_receipt_summary_month_wise/lease_receipt_summary_month_wise.txt b/erpnext/accounts/search_criteria/lease_receipt_summary_month_wise/lease_receipt_summary_month_wise.txt
similarity index 93%
rename from accounts/search_criteria/lease_receipt_summary_month_wise/lease_receipt_summary_month_wise.txt
rename to erpnext/accounts/search_criteria/lease_receipt_summary_month_wise/lease_receipt_summary_month_wise.txt
index 6e1b266..e6da15c 100644
--- a/accounts/search_criteria/lease_receipt_summary_month_wise/lease_receipt_summary_month_wise.txt
+++ b/erpnext/accounts/search_criteria/lease_receipt_summary_month_wise/lease_receipt_summary_month_wise.txt
@@ -3,9 +3,9 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2011-07-27 18:48:29',
+		'creation': '2011-07-27 16:17:04',
 		'docstatus': 0,
-		'modified': '2011-07-28 12:56:35',
+		'modified': '2011-07-27 16:17:04',
 		'modified_by': 'Administrator',
 		'owner': 'Administrator'
 	},
@@ -27,4 +27,4 @@
 		'doctype': 'Search Criteria',
 		'name': 'lease_receipt_summary_month_wise'
 	}
-]
\ No newline at end of file
+]
diff --git a/accounts/search_criteria/lease_receipts_client_wise/__init__.py b/erpnext/accounts/search_criteria/lease_receipts_client_wise/__init__.py
similarity index 100%
rename from accounts/search_criteria/lease_receipts_client_wise/__init__.py
rename to erpnext/accounts/search_criteria/lease_receipts_client_wise/__init__.py
diff --git a/accounts/search_criteria/lease_receipts_client_wise/lease_receipts_client_wise.js b/erpnext/accounts/search_criteria/lease_receipts_client_wise/lease_receipts_client_wise.js
similarity index 100%
rename from accounts/search_criteria/lease_receipts_client_wise/lease_receipts_client_wise.js
rename to erpnext/accounts/search_criteria/lease_receipts_client_wise/lease_receipts_client_wise.js
diff --git a/accounts/search_criteria/lease_receipts_client_wise/lease_receipts_client_wise.py b/erpnext/accounts/search_criteria/lease_receipts_client_wise/lease_receipts_client_wise.py
similarity index 100%
rename from accounts/search_criteria/lease_receipts_client_wise/lease_receipts_client_wise.py
rename to erpnext/accounts/search_criteria/lease_receipts_client_wise/lease_receipts_client_wise.py
diff --git a/accounts/search_criteria/lease_receipts_client_wise/lease_receipts_client_wise.sql b/erpnext/accounts/search_criteria/lease_receipts_client_wise/lease_receipts_client_wise.sql
similarity index 100%
rename from accounts/search_criteria/lease_receipts_client_wise/lease_receipts_client_wise.sql
rename to erpnext/accounts/search_criteria/lease_receipts_client_wise/lease_receipts_client_wise.sql
diff --git a/accounts/search_criteria/lease_receipts_client_wise/lease_receipts_client_wise.txt b/erpnext/accounts/search_criteria/lease_receipts_client_wise/lease_receipts_client_wise.txt
similarity index 99%
rename from accounts/search_criteria/lease_receipts_client_wise/lease_receipts_client_wise.txt
rename to erpnext/accounts/search_criteria/lease_receipts_client_wise/lease_receipts_client_wise.txt
index b155b39..71c9b0e 100644
--- a/accounts/search_criteria/lease_receipts_client_wise/lease_receipts_client_wise.txt
+++ b/erpnext/accounts/search_criteria/lease_receipts_client_wise/lease_receipts_client_wise.txt
@@ -28,4 +28,4 @@
 		'doctype': 'Search Criteria',
 		'name': 'lease_receipts_client_wise'
 	}
-]
\ No newline at end of file
+]
diff --git a/accounts/search_criteria/lease_yearly_future_installment_inflows/__init__.py b/erpnext/accounts/search_criteria/lease_yearly_future_installment_inflows/__init__.py
similarity index 100%
rename from accounts/search_criteria/lease_yearly_future_installment_inflows/__init__.py
rename to erpnext/accounts/search_criteria/lease_yearly_future_installment_inflows/__init__.py
diff --git a/accounts/search_criteria/lease_yearly_future_installment_inflows/lease_yearly_future_installment_inflows.js b/erpnext/accounts/search_criteria/lease_yearly_future_installment_inflows/lease_yearly_future_installment_inflows.js
similarity index 100%
rename from accounts/search_criteria/lease_yearly_future_installment_inflows/lease_yearly_future_installment_inflows.js
rename to erpnext/accounts/search_criteria/lease_yearly_future_installment_inflows/lease_yearly_future_installment_inflows.js
diff --git a/accounts/search_criteria/lease_yearly_future_installment_inflows/lease_yearly_future_installment_inflows.py b/erpnext/accounts/search_criteria/lease_yearly_future_installment_inflows/lease_yearly_future_installment_inflows.py
similarity index 100%
rename from accounts/search_criteria/lease_yearly_future_installment_inflows/lease_yearly_future_installment_inflows.py
rename to erpnext/accounts/search_criteria/lease_yearly_future_installment_inflows/lease_yearly_future_installment_inflows.py
diff --git a/accounts/search_criteria/lease_yearly_future_installment_inflows/lease_yearly_future_installment_inflows.sql b/erpnext/accounts/search_criteria/lease_yearly_future_installment_inflows/lease_yearly_future_installment_inflows.sql
similarity index 100%
rename from accounts/search_criteria/lease_yearly_future_installment_inflows/lease_yearly_future_installment_inflows.sql
rename to erpnext/accounts/search_criteria/lease_yearly_future_installment_inflows/lease_yearly_future_installment_inflows.sql
diff --git a/accounts/search_criteria/lease_yearly_future_installment_inflows/lease_yearly_future_installment_inflows.txt b/erpnext/accounts/search_criteria/lease_yearly_future_installment_inflows/lease_yearly_future_installment_inflows.txt
similarity index 100%
rename from accounts/search_criteria/lease_yearly_future_installment_inflows/lease_yearly_future_installment_inflows.txt
rename to erpnext/accounts/search_criteria/lease_yearly_future_installment_inflows/lease_yearly_future_installment_inflows.txt
diff --git a/accounts/search_criteria/monthly_ledger_summary_report/__init__.py b/erpnext/accounts/search_criteria/monthly_ledger_summary_report/__init__.py
similarity index 100%
rename from accounts/search_criteria/monthly_ledger_summary_report/__init__.py
rename to erpnext/accounts/search_criteria/monthly_ledger_summary_report/__init__.py
diff --git a/accounts/search_criteria/monthly_ledger_summary_report/monthly_ledger_summary_report.js b/erpnext/accounts/search_criteria/monthly_ledger_summary_report/monthly_ledger_summary_report.js
similarity index 100%
rename from accounts/search_criteria/monthly_ledger_summary_report/monthly_ledger_summary_report.js
rename to erpnext/accounts/search_criteria/monthly_ledger_summary_report/monthly_ledger_summary_report.js
diff --git a/accounts/search_criteria/monthly_ledger_summary_report/monthly_ledger_summary_report.py b/erpnext/accounts/search_criteria/monthly_ledger_summary_report/monthly_ledger_summary_report.py
similarity index 100%
rename from accounts/search_criteria/monthly_ledger_summary_report/monthly_ledger_summary_report.py
rename to erpnext/accounts/search_criteria/monthly_ledger_summary_report/monthly_ledger_summary_report.py
diff --git a/accounts/search_criteria/monthly_ledger_summary_report/monthly_ledger_summary_report.txt b/erpnext/accounts/search_criteria/monthly_ledger_summary_report/monthly_ledger_summary_report.txt
similarity index 100%
rename from accounts/search_criteria/monthly_ledger_summary_report/monthly_ledger_summary_report.txt
rename to erpnext/accounts/search_criteria/monthly_ledger_summary_report/monthly_ledger_summary_report.txt
diff --git a/accounts/search_criteria/payment_receipt_report/__init__.py b/erpnext/accounts/search_criteria/payment_receipt_report/__init__.py
similarity index 100%
rename from accounts/search_criteria/payment_receipt_report/__init__.py
rename to erpnext/accounts/search_criteria/payment_receipt_report/__init__.py
diff --git a/accounts/search_criteria/payment_receipt_report/payment_receipt_report.py b/erpnext/accounts/search_criteria/payment_receipt_report/payment_receipt_report.py
similarity index 100%
rename from accounts/search_criteria/payment_receipt_report/payment_receipt_report.py
rename to erpnext/accounts/search_criteria/payment_receipt_report/payment_receipt_report.py
diff --git a/accounts/search_criteria/payment_receipt_report/payment_receipt_report.sql b/erpnext/accounts/search_criteria/payment_receipt_report/payment_receipt_report.sql
similarity index 100%
rename from accounts/search_criteria/payment_receipt_report/payment_receipt_report.sql
rename to erpnext/accounts/search_criteria/payment_receipt_report/payment_receipt_report.sql
diff --git a/accounts/search_criteria/payment_receipt_report/payment_receipt_report.txt b/erpnext/accounts/search_criteria/payment_receipt_report/payment_receipt_report.txt
similarity index 100%
rename from accounts/search_criteria/payment_receipt_report/payment_receipt_report.txt
rename to erpnext/accounts/search_criteria/payment_receipt_report/payment_receipt_report.txt
diff --git a/accounts/search_criteria/payment_report/__init__.py b/erpnext/accounts/search_criteria/payment_report/__init__.py
similarity index 100%
rename from accounts/search_criteria/payment_report/__init__.py
rename to erpnext/accounts/search_criteria/payment_report/__init__.py
diff --git a/accounts/search_criteria/payment_report/payment_report.js b/erpnext/accounts/search_criteria/payment_report/payment_report.js
similarity index 100%
rename from accounts/search_criteria/payment_report/payment_report.js
rename to erpnext/accounts/search_criteria/payment_report/payment_report.js
diff --git a/accounts/search_criteria/payment_report/payment_report.py b/erpnext/accounts/search_criteria/payment_report/payment_report.py
similarity index 100%
rename from accounts/search_criteria/payment_report/payment_report.py
rename to erpnext/accounts/search_criteria/payment_report/payment_report.py
diff --git a/accounts/search_criteria/payment_report/payment_report.sql b/erpnext/accounts/search_criteria/payment_report/payment_report.sql
similarity index 100%
rename from accounts/search_criteria/payment_report/payment_report.sql
rename to erpnext/accounts/search_criteria/payment_report/payment_report.sql
diff --git a/accounts/search_criteria/payment_report/payment_report.txt b/erpnext/accounts/search_criteria/payment_report/payment_report.txt
similarity index 100%
rename from accounts/search_criteria/payment_report/payment_report.txt
rename to erpnext/accounts/search_criteria/payment_report/payment_report.txt
diff --git a/accounts/search_criteria/progressive_total_excise_duty/__init__.py b/erpnext/accounts/search_criteria/progressive_total_excise_duty/__init__.py
similarity index 100%
rename from accounts/search_criteria/progressive_total_excise_duty/__init__.py
rename to erpnext/accounts/search_criteria/progressive_total_excise_duty/__init__.py
diff --git a/accounts/search_criteria/progressive_total_excise_duty/progressive_total_excise_duty.js b/erpnext/accounts/search_criteria/progressive_total_excise_duty/progressive_total_excise_duty.js
similarity index 100%
rename from accounts/search_criteria/progressive_total_excise_duty/progressive_total_excise_duty.js
rename to erpnext/accounts/search_criteria/progressive_total_excise_duty/progressive_total_excise_duty.js
diff --git a/accounts/search_criteria/progressive_total_excise_duty/progressive_total_excise_duty.py b/erpnext/accounts/search_criteria/progressive_total_excise_duty/progressive_total_excise_duty.py
similarity index 100%
rename from accounts/search_criteria/progressive_total_excise_duty/progressive_total_excise_duty.py
rename to erpnext/accounts/search_criteria/progressive_total_excise_duty/progressive_total_excise_duty.py
diff --git a/accounts/search_criteria/progressive_total_excise_duty/progressive_total_excise_duty.sql b/erpnext/accounts/search_criteria/progressive_total_excise_duty/progressive_total_excise_duty.sql
similarity index 100%
rename from accounts/search_criteria/progressive_total_excise_duty/progressive_total_excise_duty.sql
rename to erpnext/accounts/search_criteria/progressive_total_excise_duty/progressive_total_excise_duty.sql
diff --git a/accounts/search_criteria/progressive_total_excise_duty/progressive_total_excise_duty.txt b/erpnext/accounts/search_criteria/progressive_total_excise_duty/progressive_total_excise_duty.txt
similarity index 100%
rename from accounts/search_criteria/progressive_total_excise_duty/progressive_total_excise_duty.txt
rename to erpnext/accounts/search_criteria/progressive_total_excise_duty/progressive_total_excise_duty.txt
diff --git a/accounts/search_criteria/purchase_register/__init__.py b/erpnext/accounts/search_criteria/purchase_register/__init__.py
similarity index 100%
rename from accounts/search_criteria/purchase_register/__init__.py
rename to erpnext/accounts/search_criteria/purchase_register/__init__.py
diff --git a/accounts/search_criteria/purchase_register/purchase_register.py b/erpnext/accounts/search_criteria/purchase_register/purchase_register.py
similarity index 100%
rename from accounts/search_criteria/purchase_register/purchase_register.py
rename to erpnext/accounts/search_criteria/purchase_register/purchase_register.py
diff --git a/accounts/search_criteria/purchase_register/purchase_register.txt b/erpnext/accounts/search_criteria/purchase_register/purchase_register.txt
similarity index 100%
rename from accounts/search_criteria/purchase_register/purchase_register.txt
rename to erpnext/accounts/search_criteria/purchase_register/purchase_register.txt
diff --git a/accounts/search_criteria/sales_register/__init__.py b/erpnext/accounts/search_criteria/sales_register/__init__.py
similarity index 100%
rename from accounts/search_criteria/sales_register/__init__.py
rename to erpnext/accounts/search_criteria/sales_register/__init__.py
diff --git a/accounts/search_criteria/sales_register/sales_register.js b/erpnext/accounts/search_criteria/sales_register/sales_register.js
similarity index 100%
rename from accounts/search_criteria/sales_register/sales_register.js
rename to erpnext/accounts/search_criteria/sales_register/sales_register.js
diff --git a/accounts/search_criteria/sales_register/sales_register.py b/erpnext/accounts/search_criteria/sales_register/sales_register.py
similarity index 100%
rename from accounts/search_criteria/sales_register/sales_register.py
rename to erpnext/accounts/search_criteria/sales_register/sales_register.py
diff --git a/accounts/search_criteria/sales_register/sales_register.txt b/erpnext/accounts/search_criteria/sales_register/sales_register.txt
similarity index 100%
rename from accounts/search_criteria/sales_register/sales_register.txt
rename to erpnext/accounts/search_criteria/sales_register/sales_register.txt
diff --git a/accounts/search_criteria/service_tax_credit_account___inputs/__init__.py b/erpnext/accounts/search_criteria/service_tax_credit_account___inputs/__init__.py
similarity index 100%
rename from accounts/search_criteria/service_tax_credit_account___inputs/__init__.py
rename to erpnext/accounts/search_criteria/service_tax_credit_account___inputs/__init__.py
diff --git a/accounts/search_criteria/service_tax_credit_account___inputs/service_tax_credit_account___inputs.js b/erpnext/accounts/search_criteria/service_tax_credit_account___inputs/service_tax_credit_account___inputs.js
similarity index 100%
rename from accounts/search_criteria/service_tax_credit_account___inputs/service_tax_credit_account___inputs.js
rename to erpnext/accounts/search_criteria/service_tax_credit_account___inputs/service_tax_credit_account___inputs.js
diff --git a/accounts/search_criteria/service_tax_credit_account___inputs/service_tax_credit_account___inputs.py b/erpnext/accounts/search_criteria/service_tax_credit_account___inputs/service_tax_credit_account___inputs.py
similarity index 100%
rename from accounts/search_criteria/service_tax_credit_account___inputs/service_tax_credit_account___inputs.py
rename to erpnext/accounts/search_criteria/service_tax_credit_account___inputs/service_tax_credit_account___inputs.py
diff --git a/accounts/search_criteria/service_tax_credit_account___inputs/service_tax_credit_account___inputs.sql b/erpnext/accounts/search_criteria/service_tax_credit_account___inputs/service_tax_credit_account___inputs.sql
similarity index 100%
rename from accounts/search_criteria/service_tax_credit_account___inputs/service_tax_credit_account___inputs.sql
rename to erpnext/accounts/search_criteria/service_tax_credit_account___inputs/service_tax_credit_account___inputs.sql
diff --git a/accounts/search_criteria/service_tax_credit_account___inputs/service_tax_credit_account___inputs.txt b/erpnext/accounts/search_criteria/service_tax_credit_account___inputs/service_tax_credit_account___inputs.txt
similarity index 100%
rename from accounts/search_criteria/service_tax_credit_account___inputs/service_tax_credit_account___inputs.txt
rename to erpnext/accounts/search_criteria/service_tax_credit_account___inputs/service_tax_credit_account___inputs.txt
diff --git a/accounts/search_criteria/tds_return/__init__.py b/erpnext/accounts/search_criteria/tds_return/__init__.py
similarity index 100%
rename from accounts/search_criteria/tds_return/__init__.py
rename to erpnext/accounts/search_criteria/tds_return/__init__.py
diff --git a/accounts/search_criteria/tds_return/tds_return.js b/erpnext/accounts/search_criteria/tds_return/tds_return.js
similarity index 100%
rename from accounts/search_criteria/tds_return/tds_return.js
rename to erpnext/accounts/search_criteria/tds_return/tds_return.js
diff --git a/accounts/search_criteria/tds_return/tds_return.py b/erpnext/accounts/search_criteria/tds_return/tds_return.py
similarity index 100%
rename from accounts/search_criteria/tds_return/tds_return.py
rename to erpnext/accounts/search_criteria/tds_return/tds_return.py
diff --git a/accounts/search_criteria/tds_return/tds_return.sql b/erpnext/accounts/search_criteria/tds_return/tds_return.sql
similarity index 100%
rename from accounts/search_criteria/tds_return/tds_return.sql
rename to erpnext/accounts/search_criteria/tds_return/tds_return.sql
diff --git a/accounts/search_criteria/tds_return/tds_return.txt b/erpnext/accounts/search_criteria/tds_return/tds_return.txt
similarity index 100%
rename from accounts/search_criteria/tds_return/tds_return.txt
rename to erpnext/accounts/search_criteria/tds_return/tds_return.txt
diff --git a/accounts/search_criteria/total_amout_collection_for_a_period___customerwise/__init__.py b/erpnext/accounts/search_criteria/total_amout_collection_for_a_period___customerwise/__init__.py
similarity index 100%
rename from accounts/search_criteria/total_amout_collection_for_a_period___customerwise/__init__.py
rename to erpnext/accounts/search_criteria/total_amout_collection_for_a_period___customerwise/__init__.py
diff --git a/accounts/search_criteria/total_amout_collection_for_a_period___customerwise/total_amout_collection_for_a_period___customerwise.js b/erpnext/accounts/search_criteria/total_amout_collection_for_a_period___customerwise/total_amout_collection_for_a_period___customerwise.js
similarity index 100%
rename from accounts/search_criteria/total_amout_collection_for_a_period___customerwise/total_amout_collection_for_a_period___customerwise.js
rename to erpnext/accounts/search_criteria/total_amout_collection_for_a_period___customerwise/total_amout_collection_for_a_period___customerwise.js
diff --git a/accounts/search_criteria/total_amout_collection_for_a_period___customerwise/total_amout_collection_for_a_period___customerwise.py b/erpnext/accounts/search_criteria/total_amout_collection_for_a_period___customerwise/total_amout_collection_for_a_period___customerwise.py
similarity index 100%
rename from accounts/search_criteria/total_amout_collection_for_a_period___customerwise/total_amout_collection_for_a_period___customerwise.py
rename to erpnext/accounts/search_criteria/total_amout_collection_for_a_period___customerwise/total_amout_collection_for_a_period___customerwise.py
diff --git a/accounts/search_criteria/total_amout_collection_for_a_period___customerwise/total_amout_collection_for_a_period___customerwise.txt b/erpnext/accounts/search_criteria/total_amout_collection_for_a_period___customerwise/total_amout_collection_for_a_period___customerwise.txt
similarity index 100%
rename from accounts/search_criteria/total_amout_collection_for_a_period___customerwise/total_amout_collection_for_a_period___customerwise.txt
rename to erpnext/accounts/search_criteria/total_amout_collection_for_a_period___customerwise/total_amout_collection_for_a_period___customerwise.txt
diff --git a/accounts/search_criteria/trial_balance/__init__.py b/erpnext/accounts/search_criteria/trial_balance/__init__.py
similarity index 100%
rename from accounts/search_criteria/trial_balance/__init__.py
rename to erpnext/accounts/search_criteria/trial_balance/__init__.py
diff --git a/accounts/search_criteria/trial_balance/trial_balance.js b/erpnext/accounts/search_criteria/trial_balance/trial_balance.js
similarity index 100%
rename from accounts/search_criteria/trial_balance/trial_balance.js
rename to erpnext/accounts/search_criteria/trial_balance/trial_balance.js
diff --git a/accounts/search_criteria/trial_balance/trial_balance.py b/erpnext/accounts/search_criteria/trial_balance/trial_balance.py
similarity index 100%
rename from accounts/search_criteria/trial_balance/trial_balance.py
rename to erpnext/accounts/search_criteria/trial_balance/trial_balance.py
diff --git a/accounts/search_criteria/trial_balance/trial_balance.txt b/erpnext/accounts/search_criteria/trial_balance/trial_balance.txt
similarity index 100%
rename from accounts/search_criteria/trial_balance/trial_balance.txt
rename to erpnext/accounts/search_criteria/trial_balance/trial_balance.txt
diff --git a/accounts/search_criteria/voucher_wise_tax_details/__init__.py b/erpnext/accounts/search_criteria/voucher_wise_tax_details/__init__.py
similarity index 100%
rename from accounts/search_criteria/voucher_wise_tax_details/__init__.py
rename to erpnext/accounts/search_criteria/voucher_wise_tax_details/__init__.py
diff --git a/accounts/search_criteria/voucher_wise_tax_details/voucher_wise_tax_details.js b/erpnext/accounts/search_criteria/voucher_wise_tax_details/voucher_wise_tax_details.js
similarity index 100%
rename from accounts/search_criteria/voucher_wise_tax_details/voucher_wise_tax_details.js
rename to erpnext/accounts/search_criteria/voucher_wise_tax_details/voucher_wise_tax_details.js
diff --git a/accounts/search_criteria/voucher_wise_tax_details/voucher_wise_tax_details.py b/erpnext/accounts/search_criteria/voucher_wise_tax_details/voucher_wise_tax_details.py
similarity index 100%
rename from accounts/search_criteria/voucher_wise_tax_details/voucher_wise_tax_details.py
rename to erpnext/accounts/search_criteria/voucher_wise_tax_details/voucher_wise_tax_details.py
diff --git a/accounts/search_criteria/voucher_wise_tax_details/voucher_wise_tax_details.txt b/erpnext/accounts/search_criteria/voucher_wise_tax_details/voucher_wise_tax_details.txt
similarity index 100%
rename from accounts/search_criteria/voucher_wise_tax_details/voucher_wise_tax_details.txt
rename to erpnext/accounts/search_criteria/voucher_wise_tax_details/voucher_wise_tax_details.txt
diff --git a/accounts/utils/__init__.py b/erpnext/accounts/utils/__init__.py
similarity index 100%
rename from accounts/utils/__init__.py
rename to erpnext/accounts/utils/__init__.py
diff --git a/analysis/Module Def/Analysis/Analysis.txt b/erpnext/analysis/Module Def/Analysis/Analysis.txt
similarity index 100%
rename from analysis/Module Def/Analysis/Analysis.txt
rename to erpnext/analysis/Module Def/Analysis/Analysis.txt
diff --git a/analysis/__init__.py b/erpnext/analysis/__init__.py
similarity index 100%
rename from analysis/__init__.py
rename to erpnext/analysis/__init__.py
diff --git a/analysis/doctype/__init__.py b/erpnext/analysis/doctype/__init__.py
similarity index 100%
rename from analysis/doctype/__init__.py
rename to erpnext/analysis/doctype/__init__.py
diff --git a/analysis/doctype/mis_control/__init__.py b/erpnext/analysis/doctype/mis_control/__init__.py
similarity index 100%
rename from analysis/doctype/mis_control/__init__.py
rename to erpnext/analysis/doctype/mis_control/__init__.py
diff --git a/analysis/doctype/mis_control/mis_control.py b/erpnext/analysis/doctype/mis_control/mis_control.py
similarity index 100%
rename from analysis/doctype/mis_control/mis_control.py
rename to erpnext/analysis/doctype/mis_control/mis_control.py
diff --git a/analysis/doctype/mis_control/mis_control.txt b/erpnext/analysis/doctype/mis_control/mis_control.txt
similarity index 100%
rename from analysis/doctype/mis_control/mis_control.txt
rename to erpnext/analysis/doctype/mis_control/mis_control.txt
diff --git a/analysis/doctype/ta_control/__init__.py b/erpnext/analysis/doctype/ta_control/__init__.py
similarity index 100%
rename from analysis/doctype/ta_control/__init__.py
rename to erpnext/analysis/doctype/ta_control/__init__.py
diff --git a/analysis/doctype/ta_control/ta_control.py b/erpnext/analysis/doctype/ta_control/ta_control.py
similarity index 100%
rename from analysis/doctype/ta_control/ta_control.py
rename to erpnext/analysis/doctype/ta_control/ta_control.py
diff --git a/analysis/doctype/ta_control/ta_control.txt b/erpnext/analysis/doctype/ta_control/ta_control.txt
similarity index 100%
rename from analysis/doctype/ta_control/ta_control.txt
rename to erpnext/analysis/doctype/ta_control/ta_control.txt
diff --git a/analysis/page/__init__.py b/erpnext/analysis/page/__init__.py
similarity index 100%
rename from analysis/page/__init__.py
rename to erpnext/analysis/page/__init__.py
diff --git a/analysis/search_criteria/__init__.py b/erpnext/analysis/search_criteria/__init__.py
similarity index 100%
rename from analysis/search_criteria/__init__.py
rename to erpnext/analysis/search_criteria/__init__.py
diff --git a/analysis/search_criteria/monthly_transaction_summary/__init__.py b/erpnext/analysis/search_criteria/monthly_transaction_summary/__init__.py
similarity index 100%
rename from analysis/search_criteria/monthly_transaction_summary/__init__.py
rename to erpnext/analysis/search_criteria/monthly_transaction_summary/__init__.py
diff --git a/analysis/search_criteria/monthly_transaction_summary/monthly_transaction_summary.js b/erpnext/analysis/search_criteria/monthly_transaction_summary/monthly_transaction_summary.js
similarity index 100%
rename from analysis/search_criteria/monthly_transaction_summary/monthly_transaction_summary.js
rename to erpnext/analysis/search_criteria/monthly_transaction_summary/monthly_transaction_summary.js
diff --git a/analysis/search_criteria/monthly_transaction_summary/monthly_transaction_summary.py b/erpnext/analysis/search_criteria/monthly_transaction_summary/monthly_transaction_summary.py
similarity index 100%
rename from analysis/search_criteria/monthly_transaction_summary/monthly_transaction_summary.py
rename to erpnext/analysis/search_criteria/monthly_transaction_summary/monthly_transaction_summary.py
diff --git a/analysis/search_criteria/monthly_transaction_summary/monthly_transaction_summary.sql b/erpnext/analysis/search_criteria/monthly_transaction_summary/monthly_transaction_summary.sql
similarity index 100%
rename from analysis/search_criteria/monthly_transaction_summary/monthly_transaction_summary.sql
rename to erpnext/analysis/search_criteria/monthly_transaction_summary/monthly_transaction_summary.sql
diff --git a/analysis/search_criteria/monthly_transaction_summary/monthly_transaction_summary.txt b/erpnext/analysis/search_criteria/monthly_transaction_summary/monthly_transaction_summary.txt
similarity index 100%
rename from analysis/search_criteria/monthly_transaction_summary/monthly_transaction_summary.txt
rename to erpnext/analysis/search_criteria/monthly_transaction_summary/monthly_transaction_summary.txt
diff --git a/analysis/search_criteria/trend_analyzer/__init__.py b/erpnext/analysis/search_criteria/trend_analyzer/__init__.py
similarity index 100%
rename from analysis/search_criteria/trend_analyzer/__init__.py
rename to erpnext/analysis/search_criteria/trend_analyzer/__init__.py
diff --git a/analysis/search_criteria/trend_analyzer/trend_analyzer.js b/erpnext/analysis/search_criteria/trend_analyzer/trend_analyzer.js
similarity index 100%
rename from analysis/search_criteria/trend_analyzer/trend_analyzer.js
rename to erpnext/analysis/search_criteria/trend_analyzer/trend_analyzer.js
diff --git a/analysis/search_criteria/trend_analyzer/trend_analyzer.py b/erpnext/analysis/search_criteria/trend_analyzer/trend_analyzer.py
similarity index 100%
rename from analysis/search_criteria/trend_analyzer/trend_analyzer.py
rename to erpnext/analysis/search_criteria/trend_analyzer/trend_analyzer.py
diff --git a/analysis/search_criteria/trend_analyzer/trend_analyzer.txt b/erpnext/analysis/search_criteria/trend_analyzer/trend_analyzer.txt
similarity index 100%
rename from analysis/search_criteria/trend_analyzer/trend_analyzer.txt
rename to erpnext/analysis/search_criteria/trend_analyzer/trend_analyzer.txt
diff --git a/analysis/search_criteria/yearly_transaction_summary/__init__.py b/erpnext/analysis/search_criteria/yearly_transaction_summary/__init__.py
similarity index 100%
rename from analysis/search_criteria/yearly_transaction_summary/__init__.py
rename to erpnext/analysis/search_criteria/yearly_transaction_summary/__init__.py
diff --git a/analysis/search_criteria/yearly_transaction_summary/yearly_transaction_summary.js b/erpnext/analysis/search_criteria/yearly_transaction_summary/yearly_transaction_summary.js
similarity index 100%
rename from analysis/search_criteria/yearly_transaction_summary/yearly_transaction_summary.js
rename to erpnext/analysis/search_criteria/yearly_transaction_summary/yearly_transaction_summary.js
diff --git a/analysis/search_criteria/yearly_transaction_summary/yearly_transaction_summary.py b/erpnext/analysis/search_criteria/yearly_transaction_summary/yearly_transaction_summary.py
similarity index 100%
rename from analysis/search_criteria/yearly_transaction_summary/yearly_transaction_summary.py
rename to erpnext/analysis/search_criteria/yearly_transaction_summary/yearly_transaction_summary.py
diff --git a/analysis/search_criteria/yearly_transaction_summary/yearly_transaction_summary.sql b/erpnext/analysis/search_criteria/yearly_transaction_summary/yearly_transaction_summary.sql
similarity index 100%
rename from analysis/search_criteria/yearly_transaction_summary/yearly_transaction_summary.sql
rename to erpnext/analysis/search_criteria/yearly_transaction_summary/yearly_transaction_summary.sql
diff --git a/analysis/search_criteria/yearly_transaction_summary/yearly_transaction_summary.txt b/erpnext/analysis/search_criteria/yearly_transaction_summary/yearly_transaction_summary.txt
similarity index 100%
rename from analysis/search_criteria/yearly_transaction_summary/yearly_transaction_summary.txt
rename to erpnext/analysis/search_criteria/yearly_transaction_summary/yearly_transaction_summary.txt
diff --git a/buying/DocType Mapper/Indent-Purchase Order/Indent-Purchase Order.txt b/erpnext/buying/DocType Mapper/Indent-Purchase Order/Indent-Purchase Order.txt
similarity index 98%
rename from buying/DocType Mapper/Indent-Purchase Order/Indent-Purchase Order.txt
rename to erpnext/buying/DocType Mapper/Indent-Purchase Order/Indent-Purchase Order.txt
index 3041218..fe49f49 100644
--- a/buying/DocType Mapper/Indent-Purchase Order/Indent-Purchase Order.txt
+++ b/erpnext/buying/DocType Mapper/Indent-Purchase Order/Indent-Purchase Order.txt
@@ -5,7 +5,7 @@
 	{
 		'creation': '2010-08-08 17:09:34',
 		'docstatus': 0,
-		'modified': '2009-12-30 16:55:33',
+		'modified': '2011-09-15 15:04:42',
 		'modified_by': 'Administrator',
 		'owner': 'Administrator'
 	},
diff --git a/buying/DocType Mapper/Sales Order-Indent/Sales Order-Indent.txt b/erpnext/buying/DocType Mapper/Sales Order-Indent/Sales Order-Indent.txt
similarity index 96%
rename from buying/DocType Mapper/Sales Order-Indent/Sales Order-Indent.txt
rename to erpnext/buying/DocType Mapper/Sales Order-Indent/Sales Order-Indent.txt
index d32aeb6..b4dafc9 100755
--- a/buying/DocType Mapper/Sales Order-Indent/Sales Order-Indent.txt
+++ b/erpnext/buying/DocType Mapper/Sales Order-Indent/Sales Order-Indent.txt
@@ -3,9 +3,9 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2011-05-05 15:58:13',
+		'creation': '2011-05-20 10:07:55',
 		'docstatus': 0,
-		'modified': '2011-05-05 16:20:10',
+		'modified': '2011-09-14 12:36:25',
 		'modified_by': 'Administrator',
 		'owner': 'Administrator'
 	},
diff --git a/buying/Module Def/Buying/Buying.txt b/erpnext/buying/Module Def/Buying/Buying.txt
similarity index 100%
rename from buying/Module Def/Buying/Buying.txt
rename to erpnext/buying/Module Def/Buying/Buying.txt
diff --git a/buying/Role/Purchase Manager/Purchase Manager.txt b/erpnext/buying/Role/Purchase Manager/Purchase Manager.txt
similarity index 100%
rename from buying/Role/Purchase Manager/Purchase Manager.txt
rename to erpnext/buying/Role/Purchase Manager/Purchase Manager.txt
diff --git a/buying/Role/Purchase Master Manager/Purchase Master Manager.txt b/erpnext/buying/Role/Purchase Master Manager/Purchase Master Manager.txt
similarity index 100%
rename from buying/Role/Purchase Master Manager/Purchase Master Manager.txt
rename to erpnext/buying/Role/Purchase Master Manager/Purchase Master Manager.txt
diff --git a/buying/Role/Purchase User/Purchase User.txt b/erpnext/buying/Role/Purchase User/Purchase User.txt
similarity index 100%
rename from buying/Role/Purchase User/Purchase User.txt
rename to erpnext/buying/Role/Purchase User/Purchase User.txt
diff --git a/buying/Role/Supplier/Supplier.txt b/erpnext/buying/Role/Supplier/Supplier.txt
similarity index 100%
rename from buying/Role/Supplier/Supplier.txt
rename to erpnext/buying/Role/Supplier/Supplier.txt
diff --git a/buying/__init__.py b/erpnext/buying/__init__.py
similarity index 100%
rename from buying/__init__.py
rename to erpnext/buying/__init__.py
diff --git a/buying/doctype/__init__.py b/erpnext/buying/doctype/__init__.py
similarity index 100%
rename from buying/doctype/__init__.py
rename to erpnext/buying/doctype/__init__.py
diff --git a/buying/doctype/indent/__init__.py b/erpnext/buying/doctype/indent/__init__.py
similarity index 100%
rename from buying/doctype/indent/__init__.py
rename to erpnext/buying/doctype/indent/__init__.py
diff --git a/buying/doctype/indent/indent.js b/erpnext/buying/doctype/indent/indent.js
similarity index 100%
rename from buying/doctype/indent/indent.js
rename to erpnext/buying/doctype/indent/indent.js
diff --git a/buying/doctype/indent/indent.py b/erpnext/buying/doctype/indent/indent.py
similarity index 100%
rename from buying/doctype/indent/indent.py
rename to erpnext/buying/doctype/indent/indent.py
diff --git a/buying/doctype/indent/indent.txt b/erpnext/buying/doctype/indent/indent.txt
similarity index 100%
rename from buying/doctype/indent/indent.txt
rename to erpnext/buying/doctype/indent/indent.txt
diff --git a/buying/doctype/indent_detail/__init__.py b/erpnext/buying/doctype/indent_detail/__init__.py
similarity index 100%
rename from buying/doctype/indent_detail/__init__.py
rename to erpnext/buying/doctype/indent_detail/__init__.py
diff --git a/buying/doctype/indent_detail/indent_detail.txt b/erpnext/buying/doctype/indent_detail/indent_detail.txt
similarity index 100%
rename from buying/doctype/indent_detail/indent_detail.txt
rename to erpnext/buying/doctype/indent_detail/indent_detail.txt
diff --git a/buying/doctype/po_detail/__init__.py b/erpnext/buying/doctype/po_detail/__init__.py
similarity index 100%
rename from buying/doctype/po_detail/__init__.py
rename to erpnext/buying/doctype/po_detail/__init__.py
diff --git a/buying/doctype/po_detail/po_detail.txt b/erpnext/buying/doctype/po_detail/po_detail.txt
similarity index 100%
rename from buying/doctype/po_detail/po_detail.txt
rename to erpnext/buying/doctype/po_detail/po_detail.txt
diff --git a/buying/doctype/po_raw_material_detail/__init__.py b/erpnext/buying/doctype/po_raw_material_detail/__init__.py
similarity index 100%
rename from buying/doctype/po_raw_material_detail/__init__.py
rename to erpnext/buying/doctype/po_raw_material_detail/__init__.py
diff --git a/buying/doctype/po_raw_material_detail/po_raw_material_detail.txt b/erpnext/buying/doctype/po_raw_material_detail/po_raw_material_detail.txt
similarity index 100%
rename from buying/doctype/po_raw_material_detail/po_raw_material_detail.txt
rename to erpnext/buying/doctype/po_raw_material_detail/po_raw_material_detail.txt
diff --git a/buying/doctype/pr_raw_material_detail/__init__.py b/erpnext/buying/doctype/pr_raw_material_detail/__init__.py
similarity index 100%
rename from buying/doctype/pr_raw_material_detail/__init__.py
rename to erpnext/buying/doctype/pr_raw_material_detail/__init__.py
diff --git a/buying/doctype/pr_raw_material_detail/pr_raw_material_detail.txt b/erpnext/buying/doctype/pr_raw_material_detail/pr_raw_material_detail.txt
similarity index 100%
rename from buying/doctype/pr_raw_material_detail/pr_raw_material_detail.txt
rename to erpnext/buying/doctype/pr_raw_material_detail/pr_raw_material_detail.txt
diff --git a/buying/doctype/purchase_common/__init__.py b/erpnext/buying/doctype/purchase_common/__init__.py
similarity index 100%
rename from buying/doctype/purchase_common/__init__.py
rename to erpnext/buying/doctype/purchase_common/__init__.py
diff --git a/buying/doctype/purchase_common/purchase_common.js b/erpnext/buying/doctype/purchase_common/purchase_common.js
similarity index 100%
rename from buying/doctype/purchase_common/purchase_common.js
rename to erpnext/buying/doctype/purchase_common/purchase_common.js
diff --git a/buying/doctype/purchase_common/purchase_common.py b/erpnext/buying/doctype/purchase_common/purchase_common.py
similarity index 100%
rename from buying/doctype/purchase_common/purchase_common.py
rename to erpnext/buying/doctype/purchase_common/purchase_common.py
diff --git a/buying/doctype/purchase_common/purchase_common.txt b/erpnext/buying/doctype/purchase_common/purchase_common.txt
similarity index 100%
rename from buying/doctype/purchase_common/purchase_common.txt
rename to erpnext/buying/doctype/purchase_common/purchase_common.txt
diff --git a/buying/doctype/purchase_order/__init__.py b/erpnext/buying/doctype/purchase_order/__init__.py
similarity index 100%
rename from buying/doctype/purchase_order/__init__.py
rename to erpnext/buying/doctype/purchase_order/__init__.py
diff --git a/buying/doctype/purchase_order/purchase_order.js b/erpnext/buying/doctype/purchase_order/purchase_order.js
similarity index 100%
rename from buying/doctype/purchase_order/purchase_order.js
rename to erpnext/buying/doctype/purchase_order/purchase_order.js
diff --git a/buying/doctype/purchase_order/purchase_order.py b/erpnext/buying/doctype/purchase_order/purchase_order.py
similarity index 100%
rename from buying/doctype/purchase_order/purchase_order.py
rename to erpnext/buying/doctype/purchase_order/purchase_order.py
diff --git a/buying/doctype/purchase_order/purchase_order.txt b/erpnext/buying/doctype/purchase_order/purchase_order.txt
similarity index 100%
rename from buying/doctype/purchase_order/purchase_order.txt
rename to erpnext/buying/doctype/purchase_order/purchase_order.txt
diff --git a/buying/doctype/purchase_other_charges/__init__.py b/erpnext/buying/doctype/purchase_other_charges/__init__.py
similarity index 100%
rename from buying/doctype/purchase_other_charges/__init__.py
rename to erpnext/buying/doctype/purchase_other_charges/__init__.py
diff --git a/buying/doctype/purchase_other_charges/purchase_other_charges.js b/erpnext/buying/doctype/purchase_other_charges/purchase_other_charges.js
similarity index 100%
rename from buying/doctype/purchase_other_charges/purchase_other_charges.js
rename to erpnext/buying/doctype/purchase_other_charges/purchase_other_charges.js
diff --git a/buying/doctype/purchase_other_charges/purchase_other_charges.py b/erpnext/buying/doctype/purchase_other_charges/purchase_other_charges.py
similarity index 100%
rename from buying/doctype/purchase_other_charges/purchase_other_charges.py
rename to erpnext/buying/doctype/purchase_other_charges/purchase_other_charges.py
diff --git a/buying/doctype/purchase_other_charges/purchase_other_charges.txt b/erpnext/buying/doctype/purchase_other_charges/purchase_other_charges.txt
similarity index 100%
rename from buying/doctype/purchase_other_charges/purchase_other_charges.txt
rename to erpnext/buying/doctype/purchase_other_charges/purchase_other_charges.txt
diff --git a/buying/doctype/qa_inspection_report/__init__.py b/erpnext/buying/doctype/qa_inspection_report/__init__.py
similarity index 100%
rename from buying/doctype/qa_inspection_report/__init__.py
rename to erpnext/buying/doctype/qa_inspection_report/__init__.py
diff --git a/erpnext/buying/doctype/qa_inspection_report/qa_inspection_report.js b/erpnext/buying/doctype/qa_inspection_report/qa_inspection_report.js
new file mode 100644
index 0000000..a0ee1dc
--- /dev/null
+++ b/erpnext/buying/doctype/qa_inspection_report/qa_inspection_report.js
@@ -0,0 +1,44 @@
+cur_frm.cscript.item_code = function(doc, cdt, cdn) {
+	if (doc.item_code)
+		get_server_fields('get_purchase_receipt_item_details','','',doc,cdt,cdn,1);
+}
+
+cur_frm.cscript.inspection_type = function(doc, cdt, cdn) {
+	if(doc.inspection_type == 'Incoming'){
+		doc.delivery_note_no = '';
+		hide_field('delivery_note_no');		
+		unhide_field('purchase_receipt_no');
+	}
+	else if(doc.inspection_type == 'Outgoing'){
+		doc.purchase_receipt_no = '';
+		unhide_field('delivery_note_no');
+		hide_field('purchase_receipt_no');
+
+	}
+	else {
+		doc.purchase_receipt_no = '';
+		doc.delivery_note_no = '';		
+		hide_field('purchase_receipt_no');
+		hide_field('delivery_note_no');
+	}
+}
+
+cur_frm.cscript.refresh = cur_frm.cscript.inspection_type;
+
+// item code based on GRN/DN
+cur_frm.fields_dict['item_code'].get_query = function(doc, cdt, cdn) {
+	if (doc.purchase_receipt_no)
+		return 'SELECT item_code, item_name, description FROM `tabPurchase Receipt Detail` WHERE parent = "'+ doc.purchase_receipt_no +'" and docstatus != 2 AND item_code LIKE "%s" ORDER BY item_code ASC LIMIT 50';
+	else if (doc.delivery_note_no) 
+		return 'SELECT item_code, item_name, description FROM `tabDelivery Note Detail` WHERE parent = "'+ doc.delivery_note_no +'" and docstatus != 2 AND item_code LIKE "%s" ORDER BY item_code ASC LIMIT 50';
+	else
+		return 'SELECT name, item_name, description FROM tabItem WHERE docstatus != 2 AND %(key)s LIKE "%s" ORDER BY name ASC LIMIT 50';
+}
+
+// Serial No based on item_code
+cur_frm.fields_dict['item_serial_no'].get_query = function(doc, cdt, cdn) {
+	if (doc.item_code)
+		return 'SELECT name, item_code, warehouse FROM `tabSerial No` WHERE docstatus != 2 AND item_code = "' + doc.item_code +'" AND status = "In Store" AND %(key)s LIKE "%s" ORDER BY name ASC LIMIT 50';
+	else
+		return 'SELECT name, item_code, warehouse FROM `tabSerial No` WHERE docstatus != 2 AND status = "In Store" AND %(key)s LIKE "%s" ORDER BY name ASC LIMIT 50';
+}
diff --git a/buying/doctype/qa_inspection_report/qa_inspection_report.py b/erpnext/buying/doctype/qa_inspection_report/qa_inspection_report.py
similarity index 100%
rename from buying/doctype/qa_inspection_report/qa_inspection_report.py
rename to erpnext/buying/doctype/qa_inspection_report/qa_inspection_report.py
diff --git a/buying/doctype/qa_inspection_report/qa_inspection_report.txt b/erpnext/buying/doctype/qa_inspection_report/qa_inspection_report.txt
similarity index 92%
rename from buying/doctype/qa_inspection_report/qa_inspection_report.txt
rename to erpnext/buying/doctype/qa_inspection_report/qa_inspection_report.txt
index 10890dc..de88e16 100644
--- a/buying/doctype/qa_inspection_report/qa_inspection_report.txt
+++ b/erpnext/buying/doctype/qa_inspection_report/qa_inspection_report.txt
@@ -5,14 +5,17 @@
 	{
 		'creation': '2010-08-08 17:09:17',
 		'docstatus': 0,
-		'modified': '2011-04-08 10:53:33',
+		'modified': '2011-10-06 10:22:41',
 		'modified_by': 'Administrator',
 		'owner': 'Administrator'
 	},
 
 	# These values are common for all DocType
 	{
+		'_last_update': '1317365120',
+		'autoname': 'QAI/.######',
 		'colour': 'White:FFF',
+		'default_print_format': 'Standard',
 		'doctype': 'DocType',
 		'module': 'Buying',
 		'name': '__common__',
@@ -21,7 +24,7 @@
 		'section_style': 'Simple',
 		'server_code_error': ' ',
 		'show_in_menu': 0,
-		'version': 37
+		'version': 38
 	},
 
 	# These values are common for all DocField
@@ -56,7 +59,6 @@
 		'cancel': 1,
 		'create': 1,
 		'doctype': 'DocPerm',
-		'idx': 1,
 		'permlevel': 0,
 		'submit': 1,
 		'write': 1
@@ -65,7 +67,6 @@
 	# DocPerm
 	{
 		'doctype': 'DocPerm',
-		'idx': 2,
 		'permlevel': 1
 	},
 
@@ -73,7 +74,6 @@
 	{
 		'doctype': 'DocField',
 		'fieldtype': 'Section Break',
-		'idx': 1,
 		'label': 'QA Inspection',
 		'no_copy': 0,
 		'oldfieldtype': 'Section Break',
@@ -84,7 +84,6 @@
 	{
 		'doctype': 'DocField',
 		'fieldtype': 'Column Break',
-		'idx': 2,
 		'oldfieldtype': 'Column Break',
 		'permlevel': 0,
 		'width': '50%'
@@ -95,7 +94,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'naming_series',
 		'fieldtype': 'Select',
-		'idx': 3,
 		'label': 'Naming Series',
 		'no_copy': 1,
 		'options': '\nQAI/11-12/',
@@ -109,7 +107,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'inspection_type',
 		'fieldtype': 'Select',
-		'idx': 4,
 		'in_filter': 1,
 		'label': 'Inspection Type',
 		'oldfieldname': 'inspection_type',
@@ -125,7 +122,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'report_date',
 		'fieldtype': 'Date',
-		'idx': 5,
 		'in_filter': 1,
 		'label': 'Report Date',
 		'oldfieldname': 'report_date',
@@ -142,7 +138,6 @@
 		'fieldname': 'item_code',
 		'fieldtype': 'Link',
 		'hidden': 0,
-		'idx': 6,
 		'in_filter': 1,
 		'label': 'Item Code',
 		'oldfieldname': 'item_code',
@@ -159,7 +154,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'sample_size',
 		'fieldtype': 'Currency',
-		'idx': 7,
 		'in_filter': 0,
 		'label': 'Sample Size',
 		'oldfieldname': 'sample_size',
@@ -174,7 +168,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'description',
 		'fieldtype': 'Small Text',
-		'idx': 8,
 		'in_filter': 1,
 		'label': 'Description',
 		'oldfieldname': 'description',
@@ -188,7 +181,6 @@
 	{
 		'doctype': 'DocField',
 		'fieldtype': 'Column Break',
-		'idx': 9,
 		'oldfieldtype': 'Column Break',
 		'permlevel': 0,
 		'width': '50%'
@@ -200,14 +192,12 @@
 		'fieldname': 'item_serial_no',
 		'fieldtype': 'Link',
 		'hidden': 0,
-		'idx': 10,
 		'label': 'Item Serial No',
 		'oldfieldname': 'item_serial_no',
 		'oldfieldtype': 'Link',
 		'options': 'Serial No',
 		'permlevel': 0,
-		'print_hide': 0,
-		'search_index': 0
+		'print_hide': 0
 	},
 
 	# DocField
@@ -215,13 +205,11 @@
 		'doctype': 'DocField',
 		'fieldname': 'batch_no',
 		'fieldtype': 'Link',
-		'idx': 11,
 		'label': 'Batch No',
 		'oldfieldname': 'batch_no',
 		'oldfieldtype': 'Link',
 		'options': 'Batch',
-		'permlevel': 0,
-		'search_index': 0
+		'permlevel': 0
 	},
 
 	# DocField
@@ -231,7 +219,6 @@
 		'fieldname': 'purchase_receipt_no',
 		'fieldtype': 'Link',
 		'hidden': 0,
-		'idx': 12,
 		'in_filter': 1,
 		'label': 'Purchase Receipt No',
 		'oldfieldname': 'purchase_receipt_no',
@@ -249,7 +236,6 @@
 		'fieldname': 'delivery_note_no',
 		'fieldtype': 'Link',
 		'hidden': 0,
-		'idx': 13,
 		'in_filter': 1,
 		'label': 'Delivery Note No',
 		'oldfieldname': 'delivery_note_no',
@@ -257,7 +243,7 @@
 		'options': 'Delivery Note',
 		'permlevel': 0,
 		'print_hide': 0,
-		'search_index': 0
+		'search_index': 1
 	},
 
 	# DocField
@@ -265,7 +251,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'inspected_by',
 		'fieldtype': 'Data',
-		'idx': 14,
 		'label': 'Inspected By',
 		'oldfieldname': 'inspected_by',
 		'oldfieldtype': 'Data',
@@ -278,7 +263,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'remarks',
 		'fieldtype': 'Text',
-		'idx': 15,
 		'label': 'Remarks',
 		'no_copy': 1,
 		'oldfieldname': 'remarks',
@@ -291,7 +275,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'verified_by',
 		'fieldtype': 'Data',
-		'idx': 16,
 		'label': 'Verified By',
 		'oldfieldname': 'verified_by',
 		'oldfieldtype': 'Data',
@@ -303,8 +286,8 @@
 		'doctype': 'DocField',
 		'fieldname': 'amended_from',
 		'fieldtype': 'Data',
-		'idx': 17,
 		'label': 'Amended From',
+		'no_copy': 1,
 		'oldfieldname': 'amended_from',
 		'oldfieldtype': 'Data',
 		'permlevel': 1,
@@ -316,8 +299,8 @@
 		'doctype': 'DocField',
 		'fieldname': 'amendment_date',
 		'fieldtype': 'Date',
-		'idx': 18,
 		'label': 'Amendment Date',
+		'no_copy': 1,
 		'oldfieldname': 'amendment_date',
 		'oldfieldtype': 'Date',
 		'permlevel': 1,
@@ -328,7 +311,6 @@
 	{
 		'doctype': 'DocField',
 		'fieldtype': 'Section Break',
-		'idx': 19,
 		'label': 'Specification Details',
 		'oldfieldtype': 'Section Break',
 		'options': 'Simple',
@@ -339,9 +321,7 @@
 	{
 		'doctype': 'DocField',
 		'fieldtype': 'Button',
-		'idx': 20,
 		'label': 'Get Specification Details',
-		'oldfieldtype': 'Button',
 		'options': 'get_item_specification_details',
 		'permlevel': 0
 	},
@@ -351,7 +331,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'qa_specification_details',
 		'fieldtype': 'Table',
-		'idx': 21,
 		'label': 'QA Specification Details',
 		'oldfieldname': 'qa_specification_details',
 		'oldfieldtype': 'Table',
diff --git a/buying/doctype/qa_specification_detail/__init__.py b/erpnext/buying/doctype/qa_specification_detail/__init__.py
similarity index 100%
rename from buying/doctype/qa_specification_detail/__init__.py
rename to erpnext/buying/doctype/qa_specification_detail/__init__.py
diff --git a/buying/doctype/qa_specification_detail/qa_specification_detail.txt b/erpnext/buying/doctype/qa_specification_detail/qa_specification_detail.txt
similarity index 100%
rename from buying/doctype/qa_specification_detail/qa_specification_detail.txt
rename to erpnext/buying/doctype/qa_specification_detail/qa_specification_detail.txt
diff --git a/buying/doctype/raw_materials_supplied/__init__.py b/erpnext/buying/doctype/raw_materials_supplied/__init__.py
similarity index 100%
rename from buying/doctype/raw_materials_supplied/__init__.py
rename to erpnext/buying/doctype/raw_materials_supplied/__init__.py
diff --git a/buying/doctype/raw_materials_supplied/raw_materials_supplied.txt b/erpnext/buying/doctype/raw_materials_supplied/raw_materials_supplied.txt
similarity index 100%
rename from buying/doctype/raw_materials_supplied/raw_materials_supplied.txt
rename to erpnext/buying/doctype/raw_materials_supplied/raw_materials_supplied.txt
diff --git a/buying/doctype/supplier/__init__.py b/erpnext/buying/doctype/supplier/__init__.py
similarity index 100%
rename from buying/doctype/supplier/__init__.py
rename to erpnext/buying/doctype/supplier/__init__.py
diff --git a/buying/doctype/supplier/supplier.js b/erpnext/buying/doctype/supplier/supplier.js
similarity index 100%
rename from buying/doctype/supplier/supplier.js
rename to erpnext/buying/doctype/supplier/supplier.js
diff --git a/buying/doctype/supplier/supplier.py b/erpnext/buying/doctype/supplier/supplier.py
similarity index 100%
rename from buying/doctype/supplier/supplier.py
rename to erpnext/buying/doctype/supplier/supplier.py
diff --git a/buying/doctype/supplier/supplier.txt b/erpnext/buying/doctype/supplier/supplier.txt
similarity index 100%
rename from buying/doctype/supplier/supplier.txt
rename to erpnext/buying/doctype/supplier/supplier.txt
diff --git a/buying/doctype/supplier_quotation/__init__.py b/erpnext/buying/doctype/supplier_quotation/__init__.py
similarity index 100%
rename from buying/doctype/supplier_quotation/__init__.py
rename to erpnext/buying/doctype/supplier_quotation/__init__.py
diff --git a/buying/doctype/supplier_quotation/supplier_quotation.js b/erpnext/buying/doctype/supplier_quotation/supplier_quotation.js
similarity index 100%
rename from buying/doctype/supplier_quotation/supplier_quotation.js
rename to erpnext/buying/doctype/supplier_quotation/supplier_quotation.js
diff --git a/buying/doctype/supplier_quotation/supplier_quotation.py b/erpnext/buying/doctype/supplier_quotation/supplier_quotation.py
similarity index 100%
rename from buying/doctype/supplier_quotation/supplier_quotation.py
rename to erpnext/buying/doctype/supplier_quotation/supplier_quotation.py
diff --git a/buying/doctype/supplier_quotation/supplier_quotation.txt b/erpnext/buying/doctype/supplier_quotation/supplier_quotation.txt
similarity index 100%
rename from buying/doctype/supplier_quotation/supplier_quotation.txt
rename to erpnext/buying/doctype/supplier_quotation/supplier_quotation.txt
diff --git a/buying/page/__init__.py b/erpnext/buying/page/__init__.py
similarity index 100%
rename from buying/page/__init__.py
rename to erpnext/buying/page/__init__.py
diff --git a/buying/search_criteria/__init__.py b/erpnext/buying/search_criteria/__init__.py
similarity index 100%
rename from buying/search_criteria/__init__.py
rename to erpnext/buying/search_criteria/__init__.py
diff --git a/buying/search_criteria/itemwise_purchase_details/__init__.py b/erpnext/buying/search_criteria/itemwise_purchase_details/__init__.py
similarity index 100%
rename from buying/search_criteria/itemwise_purchase_details/__init__.py
rename to erpnext/buying/search_criteria/itemwise_purchase_details/__init__.py
diff --git a/buying/search_criteria/itemwise_purchase_details/itemwise_purchase_details.js b/erpnext/buying/search_criteria/itemwise_purchase_details/itemwise_purchase_details.js
similarity index 100%
rename from buying/search_criteria/itemwise_purchase_details/itemwise_purchase_details.js
rename to erpnext/buying/search_criteria/itemwise_purchase_details/itemwise_purchase_details.js
diff --git a/buying/search_criteria/itemwise_purchase_details/itemwise_purchase_details.txt b/erpnext/buying/search_criteria/itemwise_purchase_details/itemwise_purchase_details.txt
similarity index 100%
rename from buying/search_criteria/itemwise_purchase_details/itemwise_purchase_details.txt
rename to erpnext/buying/search_criteria/itemwise_purchase_details/itemwise_purchase_details.txt
diff --git a/buying/search_criteria/itemwise_receipt_details/__init__.py b/erpnext/buying/search_criteria/itemwise_receipt_details/__init__.py
similarity index 100%
rename from buying/search_criteria/itemwise_receipt_details/__init__.py
rename to erpnext/buying/search_criteria/itemwise_receipt_details/__init__.py
diff --git a/buying/search_criteria/itemwise_receipt_details/itemwise_receipt_details.js b/erpnext/buying/search_criteria/itemwise_receipt_details/itemwise_receipt_details.js
similarity index 100%
rename from buying/search_criteria/itemwise_receipt_details/itemwise_receipt_details.js
rename to erpnext/buying/search_criteria/itemwise_receipt_details/itemwise_receipt_details.js
diff --git a/buying/search_criteria/itemwise_receipt_details/itemwise_receipt_details.txt b/erpnext/buying/search_criteria/itemwise_receipt_details/itemwise_receipt_details.txt
similarity index 100%
rename from buying/search_criteria/itemwise_receipt_details/itemwise_receipt_details.txt
rename to erpnext/buying/search_criteria/itemwise_receipt_details/itemwise_receipt_details.txt
diff --git a/buying/search_criteria/pending_po_items_to_bill/__init__.py b/erpnext/buying/search_criteria/pending_po_items_to_bill/__init__.py
similarity index 100%
rename from buying/search_criteria/pending_po_items_to_bill/__init__.py
rename to erpnext/buying/search_criteria/pending_po_items_to_bill/__init__.py
diff --git a/buying/search_criteria/pending_po_items_to_bill/pending_po_items_to_bill.js b/erpnext/buying/search_criteria/pending_po_items_to_bill/pending_po_items_to_bill.js
similarity index 100%
rename from buying/search_criteria/pending_po_items_to_bill/pending_po_items_to_bill.js
rename to erpnext/buying/search_criteria/pending_po_items_to_bill/pending_po_items_to_bill.js
diff --git a/buying/search_criteria/pending_po_items_to_bill/pending_po_items_to_bill.txt b/erpnext/buying/search_criteria/pending_po_items_to_bill/pending_po_items_to_bill.txt
similarity index 100%
rename from buying/search_criteria/pending_po_items_to_bill/pending_po_items_to_bill.txt
rename to erpnext/buying/search_criteria/pending_po_items_to_bill/pending_po_items_to_bill.txt
diff --git a/buying/search_criteria/pending_po_items_to_receive/__init__.py b/erpnext/buying/search_criteria/pending_po_items_to_receive/__init__.py
similarity index 100%
rename from buying/search_criteria/pending_po_items_to_receive/__init__.py
rename to erpnext/buying/search_criteria/pending_po_items_to_receive/__init__.py
diff --git a/buying/search_criteria/pending_po_items_to_receive/pending_po_items_to_receive.js b/erpnext/buying/search_criteria/pending_po_items_to_receive/pending_po_items_to_receive.js
similarity index 100%
rename from buying/search_criteria/pending_po_items_to_receive/pending_po_items_to_receive.js
rename to erpnext/buying/search_criteria/pending_po_items_to_receive/pending_po_items_to_receive.js
diff --git a/buying/search_criteria/pending_po_items_to_receive/pending_po_items_to_receive.py b/erpnext/buying/search_criteria/pending_po_items_to_receive/pending_po_items_to_receive.py
similarity index 100%
rename from buying/search_criteria/pending_po_items_to_receive/pending_po_items_to_receive.py
rename to erpnext/buying/search_criteria/pending_po_items_to_receive/pending_po_items_to_receive.py
diff --git a/buying/search_criteria/pending_po_items_to_receive/pending_po_items_to_receive.txt b/erpnext/buying/search_criteria/pending_po_items_to_receive/pending_po_items_to_receive.txt
similarity index 100%
rename from buying/search_criteria/pending_po_items_to_receive/pending_po_items_to_receive.txt
rename to erpnext/buying/search_criteria/pending_po_items_to_receive/pending_po_items_to_receive.txt
diff --git a/buying/search_criteria/purchase_in_transit/__init__.py b/erpnext/buying/search_criteria/purchase_in_transit/__init__.py
similarity index 100%
rename from buying/search_criteria/purchase_in_transit/__init__.py
rename to erpnext/buying/search_criteria/purchase_in_transit/__init__.py
diff --git a/buying/search_criteria/purchase_in_transit/purchase_in_transit.js b/erpnext/buying/search_criteria/purchase_in_transit/purchase_in_transit.js
similarity index 100%
rename from buying/search_criteria/purchase_in_transit/purchase_in_transit.js
rename to erpnext/buying/search_criteria/purchase_in_transit/purchase_in_transit.js
diff --git a/buying/search_criteria/purchase_in_transit/purchase_in_transit.py b/erpnext/buying/search_criteria/purchase_in_transit/purchase_in_transit.py
similarity index 100%
rename from buying/search_criteria/purchase_in_transit/purchase_in_transit.py
rename to erpnext/buying/search_criteria/purchase_in_transit/purchase_in_transit.py
diff --git a/buying/search_criteria/purchase_in_transit/purchase_in_transit.txt b/erpnext/buying/search_criteria/purchase_in_transit/purchase_in_transit.txt
similarity index 100%
rename from buying/search_criteria/purchase_in_transit/purchase_in_transit.txt
rename to erpnext/buying/search_criteria/purchase_in_transit/purchase_in_transit.txt
diff --git a/erpnext_version.py b/erpnext/erpnext_version.py
similarity index 100%
rename from erpnext_version.py
rename to erpnext/erpnext_version.py
diff --git a/home/Module Def/Home/Home.txt b/erpnext/home/Module Def/Home/Home.txt
similarity index 100%
rename from home/Module Def/Home/Home.txt
rename to erpnext/home/Module Def/Home/Home.txt
diff --git a/home/__init__.py b/erpnext/home/__init__.py
similarity index 100%
rename from home/__init__.py
rename to erpnext/home/__init__.py
diff --git a/home/doctype/__init__.py b/erpnext/home/doctype/__init__.py
similarity index 100%
rename from home/doctype/__init__.py
rename to erpnext/home/doctype/__init__.py
diff --git a/home/doctype/company_control/__init__.py b/erpnext/home/doctype/company_control/__init__.py
similarity index 100%
rename from home/doctype/company_control/__init__.py
rename to erpnext/home/doctype/company_control/__init__.py
diff --git a/home/doctype/company_control/company_control.py b/erpnext/home/doctype/company_control/company_control.py
similarity index 96%
rename from home/doctype/company_control/company_control.py
rename to erpnext/home/doctype/company_control/company_control.py
index 246b07e..9c055a7 100644
--- a/home/doctype/company_control/company_control.py
+++ b/erpnext/home/doctype/company_control/company_control.py
@@ -72,10 +72,6 @@
 			p.fields[k] = arg[k]
 		p.save()
 
-	def update_profile_image(self, fid, fname):
-		sql("update tabProfile set file_list = '%s,%s' where name='%s'" % (fname, fid, session['user']))
-		
-
 	def get_login_url(self):
 		return session['data']['login_from']
 		
diff --git a/home/doctype/company_control/company_control.txt b/erpnext/home/doctype/company_control/company_control.txt
similarity index 100%
rename from home/doctype/company_control/company_control.txt
rename to erpnext/home/doctype/company_control/company_control.txt
diff --git a/home/doctype/feed/__init__.py b/erpnext/home/doctype/feed/__init__.py
similarity index 100%
rename from home/doctype/feed/__init__.py
rename to erpnext/home/doctype/feed/__init__.py
diff --git a/home/doctype/feed/feed.py b/erpnext/home/doctype/feed/feed.py
similarity index 100%
rename from home/doctype/feed/feed.py
rename to erpnext/home/doctype/feed/feed.py
diff --git a/home/doctype/feed/feed.txt b/erpnext/home/doctype/feed/feed.txt
similarity index 100%
rename from home/doctype/feed/feed.txt
rename to erpnext/home/doctype/feed/feed.txt
diff --git a/home/doctype/home_control/__init__.py b/erpnext/home/doctype/home_control/__init__.py
similarity index 100%
rename from home/doctype/home_control/__init__.py
rename to erpnext/home/doctype/home_control/__init__.py
diff --git a/home/doctype/home_control/home_control.js b/erpnext/home/doctype/home_control/home_control.js
similarity index 100%
rename from home/doctype/home_control/home_control.js
rename to erpnext/home/doctype/home_control/home_control.js
diff --git a/home/doctype/home_control/home_control.py b/erpnext/home/doctype/home_control/home_control.py
similarity index 91%
rename from home/doctype/home_control/home_control.py
rename to erpnext/home/doctype/home_control/home_control.py
index 1f58a5e..8242e74 100644
--- a/home/doctype/home_control/home_control.py
+++ b/erpnext/home/doctype/home_control/home_control.py
@@ -33,9 +33,6 @@
 		ml = sql("select distinct t1.name, t1.module_icon, t1.module_label, t1.module_desc, t1.module_page from  `tabModule Def` t1, `tabModule Def Role` t2 where t2.role in ('%s') and t1.disabled !='Yes' and ifnull(t1.is_hidden, 'No') != 'Yes' and t1.name = t2.parent order by t1.module_seq asc" % "','".join(rl), as_dict=1)
 		return ml
 
-	def get_login_url(self):
-		return session['data'].get('login_from', '')
-
 	def get_module_details(self,m):
 		ret = {}
 		ret['il'] = sql('select doc_type, doc_name, display_name, icon, description, fields, click_function, idx from `tabModule Def Item` where parent=%s and ifnull(`hide`,0)=0 order by idx asc', m, as_dict=1)
@@ -50,6 +47,9 @@
 			AND t2.read=1 
 			AND t2.role IN ("%s") 
 			AND ifnull(standard,"No")="No"''' % (m, '", "'.join(webnotes.user.get_roles())), as_dict=1)
+
+		ret['login_url'] = session['data'].get('login_from', '')		
+
 		return ret
 
 	# ----------------------------------------------------------------------------------------------------------------
@@ -121,24 +121,6 @@
 
 	def get_dt_help(self,dt):
 		return sql("select description from tabDocType where name=%s",dt)[0][0] or ''
-		
-	# ----------------------------------------------------------------------------------------
-	def welcome_done(self):
-		if cint(get_defaults().get('welcome_done')):
-			return 'Yes'
-		else:
-			return 'No'
-
-	def set_welcome_done(self):
-		set_default('welcome_done', '1')
-
-	# Check Complete Registration
-	# ----------------------
-	def registration_complete(self):
-		if cint(get_defaults().get('registration_complete')):
-			return 'Yes'
-		else:
-			return 'No'
 
 	# get dashboard counts
 	# --------------------
@@ -235,24 +217,6 @@
 
 	# -------------------------------------------------------------------------------------------------------
 
-	def get_status_details(self, arg=''):
-		# no of users online
-		count = sql("select count(distinct user) from tabSessions t2 where user not in ('Guest','Administrator') and TIMESTAMPDIFF(HOUR,t2.lastupdate,NOW()) <= 1")
-
-		# unread messages
-		unread = sql("select count(t1.name) from `tabMail` t1, `tabMail Participant Details` t2 where t2.participant_name = '%s' and t2.parent = t1.name and (t2.read_status = 'No' or t2.read_status is NULL) and (t2.delete_status = 'No' or t2.delete_status is NULL) and t1.last_updated_by != t2.participant_name" % arg)
-		
-		# system messages
-		msg_id = webnotes.conn.get_global('system_message_id')
-		msg = ''
-				
-		if msg_id and msg_id != webnotes.conn.get_global('system_message_id', session['user']):
-			msg = webnotes.conn.get_global('system_message')
-		
-		return {'user_count': count and cint(count[0][0]) or 0, 'unread': unread and cint(unread[0][0]) or 0, 'system_message':msg}
-				
-	# -------------------------------------------------------------------------------------------------------
-
 	def dismiss_message(self, arg=''):
 		msg_id = webnotes.conn.get_global('system_message_id')
 		webnotes.conn.set_global('system_message_id', msg_id, session['user'])
diff --git a/home/doctype/home_control/home_control.txt b/erpnext/home/doctype/home_control/home_control.txt
similarity index 100%
rename from home/doctype/home_control/home_control.txt
rename to erpnext/home/doctype/home_control/home_control.txt
diff --git a/home/doctype/widget_control/__init__.py b/erpnext/home/doctype/widget_control/__init__.py
similarity index 100%
rename from home/doctype/widget_control/__init__.py
rename to erpnext/home/doctype/widget_control/__init__.py
diff --git a/home/doctype/widget_control/widget_control.py b/erpnext/home/doctype/widget_control/widget_control.py
similarity index 100%
rename from home/doctype/widget_control/widget_control.py
rename to erpnext/home/doctype/widget_control/widget_control.py
diff --git a/home/doctype/widget_control/widget_control.txt b/erpnext/home/doctype/widget_control/widget_control.txt
similarity index 100%
rename from home/doctype/widget_control/widget_control.txt
rename to erpnext/home/doctype/widget_control/widget_control.txt
diff --git a/home/page/.DS_Store b/erpnext/home/page/.DS_Store
similarity index 100%
rename from home/page/.DS_Store
rename to erpnext/home/page/.DS_Store
Binary files differ
diff --git a/home/page/__init__.py b/erpnext/home/page/__init__.py
similarity index 100%
rename from home/page/__init__.py
rename to erpnext/home/page/__init__.py
diff --git a/home/page/dashboard/__init__.py b/erpnext/home/page/dashboard/__init__.py
similarity index 100%
rename from home/page/dashboard/__init__.py
rename to erpnext/home/page/dashboard/__init__.py
diff --git a/home/page/dashboard/dashboard.css b/erpnext/home/page/dashboard/dashboard.css
similarity index 100%
rename from home/page/dashboard/dashboard.css
rename to erpnext/home/page/dashboard/dashboard.css
diff --git a/home/page/dashboard/dashboard.html b/erpnext/home/page/dashboard/dashboard.html
similarity index 100%
rename from home/page/dashboard/dashboard.html
rename to erpnext/home/page/dashboard/dashboard.html
diff --git a/home/page/dashboard/dashboard.js b/erpnext/home/page/dashboard/dashboard.js
similarity index 89%
rename from home/page/dashboard/dashboard.js
rename to erpnext/home/page/dashboard/dashboard.js
index 15e7cf3..08be0af 100644
--- a/home/page/dashboard/dashboard.js
+++ b/erpnext/home/page/dashboard/dashboard.js
@@ -1,11 +1,11 @@
 pscript.onload_dashboard = function() {
 	// load jqplot
 	$.scriptPath = 'js/'
-	$.require(['jquery/jquery.jqplot.min.js', 
-	'jquery/jqplot-plugins/jqplot.barRenderer.js', 
-	'jquery/jqplot-plugins/jqplot.canvasAxisTickRenderer.min.js',
-	'jquery/jqplot-plugins/jqplot.canvasTextRenderer.min.js',
-	'jquery/jqplot-plugins/jqplot.categoryAxisRenderer.min.js']);
+	wn.require('lib/js/legacy/jquery/jquery.jqplot.min.js');
+	wn.require('lib/js/legacy/jquery/jqplot-plugins/jqplot.barRenderer.js'); 
+	wn.require('lib/js/legacy/jquery/jqplot-plugins/jqplot.canvasAxisTickRenderer.min.js');
+	wn.require('lib/js/legacy/jquery/jqplot-plugins/jqplot.canvasTextRenderer.min.js');
+	wn.require('lib/js/legacy/jquery/jqplot-plugins/jqplot.categoryAxisRenderer.min.js');
 
 
 	pscript.dashboard_settings = {
diff --git a/home/page/dashboard/dashboard.py b/erpnext/home/page/dashboard/dashboard.py
similarity index 100%
rename from home/page/dashboard/dashboard.py
rename to erpnext/home/page/dashboard/dashboard.py
diff --git a/home/page/dashboard/dashboard.txt b/erpnext/home/page/dashboard/dashboard.txt
similarity index 100%
rename from home/page/dashboard/dashboard.txt
rename to erpnext/home/page/dashboard/dashboard.txt
diff --git a/home/page/event_updates/.DS_Store b/erpnext/home/page/event_updates/.DS_Store
similarity index 100%
rename from home/page/event_updates/.DS_Store
rename to erpnext/home/page/event_updates/.DS_Store
Binary files differ
diff --git a/home/page/event_updates/__init__.py b/erpnext/home/page/event_updates/__init__.py
similarity index 100%
rename from home/page/event_updates/__init__.py
rename to erpnext/home/page/event_updates/__init__.py
diff --git a/home/page/event_updates/event_updates.css b/erpnext/home/page/event_updates/event_updates.css
similarity index 100%
rename from home/page/event_updates/event_updates.css
rename to erpnext/home/page/event_updates/event_updates.css
diff --git a/home/page/event_updates/event_updates.html b/erpnext/home/page/event_updates/event_updates.html
similarity index 100%
rename from home/page/event_updates/event_updates.html
rename to erpnext/home/page/event_updates/event_updates.html
diff --git a/home/page/event_updates/event_updates.js b/erpnext/home/page/event_updates/event_updates.js
similarity index 91%
rename from home/page/event_updates/event_updates.js
rename to erpnext/home/page/event_updates/event_updates.js
index 9aa3da2..b58a0c0 100644
--- a/home/page/event_updates/event_updates.js
+++ b/erpnext/home/page/event_updates/event_updates.js
@@ -39,9 +39,6 @@
 		var banner = $a(wrapper.banner_area, 'div', '', {paddingBottom:'4px'})
 		banner.innerHTML = cp.client_name;
 	}
-
-	// complete registration
-	if(in_list(user_roles,'System Manager')) { pscript.complete_registration(); }	
 }
 
 // Widgets
@@ -78,16 +75,8 @@
 				}		
 			}
 		]
-	})
-	sidebar.refresh()
-
-	/*$y(cell,{padding:'0px 8px'});
-
-	new HomeCalendar(new HomeWidget(cell, 'Calendar', 'Event'));
-	
-	
-	new HomeToDo(new HomeWidget(cell, 'To Do', 'Item'));*/
-	
+	});
+		
 	new FeedList(wrapper.body);
 }
 
@@ -134,7 +123,7 @@
 	this.footer = $a(this.wrapper,'div');
 	
 	// add button
-	this.add_btn = $btn(this.footer,'+ Add ' + item,function(){me.add()});
+	this.add_btn = $btn(this.footer,'+ Add ' + item,function(){me.add()},null,'cupid-blue');
 
 	// refresh
 	this.refresh_btn = $ln(this.footer,'Refresh',function() { me.refresh(); },{fontSize:'11px',marginLeft:'7px',color:'#888'});
@@ -431,18 +420,18 @@
 	// head
 
 	$a(this.head,'h1','', {display:'inline'}, 'Home'); 
-	$a(this.head,'span','link_type', {marginLeft:'7px'}, 'help', function() {
+	$a(this.head,'span','link_type', {marginLeft:'7px', fontSize:'11px'}, 'help', function() {
 		msgprint('<b>What appears here?</b> This is where you get updates of everything you are permitted to follow')
 	})
 
 	// refresh
 	$a(this.head,'span','link_type', 
-		{cursor:'pointer', marginLeft:'7px', fontSize:'11px'}, 'refresh',
+		{marginLeft:'7px', fontSize:'11px'}, 'refresh',
 		function() { me.run(); }
 	);
 	
 	if(has_common(user_roles, ['System Manager','Accounts Manager'])) {
-		$btn(this.head, 'Dashboard', function() {loadpage('dashboard'); }, {marginLeft:'7px'})
+		$btn(this.head, 'Dashboard', function() {loadpage('dashboard'); }, {marginLeft:'7px'}, 'cupid-blue')
 		
 	}
 }
@@ -618,6 +607,11 @@
 			// render online users
 			pscript.online_users_obj.render(r.message.online_users);
 			pscript.online_users = r.message.online_users;
+	
+			// complete registration
+			if(in_list(user_roles,'System Manager')) { 
+				pscript.complete_registration(r.message.registration_complete); 
+			}
 			
 			// setup wizard
 			if(r.message.setup_status) {
@@ -629,54 +623,57 @@
 
 // complete my company registration
 // --------------------------------
-pscript.complete_registration = function()
-{
-	var reg_callback = function(r, rt){
-		if(r.message == 'No'){
-			var d = new Dialog(400, 200, "Please Complete Your Registration");
-			if(user != 'Administrator'){
-				d.no_cancel(); // Hide close image
-				$dh(page_body.wntoolbar.wrapper);
-			}
-			$($a(d.body,'div','', {margin:'8px', color:'#888'})).html('<b>Company Name : </b>'+locals['Control Panel']['Control Panel'].company_name);      
-
-			d.make_body(
-		  [
-		  	['Data','Company Abbreviation'],
-		  	['Select','Fiscal Year Start Date'],
-		  	['Select','Default Currency'],
-		  	['Button','Save'],
-			]);
-
-			//d.widgets['Save'].disabled = true;      // disable Save button
-			pscript.make_dialog_field(d);
-
-			// submit details
-			d.widgets['Save'].onclick = function()
-			{
-				d.widgets['Save'].set_working();
-				
-				flag = pscript.validate_fields(d);
-				if(flag)
-				{
-					var args = [
-						locals['Control Panel']['Control Panel'].company_name,
-						d.widgets['Company Abbreviation'].value,
-						d.widgets['Fiscal Year Start Date'].value,
-						d.widgets['Default Currency'].value
-					];
-					
-					$c_obj('Setup Control','setup_account',JSON.stringify(args),function(r, rt){
-						sys_defaults = r.message;
-						d.hide();
-						$ds(page_body.wntoolbar.wrapper);
-					});
-				}
-			}
-			d.show();
+pscript.complete_registration = function(is_complete) {
+	if(is_complete == 'No'){
+		var d = new Dialog(400, 200, "Please Complete Your Registration");
+		if(user != 'Administrator'){
+			d.no_cancel(); // Hide close image
+			$dh(page_body.wntoolbar.wrapper);
 		}
+
+		d.make_body([
+			['Data','Company Name','Example: Your Company LLC'],
+	  		['Data','Company Abbreviation', 'Example: YC (all your acconts will have this as a suffix)'],
+	  		['Select','Fiscal Year Start Date'],
+	  		['Select','Default Currency'],
+	  		['Button','Save'],
+		]);
+
+		// if company name is set, set the input value
+		// and disable it
+		if(locals['Control Panel']['Control Panel'].company_name) {
+			d.widgets['Company Name'].value = locals['Control Panel']['Control Panel'].company_name;
+			d.widgets['Company Name'].disabled = 1;
+		}
+		
+
+		//d.widgets['Save'].disabled = true;	  // disable Save button
+		pscript.make_dialog_field(d);
+
+		// submit details
+		d.widgets['Save'].onclick = function()
+		{
+			d.widgets['Save'].set_working();
+			
+			flag = pscript.validate_fields(d);
+			if(flag)
+			{
+				var args = [
+					d.widgets['Company Name'].value,
+					d.widgets['Company Abbreviation'].value,
+					d.widgets['Fiscal Year Start Date'].value,
+					d.widgets['Default Currency'].value
+				];
+				
+				$c_obj('Setup Control','setup_account',JSON.stringify(args),function(r, rt){
+					sys_defaults = r.message;
+					d.hide();
+					$ds(page_body.wntoolbar.wrapper);
+				});
+			}
+		}
+		d.show();
 	}
-	$c_obj('Home Control','registration_complete','',reg_callback);
 }
 
 // make dialog fields
diff --git a/home/page/event_updates/event_updates.py b/erpnext/home/page/event_updates/event_updates.py
similarity index 89%
rename from home/page/event_updates/event_updates.py
rename to erpnext/home/page/event_updates/event_updates.py
index 1134273..1d1d1b2 100644
--- a/home/page/event_updates/event_updates.py
+++ b/erpnext/home/page/event_updates/event_updates.py
@@ -24,7 +24,7 @@
 # Get toolbar items
 #	
 def get_status_details(arg=None):
-	from webnotes.utils import cint, date_diff, nowdate
+	from webnotes.utils import cint, date_diff, nowdate, get_defaults
 		
 	online = get_online_users()
 			
@@ -35,7 +35,8 @@
 		'online_users': online or [],
 		'is_trial': webnotes.conn.get_global('is_trial'),
 		'days_to_expiry': (webnotes.conn.get_global('days_to_expiry') or '0'),
-		'setup_status': get_setup_status()
+		'setup_status': get_setup_status(),
+		'registration_complete': cint(get_defaults('registration_complete')) and 'Yes' or 'No'
 	}
 	return ret
 
@@ -53,7 +54,7 @@
 		header = webnotes.conn.get_value('Control Panel', None, 'client_name') or ''
 
 		if header.startswith('<div style="padding:4px; font-size:20px;">'\
-			+webnotes.conn.get_value('Control Panel', None, 'company_name')):
+			+(webnotes.conn.get_value('Control Panel', None, 'company_name') or '')):
 			return False
 			
 		elif 'Banner Comes Here' in header:
diff --git a/home/page/event_updates/event_updates.txt b/erpnext/home/page/event_updates/event_updates.txt
similarity index 100%
rename from home/page/event_updates/event_updates.txt
rename to erpnext/home/page/event_updates/event_updates.txt
diff --git a/home/page/event_updates/event_updates_static.html b/erpnext/home/page/event_updates/event_updates_static.html
similarity index 100%
rename from home/page/event_updates/event_updates_static.html
rename to erpnext/home/page/event_updates/event_updates_static.html
diff --git a/home/page/my_company/__init__.py b/erpnext/home/page/my_company/__init__.py
similarity index 100%
rename from home/page/my_company/__init__.py
rename to erpnext/home/page/my_company/__init__.py
diff --git a/home/page/my_company/my_company.css b/erpnext/home/page/my_company/my_company.css
similarity index 100%
rename from home/page/my_company/my_company.css
rename to erpnext/home/page/my_company/my_company.css
diff --git a/home/page/my_company/my_company.html b/erpnext/home/page/my_company/my_company.html
similarity index 100%
rename from home/page/my_company/my_company.html
rename to erpnext/home/page/my_company/my_company.html
diff --git a/home/page/my_company/my_company.js b/erpnext/home/page/my_company/my_company.js
similarity index 100%
rename from home/page/my_company/my_company.js
rename to erpnext/home/page/my_company/my_company.js
diff --git a/home/page/my_company/my_company.py b/erpnext/home/page/my_company/my_company.py
similarity index 100%
rename from home/page/my_company/my_company.py
rename to erpnext/home/page/my_company/my_company.py
diff --git a/home/page/my_company/my_company.txt b/erpnext/home/page/my_company/my_company.txt
similarity index 100%
rename from home/page/my_company/my_company.txt
rename to erpnext/home/page/my_company/my_company.txt
diff --git a/home/page/profile_settings/__init__.py b/erpnext/home/page/profile_settings/__init__.py
similarity index 100%
rename from home/page/profile_settings/__init__.py
rename to erpnext/home/page/profile_settings/__init__.py
diff --git a/home/page/profile_settings/profile_settings.html b/erpnext/home/page/profile_settings/profile_settings.html
similarity index 100%
rename from home/page/profile_settings/profile_settings.html
rename to erpnext/home/page/profile_settings/profile_settings.html
diff --git a/home/page/profile_settings/profile_settings.js b/erpnext/home/page/profile_settings/profile_settings.js
similarity index 95%
rename from home/page/profile_settings/profile_settings.js
rename to erpnext/home/page/profile_settings/profile_settings.js
index 10b06d4..425626b 100644
--- a/home/page/profile_settings/profile_settings.js
+++ b/erpnext/home/page/profile_settings/profile_settings.js
@@ -97,7 +97,7 @@
 			]);	
 
 			var w = d.widgets['wrapper'];
-			me.uploader = new Uploader(w, {thumbnail:'80px', server_obj:'Company Control', method:'update_profile_image'}, pscript.user_image_upload)
+			me.uploader = new Uploader(w, {cmd:'home.page.profile_settings.profile_settings.set_user_image'}, pscript.user_image_upload, 1)
 			me.change_dialog = d;
 		}
 		me.change_dialog.show();
diff --git a/home/page/profile_settings/profile_settings.py b/erpnext/home/page/profile_settings/profile_settings.py
similarity index 64%
rename from home/page/profile_settings/profile_settings.py
rename to erpnext/home/page/profile_settings/profile_settings.py
index 56f7f15..d1e091c 100644
--- a/home/page/profile_settings/profile_settings.py
+++ b/erpnext/home/page/profile_settings/profile_settings.py
@@ -2,7 +2,6 @@
 
 from webnotes.utils import load_json, cint, nowdate
 
-
 def change_password(arg):
 	"""
 		Change password
@@ -21,15 +20,40 @@
 		webnotes.msgprint('Password Updated');
 
 def get_user_details(arg=None):
-	"Returns user first name, last name and bio"
-	
+	"""
+		Returns user first name, last name and bio
+	"""
 	return webnotes.conn.sql("select first_name, last_name, bio from tabProfile where name=%s", webnotes.user.name, as_dict=1)[0]
 	
 def set_user_details(arg=None):
-	"updates user details given in argument"
+	"""
+		updates user details given in argument
+	"""
 	from webnotes.model.doc import Document
 	
 	p = Document('Profile', webnotes.user.name)
 	p.fields.update(load_json(arg))
 	p.save()
 	webnotes.msgprint('Updated')
+
+def set_user_image(arg=None):
+	"""
+		Set uploaded image as user image
+	"""
+	from webnotes.utils.upload_handler import UploadHandler
+	
+	uh = UploadHandler()
+	if not uh.file_name:
+		# do nothing - no file found
+		return
+	else:
+		# save the file
+		from webnotes.utils.file_manager import FileAttachments
+		
+		fa = FileAttachments('Profile', webnotes.session['user'])
+		fa.delete_all()
+		fa.add(uh.file_name, uh.content)
+		fa.save()
+		
+		uh.set_callback('window.parent.upload_callback("%s", "%s")' \
+		 	% (webnotes.form_dict['uploader_id'], fa.get_fid(0)))
diff --git a/home/page/profile_settings/profile_settings.txt b/erpnext/home/page/profile_settings/profile_settings.txt
similarity index 100%
rename from home/page/profile_settings/profile_settings.txt
rename to erpnext/home/page/profile_settings/profile_settings.txt
diff --git a/home/search_criteria/__init__.py b/erpnext/home/search_criteria/__init__.py
similarity index 100%
rename from home/search_criteria/__init__.py
rename to erpnext/home/search_criteria/__init__.py
diff --git a/home/search_criteria/bills_to_be_paid/__init__.py b/erpnext/home/search_criteria/bills_to_be_paid/__init__.py
similarity index 100%
rename from home/search_criteria/bills_to_be_paid/__init__.py
rename to erpnext/home/search_criteria/bills_to_be_paid/__init__.py
diff --git a/home/search_criteria/bills_to_be_paid/bills_to_be_paid.txt b/erpnext/home/search_criteria/bills_to_be_paid/bills_to_be_paid.txt
similarity index 100%
rename from home/search_criteria/bills_to_be_paid/bills_to_be_paid.txt
rename to erpnext/home/search_criteria/bills_to_be_paid/bills_to_be_paid.txt
diff --git a/home/search_criteria/bills_to_be_submitted/__init__.py b/erpnext/home/search_criteria/bills_to_be_submitted/__init__.py
similarity index 100%
rename from home/search_criteria/bills_to_be_submitted/__init__.py
rename to erpnext/home/search_criteria/bills_to_be_submitted/__init__.py
diff --git a/home/search_criteria/bills_to_be_submitted/bills_to_be_submitted.txt b/erpnext/home/search_criteria/bills_to_be_submitted/bills_to_be_submitted.txt
similarity index 100%
rename from home/search_criteria/bills_to_be_submitted/bills_to_be_submitted.txt
rename to erpnext/home/search_criteria/bills_to_be_submitted/bills_to_be_submitted.txt
diff --git a/home/search_criteria/delivery_note_to_be_billed/__init__.py b/erpnext/home/search_criteria/delivery_note_to_be_billed/__init__.py
similarity index 100%
rename from home/search_criteria/delivery_note_to_be_billed/__init__.py
rename to erpnext/home/search_criteria/delivery_note_to_be_billed/__init__.py
diff --git a/home/search_criteria/delivery_note_to_be_billed/delivery_note_to_be_billed.txt b/erpnext/home/search_criteria/delivery_note_to_be_billed/delivery_note_to_be_billed.txt
similarity index 100%
rename from home/search_criteria/delivery_note_to_be_billed/delivery_note_to_be_billed.txt
rename to erpnext/home/search_criteria/delivery_note_to_be_billed/delivery_note_to_be_billed.txt
diff --git a/home/search_criteria/delivery_note_to_be_submitted/__init__.py b/erpnext/home/search_criteria/delivery_note_to_be_submitted/__init__.py
similarity index 100%
rename from home/search_criteria/delivery_note_to_be_submitted/__init__.py
rename to erpnext/home/search_criteria/delivery_note_to_be_submitted/__init__.py
diff --git a/home/search_criteria/delivery_note_to_be_submitted/delivery_note_to_be_submitted.txt b/erpnext/home/search_criteria/delivery_note_to_be_submitted/delivery_note_to_be_submitted.txt
similarity index 100%
rename from home/search_criteria/delivery_note_to_be_submitted/delivery_note_to_be_submitted.txt
rename to erpnext/home/search_criteria/delivery_note_to_be_submitted/delivery_note_to_be_submitted.txt
diff --git a/home/search_criteria/enquiry_quotations_to_be_sent/__init__.py b/erpnext/home/search_criteria/enquiry_quotations_to_be_sent/__init__.py
similarity index 100%
rename from home/search_criteria/enquiry_quotations_to_be_sent/__init__.py
rename to erpnext/home/search_criteria/enquiry_quotations_to_be_sent/__init__.py
diff --git a/home/search_criteria/enquiry_quotations_to_be_sent/enquiry_quotations_to_be_sent.txt b/erpnext/home/search_criteria/enquiry_quotations_to_be_sent/enquiry_quotations_to_be_sent.txt
similarity index 100%
rename from home/search_criteria/enquiry_quotations_to_be_sent/enquiry_quotations_to_be_sent.txt
rename to erpnext/home/search_criteria/enquiry_quotations_to_be_sent/enquiry_quotations_to_be_sent.txt
diff --git a/home/search_criteria/enquiry_to_follow_up/__init__.py b/erpnext/home/search_criteria/enquiry_to_follow_up/__init__.py
similarity index 100%
rename from home/search_criteria/enquiry_to_follow_up/__init__.py
rename to erpnext/home/search_criteria/enquiry_to_follow_up/__init__.py
diff --git a/home/search_criteria/enquiry_to_follow_up/enquiry_to_follow_up.js b/erpnext/home/search_criteria/enquiry_to_follow_up/enquiry_to_follow_up.js
similarity index 100%
rename from home/search_criteria/enquiry_to_follow_up/enquiry_to_follow_up.js
rename to erpnext/home/search_criteria/enquiry_to_follow_up/enquiry_to_follow_up.js
diff --git a/home/search_criteria/enquiry_to_follow_up/enquiry_to_follow_up.txt b/erpnext/home/search_criteria/enquiry_to_follow_up/enquiry_to_follow_up.txt
similarity index 100%
rename from home/search_criteria/enquiry_to_follow_up/enquiry_to_follow_up.txt
rename to erpnext/home/search_criteria/enquiry_to_follow_up/enquiry_to_follow_up.txt
diff --git a/home/search_criteria/indent_purchase_order_to_be_made/__init__.py b/erpnext/home/search_criteria/indent_purchase_order_to_be_made/__init__.py
similarity index 100%
rename from home/search_criteria/indent_purchase_order_to_be_made/__init__.py
rename to erpnext/home/search_criteria/indent_purchase_order_to_be_made/__init__.py
diff --git a/home/search_criteria/indent_purchase_order_to_be_made/indent_purchase_order_to_be_made.txt b/erpnext/home/search_criteria/indent_purchase_order_to_be_made/indent_purchase_order_to_be_made.txt
similarity index 100%
rename from home/search_criteria/indent_purchase_order_to_be_made/indent_purchase_order_to_be_made.txt
rename to erpnext/home/search_criteria/indent_purchase_order_to_be_made/indent_purchase_order_to_be_made.txt
diff --git a/home/search_criteria/indent_to_be_submitted/__init__.py b/erpnext/home/search_criteria/indent_to_be_submitted/__init__.py
similarity index 100%
rename from home/search_criteria/indent_to_be_submitted/__init__.py
rename to erpnext/home/search_criteria/indent_to_be_submitted/__init__.py
diff --git a/home/search_criteria/indent_to_be_submitted/indent_to_be_submitted.txt b/erpnext/home/search_criteria/indent_to_be_submitted/indent_to_be_submitted.txt
similarity index 100%
rename from home/search_criteria/indent_to_be_submitted/indent_to_be_submitted.txt
rename to erpnext/home/search_criteria/indent_to_be_submitted/indent_to_be_submitted.txt
diff --git a/home/search_criteria/invoices_overdue/__init__.py b/erpnext/home/search_criteria/invoices_overdue/__init__.py
similarity index 100%
rename from home/search_criteria/invoices_overdue/__init__.py
rename to erpnext/home/search_criteria/invoices_overdue/__init__.py
diff --git a/home/search_criteria/invoices_overdue/invoices_overdue.txt b/erpnext/home/search_criteria/invoices_overdue/invoices_overdue.txt
similarity index 100%
rename from home/search_criteria/invoices_overdue/invoices_overdue.txt
rename to erpnext/home/search_criteria/invoices_overdue/invoices_overdue.txt
diff --git a/home/search_criteria/invoices_to_be_submitted/__init__.py b/erpnext/home/search_criteria/invoices_to_be_submitted/__init__.py
similarity index 100%
rename from home/search_criteria/invoices_to_be_submitted/__init__.py
rename to erpnext/home/search_criteria/invoices_to_be_submitted/__init__.py
diff --git a/home/search_criteria/invoices_to_be_submitted/invoices_to_be_submitted.txt b/erpnext/home/search_criteria/invoices_to_be_submitted/invoices_to_be_submitted.txt
similarity index 100%
rename from home/search_criteria/invoices_to_be_submitted/invoices_to_be_submitted.txt
rename to erpnext/home/search_criteria/invoices_to_be_submitted/invoices_to_be_submitted.txt
diff --git a/home/search_criteria/invoices_to_receive_payment/__init__.py b/erpnext/home/search_criteria/invoices_to_receive_payment/__init__.py
similarity index 100%
rename from home/search_criteria/invoices_to_receive_payment/__init__.py
rename to erpnext/home/search_criteria/invoices_to_receive_payment/__init__.py
diff --git a/home/search_criteria/invoices_to_receive_payment/invoices_to_receive_payment.txt b/erpnext/home/search_criteria/invoices_to_receive_payment/invoices_to_receive_payment.txt
similarity index 100%
rename from home/search_criteria/invoices_to_receive_payment/invoices_to_receive_payment.txt
rename to erpnext/home/search_criteria/invoices_to_receive_payment/invoices_to_receive_payment.txt
diff --git a/home/search_criteria/lead_to_follow_up/__init__.py b/erpnext/home/search_criteria/lead_to_follow_up/__init__.py
similarity index 100%
rename from home/search_criteria/lead_to_follow_up/__init__.py
rename to erpnext/home/search_criteria/lead_to_follow_up/__init__.py
diff --git a/home/search_criteria/lead_to_follow_up/lead_to_follow_up.js b/erpnext/home/search_criteria/lead_to_follow_up/lead_to_follow_up.js
similarity index 100%
rename from home/search_criteria/lead_to_follow_up/lead_to_follow_up.js
rename to erpnext/home/search_criteria/lead_to_follow_up/lead_to_follow_up.js
diff --git a/home/search_criteria/lead_to_follow_up/lead_to_follow_up.txt b/erpnext/home/search_criteria/lead_to_follow_up/lead_to_follow_up.txt
similarity index 100%
rename from home/search_criteria/lead_to_follow_up/lead_to_follow_up.txt
rename to erpnext/home/search_criteria/lead_to_follow_up/lead_to_follow_up.txt
diff --git a/home/search_criteria/lead_to_follow_up/sales_order_overdue.js b/erpnext/home/search_criteria/lead_to_follow_up/sales_order_overdue.js
similarity index 100%
rename from home/search_criteria/lead_to_follow_up/sales_order_overdue.js
rename to erpnext/home/search_criteria/lead_to_follow_up/sales_order_overdue.js
diff --git a/home/search_criteria/purchase_order_to_be_billed/__init__.py b/erpnext/home/search_criteria/purchase_order_to_be_billed/__init__.py
similarity index 100%
rename from home/search_criteria/purchase_order_to_be_billed/__init__.py
rename to erpnext/home/search_criteria/purchase_order_to_be_billed/__init__.py
diff --git a/home/search_criteria/purchase_order_to_be_billed/purchase_order_to_be_billed.txt b/erpnext/home/search_criteria/purchase_order_to_be_billed/purchase_order_to_be_billed.txt
similarity index 100%
rename from home/search_criteria/purchase_order_to_be_billed/purchase_order_to_be_billed.txt
rename to erpnext/home/search_criteria/purchase_order_to_be_billed/purchase_order_to_be_billed.txt
diff --git a/home/search_criteria/purchase_order_to_be_submitted/__init__.py b/erpnext/home/search_criteria/purchase_order_to_be_submitted/__init__.py
similarity index 100%
rename from home/search_criteria/purchase_order_to_be_submitted/__init__.py
rename to erpnext/home/search_criteria/purchase_order_to_be_submitted/__init__.py
diff --git a/home/search_criteria/purchase_order_to_be_submitted/purchase_order_to_be_submitted.txt b/erpnext/home/search_criteria/purchase_order_to_be_submitted/purchase_order_to_be_submitted.txt
similarity index 100%
rename from home/search_criteria/purchase_order_to_be_submitted/purchase_order_to_be_submitted.txt
rename to erpnext/home/search_criteria/purchase_order_to_be_submitted/purchase_order_to_be_submitted.txt
diff --git a/home/search_criteria/purchase_order_to_receive_items/__init__.py b/erpnext/home/search_criteria/purchase_order_to_receive_items/__init__.py
similarity index 100%
rename from home/search_criteria/purchase_order_to_receive_items/__init__.py
rename to erpnext/home/search_criteria/purchase_order_to_receive_items/__init__.py
diff --git a/home/search_criteria/purchase_order_to_receive_items/purchase_order_to_receive_items.txt b/erpnext/home/search_criteria/purchase_order_to_receive_items/purchase_order_to_receive_items.txt
similarity index 100%
rename from home/search_criteria/purchase_order_to_receive_items/purchase_order_to_receive_items.txt
rename to erpnext/home/search_criteria/purchase_order_to_receive_items/purchase_order_to_receive_items.txt
diff --git a/home/search_criteria/sales_order_overdue/__init__.py b/erpnext/home/search_criteria/sales_order_overdue/__init__.py
similarity index 100%
rename from home/search_criteria/sales_order_overdue/__init__.py
rename to erpnext/home/search_criteria/sales_order_overdue/__init__.py
diff --git a/home/search_criteria/sales_order_overdue/sales_order_overdue.txt b/erpnext/home/search_criteria/sales_order_overdue/sales_order_overdue.txt
similarity index 100%
rename from home/search_criteria/sales_order_overdue/sales_order_overdue.txt
rename to erpnext/home/search_criteria/sales_order_overdue/sales_order_overdue.txt
diff --git a/home/search_criteria/sales_order_to_be_billed/__init__.py b/erpnext/home/search_criteria/sales_order_to_be_billed/__init__.py
similarity index 100%
rename from home/search_criteria/sales_order_to_be_billed/__init__.py
rename to erpnext/home/search_criteria/sales_order_to_be_billed/__init__.py
diff --git a/home/search_criteria/sales_order_to_be_billed/sales_order_to_be_billed.txt b/erpnext/home/search_criteria/sales_order_to_be_billed/sales_order_to_be_billed.txt
similarity index 100%
rename from home/search_criteria/sales_order_to_be_billed/sales_order_to_be_billed.txt
rename to erpnext/home/search_criteria/sales_order_to_be_billed/sales_order_to_be_billed.txt
diff --git a/home/search_criteria/sales_order_to_be_delivered/__init__.py b/erpnext/home/search_criteria/sales_order_to_be_delivered/__init__.py
similarity index 100%
rename from home/search_criteria/sales_order_to_be_delivered/__init__.py
rename to erpnext/home/search_criteria/sales_order_to_be_delivered/__init__.py
diff --git a/home/search_criteria/sales_order_to_be_delivered/sales_order_to_be_delivered.txt b/erpnext/home/search_criteria/sales_order_to_be_delivered/sales_order_to_be_delivered.txt
similarity index 100%
rename from home/search_criteria/sales_order_to_be_delivered/sales_order_to_be_delivered.txt
rename to erpnext/home/search_criteria/sales_order_to_be_delivered/sales_order_to_be_delivered.txt
diff --git a/home/search_criteria/sales_order_to_be_submitted/__init__.py b/erpnext/home/search_criteria/sales_order_to_be_submitted/__init__.py
similarity index 100%
rename from home/search_criteria/sales_order_to_be_submitted/__init__.py
rename to erpnext/home/search_criteria/sales_order_to_be_submitted/__init__.py
diff --git a/home/search_criteria/sales_order_to_be_submitted/sales_order_to_be_submitted.txt b/erpnext/home/search_criteria/sales_order_to_be_submitted/sales_order_to_be_submitted.txt
similarity index 100%
rename from home/search_criteria/sales_order_to_be_submitted/sales_order_to_be_submitted.txt
rename to erpnext/home/search_criteria/sales_order_to_be_submitted/sales_order_to_be_submitted.txt
diff --git a/home/search_criteria/serial_no_amc_expiring_this_month/__init__.py b/erpnext/home/search_criteria/serial_no_amc_expiring_this_month/__init__.py
similarity index 100%
rename from home/search_criteria/serial_no_amc_expiring_this_month/__init__.py
rename to erpnext/home/search_criteria/serial_no_amc_expiring_this_month/__init__.py
diff --git a/home/search_criteria/serial_no_amc_expiring_this_month/serial_no_amc_expiring_this_month.txt b/erpnext/home/search_criteria/serial_no_amc_expiring_this_month/serial_no_amc_expiring_this_month.txt
similarity index 100%
rename from home/search_criteria/serial_no_amc_expiring_this_month/serial_no_amc_expiring_this_month.txt
rename to erpnext/home/search_criteria/serial_no_amc_expiring_this_month/serial_no_amc_expiring_this_month.txt
diff --git a/home/search_criteria/serial_no_warranty_expiring_this_month/__init__.py b/erpnext/home/search_criteria/serial_no_warranty_expiring_this_month/__init__.py
similarity index 100%
rename from home/search_criteria/serial_no_warranty_expiring_this_month/__init__.py
rename to erpnext/home/search_criteria/serial_no_warranty_expiring_this_month/__init__.py
diff --git a/home/search_criteria/serial_no_warranty_expiring_this_month/serial_no_warranty_expiring_this_month.txt b/erpnext/home/search_criteria/serial_no_warranty_expiring_this_month/serial_no_warranty_expiring_this_month.txt
similarity index 100%
rename from home/search_criteria/serial_no_warranty_expiring_this_month/serial_no_warranty_expiring_this_month.txt
rename to erpnext/home/search_criteria/serial_no_warranty_expiring_this_month/serial_no_warranty_expiring_this_month.txt
diff --git a/home/search_criteria/task_open/__init__.py b/erpnext/home/search_criteria/task_open/__init__.py
similarity index 100%
rename from home/search_criteria/task_open/__init__.py
rename to erpnext/home/search_criteria/task_open/__init__.py
diff --git a/home/search_criteria/task_open/task_open.txt b/erpnext/home/search_criteria/task_open/task_open.txt
similarity index 100%
rename from home/search_criteria/task_open/task_open.txt
rename to erpnext/home/search_criteria/task_open/task_open.txt
diff --git a/hr/Deduction Type/Income Tax/Income Tax.txt b/erpnext/hr/Deduction Type/Income Tax/Income Tax.txt
similarity index 100%
rename from hr/Deduction Type/Income Tax/Income Tax.txt
rename to erpnext/hr/Deduction Type/Income Tax/Income Tax.txt
diff --git a/hr/Deduction Type/Professional Tax/Professional Tax.txt b/erpnext/hr/Deduction Type/Professional Tax/Professional Tax.txt
similarity index 100%
rename from hr/Deduction Type/Professional Tax/Professional Tax.txt
rename to erpnext/hr/Deduction Type/Professional Tax/Professional Tax.txt
diff --git a/hr/Deduction Type/Provident Fund/Provident Fund.txt b/erpnext/hr/Deduction Type/Provident Fund/Provident Fund.txt
similarity index 100%
rename from hr/Deduction Type/Provident Fund/Provident Fund.txt
rename to erpnext/hr/Deduction Type/Provident Fund/Provident Fund.txt
diff --git a/hr/DocType Mapper/KRA Template-Appraisal/KRA Template-Appraisal.txt b/erpnext/hr/DocType Mapper/KRA Template-Appraisal/KRA Template-Appraisal.txt
similarity index 92%
rename from hr/DocType Mapper/KRA Template-Appraisal/KRA Template-Appraisal.txt
rename to erpnext/hr/DocType Mapper/KRA Template-Appraisal/KRA Template-Appraisal.txt
index b3081bf..aed4002 100644
--- a/hr/DocType Mapper/KRA Template-Appraisal/KRA Template-Appraisal.txt
+++ b/erpnext/hr/DocType Mapper/KRA Template-Appraisal/KRA Template-Appraisal.txt
@@ -3,9 +3,9 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-09-01 15:48:10',
+		'creation': '2010-09-01 15:47:59',
 		'docstatus': 0,
-		'modified': '2010-09-01 14:25:40',
+		'modified': '2011-09-15 15:04:42',
 		'modified_by': 'Administrator',
 		'owner': 'ashwini@webnotestech.com'
 	},
diff --git a/hr/DocType Mapper/Salary Structure-Salary Slip/Salary Structure-Salary Slip.txt b/erpnext/hr/DocType Mapper/Salary Structure-Salary Slip/Salary Structure-Salary Slip.txt
similarity index 95%
rename from hr/DocType Mapper/Salary Structure-Salary Slip/Salary Structure-Salary Slip.txt
rename to erpnext/hr/DocType Mapper/Salary Structure-Salary Slip/Salary Structure-Salary Slip.txt
index 03318a1..0a365d1 100644
--- a/hr/DocType Mapper/Salary Structure-Salary Slip/Salary Structure-Salary Slip.txt
+++ b/erpnext/hr/DocType Mapper/Salary Structure-Salary Slip/Salary Structure-Salary Slip.txt
@@ -3,10 +3,10 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-12-14 10:23:25',
+		'creation': '2010-12-14 10:33:11',
 		'docstatus': 0,
-		'modified': '2011-02-12 18:31:40',
-		'modified_by': 'umair@iwebnotes.com',
+		'modified': '2011-09-15 15:04:44',
+		'modified_by': 'Administrator',
 		'owner': 'harshada@webnotestech.com'
 	},
 
diff --git a/hr/Earning Type/Basic/Basic.txt b/erpnext/hr/Earning Type/Basic/Basic.txt
similarity index 100%
rename from hr/Earning Type/Basic/Basic.txt
rename to erpnext/hr/Earning Type/Basic/Basic.txt
diff --git a/hr/Earning Type/House Rent Allowance/House Rent Allowance.txt b/erpnext/hr/Earning Type/House Rent Allowance/House Rent Allowance.txt
similarity index 100%
rename from hr/Earning Type/House Rent Allowance/House Rent Allowance.txt
rename to erpnext/hr/Earning Type/House Rent Allowance/House Rent Allowance.txt
diff --git a/hr/Expense Type/Calls/Calls.txt b/erpnext/hr/Expense Type/Calls/Calls.txt
similarity index 100%
rename from hr/Expense Type/Calls/Calls.txt
rename to erpnext/hr/Expense Type/Calls/Calls.txt
diff --git a/hr/Expense Type/Food/Food.txt b/erpnext/hr/Expense Type/Food/Food.txt
similarity index 100%
rename from hr/Expense Type/Food/Food.txt
rename to erpnext/hr/Expense Type/Food/Food.txt
diff --git a/hr/Expense Type/Medical/Medical.txt b/erpnext/hr/Expense Type/Medical/Medical.txt
similarity index 100%
rename from hr/Expense Type/Medical/Medical.txt
rename to erpnext/hr/Expense Type/Medical/Medical.txt
diff --git a/hr/Expense Type/Others/Others.txt b/erpnext/hr/Expense Type/Others/Others.txt
similarity index 100%
rename from hr/Expense Type/Others/Others.txt
rename to erpnext/hr/Expense Type/Others/Others.txt
diff --git a/hr/Expense Type/Travel/Travel.txt b/erpnext/hr/Expense Type/Travel/Travel.txt
similarity index 100%
rename from hr/Expense Type/Travel/Travel.txt
rename to erpnext/hr/Expense Type/Travel/Travel.txt
diff --git a/hr/Leave Type/Casual Leave/Casual Leave.txt b/erpnext/hr/Leave Type/Casual Leave/Casual Leave.txt
similarity index 100%
rename from hr/Leave Type/Casual Leave/Casual Leave.txt
rename to erpnext/hr/Leave Type/Casual Leave/Casual Leave.txt
diff --git a/hr/Leave Type/Compensatory Off/Compensatory Off.txt b/erpnext/hr/Leave Type/Compensatory Off/Compensatory Off.txt
similarity index 100%
rename from hr/Leave Type/Compensatory Off/Compensatory Off.txt
rename to erpnext/hr/Leave Type/Compensatory Off/Compensatory Off.txt
diff --git a/hr/Leave Type/Leave Without Pay/Leave Without Pay.txt b/erpnext/hr/Leave Type/Leave Without Pay/Leave Without Pay.txt
similarity index 100%
rename from hr/Leave Type/Leave Without Pay/Leave Without Pay.txt
rename to erpnext/hr/Leave Type/Leave Without Pay/Leave Without Pay.txt
diff --git a/hr/Leave Type/Privilege Leave/Privilege Leave.txt b/erpnext/hr/Leave Type/Privilege Leave/Privilege Leave.txt
similarity index 100%
rename from hr/Leave Type/Privilege Leave/Privilege Leave.txt
rename to erpnext/hr/Leave Type/Privilege Leave/Privilege Leave.txt
diff --git a/hr/Leave Type/Sick Leave/Sick Leave.txt b/erpnext/hr/Leave Type/Sick Leave/Sick Leave.txt
similarity index 100%
rename from hr/Leave Type/Sick Leave/Sick Leave.txt
rename to erpnext/hr/Leave Type/Sick Leave/Sick Leave.txt
diff --git a/hr/Module Def/HR/HR.txt b/erpnext/hr/Module Def/HR/HR.txt
similarity index 100%
rename from hr/Module Def/HR/HR.txt
rename to erpnext/hr/Module Def/HR/HR.txt
diff --git a/hr/Role/Employee/Employee.txt b/erpnext/hr/Role/Employee/Employee.txt
similarity index 100%
rename from hr/Role/Employee/Employee.txt
rename to erpnext/hr/Role/Employee/Employee.txt
diff --git a/hr/Role/HR Manager/HR Manager.txt b/erpnext/hr/Role/HR Manager/HR Manager.txt
similarity index 100%
rename from hr/Role/HR Manager/HR Manager.txt
rename to erpnext/hr/Role/HR Manager/HR Manager.txt
diff --git a/hr/Role/HR User/HR User.txt b/erpnext/hr/Role/HR User/HR User.txt
similarity index 100%
rename from hr/Role/HR User/HR User.txt
rename to erpnext/hr/Role/HR User/HR User.txt
diff --git a/hr/__init__.py b/erpnext/hr/__init__.py
similarity index 100%
rename from hr/__init__.py
rename to erpnext/hr/__init__.py
diff --git a/hr/doctype/__init__.py b/erpnext/hr/doctype/__init__.py
similarity index 100%
rename from hr/doctype/__init__.py
rename to erpnext/hr/doctype/__init__.py
diff --git a/hr/doctype/absent_days_detail/__init__.py b/erpnext/hr/doctype/absent_days_detail/__init__.py
similarity index 100%
rename from hr/doctype/absent_days_detail/__init__.py
rename to erpnext/hr/doctype/absent_days_detail/__init__.py
diff --git a/hr/doctype/absent_days_detail/absent_days_detail.txt b/erpnext/hr/doctype/absent_days_detail/absent_days_detail.txt
similarity index 100%
rename from hr/doctype/absent_days_detail/absent_days_detail.txt
rename to erpnext/hr/doctype/absent_days_detail/absent_days_detail.txt
diff --git a/hr/doctype/appraisal/__init__.py b/erpnext/hr/doctype/appraisal/__init__.py
similarity index 100%
rename from hr/doctype/appraisal/__init__.py
rename to erpnext/hr/doctype/appraisal/__init__.py
diff --git a/hr/doctype/appraisal/appraisal.js b/erpnext/hr/doctype/appraisal/appraisal.js
similarity index 100%
rename from hr/doctype/appraisal/appraisal.js
rename to erpnext/hr/doctype/appraisal/appraisal.js
diff --git a/hr/doctype/appraisal/appraisal.py b/erpnext/hr/doctype/appraisal/appraisal.py
similarity index 100%
rename from hr/doctype/appraisal/appraisal.py
rename to erpnext/hr/doctype/appraisal/appraisal.py
diff --git a/hr/doctype/appraisal/appraisal.txt b/erpnext/hr/doctype/appraisal/appraisal.txt
similarity index 100%
rename from hr/doctype/appraisal/appraisal.txt
rename to erpnext/hr/doctype/appraisal/appraisal.txt
diff --git a/hr/doctype/appraisal_detail/__init__.py b/erpnext/hr/doctype/appraisal_detail/__init__.py
similarity index 100%
rename from hr/doctype/appraisal_detail/__init__.py
rename to erpnext/hr/doctype/appraisal_detail/__init__.py
diff --git a/hr/doctype/appraisal_detail/appraisal_detail.txt b/erpnext/hr/doctype/appraisal_detail/appraisal_detail.txt
similarity index 100%
rename from hr/doctype/appraisal_detail/appraisal_detail.txt
rename to erpnext/hr/doctype/appraisal_detail/appraisal_detail.txt
diff --git a/hr/doctype/attendance/__init__.py b/erpnext/hr/doctype/attendance/__init__.py
similarity index 100%
rename from hr/doctype/attendance/__init__.py
rename to erpnext/hr/doctype/attendance/__init__.py
diff --git a/hr/doctype/attendance/attendance.js b/erpnext/hr/doctype/attendance/attendance.js
similarity index 100%
rename from hr/doctype/attendance/attendance.js
rename to erpnext/hr/doctype/attendance/attendance.js
diff --git a/hr/doctype/attendance/attendance.py b/erpnext/hr/doctype/attendance/attendance.py
similarity index 100%
rename from hr/doctype/attendance/attendance.py
rename to erpnext/hr/doctype/attendance/attendance.py
diff --git a/hr/doctype/attendance/attendance.txt b/erpnext/hr/doctype/attendance/attendance.txt
similarity index 100%
rename from hr/doctype/attendance/attendance.txt
rename to erpnext/hr/doctype/attendance/attendance.txt
diff --git a/hr/doctype/attendance_control_panel/__init__.py b/erpnext/hr/doctype/attendance_control_panel/__init__.py
similarity index 100%
rename from hr/doctype/attendance_control_panel/__init__.py
rename to erpnext/hr/doctype/attendance_control_panel/__init__.py
diff --git a/hr/doctype/attendance_control_panel/attendance_control_panel.js b/erpnext/hr/doctype/attendance_control_panel/attendance_control_panel.js
similarity index 100%
rename from hr/doctype/attendance_control_panel/attendance_control_panel.js
rename to erpnext/hr/doctype/attendance_control_panel/attendance_control_panel.js
diff --git a/hr/doctype/attendance_control_panel/attendance_control_panel.py b/erpnext/hr/doctype/attendance_control_panel/attendance_control_panel.py
similarity index 100%
rename from hr/doctype/attendance_control_panel/attendance_control_panel.py
rename to erpnext/hr/doctype/attendance_control_panel/attendance_control_panel.py
diff --git a/hr/doctype/attendance_control_panel/attendance_control_panel.txt b/erpnext/hr/doctype/attendance_control_panel/attendance_control_panel.txt
similarity index 100%
rename from hr/doctype/attendance_control_panel/attendance_control_panel.txt
rename to erpnext/hr/doctype/attendance_control_panel/attendance_control_panel.txt
diff --git a/hr/doctype/branch/__init__.py b/erpnext/hr/doctype/branch/__init__.py
similarity index 100%
rename from hr/doctype/branch/__init__.py
rename to erpnext/hr/doctype/branch/__init__.py
diff --git a/hr/doctype/branch/branch.js b/erpnext/hr/doctype/branch/branch.js
similarity index 100%
rename from hr/doctype/branch/branch.js
rename to erpnext/hr/doctype/branch/branch.js
diff --git a/hr/doctype/branch/branch.txt b/erpnext/hr/doctype/branch/branch.txt
similarity index 100%
rename from hr/doctype/branch/branch.txt
rename to erpnext/hr/doctype/branch/branch.txt
diff --git a/hr/doctype/chapter_vi_a_detail/__init__.py b/erpnext/hr/doctype/chapter_vi_a_detail/__init__.py
similarity index 100%
rename from hr/doctype/chapter_vi_a_detail/__init__.py
rename to erpnext/hr/doctype/chapter_vi_a_detail/__init__.py
diff --git a/hr/doctype/chapter_vi_a_detail/chapter_vi_a_detail.txt b/erpnext/hr/doctype/chapter_vi_a_detail/chapter_vi_a_detail.txt
similarity index 100%
rename from hr/doctype/chapter_vi_a_detail/chapter_vi_a_detail.txt
rename to erpnext/hr/doctype/chapter_vi_a_detail/chapter_vi_a_detail.txt
diff --git a/hr/doctype/declaration_detail/__init__.py b/erpnext/hr/doctype/declaration_detail/__init__.py
similarity index 100%
rename from hr/doctype/declaration_detail/__init__.py
rename to erpnext/hr/doctype/declaration_detail/__init__.py
diff --git a/hr/doctype/declaration_detail/declaration_detail.txt b/erpnext/hr/doctype/declaration_detail/declaration_detail.txt
similarity index 100%
rename from hr/doctype/declaration_detail/declaration_detail.txt
rename to erpnext/hr/doctype/declaration_detail/declaration_detail.txt
diff --git a/hr/doctype/deduction_detail/__init__.py b/erpnext/hr/doctype/deduction_detail/__init__.py
similarity index 100%
rename from hr/doctype/deduction_detail/__init__.py
rename to erpnext/hr/doctype/deduction_detail/__init__.py
diff --git a/hr/doctype/deduction_detail/deduction_detail.txt b/erpnext/hr/doctype/deduction_detail/deduction_detail.txt
similarity index 100%
rename from hr/doctype/deduction_detail/deduction_detail.txt
rename to erpnext/hr/doctype/deduction_detail/deduction_detail.txt
diff --git a/hr/doctype/deduction_type/__init__.py b/erpnext/hr/doctype/deduction_type/__init__.py
similarity index 100%
rename from hr/doctype/deduction_type/__init__.py
rename to erpnext/hr/doctype/deduction_type/__init__.py
diff --git a/hr/doctype/deduction_type/deduction_type.js b/erpnext/hr/doctype/deduction_type/deduction_type.js
similarity index 100%
rename from hr/doctype/deduction_type/deduction_type.js
rename to erpnext/hr/doctype/deduction_type/deduction_type.js
diff --git a/hr/doctype/deduction_type/deduction_type.txt b/erpnext/hr/doctype/deduction_type/deduction_type.txt
similarity index 100%
rename from hr/doctype/deduction_type/deduction_type.txt
rename to erpnext/hr/doctype/deduction_type/deduction_type.txt
diff --git a/hr/doctype/department/__init__.py b/erpnext/hr/doctype/department/__init__.py
similarity index 100%
rename from hr/doctype/department/__init__.py
rename to erpnext/hr/doctype/department/__init__.py
diff --git a/hr/doctype/department/department.js b/erpnext/hr/doctype/department/department.js
similarity index 100%
rename from hr/doctype/department/department.js
rename to erpnext/hr/doctype/department/department.js
diff --git a/hr/doctype/department/department.txt b/erpnext/hr/doctype/department/department.txt
similarity index 100%
rename from hr/doctype/department/department.txt
rename to erpnext/hr/doctype/department/department.txt
diff --git a/hr/doctype/designation/__init__.py b/erpnext/hr/doctype/designation/__init__.py
similarity index 100%
rename from hr/doctype/designation/__init__.py
rename to erpnext/hr/doctype/designation/__init__.py
diff --git a/hr/doctype/designation/designation.js b/erpnext/hr/doctype/designation/designation.js
similarity index 100%
rename from hr/doctype/designation/designation.js
rename to erpnext/hr/doctype/designation/designation.js
diff --git a/hr/doctype/designation/designation.txt b/erpnext/hr/doctype/designation/designation.txt
similarity index 100%
rename from hr/doctype/designation/designation.txt
rename to erpnext/hr/doctype/designation/designation.txt
diff --git a/hr/doctype/earn_deduction_detail/__init__.py b/erpnext/hr/doctype/earn_deduction_detail/__init__.py
similarity index 100%
rename from hr/doctype/earn_deduction_detail/__init__.py
rename to erpnext/hr/doctype/earn_deduction_detail/__init__.py
diff --git a/hr/doctype/earn_deduction_detail/earn_deduction_detail.txt b/erpnext/hr/doctype/earn_deduction_detail/earn_deduction_detail.txt
similarity index 100%
rename from hr/doctype/earn_deduction_detail/earn_deduction_detail.txt
rename to erpnext/hr/doctype/earn_deduction_detail/earn_deduction_detail.txt
diff --git a/hr/doctype/earning_detail/__init__.py b/erpnext/hr/doctype/earning_detail/__init__.py
similarity index 100%
rename from hr/doctype/earning_detail/__init__.py
rename to erpnext/hr/doctype/earning_detail/__init__.py
diff --git a/hr/doctype/earning_detail/earning_detail.txt b/erpnext/hr/doctype/earning_detail/earning_detail.txt
similarity index 100%
rename from hr/doctype/earning_detail/earning_detail.txt
rename to erpnext/hr/doctype/earning_detail/earning_detail.txt
diff --git a/hr/doctype/earning_type/__init__.py b/erpnext/hr/doctype/earning_type/__init__.py
similarity index 100%
rename from hr/doctype/earning_type/__init__.py
rename to erpnext/hr/doctype/earning_type/__init__.py
diff --git a/hr/doctype/earning_type/earning_type.js b/erpnext/hr/doctype/earning_type/earning_type.js
similarity index 100%
rename from hr/doctype/earning_type/earning_type.js
rename to erpnext/hr/doctype/earning_type/earning_type.js
diff --git a/hr/doctype/earning_type/earning_type.txt b/erpnext/hr/doctype/earning_type/earning_type.txt
similarity index 100%
rename from hr/doctype/earning_type/earning_type.txt
rename to erpnext/hr/doctype/earning_type/earning_type.txt
diff --git a/hr/doctype/educational_qualifications/__init__.py b/erpnext/hr/doctype/educational_qualifications/__init__.py
similarity index 100%
rename from hr/doctype/educational_qualifications/__init__.py
rename to erpnext/hr/doctype/educational_qualifications/__init__.py
diff --git a/hr/doctype/educational_qualifications/educational_qualifications.txt b/erpnext/hr/doctype/educational_qualifications/educational_qualifications.txt
similarity index 100%
rename from hr/doctype/educational_qualifications/educational_qualifications.txt
rename to erpnext/hr/doctype/educational_qualifications/educational_qualifications.txt
diff --git a/hr/doctype/educational_qualifications_detail/__init__.py b/erpnext/hr/doctype/educational_qualifications_detail/__init__.py
similarity index 100%
rename from hr/doctype/educational_qualifications_detail/__init__.py
rename to erpnext/hr/doctype/educational_qualifications_detail/__init__.py
diff --git a/hr/doctype/educational_qualifications_detail/educational_qualifications_detail.txt b/erpnext/hr/doctype/educational_qualifications_detail/educational_qualifications_detail.txt
similarity index 100%
rename from hr/doctype/educational_qualifications_detail/educational_qualifications_detail.txt
rename to erpnext/hr/doctype/educational_qualifications_detail/educational_qualifications_detail.txt
diff --git a/hr/doctype/employee/__init__.py b/erpnext/hr/doctype/employee/__init__.py
similarity index 100%
rename from hr/doctype/employee/__init__.py
rename to erpnext/hr/doctype/employee/__init__.py
diff --git a/hr/doctype/employee/employee.js b/erpnext/hr/doctype/employee/employee.js
similarity index 100%
rename from hr/doctype/employee/employee.js
rename to erpnext/hr/doctype/employee/employee.js
diff --git a/hr/doctype/employee/employee.py b/erpnext/hr/doctype/employee/employee.py
similarity index 98%
rename from hr/doctype/employee/employee.py
rename to erpnext/hr/doctype/employee/employee.py
index 01ff32d..ba602cf 100644
--- a/hr/doctype/employee/employee.py
+++ b/erpnext/hr/doctype/employee/employee.py
@@ -46,7 +46,7 @@
   # check if salary structure exists
   #========================================================================================================
   def check_sal_structure(self, nm):
-    ret_sal_struct=sql("select name from `tabSalary Structure` where employee='%s' and is_active = 'Yes'"%nm)
+    ret_sal_struct=sql("select name from `tabSalary Structure` where employee='%s' and is_active = 'Yes' and docstatus!= 2"%nm)
     return ret_sal_struct and ret_sal_struct[0][0] or ''
 
   #========================================================================================================
diff --git a/hr/doctype/employee/employee.txt b/erpnext/hr/doctype/employee/employee.txt
similarity index 100%
rename from hr/doctype/employee/employee.txt
rename to erpnext/hr/doctype/employee/employee.txt
diff --git a/hr/doctype/employee_profile/__init__.py b/erpnext/hr/doctype/employee_profile/__init__.py
similarity index 100%
rename from hr/doctype/employee_profile/__init__.py
rename to erpnext/hr/doctype/employee_profile/__init__.py
diff --git a/hr/doctype/employee_profile/employee_profile.js b/erpnext/hr/doctype/employee_profile/employee_profile.js
similarity index 100%
rename from hr/doctype/employee_profile/employee_profile.js
rename to erpnext/hr/doctype/employee_profile/employee_profile.js
diff --git a/hr/doctype/employee_profile/employee_profile.py b/erpnext/hr/doctype/employee_profile/employee_profile.py
similarity index 100%
rename from hr/doctype/employee_profile/employee_profile.py
rename to erpnext/hr/doctype/employee_profile/employee_profile.py
diff --git a/hr/doctype/employee_profile/employee_profile.txt b/erpnext/hr/doctype/employee_profile/employee_profile.txt
similarity index 100%
rename from hr/doctype/employee_profile/employee_profile.txt
rename to erpnext/hr/doctype/employee_profile/employee_profile.txt
diff --git a/hr/doctype/employment_type/__init__.py b/erpnext/hr/doctype/employment_type/__init__.py
similarity index 100%
rename from hr/doctype/employment_type/__init__.py
rename to erpnext/hr/doctype/employment_type/__init__.py
diff --git a/hr/doctype/employment_type/employment_type.js b/erpnext/hr/doctype/employment_type/employment_type.js
similarity index 100%
rename from hr/doctype/employment_type/employment_type.js
rename to erpnext/hr/doctype/employment_type/employment_type.js
diff --git a/hr/doctype/employment_type/employment_type.txt b/erpnext/hr/doctype/employment_type/employment_type.txt
similarity index 100%
rename from hr/doctype/employment_type/employment_type.txt
rename to erpnext/hr/doctype/employment_type/employment_type.txt
diff --git a/hr/doctype/expense_type/__init__.py b/erpnext/hr/doctype/expense_type/__init__.py
similarity index 100%
rename from hr/doctype/expense_type/__init__.py
rename to erpnext/hr/doctype/expense_type/__init__.py
diff --git a/hr/doctype/expense_type/expense_type.js b/erpnext/hr/doctype/expense_type/expense_type.js
similarity index 100%
rename from hr/doctype/expense_type/expense_type.js
rename to erpnext/hr/doctype/expense_type/expense_type.js
diff --git a/hr/doctype/expense_type/expense_type.txt b/erpnext/hr/doctype/expense_type/expense_type.txt
similarity index 100%
rename from hr/doctype/expense_type/expense_type.txt
rename to erpnext/hr/doctype/expense_type/expense_type.txt
diff --git a/hr/doctype/expense_voucher/__init__.py b/erpnext/hr/doctype/expense_voucher/__init__.py
similarity index 100%
rename from hr/doctype/expense_voucher/__init__.py
rename to erpnext/hr/doctype/expense_voucher/__init__.py
diff --git a/hr/doctype/expense_voucher/expense_voucher.js b/erpnext/hr/doctype/expense_voucher/expense_voucher.js
similarity index 100%
rename from hr/doctype/expense_voucher/expense_voucher.js
rename to erpnext/hr/doctype/expense_voucher/expense_voucher.js
diff --git a/hr/doctype/expense_voucher/expense_voucher.py b/erpnext/hr/doctype/expense_voucher/expense_voucher.py
similarity index 100%
rename from hr/doctype/expense_voucher/expense_voucher.py
rename to erpnext/hr/doctype/expense_voucher/expense_voucher.py
diff --git a/hr/doctype/expense_voucher/expense_voucher.txt b/erpnext/hr/doctype/expense_voucher/expense_voucher.txt
similarity index 100%
rename from hr/doctype/expense_voucher/expense_voucher.txt
rename to erpnext/hr/doctype/expense_voucher/expense_voucher.txt
diff --git a/hr/doctype/expense_voucher_detail/__init__.py b/erpnext/hr/doctype/expense_voucher_detail/__init__.py
similarity index 100%
rename from hr/doctype/expense_voucher_detail/__init__.py
rename to erpnext/hr/doctype/expense_voucher_detail/__init__.py
diff --git a/hr/doctype/expense_voucher_detail/expense_voucher_detail.txt b/erpnext/hr/doctype/expense_voucher_detail/expense_voucher_detail.txt
similarity index 100%
rename from hr/doctype/expense_voucher_detail/expense_voucher_detail.txt
rename to erpnext/hr/doctype/expense_voucher_detail/expense_voucher_detail.txt
diff --git a/hr/doctype/experience_in_company_detail/__init__.py b/erpnext/hr/doctype/experience_in_company_detail/__init__.py
similarity index 100%
rename from hr/doctype/experience_in_company_detail/__init__.py
rename to erpnext/hr/doctype/experience_in_company_detail/__init__.py
diff --git a/hr/doctype/experience_in_company_detail/experience_in_company_detail.txt b/erpnext/hr/doctype/experience_in_company_detail/experience_in_company_detail.txt
similarity index 100%
rename from hr/doctype/experience_in_company_detail/experience_in_company_detail.txt
rename to erpnext/hr/doctype/experience_in_company_detail/experience_in_company_detail.txt
diff --git a/hr/doctype/grade/__init__.py b/erpnext/hr/doctype/grade/__init__.py
similarity index 100%
rename from hr/doctype/grade/__init__.py
rename to erpnext/hr/doctype/grade/__init__.py
diff --git a/hr/doctype/grade/grade.js b/erpnext/hr/doctype/grade/grade.js
similarity index 100%
rename from hr/doctype/grade/grade.js
rename to erpnext/hr/doctype/grade/grade.js
diff --git a/hr/doctype/grade/grade.txt b/erpnext/hr/doctype/grade/grade.txt
similarity index 100%
rename from hr/doctype/grade/grade.txt
rename to erpnext/hr/doctype/grade/grade.txt
diff --git a/hr/doctype/holiday_list/__init__.py b/erpnext/hr/doctype/holiday_list/__init__.py
similarity index 100%
rename from hr/doctype/holiday_list/__init__.py
rename to erpnext/hr/doctype/holiday_list/__init__.py
diff --git a/hr/doctype/holiday_list/holiday_list.js b/erpnext/hr/doctype/holiday_list/holiday_list.js
similarity index 100%
rename from hr/doctype/holiday_list/holiday_list.js
rename to erpnext/hr/doctype/holiday_list/holiday_list.js
diff --git a/hr/doctype/holiday_list/holiday_list.py b/erpnext/hr/doctype/holiday_list/holiday_list.py
similarity index 100%
rename from hr/doctype/holiday_list/holiday_list.py
rename to erpnext/hr/doctype/holiday_list/holiday_list.py
diff --git a/hr/doctype/holiday_list/holiday_list.txt b/erpnext/hr/doctype/holiday_list/holiday_list.txt
similarity index 100%
rename from hr/doctype/holiday_list/holiday_list.txt
rename to erpnext/hr/doctype/holiday_list/holiday_list.txt
diff --git a/hr/doctype/holiday_list_detail/__init__.py b/erpnext/hr/doctype/holiday_list_detail/__init__.py
similarity index 100%
rename from hr/doctype/holiday_list_detail/__init__.py
rename to erpnext/hr/doctype/holiday_list_detail/__init__.py
diff --git a/hr/doctype/holiday_list_detail/holiday_list_detail.txt b/erpnext/hr/doctype/holiday_list_detail/holiday_list_detail.txt
similarity index 100%
rename from hr/doctype/holiday_list_detail/holiday_list_detail.txt
rename to erpnext/hr/doctype/holiday_list_detail/holiday_list_detail.txt
diff --git a/hr/doctype/invest_80_declaration_detail/__init__.py b/erpnext/hr/doctype/invest_80_declaration_detail/__init__.py
similarity index 100%
rename from hr/doctype/invest_80_declaration_detail/__init__.py
rename to erpnext/hr/doctype/invest_80_declaration_detail/__init__.py
diff --git a/hr/doctype/invest_80_declaration_detail/invest_80_declaration_detail.txt b/erpnext/hr/doctype/invest_80_declaration_detail/invest_80_declaration_detail.txt
similarity index 100%
rename from hr/doctype/invest_80_declaration_detail/invest_80_declaration_detail.txt
rename to erpnext/hr/doctype/invest_80_declaration_detail/invest_80_declaration_detail.txt
diff --git a/hr/doctype/it_checklist/__init__.py b/erpnext/hr/doctype/it_checklist/__init__.py
similarity index 100%
rename from hr/doctype/it_checklist/__init__.py
rename to erpnext/hr/doctype/it_checklist/__init__.py
diff --git a/hr/doctype/it_checklist/it_checklist.js b/erpnext/hr/doctype/it_checklist/it_checklist.js
similarity index 100%
rename from hr/doctype/it_checklist/it_checklist.js
rename to erpnext/hr/doctype/it_checklist/it_checklist.js
diff --git a/hr/doctype/it_checklist/it_checklist.py b/erpnext/hr/doctype/it_checklist/it_checklist.py
similarity index 100%
rename from hr/doctype/it_checklist/it_checklist.py
rename to erpnext/hr/doctype/it_checklist/it_checklist.py
diff --git a/hr/doctype/it_checklist/it_checklist.txt b/erpnext/hr/doctype/it_checklist/it_checklist.txt
similarity index 100%
rename from hr/doctype/it_checklist/it_checklist.txt
rename to erpnext/hr/doctype/it_checklist/it_checklist.txt
diff --git a/hr/doctype/kra_sheet/__init__.py b/erpnext/hr/doctype/kra_sheet/__init__.py
similarity index 100%
rename from hr/doctype/kra_sheet/__init__.py
rename to erpnext/hr/doctype/kra_sheet/__init__.py
diff --git a/hr/doctype/kra_sheet/kra_sheet.txt b/erpnext/hr/doctype/kra_sheet/kra_sheet.txt
similarity index 100%
rename from hr/doctype/kra_sheet/kra_sheet.txt
rename to erpnext/hr/doctype/kra_sheet/kra_sheet.txt
diff --git a/hr/doctype/kra_template/__init__.py b/erpnext/hr/doctype/kra_template/__init__.py
similarity index 100%
rename from hr/doctype/kra_template/__init__.py
rename to erpnext/hr/doctype/kra_template/__init__.py
diff --git a/hr/doctype/kra_template/kra_template.js b/erpnext/hr/doctype/kra_template/kra_template.js
similarity index 100%
rename from hr/doctype/kra_template/kra_template.js
rename to erpnext/hr/doctype/kra_template/kra_template.js
diff --git a/hr/doctype/kra_template/kra_template.txt b/erpnext/hr/doctype/kra_template/kra_template.txt
similarity index 100%
rename from hr/doctype/kra_template/kra_template.txt
rename to erpnext/hr/doctype/kra_template/kra_template.txt
diff --git a/hr/doctype/leave_allocation/__init__.py b/erpnext/hr/doctype/leave_allocation/__init__.py
similarity index 100%
rename from hr/doctype/leave_allocation/__init__.py
rename to erpnext/hr/doctype/leave_allocation/__init__.py
diff --git a/hr/doctype/leave_allocation/leave_allocation.js b/erpnext/hr/doctype/leave_allocation/leave_allocation.js
similarity index 100%
rename from hr/doctype/leave_allocation/leave_allocation.js
rename to erpnext/hr/doctype/leave_allocation/leave_allocation.js
diff --git a/hr/doctype/leave_allocation/leave_allocation.py b/erpnext/hr/doctype/leave_allocation/leave_allocation.py
similarity index 100%
rename from hr/doctype/leave_allocation/leave_allocation.py
rename to erpnext/hr/doctype/leave_allocation/leave_allocation.py
diff --git a/hr/doctype/leave_allocation/leave_allocation.txt b/erpnext/hr/doctype/leave_allocation/leave_allocation.txt
similarity index 100%
rename from hr/doctype/leave_allocation/leave_allocation.txt
rename to erpnext/hr/doctype/leave_allocation/leave_allocation.txt
diff --git a/hr/doctype/leave_application/__init__.py b/erpnext/hr/doctype/leave_application/__init__.py
similarity index 100%
rename from hr/doctype/leave_application/__init__.py
rename to erpnext/hr/doctype/leave_application/__init__.py
diff --git a/hr/doctype/leave_application/leave_application.js b/erpnext/hr/doctype/leave_application/leave_application.js
similarity index 100%
rename from hr/doctype/leave_application/leave_application.js
rename to erpnext/hr/doctype/leave_application/leave_application.js
diff --git a/hr/doctype/leave_application/leave_application.py b/erpnext/hr/doctype/leave_application/leave_application.py
similarity index 100%
rename from hr/doctype/leave_application/leave_application.py
rename to erpnext/hr/doctype/leave_application/leave_application.py
diff --git a/hr/doctype/leave_application/leave_application.txt b/erpnext/hr/doctype/leave_application/leave_application.txt
similarity index 100%
rename from hr/doctype/leave_application/leave_application.txt
rename to erpnext/hr/doctype/leave_application/leave_application.txt
diff --git a/hr/doctype/leave_control_panel/__init__.py b/erpnext/hr/doctype/leave_control_panel/__init__.py
similarity index 100%
rename from hr/doctype/leave_control_panel/__init__.py
rename to erpnext/hr/doctype/leave_control_panel/__init__.py
diff --git a/hr/doctype/leave_control_panel/leave_control_panel.js b/erpnext/hr/doctype/leave_control_panel/leave_control_panel.js
similarity index 100%
rename from hr/doctype/leave_control_panel/leave_control_panel.js
rename to erpnext/hr/doctype/leave_control_panel/leave_control_panel.js
diff --git a/hr/doctype/leave_control_panel/leave_control_panel.py b/erpnext/hr/doctype/leave_control_panel/leave_control_panel.py
similarity index 100%
rename from hr/doctype/leave_control_panel/leave_control_panel.py
rename to erpnext/hr/doctype/leave_control_panel/leave_control_panel.py
diff --git a/hr/doctype/leave_control_panel/leave_control_panel.txt b/erpnext/hr/doctype/leave_control_panel/leave_control_panel.txt
similarity index 100%
rename from hr/doctype/leave_control_panel/leave_control_panel.txt
rename to erpnext/hr/doctype/leave_control_panel/leave_control_panel.txt
diff --git a/hr/doctype/leave_type/__init__.py b/erpnext/hr/doctype/leave_type/__init__.py
similarity index 100%
rename from hr/doctype/leave_type/__init__.py
rename to erpnext/hr/doctype/leave_type/__init__.py
diff --git a/hr/doctype/leave_type/leave_type.js b/erpnext/hr/doctype/leave_type/leave_type.js
similarity index 100%
rename from hr/doctype/leave_type/leave_type.js
rename to erpnext/hr/doctype/leave_type/leave_type.js
diff --git a/hr/doctype/leave_type/leave_type.txt b/erpnext/hr/doctype/leave_type/leave_type.txt
similarity index 100%
rename from hr/doctype/leave_type/leave_type.txt
rename to erpnext/hr/doctype/leave_type/leave_type.txt
diff --git a/hr/doctype/other_income_detail/__init__.py b/erpnext/hr/doctype/other_income_detail/__init__.py
similarity index 100%
rename from hr/doctype/other_income_detail/__init__.py
rename to erpnext/hr/doctype/other_income_detail/__init__.py
diff --git a/hr/doctype/other_income_detail/other_income_detail.txt b/erpnext/hr/doctype/other_income_detail/other_income_detail.txt
similarity index 100%
rename from hr/doctype/other_income_detail/other_income_detail.txt
rename to erpnext/hr/doctype/other_income_detail/other_income_detail.txt
diff --git a/hr/doctype/payroll_rule/__init__.py b/erpnext/hr/doctype/payroll_rule/__init__.py
similarity index 100%
rename from hr/doctype/payroll_rule/__init__.py
rename to erpnext/hr/doctype/payroll_rule/__init__.py
diff --git a/hr/doctype/payroll_rule/payroll_rule.js b/erpnext/hr/doctype/payroll_rule/payroll_rule.js
similarity index 100%
rename from hr/doctype/payroll_rule/payroll_rule.js
rename to erpnext/hr/doctype/payroll_rule/payroll_rule.js
diff --git a/hr/doctype/payroll_rule/payroll_rule.py b/erpnext/hr/doctype/payroll_rule/payroll_rule.py
similarity index 100%
rename from hr/doctype/payroll_rule/payroll_rule.py
rename to erpnext/hr/doctype/payroll_rule/payroll_rule.py
diff --git a/hr/doctype/payroll_rule/payroll_rule.txt b/erpnext/hr/doctype/payroll_rule/payroll_rule.txt
similarity index 100%
rename from hr/doctype/payroll_rule/payroll_rule.txt
rename to erpnext/hr/doctype/payroll_rule/payroll_rule.txt
diff --git a/hr/doctype/previous_experience_detail/__init__.py b/erpnext/hr/doctype/previous_experience_detail/__init__.py
similarity index 100%
rename from hr/doctype/previous_experience_detail/__init__.py
rename to erpnext/hr/doctype/previous_experience_detail/__init__.py
diff --git a/hr/doctype/previous_experience_detail/previous_experience_detail.txt b/erpnext/hr/doctype/previous_experience_detail/previous_experience_detail.txt
similarity index 100%
rename from hr/doctype/previous_experience_detail/previous_experience_detail.txt
rename to erpnext/hr/doctype/previous_experience_detail/previous_experience_detail.txt
diff --git a/hr/doctype/professional_training_details/__init__.py b/erpnext/hr/doctype/professional_training_details/__init__.py
similarity index 100%
rename from hr/doctype/professional_training_details/__init__.py
rename to erpnext/hr/doctype/professional_training_details/__init__.py
diff --git a/hr/doctype/professional_training_details/professional_training_details.txt b/erpnext/hr/doctype/professional_training_details/professional_training_details.txt
similarity index 100%
rename from hr/doctype/professional_training_details/professional_training_details.txt
rename to erpnext/hr/doctype/professional_training_details/professional_training_details.txt
diff --git a/hr/doctype/salary_manager/__init__.py b/erpnext/hr/doctype/salary_manager/__init__.py
similarity index 100%
rename from hr/doctype/salary_manager/__init__.py
rename to erpnext/hr/doctype/salary_manager/__init__.py
diff --git a/hr/doctype/salary_manager/salary_manager.js b/erpnext/hr/doctype/salary_manager/salary_manager.js
similarity index 100%
rename from hr/doctype/salary_manager/salary_manager.js
rename to erpnext/hr/doctype/salary_manager/salary_manager.js
diff --git a/hr/doctype/salary_manager/salary_manager.py b/erpnext/hr/doctype/salary_manager/salary_manager.py
similarity index 100%
rename from hr/doctype/salary_manager/salary_manager.py
rename to erpnext/hr/doctype/salary_manager/salary_manager.py
diff --git a/hr/doctype/salary_manager/salary_manager.txt b/erpnext/hr/doctype/salary_manager/salary_manager.txt
similarity index 100%
rename from hr/doctype/salary_manager/salary_manager.txt
rename to erpnext/hr/doctype/salary_manager/salary_manager.txt
diff --git a/hr/doctype/salary_manager/test_salary_manager.py b/erpnext/hr/doctype/salary_manager/test_salary_manager.py
similarity index 100%
rename from hr/doctype/salary_manager/test_salary_manager.py
rename to erpnext/hr/doctype/salary_manager/test_salary_manager.py
diff --git a/hr/doctype/salary_slip/__init__.py b/erpnext/hr/doctype/salary_slip/__init__.py
similarity index 100%
rename from hr/doctype/salary_slip/__init__.py
rename to erpnext/hr/doctype/salary_slip/__init__.py
diff --git a/hr/doctype/salary_slip/salary_slip.js b/erpnext/hr/doctype/salary_slip/salary_slip.js
similarity index 100%
rename from hr/doctype/salary_slip/salary_slip.js
rename to erpnext/hr/doctype/salary_slip/salary_slip.js
diff --git a/hr/doctype/salary_slip/salary_slip.py b/erpnext/hr/doctype/salary_slip/salary_slip.py
similarity index 100%
rename from hr/doctype/salary_slip/salary_slip.py
rename to erpnext/hr/doctype/salary_slip/salary_slip.py
diff --git a/hr/doctype/salary_slip/salary_slip.txt b/erpnext/hr/doctype/salary_slip/salary_slip.txt
similarity index 100%
rename from hr/doctype/salary_slip/salary_slip.txt
rename to erpnext/hr/doctype/salary_slip/salary_slip.txt
diff --git a/hr/doctype/salary_structure/__init__.py b/erpnext/hr/doctype/salary_structure/__init__.py
similarity index 100%
rename from hr/doctype/salary_structure/__init__.py
rename to erpnext/hr/doctype/salary_structure/__init__.py
diff --git a/hr/doctype/salary_structure/salary_structure.js b/erpnext/hr/doctype/salary_structure/salary_structure.js
similarity index 100%
rename from hr/doctype/salary_structure/salary_structure.js
rename to erpnext/hr/doctype/salary_structure/salary_structure.js
diff --git a/hr/doctype/salary_structure/salary_structure.py b/erpnext/hr/doctype/salary_structure/salary_structure.py
similarity index 100%
rename from hr/doctype/salary_structure/salary_structure.py
rename to erpnext/hr/doctype/salary_structure/salary_structure.py
diff --git a/hr/doctype/salary_structure/salary_structure.txt b/erpnext/hr/doctype/salary_structure/salary_structure.txt
similarity index 100%
rename from hr/doctype/salary_structure/salary_structure.txt
rename to erpnext/hr/doctype/salary_structure/salary_structure.txt
diff --git a/hr/doctype/ss_deduction_detail/__init__.py b/erpnext/hr/doctype/ss_deduction_detail/__init__.py
similarity index 100%
rename from hr/doctype/ss_deduction_detail/__init__.py
rename to erpnext/hr/doctype/ss_deduction_detail/__init__.py
diff --git a/hr/doctype/ss_deduction_detail/ss_deduction_detail.txt b/erpnext/hr/doctype/ss_deduction_detail/ss_deduction_detail.txt
similarity index 100%
rename from hr/doctype/ss_deduction_detail/ss_deduction_detail.txt
rename to erpnext/hr/doctype/ss_deduction_detail/ss_deduction_detail.txt
diff --git a/hr/doctype/ss_earning_detail/__init__.py b/erpnext/hr/doctype/ss_earning_detail/__init__.py
similarity index 100%
rename from hr/doctype/ss_earning_detail/__init__.py
rename to erpnext/hr/doctype/ss_earning_detail/__init__.py
diff --git a/hr/doctype/ss_earning_detail/ss_earning_detail.txt b/erpnext/hr/doctype/ss_earning_detail/ss_earning_detail.txt
similarity index 100%
rename from hr/doctype/ss_earning_detail/ss_earning_detail.txt
rename to erpnext/hr/doctype/ss_earning_detail/ss_earning_detail.txt
diff --git a/hr/page/__init__.py b/erpnext/hr/page/__init__.py
similarity index 100%
rename from hr/page/__init__.py
rename to erpnext/hr/page/__init__.py
diff --git a/hr/search_criteria/__init__.py b/erpnext/hr/search_criteria/__init__.py
similarity index 100%
rename from hr/search_criteria/__init__.py
rename to erpnext/hr/search_criteria/__init__.py
diff --git a/hr/search_criteria/employee_appraisals/__init__.py b/erpnext/hr/search_criteria/employee_appraisals/__init__.py
similarity index 100%
rename from hr/search_criteria/employee_appraisals/__init__.py
rename to erpnext/hr/search_criteria/employee_appraisals/__init__.py
diff --git a/hr/search_criteria/employee_appraisals/employee_appraisals.txt b/erpnext/hr/search_criteria/employee_appraisals/employee_appraisals.txt
similarity index 100%
rename from hr/search_criteria/employee_appraisals/employee_appraisals.txt
rename to erpnext/hr/search_criteria/employee_appraisals/employee_appraisals.txt
diff --git a/hr/search_criteria/employee_details/__init__.py b/erpnext/hr/search_criteria/employee_details/__init__.py
similarity index 100%
rename from hr/search_criteria/employee_details/__init__.py
rename to erpnext/hr/search_criteria/employee_details/__init__.py
diff --git a/hr/search_criteria/employee_details/employee_details.txt b/erpnext/hr/search_criteria/employee_details/employee_details.txt
similarity index 100%
rename from hr/search_criteria/employee_details/employee_details.txt
rename to erpnext/hr/search_criteria/employee_details/employee_details.txt
diff --git a/hr/search_criteria/employee_in_company_experience/__init__.py b/erpnext/hr/search_criteria/employee_in_company_experience/__init__.py
similarity index 100%
rename from hr/search_criteria/employee_in_company_experience/__init__.py
rename to erpnext/hr/search_criteria/employee_in_company_experience/__init__.py
diff --git a/hr/search_criteria/employee_in_company_experience/employee_in_company_experience.txt b/erpnext/hr/search_criteria/employee_in_company_experience/employee_in_company_experience.txt
similarity index 100%
rename from hr/search_criteria/employee_in_company_experience/employee_in_company_experience.txt
rename to erpnext/hr/search_criteria/employee_in_company_experience/employee_in_company_experience.txt
diff --git a/hr/search_criteria/employee_information/__init__.py b/erpnext/hr/search_criteria/employee_information/__init__.py
similarity index 100%
rename from hr/search_criteria/employee_information/__init__.py
rename to erpnext/hr/search_criteria/employee_information/__init__.py
diff --git a/hr/search_criteria/employee_information/employee_information.py b/erpnext/hr/search_criteria/employee_information/employee_information.py
similarity index 100%
rename from hr/search_criteria/employee_information/employee_information.py
rename to erpnext/hr/search_criteria/employee_information/employee_information.py
diff --git a/hr/search_criteria/employee_information/employee_information.txt b/erpnext/hr/search_criteria/employee_information/employee_information.txt
similarity index 100%
rename from hr/search_criteria/employee_information/employee_information.txt
rename to erpnext/hr/search_criteria/employee_information/employee_information.txt
diff --git a/hr/search_criteria/employees_birthday/__init__.py b/erpnext/hr/search_criteria/employees_birthday/__init__.py
similarity index 100%
rename from hr/search_criteria/employees_birthday/__init__.py
rename to erpnext/hr/search_criteria/employees_birthday/__init__.py
diff --git a/hr/search_criteria/employees_birthday/employees_birthday.txt b/erpnext/hr/search_criteria/employees_birthday/employees_birthday.txt
similarity index 100%
rename from hr/search_criteria/employees_birthday/employees_birthday.txt
rename to erpnext/hr/search_criteria/employees_birthday/employees_birthday.txt
diff --git a/hr/search_criteria/employeewise_balance_leave_report/__init__.py b/erpnext/hr/search_criteria/employeewise_balance_leave_report/__init__.py
similarity index 100%
rename from hr/search_criteria/employeewise_balance_leave_report/__init__.py
rename to erpnext/hr/search_criteria/employeewise_balance_leave_report/__init__.py
diff --git a/hr/search_criteria/employeewise_balance_leave_report/employeewise_balance_leave_report.js b/erpnext/hr/search_criteria/employeewise_balance_leave_report/employeewise_balance_leave_report.js
similarity index 100%
rename from hr/search_criteria/employeewise_balance_leave_report/employeewise_balance_leave_report.js
rename to erpnext/hr/search_criteria/employeewise_balance_leave_report/employeewise_balance_leave_report.js
diff --git a/hr/search_criteria/employeewise_balance_leave_report/employeewise_balance_leave_report.py b/erpnext/hr/search_criteria/employeewise_balance_leave_report/employeewise_balance_leave_report.py
similarity index 100%
rename from hr/search_criteria/employeewise_balance_leave_report/employeewise_balance_leave_report.py
rename to erpnext/hr/search_criteria/employeewise_balance_leave_report/employeewise_balance_leave_report.py
diff --git a/hr/search_criteria/employeewise_balance_leave_report/employeewise_balance_leave_report.txt b/erpnext/hr/search_criteria/employeewise_balance_leave_report/employeewise_balance_leave_report.txt
similarity index 100%
rename from hr/search_criteria/employeewise_balance_leave_report/employeewise_balance_leave_report.txt
rename to erpnext/hr/search_criteria/employeewise_balance_leave_report/employeewise_balance_leave_report.txt
diff --git a/hr/search_criteria/employeewise_leave_transaction_details/__init__.py b/erpnext/hr/search_criteria/employeewise_leave_transaction_details/__init__.py
similarity index 100%
rename from hr/search_criteria/employeewise_leave_transaction_details/__init__.py
rename to erpnext/hr/search_criteria/employeewise_leave_transaction_details/__init__.py
diff --git a/hr/search_criteria/employeewise_leave_transaction_details/employeewise_leave_transaction_details.txt b/erpnext/hr/search_criteria/employeewise_leave_transaction_details/employeewise_leave_transaction_details.txt
similarity index 100%
rename from hr/search_criteria/employeewise_leave_transaction_details/employeewise_leave_transaction_details.txt
rename to erpnext/hr/search_criteria/employeewise_leave_transaction_details/employeewise_leave_transaction_details.txt
diff --git a/hr/search_criteria/expense_vouchers/__init__.py b/erpnext/hr/search_criteria/expense_vouchers/__init__.py
similarity index 100%
rename from hr/search_criteria/expense_vouchers/__init__.py
rename to erpnext/hr/search_criteria/expense_vouchers/__init__.py
diff --git a/hr/search_criteria/expense_vouchers/expense_vouchers.txt b/erpnext/hr/search_criteria/expense_vouchers/expense_vouchers.txt
similarity index 100%
rename from hr/search_criteria/expense_vouchers/expense_vouchers.txt
rename to erpnext/hr/search_criteria/expense_vouchers/expense_vouchers.txt
diff --git a/hr/search_criteria/monthly_attendance_details/__init__.py b/erpnext/hr/search_criteria/monthly_attendance_details/__init__.py
similarity index 100%
rename from hr/search_criteria/monthly_attendance_details/__init__.py
rename to erpnext/hr/search_criteria/monthly_attendance_details/__init__.py
diff --git a/hr/search_criteria/monthly_attendance_details/monthly_attendance_details.js b/erpnext/hr/search_criteria/monthly_attendance_details/monthly_attendance_details.js
similarity index 100%
rename from hr/search_criteria/monthly_attendance_details/monthly_attendance_details.js
rename to erpnext/hr/search_criteria/monthly_attendance_details/monthly_attendance_details.js
diff --git a/hr/search_criteria/monthly_attendance_details/monthly_attendance_details.py b/erpnext/hr/search_criteria/monthly_attendance_details/monthly_attendance_details.py
similarity index 100%
rename from hr/search_criteria/monthly_attendance_details/monthly_attendance_details.py
rename to erpnext/hr/search_criteria/monthly_attendance_details/monthly_attendance_details.py
diff --git a/hr/search_criteria/monthly_attendance_details/monthly_attendance_details.sql b/erpnext/hr/search_criteria/monthly_attendance_details/monthly_attendance_details.sql
similarity index 100%
rename from hr/search_criteria/monthly_attendance_details/monthly_attendance_details.sql
rename to erpnext/hr/search_criteria/monthly_attendance_details/monthly_attendance_details.sql
diff --git a/hr/search_criteria/monthly_attendance_details/monthly_attendance_details.txt b/erpnext/hr/search_criteria/monthly_attendance_details/monthly_attendance_details.txt
similarity index 100%
rename from hr/search_criteria/monthly_attendance_details/monthly_attendance_details.txt
rename to erpnext/hr/search_criteria/monthly_attendance_details/monthly_attendance_details.txt
diff --git a/hr/search_criteria/monthly_salary_register/__init__.py b/erpnext/hr/search_criteria/monthly_salary_register/__init__.py
similarity index 100%
rename from hr/search_criteria/monthly_salary_register/__init__.py
rename to erpnext/hr/search_criteria/monthly_salary_register/__init__.py
diff --git a/hr/search_criteria/monthly_salary_register/monthly_salary_register.txt b/erpnext/hr/search_criteria/monthly_salary_register/monthly_salary_register.txt
similarity index 100%
rename from hr/search_criteria/monthly_salary_register/monthly_salary_register.txt
rename to erpnext/hr/search_criteria/monthly_salary_register/monthly_salary_register.txt
diff --git a/hr/search_criteria/new_or_left_employees_for_a_month/__init__.py b/erpnext/hr/search_criteria/new_or_left_employees_for_a_month/__init__.py
similarity index 100%
rename from hr/search_criteria/new_or_left_employees_for_a_month/__init__.py
rename to erpnext/hr/search_criteria/new_or_left_employees_for_a_month/__init__.py
diff --git a/hr/search_criteria/new_or_left_employees_for_a_month/new_or_left_employees_for_a_month.js b/erpnext/hr/search_criteria/new_or_left_employees_for_a_month/new_or_left_employees_for_a_month.js
similarity index 100%
rename from hr/search_criteria/new_or_left_employees_for_a_month/new_or_left_employees_for_a_month.js
rename to erpnext/hr/search_criteria/new_or_left_employees_for_a_month/new_or_left_employees_for_a_month.js
diff --git a/hr/search_criteria/new_or_left_employees_for_a_month/new_or_left_employees_for_a_month.py b/erpnext/hr/search_criteria/new_or_left_employees_for_a_month/new_or_left_employees_for_a_month.py
similarity index 100%
rename from hr/search_criteria/new_or_left_employees_for_a_month/new_or_left_employees_for_a_month.py
rename to erpnext/hr/search_criteria/new_or_left_employees_for_a_month/new_or_left_employees_for_a_month.py
diff --git a/hr/search_criteria/new_or_left_employees_for_a_month/new_or_left_employees_for_a_month.txt b/erpnext/hr/search_criteria/new_or_left_employees_for_a_month/new_or_left_employees_for_a_month.txt
similarity index 100%
rename from hr/search_criteria/new_or_left_employees_for_a_month/new_or_left_employees_for_a_month.txt
rename to erpnext/hr/search_criteria/new_or_left_employees_for_a_month/new_or_left_employees_for_a_month.txt
diff --git a/hr/search_criteria/pending_appraisals/__init__.py b/erpnext/hr/search_criteria/pending_appraisals/__init__.py
similarity index 100%
rename from hr/search_criteria/pending_appraisals/__init__.py
rename to erpnext/hr/search_criteria/pending_appraisals/__init__.py
diff --git a/hr/search_criteria/pending_appraisals/pending_appraisals.js b/erpnext/hr/search_criteria/pending_appraisals/pending_appraisals.js
similarity index 100%
rename from hr/search_criteria/pending_appraisals/pending_appraisals.js
rename to erpnext/hr/search_criteria/pending_appraisals/pending_appraisals.js
diff --git a/hr/search_criteria/pending_appraisals/pending_appraisals.txt b/erpnext/hr/search_criteria/pending_appraisals/pending_appraisals.txt
similarity index 100%
rename from hr/search_criteria/pending_appraisals/pending_appraisals.txt
rename to erpnext/hr/search_criteria/pending_appraisals/pending_appraisals.txt
diff --git a/hr/search_criteria/pending_expense_vouchers/__init__.py b/erpnext/hr/search_criteria/pending_expense_vouchers/__init__.py
similarity index 100%
rename from hr/search_criteria/pending_expense_vouchers/__init__.py
rename to erpnext/hr/search_criteria/pending_expense_vouchers/__init__.py
diff --git a/hr/search_criteria/pending_expense_vouchers/pending_expense_vouchers.js b/erpnext/hr/search_criteria/pending_expense_vouchers/pending_expense_vouchers.js
similarity index 100%
rename from hr/search_criteria/pending_expense_vouchers/pending_expense_vouchers.js
rename to erpnext/hr/search_criteria/pending_expense_vouchers/pending_expense_vouchers.js
diff --git a/hr/search_criteria/pending_expense_vouchers/pending_expense_vouchers.txt b/erpnext/hr/search_criteria/pending_expense_vouchers/pending_expense_vouchers.txt
similarity index 100%
rename from hr/search_criteria/pending_expense_vouchers/pending_expense_vouchers.txt
rename to erpnext/hr/search_criteria/pending_expense_vouchers/pending_expense_vouchers.txt
diff --git a/hr/search_criteria/salary_register/__init__.py b/erpnext/hr/search_criteria/salary_register/__init__.py
similarity index 100%
rename from hr/search_criteria/salary_register/__init__.py
rename to erpnext/hr/search_criteria/salary_register/__init__.py
diff --git a/hr/search_criteria/salary_register/salary_register.js b/erpnext/hr/search_criteria/salary_register/salary_register.js
similarity index 100%
rename from hr/search_criteria/salary_register/salary_register.js
rename to erpnext/hr/search_criteria/salary_register/salary_register.js
diff --git a/hr/search_criteria/salary_register/salary_register.py b/erpnext/hr/search_criteria/salary_register/salary_register.py
similarity index 100%
rename from hr/search_criteria/salary_register/salary_register.py
rename to erpnext/hr/search_criteria/salary_register/salary_register.py
diff --git a/hr/search_criteria/salary_register/salary_register.txt b/erpnext/hr/search_criteria/salary_register/salary_register.txt
similarity index 100%
rename from hr/search_criteria/salary_register/salary_register.txt
rename to erpnext/hr/search_criteria/salary_register/salary_register.txt
diff --git a/hr/search_criteria/salary_slips/__init__.py b/erpnext/hr/search_criteria/salary_slips/__init__.py
similarity index 100%
rename from hr/search_criteria/salary_slips/__init__.py
rename to erpnext/hr/search_criteria/salary_slips/__init__.py
diff --git a/hr/search_criteria/salary_slips/salary_slips.txt b/erpnext/hr/search_criteria/salary_slips/salary_slips.txt
similarity index 100%
rename from hr/search_criteria/salary_slips/salary_slips.txt
rename to erpnext/hr/search_criteria/salary_slips/salary_slips.txt
diff --git a/hr/search_criteria/salary_structure_details/__init__.py b/erpnext/hr/search_criteria/salary_structure_details/__init__.py
similarity index 100%
rename from hr/search_criteria/salary_structure_details/__init__.py
rename to erpnext/hr/search_criteria/salary_structure_details/__init__.py
diff --git a/hr/search_criteria/salary_structure_details/salary_structure_details.txt b/erpnext/hr/search_criteria/salary_structure_details/salary_structure_details.txt
similarity index 100%
rename from hr/search_criteria/salary_structure_details/salary_structure_details.txt
rename to erpnext/hr/search_criteria/salary_structure_details/salary_structure_details.txt
diff --git a/knowledge_base/Module Def/Knowledge Base/Knowledge Base.txt b/erpnext/knowledge_base/Module Def/Knowledge Base/Knowledge Base.txt
similarity index 100%
rename from knowledge_base/Module Def/Knowledge Base/Knowledge Base.txt
rename to erpnext/knowledge_base/Module Def/Knowledge Base/Knowledge Base.txt
diff --git a/knowledge_base/__init__.py b/erpnext/knowledge_base/__init__.py
similarity index 100%
rename from knowledge_base/__init__.py
rename to erpnext/knowledge_base/__init__.py
diff --git a/knowledge_base/doctype/__init__.py b/erpnext/knowledge_base/doctype/__init__.py
similarity index 100%
rename from knowledge_base/doctype/__init__.py
rename to erpnext/knowledge_base/doctype/__init__.py
diff --git a/knowledge_base/doctype/answer/__init__.py b/erpnext/knowledge_base/doctype/answer/__init__.py
similarity index 100%
rename from knowledge_base/doctype/answer/__init__.py
rename to erpnext/knowledge_base/doctype/answer/__init__.py
diff --git a/knowledge_base/doctype/answer/answer.txt b/erpnext/knowledge_base/doctype/answer/answer.txt
similarity index 100%
rename from knowledge_base/doctype/answer/answer.txt
rename to erpnext/knowledge_base/doctype/answer/answer.txt
diff --git a/knowledge_base/doctype/question/__init__.py b/erpnext/knowledge_base/doctype/question/__init__.py
similarity index 100%
rename from knowledge_base/doctype/question/__init__.py
rename to erpnext/knowledge_base/doctype/question/__init__.py
diff --git a/knowledge_base/doctype/question/question.py b/erpnext/knowledge_base/doctype/question/question.py
similarity index 100%
rename from knowledge_base/doctype/question/question.py
rename to erpnext/knowledge_base/doctype/question/question.py
diff --git a/knowledge_base/doctype/question/question.txt b/erpnext/knowledge_base/doctype/question/question.txt
similarity index 100%
rename from knowledge_base/doctype/question/question.txt
rename to erpnext/knowledge_base/doctype/question/question.txt
diff --git a/knowledge_base/doctype/question_control/__init__.py b/erpnext/knowledge_base/doctype/question_control/__init__.py
similarity index 100%
rename from knowledge_base/doctype/question_control/__init__.py
rename to erpnext/knowledge_base/doctype/question_control/__init__.py
diff --git a/knowledge_base/doctype/question_control/question_control.txt b/erpnext/knowledge_base/doctype/question_control/question_control.txt
similarity index 100%
rename from knowledge_base/doctype/question_control/question_control.txt
rename to erpnext/knowledge_base/doctype/question_control/question_control.txt
diff --git a/knowledge_base/doctype/question_tag/__init__.py b/erpnext/knowledge_base/doctype/question_tag/__init__.py
similarity index 100%
rename from knowledge_base/doctype/question_tag/__init__.py
rename to erpnext/knowledge_base/doctype/question_tag/__init__.py
diff --git a/knowledge_base/doctype/question_tag/question_tag.txt b/erpnext/knowledge_base/doctype/question_tag/question_tag.txt
similarity index 100%
rename from knowledge_base/doctype/question_tag/question_tag.txt
rename to erpnext/knowledge_base/doctype/question_tag/question_tag.txt
diff --git a/knowledge_base/page/__init__.py b/erpnext/knowledge_base/page/__init__.py
similarity index 100%
rename from knowledge_base/page/__init__.py
rename to erpnext/knowledge_base/page/__init__.py
diff --git a/knowledge_base/page/kb_common/kb_common.js b/erpnext/knowledge_base/page/kb_common/kb_common.js
similarity index 100%
rename from knowledge_base/page/kb_common/kb_common.js
rename to erpnext/knowledge_base/page/kb_common/kb_common.js
diff --git a/knowledge_base/page/question_view/__init__.py b/erpnext/knowledge_base/page/question_view/__init__.py
similarity index 100%
rename from knowledge_base/page/question_view/__init__.py
rename to erpnext/knowledge_base/page/question_view/__init__.py
diff --git a/knowledge_base/page/question_view/question_view.css b/erpnext/knowledge_base/page/question_view/question_view.css
similarity index 100%
rename from knowledge_base/page/question_view/question_view.css
rename to erpnext/knowledge_base/page/question_view/question_view.css
diff --git a/knowledge_base/page/question_view/question_view.js b/erpnext/knowledge_base/page/question_view/question_view.js
similarity index 100%
rename from knowledge_base/page/question_view/question_view.js
rename to erpnext/knowledge_base/page/question_view/question_view.js
diff --git a/knowledge_base/page/question_view/question_view.py b/erpnext/knowledge_base/page/question_view/question_view.py
similarity index 100%
rename from knowledge_base/page/question_view/question_view.py
rename to erpnext/knowledge_base/page/question_view/question_view.py
diff --git a/knowledge_base/page/question_view/question_view.txt b/erpnext/knowledge_base/page/question_view/question_view.txt
similarity index 100%
rename from knowledge_base/page/question_view/question_view.txt
rename to erpnext/knowledge_base/page/question_view/question_view.txt
diff --git a/knowledge_base/page/questions/__init__.py b/erpnext/knowledge_base/page/questions/__init__.py
similarity index 100%
rename from knowledge_base/page/questions/__init__.py
rename to erpnext/knowledge_base/page/questions/__init__.py
diff --git a/knowledge_base/page/questions/questions.css b/erpnext/knowledge_base/page/questions/questions.css
similarity index 100%
rename from knowledge_base/page/questions/questions.css
rename to erpnext/knowledge_base/page/questions/questions.css
diff --git a/knowledge_base/page/questions/questions.html b/erpnext/knowledge_base/page/questions/questions.html
similarity index 100%
rename from knowledge_base/page/questions/questions.html
rename to erpnext/knowledge_base/page/questions/questions.html
diff --git a/knowledge_base/page/questions/questions.js b/erpnext/knowledge_base/page/questions/questions.js
similarity index 100%
rename from knowledge_base/page/questions/questions.js
rename to erpnext/knowledge_base/page/questions/questions.js
diff --git a/knowledge_base/page/questions/questions.py b/erpnext/knowledge_base/page/questions/questions.py
similarity index 100%
rename from knowledge_base/page/questions/questions.py
rename to erpnext/knowledge_base/page/questions/questions.py
diff --git a/knowledge_base/page/questions/questions.txt b/erpnext/knowledge_base/page/questions/questions.txt
similarity index 100%
rename from knowledge_base/page/questions/questions.txt
rename to erpnext/knowledge_base/page/questions/questions.txt
diff --git a/patches/__init__.py b/erpnext/patches/__init__.py
similarity index 100%
rename from patches/__init__.py
rename to erpnext/patches/__init__.py
diff --git a/patches/delivery_billing_status_patch.py b/erpnext/patches/delivery_billing_status_patch.py
similarity index 100%
rename from patches/delivery_billing_status_patch.py
rename to erpnext/patches/delivery_billing_status_patch.py
diff --git a/patches/erpnext_structure_cleanup.py b/erpnext/patches/erpnext_structure_cleanup.py
similarity index 100%
rename from patches/erpnext_structure_cleanup.py
rename to erpnext/patches/erpnext_structure_cleanup.py
diff --git a/patches/index_patch.py b/erpnext/patches/index_patch.py
similarity index 100%
rename from patches/index_patch.py
rename to erpnext/patches/index_patch.py
diff --git a/patches/old_patches/__init__.py b/erpnext/patches/old_patches/__init__.py
similarity index 100%
rename from patches/old_patches/__init__.py
rename to erpnext/patches/old_patches/__init__.py
diff --git a/patches/old_patches/customer_address.py b/erpnext/patches/old_patches/customer_address.py
similarity index 100%
rename from patches/old_patches/customer_address.py
rename to erpnext/patches/old_patches/customer_address.py
diff --git a/patches/old_patches/doctype_permission_patch.py b/erpnext/patches/old_patches/doctype_permission_patch.py
similarity index 100%
rename from patches/old_patches/doctype_permission_patch.py
rename to erpnext/patches/old_patches/doctype_permission_patch.py
diff --git a/patches/old_patches/feed_patch.py b/erpnext/patches/old_patches/feed_patch.py
similarity index 100%
rename from patches/old_patches/feed_patch.py
rename to erpnext/patches/old_patches/feed_patch.py
diff --git a/patches/old_patches/patch_1.py b/erpnext/patches/old_patches/patch_1.py
similarity index 100%
rename from patches/old_patches/patch_1.py
rename to erpnext/patches/old_patches/patch_1.py
diff --git a/patches/old_patches/replacecode.py b/erpnext/patches/old_patches/replacecode.py
similarity index 100%
rename from patches/old_patches/replacecode.py
rename to erpnext/patches/old_patches/replacecode.py
diff --git a/patches/patch.py b/erpnext/patches/patch.py
similarity index 91%
rename from patches/patch.py
rename to erpnext/patches/patch.py
index b66b4f0..456e936 100644
--- a/patches/patch.py
+++ b/erpnext/patches/patch.py
@@ -1,7 +1,7 @@
 # REMEMBER to update this
 # ========================
 
-last_patch = 377
+last_patch = 385
 
 #-------------------------------------------
 
@@ -376,7 +376,6 @@
 		sql("delete from `tabDefaultValue` where defkey in (%s) and parent = 'Control Panel'" % st)
 
 		get_obj('Features Setup', 'Features Setup').doc.save()
-		
 	elif patch_no == 372:
 		from webnotes.modules.module_manager import reload_doc
 
@@ -397,7 +396,7 @@
 	elif patch_no == 373:
 		sql("delete from `tabDocField` where fieldname = 'item_searial_nos' and parent = 'Features Setup'")
 		sql("delete from `tabDefaultValue` where defkey = 'item_searial_nos' and parent = 'Control Panel'")
-	elif patch_no == 374:	
+	elif patch_no == 374:
 		rs = sql("select fieldname from tabDocField where parent='Features Setup' and fieldname is not null")
 		from webnotes.model.code import get_obj
 		m = get_obj('Features Setup')
@@ -433,3 +432,27 @@
 				prev_fy = f[0]
 				sql("commit")
 				sql("start transaction")
+	elif patch_no == 379:
+		sql("update tabDocPerm set amend = 0 where parent = 'Salary Structure'")
+		sql("update tabDocPerm set cancel = 1 where parent = 'Company' and role = 'System Manager'")
+	elif patch_no == 380:
+		if sql("select count(name) from `tabDocField` where label = 'View Ledger Entry' and parent = 'Journal Voucher' and fieldtype = 'Button'")[0][0] > 1:
+			sql("delete from `tabDocField` where label = 'View Ledger Entry' and parent = 'Journal Voucher' and fieldtype = 'Button' limit 1")
+		if sql("select count(name) from `tabDocField` where label = 'Get Balance' and parent = 'Journal Voucher' and fieldtype = 'Button'")[0][0] > 1:
+			sql("delete from `tabDocField` where label = 'Get Balance' and parent = 'Journal Voucher' and fieldtype = 'Button' limit 1")
+	elif patch_no == 381:
+		reload_doc('accounts', 'doctype', 'internal_reconciliation')
+		reload_doc('accounts', 'doctype', 'ir_payment_detail')
+		reload_doc('accounts', 'Module Def', 'Accounts')
+	elif patch_no == 382:
+		if sql("select count(name) from `tabDocField` where label = 'Get Specification Details' and parent = 'QA Inspection Report' and fieldtype = 'Button'")[0][0] > 1:
+			sql("delete from `tabDocField` where label = 'Get Specification Details' and parent = 'QA Inspection Report' and fieldtype = 'Button' limit 1")
+	elif patch_no == 383:
+		reload_doc('accounts', 'doctype', 'cost_center')
+	elif patch_no == 384:
+		reload_doc('stock', 'Module Def', 'Stock')
+		sql("delete from `tabModule Def Item` where display_name = 'Serial No' and parent = 'Support'")
+		sql("update `tabDocType` set subject = 'Item Code: %(item_code)s, Warehouse: %(warehouse)s' where name = 'Serial No'")
+	elif patch_no == 385:
+		# Patch for adding packing related columns (packed by, checked by, shipping mark etc)
+		reload_doc('stock','doctype','delivery_note')
diff --git a/production/DocType Mapper/Production Forecast-Production Plan/Production Forecast-Production Plan.txt b/erpnext/production/DocType Mapper/Production Forecast-Production Plan/Production Forecast-Production Plan.txt
similarity index 98%
rename from production/DocType Mapper/Production Forecast-Production Plan/Production Forecast-Production Plan.txt
rename to erpnext/production/DocType Mapper/Production Forecast-Production Plan/Production Forecast-Production Plan.txt
index dfbef85..7065fa6 100644
--- a/production/DocType Mapper/Production Forecast-Production Plan/Production Forecast-Production Plan.txt
+++ b/erpnext/production/DocType Mapper/Production Forecast-Production Plan/Production Forecast-Production Plan.txt
@@ -5,7 +5,7 @@
 	{
 		'creation': '2010-08-08 17:09:35',
 		'docstatus': 0,
-		'modified': '2010-01-27 16:03:20',
+		'modified': '2011-09-15 15:04:42',
 		'modified_by': 'Administrator',
 		'owner': 'Administrator'
 	},
diff --git a/production/DocType Mapper/Production Forecast-Production Planning Tool/Production Forecast-Production Planning Tool.txt b/erpnext/production/DocType Mapper/Production Forecast-Production Planning Tool/Production Forecast-Production Planning Tool.txt
similarity index 98%
rename from production/DocType Mapper/Production Forecast-Production Planning Tool/Production Forecast-Production Planning Tool.txt
rename to erpnext/production/DocType Mapper/Production Forecast-Production Planning Tool/Production Forecast-Production Planning Tool.txt
index 6125d98..3d62811 100644
--- a/production/DocType Mapper/Production Forecast-Production Planning Tool/Production Forecast-Production Planning Tool.txt
+++ b/erpnext/production/DocType Mapper/Production Forecast-Production Planning Tool/Production Forecast-Production Planning Tool.txt
@@ -5,7 +5,7 @@
 	{
 		'creation': '2010-08-08 17:09:35',
 		'docstatus': 0,
-		'modified': '2010-02-12 12:41:03',
+		'modified': '2011-09-15 15:04:43',
 		'modified_by': 'Administrator',
 		'owner': 'jai@webnotestech.com'
 	},
diff --git a/production/DocType Mapper/Sales Order-Production Plan/Sales Order-Production Plan.txt b/erpnext/production/DocType Mapper/Sales Order-Production Plan/Sales Order-Production Plan.txt
similarity index 98%
rename from production/DocType Mapper/Sales Order-Production Plan/Sales Order-Production Plan.txt
rename to erpnext/production/DocType Mapper/Sales Order-Production Plan/Sales Order-Production Plan.txt
index 41c5173..780b841 100644
--- a/production/DocType Mapper/Sales Order-Production Plan/Sales Order-Production Plan.txt
+++ b/erpnext/production/DocType Mapper/Sales Order-Production Plan/Sales Order-Production Plan.txt
@@ -5,7 +5,7 @@
 	{
 		'creation': '2010-08-08 17:09:36',
 		'docstatus': 0,
-		'modified': '2009-12-21 13:16:59',
+		'modified': '2011-09-15 15:04:45',
 		'modified_by': 'Administrator',
 		'owner': 'Administrator'
 	},
diff --git a/production/Module Def/Production/Production.txt b/erpnext/production/Module Def/Production/Production.txt
similarity index 100%
rename from production/Module Def/Production/Production.txt
rename to erpnext/production/Module Def/Production/Production.txt
diff --git a/production/Role/Production Manager/Production Manager.txt b/erpnext/production/Role/Production Manager/Production Manager.txt
similarity index 100%
rename from production/Role/Production Manager/Production Manager.txt
rename to erpnext/production/Role/Production Manager/Production Manager.txt
diff --git a/production/Role/Production User/Production User.txt b/erpnext/production/Role/Production User/Production User.txt
similarity index 100%
rename from production/Role/Production User/Production User.txt
rename to erpnext/production/Role/Production User/Production User.txt
diff --git a/production/__init__.py b/erpnext/production/__init__.py
similarity index 100%
rename from production/__init__.py
rename to erpnext/production/__init__.py
diff --git a/production/doctype/__init__.py b/erpnext/production/doctype/__init__.py
similarity index 100%
rename from production/doctype/__init__.py
rename to erpnext/production/doctype/__init__.py
diff --git a/production/doctype/bill_of_materials/__init__.py b/erpnext/production/doctype/bill_of_materials/__init__.py
similarity index 100%
rename from production/doctype/bill_of_materials/__init__.py
rename to erpnext/production/doctype/bill_of_materials/__init__.py
diff --git a/production/doctype/bill_of_materials/bill_of_materials.js b/erpnext/production/doctype/bill_of_materials/bill_of_materials.js
similarity index 100%
rename from production/doctype/bill_of_materials/bill_of_materials.js
rename to erpnext/production/doctype/bill_of_materials/bill_of_materials.js
diff --git a/production/doctype/bill_of_materials/bill_of_materials.py b/erpnext/production/doctype/bill_of_materials/bill_of_materials.py
similarity index 98%
rename from production/doctype/bill_of_materials/bill_of_materials.py
rename to erpnext/production/doctype/bill_of_materials/bill_of_materials.py
index 9727a63..9fcfb81 100644
--- a/production/doctype/bill_of_materials/bill_of_materials.py
+++ b/erpnext/production/doctype/bill_of_materials/bill_of_materials.py
@@ -501,7 +501,7 @@
     child_flat_bom_items=[]
 #    if item and (item[0]['is_sub_contracted_item'] == 'Yes' or item[0]['is_pro_applicable'] == 'Yes'):
 
-    child_flat_bom_items = sql("select item_code, description, qty_consumed_per_unit, stock_uom, moving_avg_rate, last_purchase_rate, standard_rate, '%s' as parent_bom, bom_mat_no, 'No' as is_pro_applicable from `tabFlat BOM Detail` where parent = '%s' and is_pro_applicable = 'No' and docstatus = 1" % ( d.bom_no, cstr(d.bom_no)))
+    child_flat_bom_items = sql("select fbom.item_code, fbom.description, fbom.qty_consumed_per_unit, fbom.stock_uom, fbom.moving_avg_rate, fbom.last_purchase_rate, fbom.standard_rate, '%s' as parent_bom, fbom.bom_mat_no, 'No' as is_pro_applicable from `tabFlat BOM Detail` fbom,`tabBill Of Materials` bom where fbom.parent=bom.name and fbom.parent = '%s' and fbom.is_pro_applicable = 'No' and bom.docstatus = 1" % ( d.bom_no, cstr(d.bom_no)))
     self.cur_flat_bom_items.append([d.item_code, d.description, flt(d.qty), d.stock_uom, flt(d.moving_avg_rate), flt(d.amount_as_per_mar), flt(d.last_purchase_rate), flt(d.amount_as_per_lpr), flt(d.standard_rate), flt(d.amount_as_per_sr), flt(d.qty_consumed_per_unit), (item[0]['is_sub_contracted_item'] == 'Yes') and d.parent or d.bom_no, d.name, (item[0]['is_sub_contracted_item'] == 'Yes') and 'No' or 'Yes'])
     return child_flat_bom_items
 
diff --git a/production/doctype/bill_of_materials/bill_of_materials.txt b/erpnext/production/doctype/bill_of_materials/bill_of_materials.txt
similarity index 100%
rename from production/doctype/bill_of_materials/bill_of_materials.txt
rename to erpnext/production/doctype/bill_of_materials/bill_of_materials.txt
diff --git a/production/doctype/bom_control/__init__.py b/erpnext/production/doctype/bom_control/__init__.py
similarity index 100%
rename from production/doctype/bom_control/__init__.py
rename to erpnext/production/doctype/bom_control/__init__.py
diff --git a/production/doctype/bom_control/bom_control.py b/erpnext/production/doctype/bom_control/bom_control.py
similarity index 100%
rename from production/doctype/bom_control/bom_control.py
rename to erpnext/production/doctype/bom_control/bom_control.py
diff --git a/production/doctype/bom_control/bom_control.txt b/erpnext/production/doctype/bom_control/bom_control.txt
similarity index 100%
rename from production/doctype/bom_control/bom_control.txt
rename to erpnext/production/doctype/bom_control/bom_control.txt
diff --git a/production/doctype/bom_material/__init__.py b/erpnext/production/doctype/bom_material/__init__.py
similarity index 100%
rename from production/doctype/bom_material/__init__.py
rename to erpnext/production/doctype/bom_material/__init__.py
diff --git a/production/doctype/bom_material/bom_material.txt b/erpnext/production/doctype/bom_material/bom_material.txt
similarity index 100%
rename from production/doctype/bom_material/bom_material.txt
rename to erpnext/production/doctype/bom_material/bom_material.txt
diff --git a/production/doctype/bom_operation/__init__.py b/erpnext/production/doctype/bom_operation/__init__.py
similarity index 100%
rename from production/doctype/bom_operation/__init__.py
rename to erpnext/production/doctype/bom_operation/__init__.py
diff --git a/production/doctype/bom_operation/bom_operation.txt b/erpnext/production/doctype/bom_operation/bom_operation.txt
similarity index 100%
rename from production/doctype/bom_operation/bom_operation.txt
rename to erpnext/production/doctype/bom_operation/bom_operation.txt
diff --git a/production/doctype/bom_replace_utility/__init__.py b/erpnext/production/doctype/bom_replace_utility/__init__.py
similarity index 100%
rename from production/doctype/bom_replace_utility/__init__.py
rename to erpnext/production/doctype/bom_replace_utility/__init__.py
diff --git a/production/doctype/bom_replace_utility/bom_replace_utility.js b/erpnext/production/doctype/bom_replace_utility/bom_replace_utility.js
similarity index 100%
rename from production/doctype/bom_replace_utility/bom_replace_utility.js
rename to erpnext/production/doctype/bom_replace_utility/bom_replace_utility.js
diff --git a/production/doctype/bom_replace_utility/bom_replace_utility.py b/erpnext/production/doctype/bom_replace_utility/bom_replace_utility.py
similarity index 100%
rename from production/doctype/bom_replace_utility/bom_replace_utility.py
rename to erpnext/production/doctype/bom_replace_utility/bom_replace_utility.py
diff --git a/production/doctype/bom_replace_utility/bom_replace_utility.txt b/erpnext/production/doctype/bom_replace_utility/bom_replace_utility.txt
similarity index 100%
rename from production/doctype/bom_replace_utility/bom_replace_utility.txt
rename to erpnext/production/doctype/bom_replace_utility/bom_replace_utility.txt
diff --git a/production/doctype/bom_replace_utility_detail/__init__.py b/erpnext/production/doctype/bom_replace_utility_detail/__init__.py
similarity index 100%
rename from production/doctype/bom_replace_utility_detail/__init__.py
rename to erpnext/production/doctype/bom_replace_utility_detail/__init__.py
diff --git a/production/doctype/bom_replace_utility_detail/bom_replace_utility_detail.txt b/erpnext/production/doctype/bom_replace_utility_detail/bom_replace_utility_detail.txt
similarity index 100%
rename from production/doctype/bom_replace_utility_detail/bom_replace_utility_detail.txt
rename to erpnext/production/doctype/bom_replace_utility_detail/bom_replace_utility_detail.txt
diff --git a/production/doctype/bom_report_detail/__init__.py b/erpnext/production/doctype/bom_report_detail/__init__.py
similarity index 100%
rename from production/doctype/bom_report_detail/__init__.py
rename to erpnext/production/doctype/bom_report_detail/__init__.py
diff --git a/production/doctype/bom_report_detail/bom_report_detail.txt b/erpnext/production/doctype/bom_report_detail/bom_report_detail.txt
similarity index 100%
rename from production/doctype/bom_report_detail/bom_report_detail.txt
rename to erpnext/production/doctype/bom_report_detail/bom_report_detail.txt
diff --git a/production/doctype/flat_bom_detail/__init__.py b/erpnext/production/doctype/flat_bom_detail/__init__.py
similarity index 100%
rename from production/doctype/flat_bom_detail/__init__.py
rename to erpnext/production/doctype/flat_bom_detail/__init__.py
diff --git a/production/doctype/flat_bom_detail/flat_bom_detail.txt b/erpnext/production/doctype/flat_bom_detail/flat_bom_detail.txt
similarity index 100%
rename from production/doctype/flat_bom_detail/flat_bom_detail.txt
rename to erpnext/production/doctype/flat_bom_detail/flat_bom_detail.txt
diff --git a/production/doctype/pf_detail/__init__.py b/erpnext/production/doctype/pf_detail/__init__.py
similarity index 100%
rename from production/doctype/pf_detail/__init__.py
rename to erpnext/production/doctype/pf_detail/__init__.py
diff --git a/production/doctype/pf_detail/pf_detail.txt b/erpnext/production/doctype/pf_detail/pf_detail.txt
similarity index 100%
rename from production/doctype/pf_detail/pf_detail.txt
rename to erpnext/production/doctype/pf_detail/pf_detail.txt
diff --git a/production/doctype/pp_detail/__init__.py b/erpnext/production/doctype/pp_detail/__init__.py
similarity index 100%
rename from production/doctype/pp_detail/__init__.py
rename to erpnext/production/doctype/pp_detail/__init__.py
diff --git a/production/doctype/pp_detail/pp_detail.txt b/erpnext/production/doctype/pp_detail/pp_detail.txt
similarity index 100%
rename from production/doctype/pp_detail/pp_detail.txt
rename to erpnext/production/doctype/pp_detail/pp_detail.txt
diff --git a/production/doctype/pp_so_detail/__init__.py b/erpnext/production/doctype/pp_so_detail/__init__.py
similarity index 100%
rename from production/doctype/pp_so_detail/__init__.py
rename to erpnext/production/doctype/pp_so_detail/__init__.py
diff --git a/production/doctype/pp_so_detail/pp_so_detail.txt b/erpnext/production/doctype/pp_so_detail/pp_so_detail.txt
similarity index 100%
rename from production/doctype/pp_so_detail/pp_so_detail.txt
rename to erpnext/production/doctype/pp_so_detail/pp_so_detail.txt
diff --git a/production/doctype/ppw_detail/__init__.py b/erpnext/production/doctype/ppw_detail/__init__.py
similarity index 100%
rename from production/doctype/ppw_detail/__init__.py
rename to erpnext/production/doctype/ppw_detail/__init__.py
diff --git a/production/doctype/ppw_detail/ppw_detail.txt b/erpnext/production/doctype/ppw_detail/ppw_detail.txt
similarity index 100%
rename from production/doctype/ppw_detail/ppw_detail.txt
rename to erpnext/production/doctype/ppw_detail/ppw_detail.txt
diff --git a/production/doctype/pro_detail/__init__.py b/erpnext/production/doctype/pro_detail/__init__.py
similarity index 100%
rename from production/doctype/pro_detail/__init__.py
rename to erpnext/production/doctype/pro_detail/__init__.py
diff --git a/production/doctype/pro_detail/pro_detail.txt b/erpnext/production/doctype/pro_detail/pro_detail.txt
similarity index 100%
rename from production/doctype/pro_detail/pro_detail.txt
rename to erpnext/production/doctype/pro_detail/pro_detail.txt
diff --git a/production/doctype/pro_pp_detail/__init__.py b/erpnext/production/doctype/pro_pp_detail/__init__.py
similarity index 100%
rename from production/doctype/pro_pp_detail/__init__.py
rename to erpnext/production/doctype/pro_pp_detail/__init__.py
diff --git a/production/doctype/pro_pp_detail/pro_pp_detail.txt b/erpnext/production/doctype/pro_pp_detail/pro_pp_detail.txt
similarity index 100%
rename from production/doctype/pro_pp_detail/pro_pp_detail.txt
rename to erpnext/production/doctype/pro_pp_detail/pro_pp_detail.txt
diff --git a/production/doctype/production_control/__init__.py b/erpnext/production/doctype/production_control/__init__.py
similarity index 100%
rename from production/doctype/production_control/__init__.py
rename to erpnext/production/doctype/production_control/__init__.py
diff --git a/production/doctype/production_control/production_control.py b/erpnext/production/doctype/production_control/production_control.py
similarity index 100%
rename from production/doctype/production_control/production_control.py
rename to erpnext/production/doctype/production_control/production_control.py
diff --git a/production/doctype/production_control/production_control.txt b/erpnext/production/doctype/production_control/production_control.txt
similarity index 100%
rename from production/doctype/production_control/production_control.txt
rename to erpnext/production/doctype/production_control/production_control.txt
diff --git a/production/doctype/production_order/__init__.py b/erpnext/production/doctype/production_order/__init__.py
similarity index 100%
rename from production/doctype/production_order/__init__.py
rename to erpnext/production/doctype/production_order/__init__.py
diff --git a/production/doctype/production_order/production_order.js b/erpnext/production/doctype/production_order/production_order.js
similarity index 100%
rename from production/doctype/production_order/production_order.js
rename to erpnext/production/doctype/production_order/production_order.js
diff --git a/production/doctype/production_order/production_order.py b/erpnext/production/doctype/production_order/production_order.py
similarity index 100%
rename from production/doctype/production_order/production_order.py
rename to erpnext/production/doctype/production_order/production_order.py
diff --git a/production/doctype/production_order/production_order.txt b/erpnext/production/doctype/production_order/production_order.txt
similarity index 100%
rename from production/doctype/production_order/production_order.txt
rename to erpnext/production/doctype/production_order/production_order.txt
diff --git a/production/doctype/production_planning_tool/__init__.py b/erpnext/production/doctype/production_planning_tool/__init__.py
similarity index 100%
rename from production/doctype/production_planning_tool/__init__.py
rename to erpnext/production/doctype/production_planning_tool/__init__.py
diff --git a/production/doctype/production_planning_tool/production_planning_tool.js b/erpnext/production/doctype/production_planning_tool/production_planning_tool.js
similarity index 100%
rename from production/doctype/production_planning_tool/production_planning_tool.js
rename to erpnext/production/doctype/production_planning_tool/production_planning_tool.js
diff --git a/production/doctype/production_planning_tool/production_planning_tool.py b/erpnext/production/doctype/production_planning_tool/production_planning_tool.py
similarity index 100%
rename from production/doctype/production_planning_tool/production_planning_tool.py
rename to erpnext/production/doctype/production_planning_tool/production_planning_tool.py
diff --git a/production/doctype/production_planning_tool/production_planning_tool.txt b/erpnext/production/doctype/production_planning_tool/production_planning_tool.txt
similarity index 100%
rename from production/doctype/production_planning_tool/production_planning_tool.txt
rename to erpnext/production/doctype/production_planning_tool/production_planning_tool.txt
diff --git a/production/doctype/update_delivery_date/__init__.py b/erpnext/production/doctype/update_delivery_date/__init__.py
similarity index 100%
rename from production/doctype/update_delivery_date/__init__.py
rename to erpnext/production/doctype/update_delivery_date/__init__.py
diff --git a/production/doctype/update_delivery_date/update_delivery_date.js b/erpnext/production/doctype/update_delivery_date/update_delivery_date.js
similarity index 100%
rename from production/doctype/update_delivery_date/update_delivery_date.js
rename to erpnext/production/doctype/update_delivery_date/update_delivery_date.js
diff --git a/production/doctype/update_delivery_date/update_delivery_date.py b/erpnext/production/doctype/update_delivery_date/update_delivery_date.py
similarity index 100%
rename from production/doctype/update_delivery_date/update_delivery_date.py
rename to erpnext/production/doctype/update_delivery_date/update_delivery_date.py
diff --git a/production/doctype/update_delivery_date/update_delivery_date.txt b/erpnext/production/doctype/update_delivery_date/update_delivery_date.txt
similarity index 100%
rename from production/doctype/update_delivery_date/update_delivery_date.txt
rename to erpnext/production/doctype/update_delivery_date/update_delivery_date.txt
diff --git a/production/doctype/update_delivery_date_detail/__init__.py b/erpnext/production/doctype/update_delivery_date_detail/__init__.py
similarity index 100%
rename from production/doctype/update_delivery_date_detail/__init__.py
rename to erpnext/production/doctype/update_delivery_date_detail/__init__.py
diff --git a/production/doctype/update_delivery_date_detail/update_delivery_date_detail.txt b/erpnext/production/doctype/update_delivery_date_detail/update_delivery_date_detail.txt
similarity index 100%
rename from production/doctype/update_delivery_date_detail/update_delivery_date_detail.txt
rename to erpnext/production/doctype/update_delivery_date_detail/update_delivery_date_detail.txt
diff --git a/production/doctype/workstation/__init__.py b/erpnext/production/doctype/workstation/__init__.py
similarity index 100%
rename from production/doctype/workstation/__init__.py
rename to erpnext/production/doctype/workstation/__init__.py
diff --git a/production/doctype/workstation/workstation.js b/erpnext/production/doctype/workstation/workstation.js
similarity index 100%
rename from production/doctype/workstation/workstation.js
rename to erpnext/production/doctype/workstation/workstation.js
diff --git a/production/doctype/workstation/workstation.py b/erpnext/production/doctype/workstation/workstation.py
similarity index 100%
rename from production/doctype/workstation/workstation.py
rename to erpnext/production/doctype/workstation/workstation.py
diff --git a/production/doctype/workstation/workstation.txt b/erpnext/production/doctype/workstation/workstation.txt
similarity index 100%
rename from production/doctype/workstation/workstation.txt
rename to erpnext/production/doctype/workstation/workstation.txt
diff --git a/production/page/__init__.py b/erpnext/production/page/__init__.py
similarity index 100%
rename from production/page/__init__.py
rename to erpnext/production/page/__init__.py
diff --git a/production/page/bill_of_materials/__init__.py b/erpnext/production/page/bill_of_materials/__init__.py
similarity index 100%
rename from production/page/bill_of_materials/__init__.py
rename to erpnext/production/page/bill_of_materials/__init__.py
diff --git a/production/page/bill_of_materials/bill_of_materials.html b/erpnext/production/page/bill_of_materials/bill_of_materials.html
similarity index 100%
rename from production/page/bill_of_materials/bill_of_materials.html
rename to erpnext/production/page/bill_of_materials/bill_of_materials.html
diff --git a/production/page/bill_of_materials/bill_of_materials.js b/erpnext/production/page/bill_of_materials/bill_of_materials.js
similarity index 100%
rename from production/page/bill_of_materials/bill_of_materials.js
rename to erpnext/production/page/bill_of_materials/bill_of_materials.js
diff --git a/production/page/bill_of_materials/bill_of_materials.txt b/erpnext/production/page/bill_of_materials/bill_of_materials.txt
similarity index 100%
rename from production/page/bill_of_materials/bill_of_materials.txt
rename to erpnext/production/page/bill_of_materials/bill_of_materials.txt
diff --git a/production/search_criteria/__init__.py b/erpnext/production/search_criteria/__init__.py
similarity index 100%
rename from production/search_criteria/__init__.py
rename to erpnext/production/search_criteria/__init__.py
diff --git a/production/search_criteria/consumption_against_production/__init__.py b/erpnext/production/search_criteria/consumption_against_production/__init__.py
similarity index 100%
rename from production/search_criteria/consumption_against_production/__init__.py
rename to erpnext/production/search_criteria/consumption_against_production/__init__.py
diff --git a/production/search_criteria/consumption_against_production/consumption_against_production.txt b/erpnext/production/search_criteria/consumption_against_production/consumption_against_production.txt
similarity index 100%
rename from production/search_criteria/consumption_against_production/consumption_against_production.txt
rename to erpnext/production/search_criteria/consumption_against_production/consumption_against_production.txt
diff --git a/production/search_criteria/delivery_plan/__init__.py b/erpnext/production/search_criteria/delivery_plan/__init__.py
similarity index 100%
rename from production/search_criteria/delivery_plan/__init__.py
rename to erpnext/production/search_criteria/delivery_plan/__init__.py
diff --git a/production/search_criteria/delivery_plan/delivery_plan.js b/erpnext/production/search_criteria/delivery_plan/delivery_plan.js
similarity index 100%
rename from production/search_criteria/delivery_plan/delivery_plan.js
rename to erpnext/production/search_criteria/delivery_plan/delivery_plan.js
diff --git a/production/search_criteria/delivery_plan/delivery_plan.txt b/erpnext/production/search_criteria/delivery_plan/delivery_plan.txt
similarity index 100%
rename from production/search_criteria/delivery_plan/delivery_plan.txt
rename to erpnext/production/search_criteria/delivery_plan/delivery_plan.txt
diff --git a/production/search_criteria/itemwise_production_report/__init__.py b/erpnext/production/search_criteria/itemwise_production_report/__init__.py
similarity index 100%
rename from production/search_criteria/itemwise_production_report/__init__.py
rename to erpnext/production/search_criteria/itemwise_production_report/__init__.py
diff --git a/production/search_criteria/itemwise_production_report/itemwise_production_report.js b/erpnext/production/search_criteria/itemwise_production_report/itemwise_production_report.js
similarity index 100%
rename from production/search_criteria/itemwise_production_report/itemwise_production_report.js
rename to erpnext/production/search_criteria/itemwise_production_report/itemwise_production_report.js
diff --git a/production/search_criteria/itemwise_production_report/itemwise_production_report.txt b/erpnext/production/search_criteria/itemwise_production_report/itemwise_production_report.txt
similarity index 100%
rename from production/search_criteria/itemwise_production_report/itemwise_production_report.txt
rename to erpnext/production/search_criteria/itemwise_production_report/itemwise_production_report.txt
diff --git a/production/search_criteria/production_orders_in_process/__init__.py b/erpnext/production/search_criteria/production_orders_in_process/__init__.py
similarity index 100%
rename from production/search_criteria/production_orders_in_process/__init__.py
rename to erpnext/production/search_criteria/production_orders_in_process/__init__.py
diff --git a/production/search_criteria/production_orders_in_process/production_orders_in_process.txt b/erpnext/production/search_criteria/production_orders_in_process/production_orders_in_process.txt
similarity index 100%
rename from production/search_criteria/production_orders_in_process/production_orders_in_process.txt
rename to erpnext/production/search_criteria/production_orders_in_process/production_orders_in_process.txt
diff --git a/projects/Module Def/Projects/Projects.txt b/erpnext/projects/Module Def/Projects/Projects.txt
similarity index 100%
rename from projects/Module Def/Projects/Projects.txt
rename to erpnext/projects/Module Def/Projects/Projects.txt
diff --git a/projects/Role/Projects User/Projects User.txt b/erpnext/projects/Role/Projects User/Projects User.txt
similarity index 100%
rename from projects/Role/Projects User/Projects User.txt
rename to erpnext/projects/Role/Projects User/Projects User.txt
diff --git a/projects/__init__.py b/erpnext/projects/__init__.py
similarity index 100%
rename from projects/__init__.py
rename to erpnext/projects/__init__.py
diff --git a/projects/doctype/__init__.py b/erpnext/projects/doctype/__init__.py
similarity index 100%
rename from projects/doctype/__init__.py
rename to erpnext/projects/doctype/__init__.py
diff --git a/projects/doctype/activity_type/__init__.py b/erpnext/projects/doctype/activity_type/__init__.py
similarity index 100%
rename from projects/doctype/activity_type/__init__.py
rename to erpnext/projects/doctype/activity_type/__init__.py
diff --git a/projects/doctype/activity_type/activity_type.txt b/erpnext/projects/doctype/activity_type/activity_type.txt
similarity index 100%
rename from projects/doctype/activity_type/activity_type.txt
rename to erpnext/projects/doctype/activity_type/activity_type.txt
diff --git a/projects/doctype/project/__init__.py b/erpnext/projects/doctype/project/__init__.py
similarity index 100%
rename from projects/doctype/project/__init__.py
rename to erpnext/projects/doctype/project/__init__.py
diff --git a/projects/doctype/project/project.js b/erpnext/projects/doctype/project/project.js
similarity index 100%
rename from projects/doctype/project/project.js
rename to erpnext/projects/doctype/project/project.js
diff --git a/projects/doctype/project/project.py b/erpnext/projects/doctype/project/project.py
similarity index 100%
rename from projects/doctype/project/project.py
rename to erpnext/projects/doctype/project/project.py
diff --git a/projects/doctype/project/project.txt b/erpnext/projects/doctype/project/project.txt
similarity index 100%
rename from projects/doctype/project/project.txt
rename to erpnext/projects/doctype/project/project.txt
diff --git a/projects/doctype/project_activity/__init__.py b/erpnext/projects/doctype/project_activity/__init__.py
similarity index 100%
rename from projects/doctype/project_activity/__init__.py
rename to erpnext/projects/doctype/project_activity/__init__.py
diff --git a/projects/doctype/project_activity/project_activity.js b/erpnext/projects/doctype/project_activity/project_activity.js
similarity index 100%
rename from projects/doctype/project_activity/project_activity.js
rename to erpnext/projects/doctype/project_activity/project_activity.js
diff --git a/projects/doctype/project_activity/project_activity.py b/erpnext/projects/doctype/project_activity/project_activity.py
similarity index 100%
rename from projects/doctype/project_activity/project_activity.py
rename to erpnext/projects/doctype/project_activity/project_activity.py
diff --git a/projects/doctype/project_activity/project_activity.txt b/erpnext/projects/doctype/project_activity/project_activity.txt
similarity index 100%
rename from projects/doctype/project_activity/project_activity.txt
rename to erpnext/projects/doctype/project_activity/project_activity.txt
diff --git a/projects/doctype/project_activity_update/__init__.py b/erpnext/projects/doctype/project_activity_update/__init__.py
similarity index 100%
rename from projects/doctype/project_activity_update/__init__.py
rename to erpnext/projects/doctype/project_activity_update/__init__.py
diff --git a/projects/doctype/project_activity_update/project_activity_update.txt b/erpnext/projects/doctype/project_activity_update/project_activity_update.txt
similarity index 100%
rename from projects/doctype/project_activity_update/project_activity_update.txt
rename to erpnext/projects/doctype/project_activity_update/project_activity_update.txt
diff --git a/projects/doctype/project_control/__init__.py b/erpnext/projects/doctype/project_control/__init__.py
similarity index 100%
rename from projects/doctype/project_control/__init__.py
rename to erpnext/projects/doctype/project_control/__init__.py
diff --git a/projects/doctype/project_control/project_control.py b/erpnext/projects/doctype/project_control/project_control.py
similarity index 100%
rename from projects/doctype/project_control/project_control.py
rename to erpnext/projects/doctype/project_control/project_control.py
diff --git a/projects/doctype/project_control/project_control.txt b/erpnext/projects/doctype/project_control/project_control.txt
similarity index 100%
rename from projects/doctype/project_control/project_control.txt
rename to erpnext/projects/doctype/project_control/project_control.txt
diff --git a/projects/doctype/project_milestone/__init__.py b/erpnext/projects/doctype/project_milestone/__init__.py
similarity index 100%
rename from projects/doctype/project_milestone/__init__.py
rename to erpnext/projects/doctype/project_milestone/__init__.py
diff --git a/projects/doctype/project_milestone/project_milestone.txt b/erpnext/projects/doctype/project_milestone/project_milestone.txt
similarity index 100%
rename from projects/doctype/project_milestone/project_milestone.txt
rename to erpnext/projects/doctype/project_milestone/project_milestone.txt
diff --git a/projects/doctype/ticket/__init__.py b/erpnext/projects/doctype/ticket/__init__.py
similarity index 100%
rename from projects/doctype/ticket/__init__.py
rename to erpnext/projects/doctype/ticket/__init__.py
diff --git a/projects/doctype/ticket/ticket.js b/erpnext/projects/doctype/ticket/ticket.js
similarity index 100%
rename from projects/doctype/ticket/ticket.js
rename to erpnext/projects/doctype/ticket/ticket.js
diff --git a/projects/doctype/ticket/ticket.py b/erpnext/projects/doctype/ticket/ticket.py
similarity index 100%
rename from projects/doctype/ticket/ticket.py
rename to erpnext/projects/doctype/ticket/ticket.py
diff --git a/projects/doctype/ticket/ticket.txt b/erpnext/projects/doctype/ticket/ticket.txt
similarity index 100%
rename from projects/doctype/ticket/ticket.txt
rename to erpnext/projects/doctype/ticket/ticket.txt
diff --git a/projects/doctype/timesheet/__init__.py b/erpnext/projects/doctype/timesheet/__init__.py
similarity index 100%
rename from projects/doctype/timesheet/__init__.py
rename to erpnext/projects/doctype/timesheet/__init__.py
diff --git a/projects/doctype/timesheet/timesheet.js b/erpnext/projects/doctype/timesheet/timesheet.js
similarity index 100%
rename from projects/doctype/timesheet/timesheet.js
rename to erpnext/projects/doctype/timesheet/timesheet.js
diff --git a/projects/doctype/timesheet/timesheet.py b/erpnext/projects/doctype/timesheet/timesheet.py
similarity index 100%
rename from projects/doctype/timesheet/timesheet.py
rename to erpnext/projects/doctype/timesheet/timesheet.py
diff --git a/projects/doctype/timesheet/timesheet.txt b/erpnext/projects/doctype/timesheet/timesheet.txt
similarity index 100%
rename from projects/doctype/timesheet/timesheet.txt
rename to erpnext/projects/doctype/timesheet/timesheet.txt
diff --git a/projects/doctype/timesheet_detail/__init__.py b/erpnext/projects/doctype/timesheet_detail/__init__.py
similarity index 100%
rename from projects/doctype/timesheet_detail/__init__.py
rename to erpnext/projects/doctype/timesheet_detail/__init__.py
diff --git a/projects/doctype/timesheet_detail/timesheet_detail.txt b/erpnext/projects/doctype/timesheet_detail/timesheet_detail.txt
similarity index 100%
rename from projects/doctype/timesheet_detail/timesheet_detail.txt
rename to erpnext/projects/doctype/timesheet_detail/timesheet_detail.txt
diff --git a/projects/page/__init__.py b/erpnext/projects/page/__init__.py
similarity index 100%
rename from projects/page/__init__.py
rename to erpnext/projects/page/__init__.py
diff --git a/projects/page/projects/__init__.py b/erpnext/projects/page/projects/__init__.py
similarity index 100%
rename from projects/page/projects/__init__.py
rename to erpnext/projects/page/projects/__init__.py
diff --git a/projects/page/projects/projects.html b/erpnext/projects/page/projects/projects.html
similarity index 100%
rename from projects/page/projects/projects.html
rename to erpnext/projects/page/projects/projects.html
diff --git a/projects/page/projects/projects.js b/erpnext/projects/page/projects/projects.js
similarity index 100%
rename from projects/page/projects/projects.js
rename to erpnext/projects/page/projects/projects.js
diff --git a/projects/page/projects/projects.txt b/erpnext/projects/page/projects/projects.txt
similarity index 100%
rename from projects/page/projects/projects.txt
rename to erpnext/projects/page/projects/projects.txt
diff --git a/projects/page/projects/projects_static.html b/erpnext/projects/page/projects/projects_static.html
similarity index 100%
rename from projects/page/projects/projects_static.html
rename to erpnext/projects/page/projects/projects_static.html
diff --git a/projects/search_criteria/__init__.py b/erpnext/projects/search_criteria/__init__.py
similarity index 100%
rename from projects/search_criteria/__init__.py
rename to erpnext/projects/search_criteria/__init__.py
diff --git a/projects/search_criteria/dispatch_report/__init__.py b/erpnext/projects/search_criteria/dispatch_report/__init__.py
similarity index 100%
rename from projects/search_criteria/dispatch_report/__init__.py
rename to erpnext/projects/search_criteria/dispatch_report/__init__.py
diff --git a/projects/search_criteria/dispatch_report/dispatch_report.js b/erpnext/projects/search_criteria/dispatch_report/dispatch_report.js
similarity index 100%
rename from projects/search_criteria/dispatch_report/dispatch_report.js
rename to erpnext/projects/search_criteria/dispatch_report/dispatch_report.js
diff --git a/projects/search_criteria/dispatch_report/dispatch_report.txt b/erpnext/projects/search_criteria/dispatch_report/dispatch_report.txt
similarity index 100%
rename from projects/search_criteria/dispatch_report/dispatch_report.txt
rename to erpnext/projects/search_criteria/dispatch_report/dispatch_report.txt
diff --git a/projects/search_criteria/projectwise_delivered_qty_and_costs/__init__.py b/erpnext/projects/search_criteria/projectwise_delivered_qty_and_costs/__init__.py
similarity index 100%
rename from projects/search_criteria/projectwise_delivered_qty_and_costs/__init__.py
rename to erpnext/projects/search_criteria/projectwise_delivered_qty_and_costs/__init__.py
diff --git a/projects/search_criteria/projectwise_delivered_qty_and_costs/projectwise_delivered_qty_and_costs.js b/erpnext/projects/search_criteria/projectwise_delivered_qty_and_costs/projectwise_delivered_qty_and_costs.js
similarity index 100%
rename from projects/search_criteria/projectwise_delivered_qty_and_costs/projectwise_delivered_qty_and_costs.js
rename to erpnext/projects/search_criteria/projectwise_delivered_qty_and_costs/projectwise_delivered_qty_and_costs.js
diff --git a/projects/search_criteria/projectwise_delivered_qty_and_costs/projectwise_delivered_qty_and_costs.txt b/erpnext/projects/search_criteria/projectwise_delivered_qty_and_costs/projectwise_delivered_qty_and_costs.txt
similarity index 100%
rename from projects/search_criteria/projectwise_delivered_qty_and_costs/projectwise_delivered_qty_and_costs.txt
rename to erpnext/projects/search_criteria/projectwise_delivered_qty_and_costs/projectwise_delivered_qty_and_costs.txt
diff --git a/projects/search_criteria/projectwise_pending_qty_and_costs/__init__.py b/erpnext/projects/search_criteria/projectwise_pending_qty_and_costs/__init__.py
similarity index 100%
rename from projects/search_criteria/projectwise_pending_qty_and_costs/__init__.py
rename to erpnext/projects/search_criteria/projectwise_pending_qty_and_costs/__init__.py
diff --git a/projects/search_criteria/projectwise_pending_qty_and_costs/projectwise_pending_qty_and_costs.js b/erpnext/projects/search_criteria/projectwise_pending_qty_and_costs/projectwise_pending_qty_and_costs.js
similarity index 100%
rename from projects/search_criteria/projectwise_pending_qty_and_costs/projectwise_pending_qty_and_costs.js
rename to erpnext/projects/search_criteria/projectwise_pending_qty_and_costs/projectwise_pending_qty_and_costs.js
diff --git a/projects/search_criteria/projectwise_pending_qty_and_costs/projectwise_pending_qty_and_costs.txt b/erpnext/projects/search_criteria/projectwise_pending_qty_and_costs/projectwise_pending_qty_and_costs.txt
similarity index 100%
rename from projects/search_criteria/projectwise_pending_qty_and_costs/projectwise_pending_qty_and_costs.txt
rename to erpnext/projects/search_criteria/projectwise_pending_qty_and_costs/projectwise_pending_qty_and_costs.txt
diff --git a/projects/search_criteria/projectwise_purchase_details/__init__.py b/erpnext/projects/search_criteria/projectwise_purchase_details/__init__.py
similarity index 100%
rename from projects/search_criteria/projectwise_purchase_details/__init__.py
rename to erpnext/projects/search_criteria/projectwise_purchase_details/__init__.py
diff --git a/projects/search_criteria/projectwise_purchase_details/projectwise_purchase_details.js b/erpnext/projects/search_criteria/projectwise_purchase_details/projectwise_purchase_details.js
similarity index 100%
rename from projects/search_criteria/projectwise_purchase_details/projectwise_purchase_details.js
rename to erpnext/projects/search_criteria/projectwise_purchase_details/projectwise_purchase_details.js
diff --git a/projects/search_criteria/projectwise_purchase_details/projectwise_purchase_details.py b/erpnext/projects/search_criteria/projectwise_purchase_details/projectwise_purchase_details.py
similarity index 100%
rename from projects/search_criteria/projectwise_purchase_details/projectwise_purchase_details.py
rename to erpnext/projects/search_criteria/projectwise_purchase_details/projectwise_purchase_details.py
diff --git a/projects/search_criteria/projectwise_purchase_details/projectwise_purchase_details.txt b/erpnext/projects/search_criteria/projectwise_purchase_details/projectwise_purchase_details.txt
similarity index 100%
rename from projects/search_criteria/projectwise_purchase_details/projectwise_purchase_details.txt
rename to erpnext/projects/search_criteria/projectwise_purchase_details/projectwise_purchase_details.txt
diff --git a/projects/search_criteria/projectwise_sales_details/__init__.py b/erpnext/projects/search_criteria/projectwise_sales_details/__init__.py
similarity index 100%
rename from projects/search_criteria/projectwise_sales_details/__init__.py
rename to erpnext/projects/search_criteria/projectwise_sales_details/__init__.py
diff --git a/projects/search_criteria/projectwise_sales_details/projectwise_sales_details.js b/erpnext/projects/search_criteria/projectwise_sales_details/projectwise_sales_details.js
similarity index 100%
rename from projects/search_criteria/projectwise_sales_details/projectwise_sales_details.js
rename to erpnext/projects/search_criteria/projectwise_sales_details/projectwise_sales_details.js
diff --git a/projects/search_criteria/projectwise_sales_details/projectwise_sales_details.py b/erpnext/projects/search_criteria/projectwise_sales_details/projectwise_sales_details.py
similarity index 100%
rename from projects/search_criteria/projectwise_sales_details/projectwise_sales_details.py
rename to erpnext/projects/search_criteria/projectwise_sales_details/projectwise_sales_details.py
diff --git a/projects/search_criteria/projectwise_sales_details/projectwise_sales_details.txt b/erpnext/projects/search_criteria/projectwise_sales_details/projectwise_sales_details.txt
similarity index 100%
rename from projects/search_criteria/projectwise_sales_details/projectwise_sales_details.txt
rename to erpnext/projects/search_criteria/projectwise_sales_details/projectwise_sales_details.txt
diff --git a/projects/search_criteria/projectwise_sales_orders/__init__.py b/erpnext/projects/search_criteria/projectwise_sales_orders/__init__.py
similarity index 100%
rename from projects/search_criteria/projectwise_sales_orders/__init__.py
rename to erpnext/projects/search_criteria/projectwise_sales_orders/__init__.py
diff --git a/projects/search_criteria/projectwise_sales_orders/projectwise_sales_orders.txt b/erpnext/projects/search_criteria/projectwise_sales_orders/projectwise_sales_orders.txt
similarity index 100%
rename from projects/search_criteria/projectwise_sales_orders/projectwise_sales_orders.txt
rename to erpnext/projects/search_criteria/projectwise_sales_orders/projectwise_sales_orders.txt
diff --git a/projects/search_criteria/timesheet_report/__init__.py b/erpnext/projects/search_criteria/timesheet_report/__init__.py
similarity index 100%
rename from projects/search_criteria/timesheet_report/__init__.py
rename to erpnext/projects/search_criteria/timesheet_report/__init__.py
diff --git a/projects/search_criteria/timesheet_report/timesheet_report.js b/erpnext/projects/search_criteria/timesheet_report/timesheet_report.js
similarity index 100%
rename from projects/search_criteria/timesheet_report/timesheet_report.js
rename to erpnext/projects/search_criteria/timesheet_report/timesheet_report.js
diff --git a/projects/search_criteria/timesheet_report/timesheet_report.txt b/erpnext/projects/search_criteria/timesheet_report/timesheet_report.txt
similarity index 100%
rename from projects/search_criteria/timesheet_report/timesheet_report.txt
rename to erpnext/projects/search_criteria/timesheet_report/timesheet_report.txt
diff --git a/stock/doctype/item_tax/__init__.py b/erpnext/sandbox/__init__.py
similarity index 100%
copy from stock/doctype/item_tax/__init__.py
copy to erpnext/sandbox/__init__.py
diff --git a/erpnext/sandbox/test_stock_entry.py b/erpnext/sandbox/test_stock_entry.py
new file mode 100644
index 0000000..f1035bc
--- /dev/null
+++ b/erpnext/sandbox/test_stock_entry.py
@@ -0,0 +1,380 @@
+import unittest
+
+import webnotes
+import webnotes.profile
+webnotes.user = webnotes.profile.Profile()
+
+
+from webnotes.model.doc import Document
+from webnotes.model.code import get_obj
+from webnotes.utils import cstr, flt
+from webnotes.model.doclist import getlist
+sql = webnotes.conn.sql
+
+from sandbox.testdata.masters import *
+from sandbox.testdata import stock_entry
+#----------------------------------------------------------
+
+
+class TestStockEntry(unittest.TestCase):
+	#===========================================================================
+	def assertDoc(self, lst):
+		"""assert all values"""
+		for d in lst:
+			cl, vl = [], []
+			for k in d.keys():
+				if k!='doctype':
+					cl.append('%s=%s' % (k, '%s'))
+					vl.append(d[k])
+
+			self.assertTrue(sql("select name from `tab%s` where %s limit 1" % (d['doctype'], ' and '.join(cl)), vl))
+			
+	#===========================================================================
+	def assertCount(self, lst):
+		"""assert all values"""
+		for d in lst:
+			cl, vl = [], []
+			for k in d[0].keys():
+				if k!='doctype':
+					cl.append('%s=%s' % (k, '%s'))
+					vl.append(d[0][k])
+
+			self.assertTrue(sql("select count(name) from `tab%s` where %s limit 1" % (d[0]['doctype'], ' and '.join(cl)), vl)[0][0] == d[1])
+		
+	#===========================================================================
+	def setUp(self):
+		print "====================================="
+		webnotes.conn.begin()		
+		create_master_records()
+		print 'Master Data Created'
+		
+	#===========================================================================
+	# Purpose: Material Receipt
+	#===========================================================================
+	def test_mr_onsubmit(self):
+		print "Test Case: Material Receipt submission"
+		self.save_stock_entry('Material Receipt')
+
+		mr = get_obj('Stock Entry', stock_entry.mr[0].name, with_children=1)
+		self.submit_stock_entry(mr)
+		
+		# stock ledger entry
+		print "Checking stock ledger entry........."
+		self.assertDoc(self.get_expected_sle('mr_submit'))
+		
+		# bin qty
+		print "Checking Bin qty........."
+		self.assertDoc([{'doctype':'Bin', 'actual_qty':10, 'item_code':'it', 'warehouse':'wh1'}])
+		
+		# serial no
+		self.assertCount([[{'doctype': 'Serial No', 'item_code': 'it', 'warehouse': 'wh1', 'status': 'In Store', 'docstatus': 0}, 10]])
+
+		
+	#===========================================================================
+	def test_mr_oncancel(self):
+		print "Test Case: Material Receipt Cancellation"
+		self.save_stock_entry('Material Receipt')
+		
+		mr = get_obj('Stock Entry', stock_entry.mr[0].name, with_children=1)
+		self.cancel_stock_entry(mr)
+		
+		# stock ledger entry
+		print "Checking stock ledger entry........."
+		self.assertDoc(self.get_expected_sle('mr_cancel'))
+		
+		# bin qty
+		print "Checking Bin qty........."
+		self.assertDoc([{'doctype':'Bin', 'actual_qty':0, 'item_code':'it', 'warehouse':'wh1'}])
+		
+		# serial no
+		self.assertCount([[{'doctype': 'Serial No', 'item_code': 'it', 'warehouse': '', 'status': 'Not in Use', 'docstatus': 2}, 10]])
+		
+	#===========================================================================
+	# Purpose: Material Transafer
+	#===========================================================================
+	def test_mtn_onsubmit(self):
+		print "Test Case: Material Transfer Note submission"
+		
+		self.save_stock_entry('Material Receipt')
+		mr = get_obj('Stock Entry', stock_entry.mr[0].name, with_children=1)
+		mr = self.submit_stock_entry(mr)
+		
+		self.save_stock_entry('Material Transfer')
+		mtn = get_obj('Stock Entry', stock_entry.mtn[0].name, with_children=1)
+		tn = self.submit_stock_entry(mtn)
+		
+		# stock ledger entry
+		print "Checking stock ledger entry........."
+		self.assertDoc(self.get_expected_sle('mtn_submit'))
+		
+		# bin qty
+		print "Checking Bin qty........."
+		self.assertDoc([
+			{'doctype':'Bin', 'actual_qty':5, 'item_code':'it', 'warehouse':'wh1'},
+			{'doctype':'Bin', 'actual_qty':5, 'item_code':'it', 'warehouse':'wh2'}
+		])
+		
+		# serial no		
+		self.assertCount([
+			[{'doctype': 'Serial No', 'item_code': 'it', 'warehouse': 'wh1', 'status': 'In Store', 'docstatus': 0}, 5], 
+			[{'doctype': 'Serial No', 'item_code': 'it', 'warehouse': 'wh2', 'status': 'In Store', 'docstatus': 0}, 5]
+		])
+		
+	#===========================================================================
+	def test_mtn_oncancel(self):
+		print "Test Case: Material Transfer Note Cancellation"
+		
+		self.save_stock_entry('Material Receipt')
+		mr = get_obj('Stock Entry', stock_entry.mr[0].name, with_children=1)
+		mr = self.submit_stock_entry(mr)
+		
+		self.save_stock_entry('Material Transfer')
+		mtn = get_obj('Stock Entry', stock_entry.mtn[0].name, with_children=1)
+		self.cancel_stock_entry(mtn)
+		
+		# stock ledger entry
+		print "Checking stock ledger entry........."
+		self.assertDoc(self.get_expected_sle('mtn_cancel'))
+		
+		# bin qty
+		print "Checking Bin qty........."
+		self.assertDoc([
+			{'doctype':'Bin', 'actual_qty':10, 'item_code':'it', 'warehouse':'wh1'},
+			{'doctype':'Bin', 'actual_qty':0, 'item_code':'it', 'warehouse':'wh2'}
+		])
+		
+		# serial no
+		self.assertCount([[{'doctype': 'Serial No', 'item_code': 'it', 'warehouse': 'wh1', 'status': 'In Store', 'docstatus': 0}, 10]])
+		
+#===========================================================================
+	# Purpose: Material Issue
+	#===========================================================================
+	def test_mi_onsubmit(self):
+		print "Test Case: Material Issue submission"
+		
+		self.save_stock_entry('Material Receipt')
+		mr = get_obj('Stock Entry', stock_entry.mr[0].name, with_children=1)
+		mr = self.submit_stock_entry(mr)
+		
+		self.save_stock_entry('Material Issue')
+		mi = get_obj('Stock Entry', stock_entry.mi[0].name, with_children=1)
+		mi = self.submit_stock_entry(mi)
+		
+		# stock ledger entry
+		print "Checking stock ledger entry........."
+		self.assertDoc(self.get_expected_sle('mi_submit'))
+		
+		# bin qty
+		print "Checking Bin qty........."
+		self.assertDoc([
+			{'doctype':'Bin', 'actual_qty':6, 'item_code':'it', 'warehouse':'wh1'}
+		])
+		
+		# serial no		
+		self.assertCount([
+			[{'doctype': 'Serial No', 'item_code': 'it', 'warehouse': 'wh1', 'status': 'In Store', 'docstatus': 0}, 6]
+		])
+		
+	#===========================================================================
+	def test_mi_oncancel(self):
+		print "Test Case: Material Issue Cancellation"
+		
+		self.save_stock_entry('Material Receipt')
+		mr = get_obj('Stock Entry', stock_entry.mr[0].name, with_children=1)
+		mr = self.submit_stock_entry(mr)
+		
+		self.save_stock_entry('Material Issue')
+		mi = get_obj('Stock Entry', stock_entry.mi[0].name, with_children=1)
+		self.cancel_stock_entry(mi)
+		
+		# stock ledger entry
+		print "Checking stock ledger entry........."
+		self.assertDoc(self.get_expected_sle('mi_cancel'))
+		
+		# bin qty
+		print "Checking Bin qty........."
+		self.assertDoc([
+			{'doctype':'Bin', 'actual_qty':10, 'item_code':'it', 'warehouse':'wh1'}
+		])
+		
+		# serial no
+		self.assertCount([
+			[{'doctype': 'Serial No', 'item_code': 'it', 'warehouse': 'wh1', 'status': 'In Store', 'docstatus': 0}, 10]
+		])
+
+		
+
+	#===========================================================================
+	def save_stock_entry(self, t):
+		if t == 'Material Receipt':
+			data = stock_entry.mr
+		elif t == 'Material Transfer':
+			data = stock_entry.mtn
+		elif t == 'Material Issue':
+			data = stock_entry.mi
+			
+		for each in data:
+			each.save(1)
+
+		for t in data[1:]:
+			sql("update `tabStock Entry Detail` set parent = '%s' where name = '%s'" % (data[0].name, t.name))
+		print "Stock Entry Created"
+		
+		
+	#===========================================================================
+	def submit_stock_entry(self, ste):
+		ste.validate()
+		ste.on_submit()
+		
+		ste.doc.docstatus = 1
+		ste.doc.save()
+
+		print "Stock Entry Submitted"
+		return ste
+			
+	#===========================================================================
+	def cancel_stock_entry(self, ste):
+		ste = self.submit_stock_entry(ste)
+		
+		ste.on_cancel()
+		
+		ste.doc.cancel_reason = "testing"
+		ste.doc.docstatus = 2
+		ste.doc.save()
+		
+		print "Stock Entry Cancelled"
+		return ste
+		
+	#===========================================================================
+	def tearDown(self):
+		webnotes.conn.rollback()
+
+
+	# Expected Result Set
+	#===================================================================================================
+	def get_expected_sle(self, action):
+		expected_sle = {
+			'mr_submit': [{
+							'doctype': 'Stock Ledger Entry',
+							'item_code':'it',
+							'warehouse':'wh1', 
+							'voucher_type': 'Stock Entry',
+							'voucher_no': stock_entry.mr[0].name,
+							'actual_qty': 10,
+							'bin_aqat': 10,
+							'valuation_rate': 100,
+							'is_cancelled': 'No'
+						}],
+			'mr_cancel': [{
+							'doctype': 'Stock Ledger Entry', 
+							'item_code':'it',
+							'warehouse':'wh1',
+							'voucher_type': 'Stock Entry',
+							'voucher_no': stock_entry.mr[0].name,
+							'actual_qty': 10,
+							'bin_aqat': 10,
+							'valuation_rate': 100,
+							'is_cancelled': 'Yes'
+						},{
+							'doctype': 'Stock Ledger Entry', 
+							'item_code':'it',
+							'warehouse':'wh1',
+							'voucher_type': 'Stock Entry',
+							'voucher_no': stock_entry.mr[0].name,
+							'actual_qty': -10,
+							'ifnull(bin_aqat, 0)': 0,
+							'ifnull(valuation_rate, 0)': 0,
+							"ifnull(is_cancelled, 'No')": 'Yes'
+						}],
+			'mtn_submit': [{
+							'doctype': 'Stock Ledger Entry',
+							'item_code':'it',
+							'warehouse':'wh1',
+							'voucher_type': 'Stock Entry',
+							'voucher_no': stock_entry.mtn[0].name,
+							'actual_qty': -5,
+							'bin_aqat': 5,
+							'valuation_rate': 100,
+							'is_cancelled': 'No'
+						}, {
+							'doctype': 'Stock Ledger Entry',
+							'item_code':'it',
+							'warehouse':'wh2',
+							'voucher_type': 'Stock Entry',
+							'voucher_no': stock_entry.mtn[0].name,
+							'actual_qty': 5,
+							'bin_aqat': 5,
+							'valuation_rate': 100,
+							'is_cancelled': 'No'
+						}],
+			'mtn_cancel': [{
+							'doctype': 'Stock Ledger Entry',
+							'item_code':'it',
+							'warehouse':'wh1',
+							'voucher_type': 'Stock Entry',
+							'voucher_no': stock_entry.mtn[0].name,
+							'actual_qty': -5,
+							'bin_aqat': 5,
+							'is_cancelled': 'Yes'
+						}, {
+							'doctype': 'Stock Ledger Entry',
+							'item_code':'it',
+							'warehouse':'wh2',
+							'voucher_type': 'Stock Entry',
+							'voucher_no': stock_entry.mtn[0].name,
+							'actual_qty': 5,
+							'bin_aqat': 5,
+							'valuation_rate': 100,
+							'is_cancelled': 'Yes'
+						}, {
+							'doctype': 'Stock Ledger Entry',
+							'item_code':'it',
+							'warehouse':'wh1',
+							'voucher_type': 'Stock Entry',
+							'voucher_no': stock_entry.mtn[0].name,
+							'actual_qty': 5,
+							'is_cancelled': 'Yes'
+						}, {
+							'doctype': 'Stock Ledger Entry',
+							'item_code':'it',
+							'warehouse':'wh2',
+							'voucher_type': 'Stock Entry',
+							'voucher_no': stock_entry.mtn[0].name,
+							'actual_qty': -5,
+							'is_cancelled': 'Yes'
+						}],
+			'mi_submit': [{'doctype': 'Stock Ledger Entry',
+							'item_code':'it',
+							'warehouse':'wh1', 
+							'voucher_type': 'Stock Entry',
+							'voucher_no': stock_entry.mi[0].name,
+							'actual_qty': -4,
+							'bin_aqat': 6,
+							'valuation_rate': 100,
+							'is_cancelled': 'No'
+						}],
+			'mi_cancel': [{
+							'doctype': 'Stock Ledger Entry', 
+							'item_code':'it',
+							'warehouse':'wh1',
+							'voucher_type': 'Stock Entry',
+							'voucher_no': stock_entry.mi[0].name,
+							'actual_qty': -4,
+							'bin_aqat': 6,
+							'valuation_rate': 100,
+							'is_cancelled': 'Yes'
+						},{
+							'doctype': 'Stock Ledger Entry', 
+							'item_code':'it',
+							'warehouse':'wh1',
+							'voucher_type': 'Stock Entry',
+							'voucher_no': stock_entry.mi[0].name,
+							'actual_qty': 4,
+							'ifnull(bin_aqat, 0)': 0,
+							'ifnull(valuation_rate, 0)': 0,
+							"ifnull(is_cancelled, 'No')": 'Yes'
+						}]
+						
+		}
+		
+		return expected_sle[action]
diff --git a/setup/page/import_data/__init__.py b/erpnext/sandbox/testdata/__init__.py
similarity index 100%
copy from setup/page/import_data/__init__.py
copy to erpnext/sandbox/testdata/__init__.py
diff --git a/erpnext/sandbox/testdata/masters.py b/erpnext/sandbox/testdata/masters.py
new file mode 100644
index 0000000..7f2d67c
--- /dev/null
+++ b/erpnext/sandbox/testdata/masters.py
@@ -0,0 +1,282 @@
+"""
+	All master data in one place, can be created by 1 function call
+
+"""
+
+import webnotes
+from webnotes.model.doc import Document
+
+
+master_groups = {
+	# Company
+	#----------------------------------
+	'company': Document(
+		fielddata={
+			'doctype':'Company',
+			'abbr': 'co',
+			'company_name' : 'comp',
+			'name': 'comp'
+		}
+	),
+	
+	# Customer Group
+	#----------------------------------
+	'customer_group':  Document(
+		fielddata={
+			'doctype':'Customer Group',
+			'customer_group_name' : 'cg',
+			'name': 'cg',
+			'is_group': 'No',
+			'parent_customer_group':'', 
+			'lft' : 1,
+			'rgt': 2
+		}
+	),
+	
+	# Item Group
+	#----------------------------------
+	'item_group': Document(
+		fielddata = {
+			'doctype': 'Item Group',
+			'item_group_name': 'ig',
+			'lft': 1,
+			'rgt': 2,
+			'parent_item_group' : '',
+			'is_group': 'No',
+			'name': 'ig'
+		}
+	),
+	
+	# Warehouse Type
+	#-----------------------------
+	'warehouse_type' : Document(
+		fielddata = {
+			'doctype' : 'Warehouse Type',
+			'name': 'normal',
+			'warehouse_type' : 'normal'
+		}
+	),
+	
+	# Supplier Type
+	#-----------------------------
+	'supplier_type' : Document(
+		fielddata = {
+			'doctype': 'Supplier Type',
+			'supplier_type': 'stype'
+		}
+	)
+
+}
+
+
+main_masters = {
+	# Customer
+	#----------------------------------
+	'customer': Document(
+		fielddata={
+			'doctype':'Customer',
+			'docstatus':0,
+			'customer_name' : 'cust',
+			'company' : 'comp',
+			'customer_group' : '',
+			'name': 'cust'
+		}
+	),
+
+
+	# Supplier
+	#----------------------------------
+	'supplier': Document(
+		fielddata = {
+			'doctype': 'Supplier',
+			'supplier_name': 'supp',
+			'name': 'supp',	
+			'supplier_type' : 'stype'
+		}
+	),
+	
+	# Customer Account
+	#----------------------------------
+	'customer_acc': Document(
+		fielddata={
+			'doctype':'Account',
+			'docstatus':0,
+			'account_name' : 'cust',
+			'debit_or_credit': 'Debit',
+			'company' : 'comp',
+			'lft': 1,
+			'rgt': 2,
+			'group_or_ledger' : 'Ledger',
+			'is_pl_account': 'No',
+			'name' : 'cust - co'
+		}
+	),
+	
+	# Customer Account
+	#----------------------------------
+	'supplier_acc': Document(
+		fielddata={
+			'doctype':'Account',
+			'docstatus':0,
+			'account_name' : 'supp',
+			'debit_or_credit': 'Credit',
+			'company' : 'comp',
+			'lft': 5,
+			'rgt': 6,
+			'group_or_ledger' : 'Ledger',
+			'is_pl_account': 'No',
+			'name' : 'supp - co'
+		}
+	),	
+
+	# Bank Account
+	#----------------------------------
+	'bank_acc': Document(
+		fielddata={
+			'doctype':'Account',
+			'docstatus':0,
+			'account_name' : 'icici',
+			'parent_account': '',
+			'debit_or_credit': 'Debit',
+			'company' : 'comp',
+			'lft': 3,
+			'rgt': 4,
+			'group_or_ledger' : 'Ledger',
+			'is_pl_account': 'No',
+			'name' : 'icici - co'
+		}
+	),
+
+	# Income Account
+	#----------------------------------
+	'income_acc': Document(
+		fielddata={
+			'doctype':'Account',
+			'docstatus':0,
+			'account_name' : 'income',
+			'debit_or_credit': 'Credit',
+			'company' : 'comp',
+			'lft': 7,
+			'rgt': 8,
+			'group_or_ledger' : 'Ledger',
+			'is_pl_account': 'Yes',
+			'name' : 'income - co'
+		}
+	),
+	
+	# Expense Account
+	#----------------------------------
+	'expense_acc': Document(
+		fielddata={
+			'doctype':'Account',
+			'docstatus':0,
+			'account_name' : 'expense',
+			'debit_or_credit': 'Debit',
+			'company' : 'comp',
+			'lft': 9,
+			'rgt': 10,
+			'group_or_ledger' : 'Ledger',
+			'is_pl_account': 'Yes',
+			'name' : 'expense - co'
+		}
+	),
+
+	# Cost Center
+	#----------------------------------
+	'cost_center': Document(
+		fielddata={
+			'doctype':'Cost Center',
+			'docstatus':0,
+			'cost_center_name' : 'cc',
+			'lft': 1,
+			'rgt': 2,
+			'group_or_ledger' : 'Ledger',
+			'name' : 'cc'
+		}
+	),
+
+	# Item
+	#----------------------------------
+	# Stock item / non-serialized
+
+	'item': [
+		Document(
+			fielddata = {
+				'doctype': 'Item',
+				'docstatus': 0,
+				'name': 'it',
+				'item_name': 'it',
+				'item_code': 'it',
+				'item_group': 'ig',
+				'is_stock_item': 'Yes',
+				'has_serial_no': 'Yes',
+				'stock_uom': 'Nos',
+				'is_sales_item': 'Yes',
+				'is_purchase_item': 'Yes',
+				'is_service_item': 'No',
+				'is_sub_contracted_item': 'No',
+				'is_pro_applicable': 'Yes',
+				'is_manufactured_item': 'Yes'		
+			}
+		),
+		Document(
+			fielddata = {
+				'doctype': 'Ref Rate Detail',
+				'parentfield': 'ref_rate_details',
+				'parenttype': 'Item',
+				'parent' : 'it',
+				'price_list_name': 'pl',
+				'ref_currency': 'INR',
+				'ref_rate': 100
+			}
+		),
+		Document(
+			fielddata = {
+				'doctype': 'Item Tax',
+				'parentfield': 'item_tax',
+				'parenttype': 'Item',
+				'parent' : 'it',
+				'tax_type' : 'Tax1',
+				'tax_rate': 10
+			}
+		)
+	],
+	
+	# Warehouse
+	#-----------------------------
+	'warehouse': [
+		Document(
+			fielddata = {
+				'doctype': 'Warehouse',
+				'name' : 'wh1',
+				'warehouse_name' : 'wh1',
+				'warehouse_type': 'normal',
+				'company': 'comp'
+			}
+		),
+		Document(
+			fielddata = {
+				'doctype': 'Warehouse',
+				'name' : 'wh2',
+				'warehouse_name' : 'wh2',
+				'warehouse_type': 'normal',
+				'company': 'comp'
+			}
+		)
+	]
+}
+
+
+
+# Save all master records
+#----------------------------------
+def create_master_records():
+	for m in master_groups.keys():
+		master_groups[m].save(1)
+
+	for m in main_masters.keys():
+		if type(main_masters[m]) == list:
+			for each in main_masters[m]:
+				each.save(1)
+		else:
+			main_masters[m].save(1)
diff --git a/erpnext/sandbox/testdata/stock_entry.py b/erpnext/sandbox/testdata/stock_entry.py
new file mode 100644
index 0000000..8f2a30c
--- /dev/null
+++ b/erpnext/sandbox/testdata/stock_entry.py
@@ -0,0 +1,104 @@
+from webnotes.model.doc import Document
+
+# Material  Receipt
+#-----------------------
+
+mr = [
+	Document(
+		fielddata = {
+			'doctype': 'Stock Entry',
+			'posting_date': '2011-09-01',
+			'transfer_date': '2011-09-01',
+			'posting_time': '12:00',
+			'company': 'comp',
+			'fiscal_year' : '2011-2012',
+			'purpose': 'Material Receipt',
+			'name': 'mr'
+		}
+	),
+	Document(
+		fielddata  ={
+			'doctype': 'Stock Entry Detail',
+			'parenttype': 'Stock Entry',
+			'parentfield' : 'mtn_details',
+			'parent' : 'mr',
+			'item_code' : 'it',
+			't_warehouse' : 'wh1',
+			'qty' : 10,
+			'transfer_qty' : 10,
+			'incoming_rate': 100,
+			'stock_uom': 'Nos',
+			'conversion_factor': 1,
+			'serial_no': 'srno1, srno2, srno3, srno4, srno5, srno6, srno7, srno8, srno9, srno10'	
+		}
+	)
+]
+
+# Material Transfer
+#--------------------
+
+mtn = [
+	Document(
+		fielddata = {
+			'doctype': 'Stock Entry',
+			'posting_date': '2011-09-01',
+			'transfer_date': '2011-09-01',
+			'posting_time': '13:00',
+			'company': 'comp',
+			'fiscal_year' : '2011-2012',
+			'purpose': 'Material Transfer',
+			'name': 'mtn'
+		}
+	),
+	Document(
+		fielddata  ={
+			'doctype': 'Stock Entry Detail',
+			'parenttype': 'Stock Entry',
+			'parentfield' : 'mtn_details',
+			'parent' : 'mtn',
+			'item_code' : 'it',
+			's_warehouse' : 'wh1',
+			't_warehouse' : 'wh2',
+			'qty' : 5,
+			'transfer_qty' : 5,
+			'incoming_rate': 100,
+			'stock_uom': 'Nos',
+			'conversion_factor': 1,
+			'serial_no': 'srno1, srno2, srno3, srno4, srno5'	
+		}
+	)
+]
+
+# Material Issue
+#--------------------
+
+mi = [
+	Document(
+		fielddata = {
+			'doctype': 'Stock Entry',
+			'posting_date': '2011-09-01',
+			'transfer_date': '2011-09-01',
+			'posting_time': '14:00',
+			'company': 'comp',
+			'fiscal_year' : '2011-2012',
+			'purpose': 'Material Issue',
+			'name': 'mi'
+		}
+	),
+	Document(
+		fielddata  ={
+			'doctype': 'Stock Entry Detail',
+			'parenttype': 'Stock Entry',
+			'parentfield' : 'mtn_details',
+			'parent' : 'mi',
+			'item_code' : 'it',
+			's_warehouse' : 'wh1',
+			'qty' : 4,
+			'transfer_qty' : 4,
+			'incoming_rate': 100,
+			'stock_uom': 'Nos',
+			'conversion_factor': 1,
+			'serial_no': 'srno1, srno2, srno3, srno4'
+		}
+	)
+]
diff --git a/selling/DocType Mapper/Delivery Note-Installation Note/Delivery Note-Installation Note.txt b/erpnext/selling/DocType Mapper/Delivery Note-Installation Note/Delivery Note-Installation Note.txt
similarity index 98%
rename from selling/DocType Mapper/Delivery Note-Installation Note/Delivery Note-Installation Note.txt
rename to erpnext/selling/DocType Mapper/Delivery Note-Installation Note/Delivery Note-Installation Note.txt
index e45c487..da8762d 100644
--- a/selling/DocType Mapper/Delivery Note-Installation Note/Delivery Note-Installation Note.txt
+++ b/erpnext/selling/DocType Mapper/Delivery Note-Installation Note/Delivery Note-Installation Note.txt
@@ -5,7 +5,7 @@
 	{
 		'creation': '2010-08-08 17:09:34',
 		'docstatus': 0,
-		'modified': '2011-09-13 17:28:37',
+		'modified': '2011-09-15 15:04:42',
 		'modified_by': 'Administrator',
 		'owner': 'Administrator'
 	},
diff --git a/selling/DocType Mapper/Enquiry-Quotation/Enquiry-Quotation.txt b/erpnext/selling/DocType Mapper/Enquiry-Quotation/Enquiry-Quotation.txt
similarity index 98%
rename from selling/DocType Mapper/Enquiry-Quotation/Enquiry-Quotation.txt
rename to erpnext/selling/DocType Mapper/Enquiry-Quotation/Enquiry-Quotation.txt
index 807a057..de6f60d 100644
--- a/selling/DocType Mapper/Enquiry-Quotation/Enquiry-Quotation.txt
+++ b/erpnext/selling/DocType Mapper/Enquiry-Quotation/Enquiry-Quotation.txt
@@ -5,7 +5,7 @@
 	{
 		'creation': '2010-08-08 17:09:34',
 		'docstatus': 0,
-		'modified': '2011-09-07 12:12:30',
+		'modified': '2011-09-14 12:36:24',
 		'modified_by': 'Administrator',
 		'owner': 'Administrator'
 	},
diff --git a/selling/DocType Mapper/Lead-Customer/Lead-Customer.txt b/erpnext/selling/DocType Mapper/Lead-Customer/Lead-Customer.txt
similarity index 83%
rename from selling/DocType Mapper/Lead-Customer/Lead-Customer.txt
rename to erpnext/selling/DocType Mapper/Lead-Customer/Lead-Customer.txt
index 19a9f8a..268834a 100644
--- a/selling/DocType Mapper/Lead-Customer/Lead-Customer.txt
+++ b/erpnext/selling/DocType Mapper/Lead-Customer/Lead-Customer.txt
@@ -5,7 +5,7 @@
 	{
 		'creation': '2010-08-08 17:09:34',
 		'docstatus': 0,
-		'modified': '2011-09-07 12:11:39',
+		'modified': '2011-09-14 12:36:24',
 		'modified_by': 'Administrator',
 		'owner': 'Administrator'
 	},
@@ -63,6 +63,20 @@
 		'to_field': 'customer_name'
 	},
 
+	# Field Mapper Detail
+	{
+		'doctype': 'Field Mapper Detail',
+		'from_field': 'contact_no',
+		'to_field': 'phone_1'
+	},
+
+	# Field Mapper Detail
+	{
+		'doctype': 'Field Mapper Detail',
+		'from_field': 'fax',
+		'to_field': 'fax_1'
+	},
+
 	# Table Mapper Detail
 	{
 		'doctype': 'Table Mapper Detail'
diff --git a/selling/DocType Mapper/Lead-Enquiry/Lead-Enquiry.txt b/erpnext/selling/DocType Mapper/Lead-Enquiry/Lead-Enquiry.txt
similarity index 97%
rename from selling/DocType Mapper/Lead-Enquiry/Lead-Enquiry.txt
rename to erpnext/selling/DocType Mapper/Lead-Enquiry/Lead-Enquiry.txt
index 742215b..5dc1c8f 100644
--- a/selling/DocType Mapper/Lead-Enquiry/Lead-Enquiry.txt
+++ b/erpnext/selling/DocType Mapper/Lead-Enquiry/Lead-Enquiry.txt
@@ -5,7 +5,7 @@
 	{
 		'creation': '2010-08-08 17:09:34',
 		'docstatus': 0,
-		'modified': '2011-09-07 12:11:00',
+		'modified': '2011-09-14 12:36:24',
 		'modified_by': 'Administrator',
 		'owner': 'Administrator'
 	},
diff --git a/selling/DocType Mapper/Project-Sales Order/Project-Sales Order.txt b/erpnext/selling/DocType Mapper/Project-Sales Order/Project-Sales Order.txt
similarity index 94%
rename from selling/DocType Mapper/Project-Sales Order/Project-Sales Order.txt
rename to erpnext/selling/DocType Mapper/Project-Sales Order/Project-Sales Order.txt
index 04f70ad..ee8f8b0 100644
--- a/selling/DocType Mapper/Project-Sales Order/Project-Sales Order.txt
+++ b/erpnext/selling/DocType Mapper/Project-Sales Order/Project-Sales Order.txt
@@ -3,9 +3,9 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-09-01 15:48:10',
+		'creation': '2010-09-01 15:47:59',
 		'docstatus': 0,
-		'modified': '2010-09-01 14:23:28',
+		'modified': '2011-09-15 15:04:43',
 		'modified_by': 'Administrator',
 		'owner': 'ashwini@webnotestech.com'
 	},
diff --git a/selling/DocType Mapper/Quotation-Sales Order/Quotation-Sales Order.txt b/erpnext/selling/DocType Mapper/Quotation-Sales Order/Quotation-Sales Order.txt
similarity index 98%
rename from selling/DocType Mapper/Quotation-Sales Order/Quotation-Sales Order.txt
rename to erpnext/selling/DocType Mapper/Quotation-Sales Order/Quotation-Sales Order.txt
index 5a529dd..feadb98 100644
--- a/selling/DocType Mapper/Quotation-Sales Order/Quotation-Sales Order.txt
+++ b/erpnext/selling/DocType Mapper/Quotation-Sales Order/Quotation-Sales Order.txt
@@ -5,7 +5,7 @@
 	{
 		'creation': '2010-08-08 17:09:35',
 		'docstatus': 0,
-		'modified': '2011-09-07 12:08:48',
+		'modified': '2011-09-14 12:36:24',
 		'modified_by': 'Administrator',
 		'owner': 'Administrator'
 	},
diff --git a/selling/Module Def/Selling/Selling.txt b/erpnext/selling/Module Def/Selling/Selling.txt
similarity index 100%
rename from selling/Module Def/Selling/Selling.txt
rename to erpnext/selling/Module Def/Selling/Selling.txt
diff --git a/selling/Role/Customer/Customer.txt b/erpnext/selling/Role/Customer/Customer.txt
similarity index 100%
rename from selling/Role/Customer/Customer.txt
rename to erpnext/selling/Role/Customer/Customer.txt
diff --git a/selling/Role/Partner/Partner.txt b/erpnext/selling/Role/Partner/Partner.txt
similarity index 100%
rename from selling/Role/Partner/Partner.txt
rename to erpnext/selling/Role/Partner/Partner.txt
diff --git a/selling/Role/Sales Manager/Sales Manager.txt b/erpnext/selling/Role/Sales Manager/Sales Manager.txt
similarity index 100%
rename from selling/Role/Sales Manager/Sales Manager.txt
rename to erpnext/selling/Role/Sales Manager/Sales Manager.txt
diff --git a/selling/Role/Sales Master Manager/Sales Master Manager.txt b/erpnext/selling/Role/Sales Master Manager/Sales Master Manager.txt
similarity index 100%
rename from selling/Role/Sales Master Manager/Sales Master Manager.txt
rename to erpnext/selling/Role/Sales Master Manager/Sales Master Manager.txt
diff --git a/selling/Role/Sales User/Sales User.txt b/erpnext/selling/Role/Sales User/Sales User.txt
similarity index 100%
rename from selling/Role/Sales User/Sales User.txt
rename to erpnext/selling/Role/Sales User/Sales User.txt
diff --git a/selling/__init__.py b/erpnext/selling/__init__.py
similarity index 100%
rename from selling/__init__.py
rename to erpnext/selling/__init__.py
diff --git a/selling/doctype/__init__.py b/erpnext/selling/doctype/__init__.py
similarity index 100%
rename from selling/doctype/__init__.py
rename to erpnext/selling/doctype/__init__.py
diff --git a/selling/doctype/campaign/__init__.py b/erpnext/selling/doctype/campaign/__init__.py
similarity index 100%
rename from selling/doctype/campaign/__init__.py
rename to erpnext/selling/doctype/campaign/__init__.py
diff --git a/selling/doctype/campaign/campaign.js b/erpnext/selling/doctype/campaign/campaign.js
similarity index 100%
rename from selling/doctype/campaign/campaign.js
rename to erpnext/selling/doctype/campaign/campaign.js
diff --git a/selling/doctype/campaign/campaign.txt b/erpnext/selling/doctype/campaign/campaign.txt
similarity index 100%
rename from selling/doctype/campaign/campaign.txt
rename to erpnext/selling/doctype/campaign/campaign.txt
diff --git a/selling/doctype/customer/__init__.py b/erpnext/selling/doctype/customer/__init__.py
similarity index 100%
rename from selling/doctype/customer/__init__.py
rename to erpnext/selling/doctype/customer/__init__.py
diff --git a/selling/doctype/customer/customer.js b/erpnext/selling/doctype/customer/customer.js
similarity index 100%
rename from selling/doctype/customer/customer.js
rename to erpnext/selling/doctype/customer/customer.js
diff --git a/selling/doctype/customer/customer.py b/erpnext/selling/doctype/customer/customer.py
similarity index 100%
rename from selling/doctype/customer/customer.py
rename to erpnext/selling/doctype/customer/customer.py
diff --git a/selling/doctype/customer/customer.txt b/erpnext/selling/doctype/customer/customer.txt
similarity index 100%
rename from selling/doctype/customer/customer.txt
rename to erpnext/selling/doctype/customer/customer.txt
diff --git a/selling/doctype/enquiry/__init__.py b/erpnext/selling/doctype/enquiry/__init__.py
similarity index 100%
rename from selling/doctype/enquiry/__init__.py
rename to erpnext/selling/doctype/enquiry/__init__.py
diff --git a/selling/doctype/enquiry/enquiry.js b/erpnext/selling/doctype/enquiry/enquiry.js
similarity index 100%
rename from selling/doctype/enquiry/enquiry.js
rename to erpnext/selling/doctype/enquiry/enquiry.js
diff --git a/selling/doctype/enquiry/enquiry.py b/erpnext/selling/doctype/enquiry/enquiry.py
similarity index 98%
rename from selling/doctype/enquiry/enquiry.py
rename to erpnext/selling/doctype/enquiry/enquiry.py
index 4ad1b0a..5748525 100644
--- a/selling/doctype/enquiry/enquiry.py
+++ b/erpnext/selling/doctype/enquiry/enquiry.py
@@ -119,16 +119,12 @@
   #--------------Validation For Last Contact Date-----------------
   # ====================================================================================================================
   def set_last_contact_date(self):
-    #if not self.doc.contact_date_ref:
-      #self.doc.contact_date_ref=self.doc.contact_date
-      #self.doc.last_contact_date=self.doc.contact_date_ref
     if self.doc.contact_date_ref and self.doc.contact_date_ref != self.doc.contact_date:
       if getdate(self.doc.contact_date_ref) < getdate(self.doc.contact_date):
         self.doc.last_contact_date=self.doc.contact_date_ref
       else:
         msgprint("Contact Date Cannot be before Last Contact Date")
         raise Exception
-      #set(self.doc, 'contact_date_ref',self.doc.contact_date)
   
   # check if item present in item table
   # ====================================================================================================================
diff --git a/selling/doctype/enquiry/enquiry.txt b/erpnext/selling/doctype/enquiry/enquiry.txt
similarity index 100%
rename from selling/doctype/enquiry/enquiry.txt
rename to erpnext/selling/doctype/enquiry/enquiry.txt
diff --git a/selling/doctype/enquiry_detail/__init__.py b/erpnext/selling/doctype/enquiry_detail/__init__.py
similarity index 100%
rename from selling/doctype/enquiry_detail/__init__.py
rename to erpnext/selling/doctype/enquiry_detail/__init__.py
diff --git a/selling/doctype/enquiry_detail/enquiry_detail.txt b/erpnext/selling/doctype/enquiry_detail/enquiry_detail.txt
similarity index 100%
rename from selling/doctype/enquiry_detail/enquiry_detail.txt
rename to erpnext/selling/doctype/enquiry_detail/enquiry_detail.txt
diff --git a/selling/doctype/enquiry_sms_detail/__init__.py b/erpnext/selling/doctype/enquiry_sms_detail/__init__.py
similarity index 100%
rename from selling/doctype/enquiry_sms_detail/__init__.py
rename to erpnext/selling/doctype/enquiry_sms_detail/__init__.py
diff --git a/selling/doctype/enquiry_sms_detail/enquiry_sms_detail.txt b/erpnext/selling/doctype/enquiry_sms_detail/enquiry_sms_detail.txt
similarity index 100%
rename from selling/doctype/enquiry_sms_detail/enquiry_sms_detail.txt
rename to erpnext/selling/doctype/enquiry_sms_detail/enquiry_sms_detail.txt
diff --git a/selling/doctype/follow_up/__init__.py b/erpnext/selling/doctype/follow_up/__init__.py
similarity index 100%
rename from selling/doctype/follow_up/__init__.py
rename to erpnext/selling/doctype/follow_up/__init__.py
diff --git a/selling/doctype/follow_up/follow_up.txt b/erpnext/selling/doctype/follow_up/follow_up.txt
similarity index 100%
rename from selling/doctype/follow_up/follow_up.txt
rename to erpnext/selling/doctype/follow_up/follow_up.txt
diff --git a/selling/doctype/industry_type/__init__.py b/erpnext/selling/doctype/industry_type/__init__.py
similarity index 100%
rename from selling/doctype/industry_type/__init__.py
rename to erpnext/selling/doctype/industry_type/__init__.py
diff --git a/selling/doctype/industry_type/industry_type.js b/erpnext/selling/doctype/industry_type/industry_type.js
similarity index 100%
rename from selling/doctype/industry_type/industry_type.js
rename to erpnext/selling/doctype/industry_type/industry_type.js
diff --git a/selling/doctype/industry_type/industry_type.txt b/erpnext/selling/doctype/industry_type/industry_type.txt
similarity index 100%
rename from selling/doctype/industry_type/industry_type.txt
rename to erpnext/selling/doctype/industry_type/industry_type.txt
diff --git a/selling/doctype/installation_note/__init__.py b/erpnext/selling/doctype/installation_note/__init__.py
similarity index 100%
rename from selling/doctype/installation_note/__init__.py
rename to erpnext/selling/doctype/installation_note/__init__.py
diff --git a/selling/doctype/installation_note/installation_note.js b/erpnext/selling/doctype/installation_note/installation_note.js
similarity index 100%
rename from selling/doctype/installation_note/installation_note.js
rename to erpnext/selling/doctype/installation_note/installation_note.js
diff --git a/selling/doctype/installation_note/installation_note.py b/erpnext/selling/doctype/installation_note/installation_note.py
similarity index 100%
rename from selling/doctype/installation_note/installation_note.py
rename to erpnext/selling/doctype/installation_note/installation_note.py
diff --git a/selling/doctype/installation_note/installation_note.txt b/erpnext/selling/doctype/installation_note/installation_note.txt
similarity index 100%
rename from selling/doctype/installation_note/installation_note.txt
rename to erpnext/selling/doctype/installation_note/installation_note.txt
diff --git a/selling/doctype/installed_item_details/__init__.py b/erpnext/selling/doctype/installed_item_details/__init__.py
similarity index 100%
rename from selling/doctype/installed_item_details/__init__.py
rename to erpnext/selling/doctype/installed_item_details/__init__.py
diff --git a/selling/doctype/installed_item_details/installed_item_details.txt b/erpnext/selling/doctype/installed_item_details/installed_item_details.txt
similarity index 100%
rename from selling/doctype/installed_item_details/installed_item_details.txt
rename to erpnext/selling/doctype/installed_item_details/installed_item_details.txt
diff --git a/selling/doctype/lead/__init__.py b/erpnext/selling/doctype/lead/__init__.py
similarity index 100%
rename from selling/doctype/lead/__init__.py
rename to erpnext/selling/doctype/lead/__init__.py
diff --git a/selling/doctype/lead/lead.js b/erpnext/selling/doctype/lead/lead.js
similarity index 100%
rename from selling/doctype/lead/lead.js
rename to erpnext/selling/doctype/lead/lead.js
diff --git a/selling/doctype/lead/lead.py b/erpnext/selling/doctype/lead/lead.py
similarity index 100%
rename from selling/doctype/lead/lead.py
rename to erpnext/selling/doctype/lead/lead.py
diff --git a/selling/doctype/lead/lead.txt b/erpnext/selling/doctype/lead/lead.txt
similarity index 100%
rename from selling/doctype/lead/lead.txt
rename to erpnext/selling/doctype/lead/lead.txt
diff --git a/selling/doctype/lead_attachment_detail/__init__.py b/erpnext/selling/doctype/lead_attachment_detail/__init__.py
similarity index 100%
rename from selling/doctype/lead_attachment_detail/__init__.py
rename to erpnext/selling/doctype/lead_attachment_detail/__init__.py
diff --git a/selling/doctype/lead_attachment_detail/lead_attachment_detail.txt b/erpnext/selling/doctype/lead_attachment_detail/lead_attachment_detail.txt
similarity index 100%
rename from selling/doctype/lead_attachment_detail/lead_attachment_detail.txt
rename to erpnext/selling/doctype/lead_attachment_detail/lead_attachment_detail.txt
diff --git a/selling/doctype/lead_item_detail/__init__.py b/erpnext/selling/doctype/lead_item_detail/__init__.py
similarity index 100%
rename from selling/doctype/lead_item_detail/__init__.py
rename to erpnext/selling/doctype/lead_item_detail/__init__.py
diff --git a/selling/doctype/lead_item_detail/lead_item_detail.txt b/erpnext/selling/doctype/lead_item_detail/lead_item_detail.txt
similarity index 100%
rename from selling/doctype/lead_item_detail/lead_item_detail.txt
rename to erpnext/selling/doctype/lead_item_detail/lead_item_detail.txt
diff --git a/selling/doctype/lead_sms_detail/__init__.py b/erpnext/selling/doctype/lead_sms_detail/__init__.py
similarity index 100%
rename from selling/doctype/lead_sms_detail/__init__.py
rename to erpnext/selling/doctype/lead_sms_detail/__init__.py
diff --git a/selling/doctype/lead_sms_detail/lead_sms_detail.txt b/erpnext/selling/doctype/lead_sms_detail/lead_sms_detail.txt
similarity index 100%
rename from selling/doctype/lead_sms_detail/lead_sms_detail.txt
rename to erpnext/selling/doctype/lead_sms_detail/lead_sms_detail.txt
diff --git a/selling/doctype/plot_control/__init__.py b/erpnext/selling/doctype/plot_control/__init__.py
similarity index 100%
rename from selling/doctype/plot_control/__init__.py
rename to erpnext/selling/doctype/plot_control/__init__.py
diff --git a/selling/doctype/plot_control/plot_control.py b/erpnext/selling/doctype/plot_control/plot_control.py
similarity index 100%
rename from selling/doctype/plot_control/plot_control.py
rename to erpnext/selling/doctype/plot_control/plot_control.py
diff --git a/selling/doctype/plot_control/plot_control.txt b/erpnext/selling/doctype/plot_control/plot_control.txt
similarity index 100%
rename from selling/doctype/plot_control/plot_control.txt
rename to erpnext/selling/doctype/plot_control/plot_control.txt
diff --git a/selling/doctype/quotation/__init__.py b/erpnext/selling/doctype/quotation/__init__.py
similarity index 100%
rename from selling/doctype/quotation/__init__.py
rename to erpnext/selling/doctype/quotation/__init__.py
diff --git a/selling/doctype/quotation/quotation.js b/erpnext/selling/doctype/quotation/quotation.js
similarity index 100%
rename from selling/doctype/quotation/quotation.js
rename to erpnext/selling/doctype/quotation/quotation.js
diff --git a/selling/doctype/quotation/quotation.py b/erpnext/selling/doctype/quotation/quotation.py
similarity index 100%
rename from selling/doctype/quotation/quotation.py
rename to erpnext/selling/doctype/quotation/quotation.py
diff --git a/selling/doctype/quotation/quotation.txt b/erpnext/selling/doctype/quotation/quotation.txt
similarity index 100%
rename from selling/doctype/quotation/quotation.txt
rename to erpnext/selling/doctype/quotation/quotation.txt
diff --git a/selling/doctype/quotation_detail/__init__.py b/erpnext/selling/doctype/quotation_detail/__init__.py
similarity index 100%
rename from selling/doctype/quotation_detail/__init__.py
rename to erpnext/selling/doctype/quotation_detail/__init__.py
diff --git a/selling/doctype/quotation_detail/quotation_detail.txt b/erpnext/selling/doctype/quotation_detail/quotation_detail.txt
similarity index 100%
rename from selling/doctype/quotation_detail/quotation_detail.txt
rename to erpnext/selling/doctype/quotation_detail/quotation_detail.txt
diff --git a/selling/doctype/return_detail/__init__.py b/erpnext/selling/doctype/return_detail/__init__.py
similarity index 100%
rename from selling/doctype/return_detail/__init__.py
rename to erpnext/selling/doctype/return_detail/__init__.py
diff --git a/selling/doctype/return_detail/return_detail.txt b/erpnext/selling/doctype/return_detail/return_detail.txt
similarity index 100%
rename from selling/doctype/return_detail/return_detail.txt
rename to erpnext/selling/doctype/return_detail/return_detail.txt
diff --git a/selling/doctype/sales_common/__init__.py b/erpnext/selling/doctype/sales_common/__init__.py
similarity index 100%
rename from selling/doctype/sales_common/__init__.py
rename to erpnext/selling/doctype/sales_common/__init__.py
diff --git a/selling/doctype/sales_common/sales_common.js b/erpnext/selling/doctype/sales_common/sales_common.js
similarity index 100%
rename from selling/doctype/sales_common/sales_common.js
rename to erpnext/selling/doctype/sales_common/sales_common.js
diff --git a/selling/doctype/sales_common/sales_common.py b/erpnext/selling/doctype/sales_common/sales_common.py
similarity index 100%
rename from selling/doctype/sales_common/sales_common.py
rename to erpnext/selling/doctype/sales_common/sales_common.py
diff --git a/selling/doctype/sales_common/sales_common.txt b/erpnext/selling/doctype/sales_common/sales_common.txt
similarity index 100%
rename from selling/doctype/sales_common/sales_common.txt
rename to erpnext/selling/doctype/sales_common/sales_common.txt
diff --git a/selling/doctype/sales_order/__init__.py b/erpnext/selling/doctype/sales_order/__init__.py
similarity index 100%
rename from selling/doctype/sales_order/__init__.py
rename to erpnext/selling/doctype/sales_order/__init__.py
diff --git a/selling/doctype/sales_order/sales_order.js b/erpnext/selling/doctype/sales_order/sales_order.js
similarity index 100%
rename from selling/doctype/sales_order/sales_order.js
rename to erpnext/selling/doctype/sales_order/sales_order.js
diff --git a/selling/doctype/sales_order/sales_order.py b/erpnext/selling/doctype/sales_order/sales_order.py
similarity index 100%
rename from selling/doctype/sales_order/sales_order.py
rename to erpnext/selling/doctype/sales_order/sales_order.py
diff --git a/selling/doctype/sales_order/sales_order.txt b/erpnext/selling/doctype/sales_order/sales_order.txt
similarity index 100%
rename from selling/doctype/sales_order/sales_order.txt
rename to erpnext/selling/doctype/sales_order/sales_order.txt
diff --git a/selling/doctype/sales_order_detail/__init__.py b/erpnext/selling/doctype/sales_order_detail/__init__.py
similarity index 100%
rename from selling/doctype/sales_order_detail/__init__.py
rename to erpnext/selling/doctype/sales_order_detail/__init__.py
diff --git a/selling/doctype/sales_order_detail/sales_order_detail.txt b/erpnext/selling/doctype/sales_order_detail/sales_order_detail.txt
similarity index 100%
rename from selling/doctype/sales_order_detail/sales_order_detail.txt
rename to erpnext/selling/doctype/sales_order_detail/sales_order_detail.txt
diff --git a/selling/doctype/sales_team/__init__.py b/erpnext/selling/doctype/sales_team/__init__.py
similarity index 100%
rename from selling/doctype/sales_team/__init__.py
rename to erpnext/selling/doctype/sales_team/__init__.py
diff --git a/selling/doctype/sales_team/sales_team.txt b/erpnext/selling/doctype/sales_team/sales_team.txt
similarity index 100%
rename from selling/doctype/sales_team/sales_team.txt
rename to erpnext/selling/doctype/sales_team/sales_team.txt
diff --git a/selling/doctype/shipping_address/__init__.py b/erpnext/selling/doctype/shipping_address/__init__.py
similarity index 100%
rename from selling/doctype/shipping_address/__init__.py
rename to erpnext/selling/doctype/shipping_address/__init__.py
diff --git a/selling/doctype/shipping_address/shipping_address.js b/erpnext/selling/doctype/shipping_address/shipping_address.js
similarity index 100%
rename from selling/doctype/shipping_address/shipping_address.js
rename to erpnext/selling/doctype/shipping_address/shipping_address.js
diff --git a/selling/doctype/shipping_address/shipping_address.py b/erpnext/selling/doctype/shipping_address/shipping_address.py
similarity index 100%
rename from selling/doctype/shipping_address/shipping_address.py
rename to erpnext/selling/doctype/shipping_address/shipping_address.py
diff --git a/selling/doctype/shipping_address/shipping_address.txt b/erpnext/selling/doctype/shipping_address/shipping_address.txt
similarity index 100%
rename from selling/doctype/shipping_address/shipping_address.txt
rename to erpnext/selling/doctype/shipping_address/shipping_address.txt
diff --git a/selling/doctype/sms_center/__init__.py b/erpnext/selling/doctype/sms_center/__init__.py
similarity index 100%
rename from selling/doctype/sms_center/__init__.py
rename to erpnext/selling/doctype/sms_center/__init__.py
diff --git a/selling/doctype/sms_center/sms_center.js b/erpnext/selling/doctype/sms_center/sms_center.js
similarity index 100%
rename from selling/doctype/sms_center/sms_center.js
rename to erpnext/selling/doctype/sms_center/sms_center.js
diff --git a/selling/doctype/sms_center/sms_center.py b/erpnext/selling/doctype/sms_center/sms_center.py
similarity index 100%
rename from selling/doctype/sms_center/sms_center.py
rename to erpnext/selling/doctype/sms_center/sms_center.py
diff --git a/selling/doctype/sms_center/sms_center.txt b/erpnext/selling/doctype/sms_center/sms_center.txt
similarity index 100%
rename from selling/doctype/sms_center/sms_center.txt
rename to erpnext/selling/doctype/sms_center/sms_center.txt
diff --git a/selling/page/__init__.py b/erpnext/selling/page/__init__.py
similarity index 100%
rename from selling/page/__init__.py
rename to erpnext/selling/page/__init__.py
diff --git a/selling/page/customers/__init__.py b/erpnext/selling/page/customers/__init__.py
similarity index 100%
rename from selling/page/customers/__init__.py
rename to erpnext/selling/page/customers/__init__.py
diff --git a/selling/page/customers/customers.html b/erpnext/selling/page/customers/customers.html
similarity index 100%
rename from selling/page/customers/customers.html
rename to erpnext/selling/page/customers/customers.html
diff --git a/selling/page/customers/customers.js b/erpnext/selling/page/customers/customers.js
similarity index 100%
rename from selling/page/customers/customers.js
rename to erpnext/selling/page/customers/customers.js
diff --git a/selling/page/customers/customers.txt b/erpnext/selling/page/customers/customers.txt
similarity index 100%
rename from selling/page/customers/customers.txt
rename to erpnext/selling/page/customers/customers.txt
diff --git a/selling/page/sales_browser/__init__.py b/erpnext/selling/page/sales_browser/__init__.py
similarity index 100%
rename from selling/page/sales_browser/__init__.py
rename to erpnext/selling/page/sales_browser/__init__.py
diff --git a/selling/page/sales_browser/sales_browser.html b/erpnext/selling/page/sales_browser/sales_browser.html
similarity index 100%
rename from selling/page/sales_browser/sales_browser.html
rename to erpnext/selling/page/sales_browser/sales_browser.html
diff --git a/selling/page/sales_browser/sales_browser.js b/erpnext/selling/page/sales_browser/sales_browser.js
similarity index 100%
rename from selling/page/sales_browser/sales_browser.js
rename to erpnext/selling/page/sales_browser/sales_browser.js
diff --git a/selling/page/sales_browser/sales_browser.txt b/erpnext/selling/page/sales_browser/sales_browser.txt
similarity index 100%
rename from selling/page/sales_browser/sales_browser.txt
rename to erpnext/selling/page/sales_browser/sales_browser.txt
diff --git a/selling/page/sales_dashboard/__init__.py b/erpnext/selling/page/sales_dashboard/__init__.py
similarity index 100%
rename from selling/page/sales_dashboard/__init__.py
rename to erpnext/selling/page/sales_dashboard/__init__.py
diff --git a/selling/page/sales_dashboard/sales_dashboard.html b/erpnext/selling/page/sales_dashboard/sales_dashboard.html
similarity index 100%
rename from selling/page/sales_dashboard/sales_dashboard.html
rename to erpnext/selling/page/sales_dashboard/sales_dashboard.html
diff --git a/selling/page/sales_dashboard/sales_dashboard.js b/erpnext/selling/page/sales_dashboard/sales_dashboard.js
similarity index 100%
rename from selling/page/sales_dashboard/sales_dashboard.js
rename to erpnext/selling/page/sales_dashboard/sales_dashboard.js
diff --git a/selling/page/sales_dashboard/sales_dashboard.txt b/erpnext/selling/page/sales_dashboard/sales_dashboard.txt
similarity index 100%
rename from selling/page/sales_dashboard/sales_dashboard.txt
rename to erpnext/selling/page/sales_dashboard/sales_dashboard.txt
diff --git a/selling/search_criteria/__init__.py b/erpnext/selling/search_criteria/__init__.py
similarity index 100%
rename from selling/search_criteria/__init__.py
rename to erpnext/selling/search_criteria/__init__.py
diff --git a/selling/search_criteria/delivered_items_to_be_install/__init__.py b/erpnext/selling/search_criteria/delivered_items_to_be_install/__init__.py
similarity index 100%
rename from selling/search_criteria/delivered_items_to_be_install/__init__.py
rename to erpnext/selling/search_criteria/delivered_items_to_be_install/__init__.py
diff --git a/selling/search_criteria/delivered_items_to_be_install/delivered_items_to_be_install.js b/erpnext/selling/search_criteria/delivered_items_to_be_install/delivered_items_to_be_install.js
similarity index 100%
rename from selling/search_criteria/delivered_items_to_be_install/delivered_items_to_be_install.js
rename to erpnext/selling/search_criteria/delivered_items_to_be_install/delivered_items_to_be_install.js
diff --git a/selling/search_criteria/delivered_items_to_be_install/delivered_items_to_be_install.txt b/erpnext/selling/search_criteria/delivered_items_to_be_install/delivered_items_to_be_install.txt
similarity index 100%
rename from selling/search_criteria/delivered_items_to_be_install/delivered_items_to_be_install.txt
rename to erpnext/selling/search_criteria/delivered_items_to_be_install/delivered_items_to_be_install.txt
diff --git a/selling/search_criteria/delivery_note_itemwise_pending_to_bill/__init__.py b/erpnext/selling/search_criteria/delivery_note_itemwise_pending_to_bill/__init__.py
similarity index 100%
rename from selling/search_criteria/delivery_note_itemwise_pending_to_bill/__init__.py
rename to erpnext/selling/search_criteria/delivery_note_itemwise_pending_to_bill/__init__.py
diff --git a/selling/search_criteria/delivery_note_itemwise_pending_to_bill/delivery_note_itemwise_pending_to_bill.txt b/erpnext/selling/search_criteria/delivery_note_itemwise_pending_to_bill/delivery_note_itemwise_pending_to_bill.txt
similarity index 100%
rename from selling/search_criteria/delivery_note_itemwise_pending_to_bill/delivery_note_itemwise_pending_to_bill.txt
rename to erpnext/selling/search_criteria/delivery_note_itemwise_pending_to_bill/delivery_note_itemwise_pending_to_bill.txt
diff --git a/selling/search_criteria/draft_sales_orders/__init__.py b/erpnext/selling/search_criteria/draft_sales_orders/__init__.py
similarity index 100%
rename from selling/search_criteria/draft_sales_orders/__init__.py
rename to erpnext/selling/search_criteria/draft_sales_orders/__init__.py
diff --git a/selling/search_criteria/draft_sales_orders/draft_sales_orders.js b/erpnext/selling/search_criteria/draft_sales_orders/draft_sales_orders.js
similarity index 100%
rename from selling/search_criteria/draft_sales_orders/draft_sales_orders.js
rename to erpnext/selling/search_criteria/draft_sales_orders/draft_sales_orders.js
diff --git a/selling/search_criteria/draft_sales_orders/draft_sales_orders.txt b/erpnext/selling/search_criteria/draft_sales_orders/draft_sales_orders.txt
similarity index 100%
rename from selling/search_criteria/draft_sales_orders/draft_sales_orders.txt
rename to erpnext/selling/search_criteria/draft_sales_orders/draft_sales_orders.txt
diff --git a/selling/search_criteria/follow_up_report/__init__.py b/erpnext/selling/search_criteria/follow_up_report/__init__.py
similarity index 100%
rename from selling/search_criteria/follow_up_report/__init__.py
rename to erpnext/selling/search_criteria/follow_up_report/__init__.py
diff --git a/selling/search_criteria/follow_up_report/follow_up_report.js b/erpnext/selling/search_criteria/follow_up_report/follow_up_report.js
similarity index 100%
rename from selling/search_criteria/follow_up_report/follow_up_report.js
rename to erpnext/selling/search_criteria/follow_up_report/follow_up_report.js
diff --git a/selling/search_criteria/follow_up_report/follow_up_report.py b/erpnext/selling/search_criteria/follow_up_report/follow_up_report.py
similarity index 100%
rename from selling/search_criteria/follow_up_report/follow_up_report.py
rename to erpnext/selling/search_criteria/follow_up_report/follow_up_report.py
diff --git a/selling/search_criteria/follow_up_report/follow_up_report.txt b/erpnext/selling/search_criteria/follow_up_report/follow_up_report.txt
similarity index 100%
rename from selling/search_criteria/follow_up_report/follow_up_report.txt
rename to erpnext/selling/search_criteria/follow_up_report/follow_up_report.txt
diff --git a/selling/search_criteria/gross_profit/__init__.py b/erpnext/selling/search_criteria/gross_profit/__init__.py
similarity index 100%
rename from selling/search_criteria/gross_profit/__init__.py
rename to erpnext/selling/search_criteria/gross_profit/__init__.py
diff --git a/selling/search_criteria/gross_profit/gross_profit.js b/erpnext/selling/search_criteria/gross_profit/gross_profit.js
similarity index 100%
rename from selling/search_criteria/gross_profit/gross_profit.js
rename to erpnext/selling/search_criteria/gross_profit/gross_profit.js
diff --git a/selling/search_criteria/gross_profit/gross_profit.py b/erpnext/selling/search_criteria/gross_profit/gross_profit.py
similarity index 100%
rename from selling/search_criteria/gross_profit/gross_profit.py
rename to erpnext/selling/search_criteria/gross_profit/gross_profit.py
diff --git a/selling/search_criteria/gross_profit/gross_profit.txt b/erpnext/selling/search_criteria/gross_profit/gross_profit.txt
similarity index 100%
rename from selling/search_criteria/gross_profit/gross_profit.txt
rename to erpnext/selling/search_criteria/gross_profit/gross_profit.txt
diff --git a/selling/search_criteria/itemwise_delivery_details/__init__.py b/erpnext/selling/search_criteria/itemwise_delivery_details/__init__.py
similarity index 100%
rename from selling/search_criteria/itemwise_delivery_details/__init__.py
rename to erpnext/selling/search_criteria/itemwise_delivery_details/__init__.py
diff --git a/selling/search_criteria/itemwise_delivery_details/itemwise_delivery_details.js b/erpnext/selling/search_criteria/itemwise_delivery_details/itemwise_delivery_details.js
similarity index 100%
rename from selling/search_criteria/itemwise_delivery_details/itemwise_delivery_details.js
rename to erpnext/selling/search_criteria/itemwise_delivery_details/itemwise_delivery_details.js
diff --git a/selling/search_criteria/itemwise_delivery_details/itemwise_delivery_details.py b/erpnext/selling/search_criteria/itemwise_delivery_details/itemwise_delivery_details.py
similarity index 100%
rename from selling/search_criteria/itemwise_delivery_details/itemwise_delivery_details.py
rename to erpnext/selling/search_criteria/itemwise_delivery_details/itemwise_delivery_details.py
diff --git a/selling/search_criteria/itemwise_delivery_details/itemwise_delivery_details.txt b/erpnext/selling/search_criteria/itemwise_delivery_details/itemwise_delivery_details.txt
similarity index 100%
rename from selling/search_criteria/itemwise_delivery_details/itemwise_delivery_details.txt
rename to erpnext/selling/search_criteria/itemwise_delivery_details/itemwise_delivery_details.txt
diff --git a/selling/search_criteria/itemwise_sales_details/__init__.py b/erpnext/selling/search_criteria/itemwise_sales_details/__init__.py
similarity index 100%
rename from selling/search_criteria/itemwise_sales_details/__init__.py
rename to erpnext/selling/search_criteria/itemwise_sales_details/__init__.py
diff --git a/selling/search_criteria/itemwise_sales_details/itemwise_sales_details.js b/erpnext/selling/search_criteria/itemwise_sales_details/itemwise_sales_details.js
similarity index 100%
rename from selling/search_criteria/itemwise_sales_details/itemwise_sales_details.js
rename to erpnext/selling/search_criteria/itemwise_sales_details/itemwise_sales_details.js
diff --git a/selling/search_criteria/itemwise_sales_details/itemwise_sales_details.py b/erpnext/selling/search_criteria/itemwise_sales_details/itemwise_sales_details.py
similarity index 100%
rename from selling/search_criteria/itemwise_sales_details/itemwise_sales_details.py
rename to erpnext/selling/search_criteria/itemwise_sales_details/itemwise_sales_details.py
diff --git a/selling/search_criteria/itemwise_sales_details/itemwise_sales_details.txt b/erpnext/selling/search_criteria/itemwise_sales_details/itemwise_sales_details.txt
similarity index 100%
rename from selling/search_criteria/itemwise_sales_details/itemwise_sales_details.txt
rename to erpnext/selling/search_criteria/itemwise_sales_details/itemwise_sales_details.txt
diff --git a/selling/search_criteria/monthly_despatched_trend/__init__.py b/erpnext/selling/search_criteria/monthly_despatched_trend/__init__.py
similarity index 100%
rename from selling/search_criteria/monthly_despatched_trend/__init__.py
rename to erpnext/selling/search_criteria/monthly_despatched_trend/__init__.py
diff --git a/selling/search_criteria/monthly_despatched_trend/monthly_despatched_trend.js b/erpnext/selling/search_criteria/monthly_despatched_trend/monthly_despatched_trend.js
similarity index 100%
rename from selling/search_criteria/monthly_despatched_trend/monthly_despatched_trend.js
rename to erpnext/selling/search_criteria/monthly_despatched_trend/monthly_despatched_trend.js
diff --git a/selling/search_criteria/monthly_despatched_trend/monthly_despatched_trend.py b/erpnext/selling/search_criteria/monthly_despatched_trend/monthly_despatched_trend.py
similarity index 100%
rename from selling/search_criteria/monthly_despatched_trend/monthly_despatched_trend.py
rename to erpnext/selling/search_criteria/monthly_despatched_trend/monthly_despatched_trend.py
diff --git a/selling/search_criteria/monthly_despatched_trend/monthly_despatched_trend.txt b/erpnext/selling/search_criteria/monthly_despatched_trend/monthly_despatched_trend.txt
similarity index 100%
rename from selling/search_criteria/monthly_despatched_trend/monthly_despatched_trend.txt
rename to erpnext/selling/search_criteria/monthly_despatched_trend/monthly_despatched_trend.txt
diff --git a/selling/search_criteria/periodic_sales_summary/__init__.py b/erpnext/selling/search_criteria/periodic_sales_summary/__init__.py
similarity index 100%
rename from selling/search_criteria/periodic_sales_summary/__init__.py
rename to erpnext/selling/search_criteria/periodic_sales_summary/__init__.py
diff --git a/selling/search_criteria/periodic_sales_summary/periodic_sales_summary.js b/erpnext/selling/search_criteria/periodic_sales_summary/periodic_sales_summary.js
similarity index 100%
rename from selling/search_criteria/periodic_sales_summary/periodic_sales_summary.js
rename to erpnext/selling/search_criteria/periodic_sales_summary/periodic_sales_summary.js
diff --git a/selling/search_criteria/periodic_sales_summary/periodic_sales_summary.txt b/erpnext/selling/search_criteria/periodic_sales_summary/periodic_sales_summary.txt
similarity index 100%
rename from selling/search_criteria/periodic_sales_summary/periodic_sales_summary.txt
rename to erpnext/selling/search_criteria/periodic_sales_summary/periodic_sales_summary.txt
diff --git a/selling/search_criteria/sales_agentwise_commission/__init__.py b/erpnext/selling/search_criteria/sales_agentwise_commission/__init__.py
similarity index 100%
rename from selling/search_criteria/sales_agentwise_commission/__init__.py
rename to erpnext/selling/search_criteria/sales_agentwise_commission/__init__.py
diff --git a/selling/search_criteria/sales_agentwise_commission/sales_agentwise_commission.js b/erpnext/selling/search_criteria/sales_agentwise_commission/sales_agentwise_commission.js
similarity index 100%
rename from selling/search_criteria/sales_agentwise_commission/sales_agentwise_commission.js
rename to erpnext/selling/search_criteria/sales_agentwise_commission/sales_agentwise_commission.js
diff --git a/selling/search_criteria/sales_agentwise_commission/sales_agentwise_commission.py b/erpnext/selling/search_criteria/sales_agentwise_commission/sales_agentwise_commission.py
similarity index 100%
rename from selling/search_criteria/sales_agentwise_commission/sales_agentwise_commission.py
rename to erpnext/selling/search_criteria/sales_agentwise_commission/sales_agentwise_commission.py
diff --git a/selling/search_criteria/sales_agentwise_commission/sales_agentwise_commission.txt b/erpnext/selling/search_criteria/sales_agentwise_commission/sales_agentwise_commission.txt
similarity index 100%
rename from selling/search_criteria/sales_agentwise_commission/sales_agentwise_commission.txt
rename to erpnext/selling/search_criteria/sales_agentwise_commission/sales_agentwise_commission.txt
diff --git a/selling/search_criteria/sales_order_pending_items1/__init__.py b/erpnext/selling/search_criteria/sales_order_pending_items1/__init__.py
similarity index 100%
rename from selling/search_criteria/sales_order_pending_items1/__init__.py
rename to erpnext/selling/search_criteria/sales_order_pending_items1/__init__.py
diff --git a/selling/search_criteria/sales_order_pending_items1/sales_order_pending_items1.js b/erpnext/selling/search_criteria/sales_order_pending_items1/sales_order_pending_items1.js
similarity index 100%
rename from selling/search_criteria/sales_order_pending_items1/sales_order_pending_items1.js
rename to erpnext/selling/search_criteria/sales_order_pending_items1/sales_order_pending_items1.js
diff --git a/selling/search_criteria/sales_order_pending_items1/sales_order_pending_items1.txt b/erpnext/selling/search_criteria/sales_order_pending_items1/sales_order_pending_items1.txt
similarity index 100%
rename from selling/search_criteria/sales_order_pending_items1/sales_order_pending_items1.txt
rename to erpnext/selling/search_criteria/sales_order_pending_items1/sales_order_pending_items1.txt
diff --git a/selling/search_criteria/sales_orderwise_booking_ b/erpnext/selling/search_criteria/sales_orderwise_booking_
similarity index 100%
rename from selling/search_criteria/sales_orderwise_booking_
rename to erpnext/selling/search_criteria/sales_orderwise_booking_
diff --git a/selling/search_criteria/sales_orderwise_booking_&_delivery_summary/__init__.py b/erpnext/selling/search_criteria/sales_orderwise_booking_&_delivery_summary/__init__.py
similarity index 100%
rename from selling/search_criteria/sales_orderwise_booking_&_delivery_summary/__init__.py
rename to erpnext/selling/search_criteria/sales_orderwise_booking_&_delivery_summary/__init__.py
diff --git a/selling/search_criteria/sales_orderwise_booking_&_delivery_summary/sales_orderwise_booking_&_delivery_summary.txt b/erpnext/selling/search_criteria/sales_orderwise_booking_&_delivery_summary/sales_orderwise_booking_&_delivery_summary.txt
similarity index 100%
rename from selling/search_criteria/sales_orderwise_booking_&_delivery_summary/sales_orderwise_booking_&_delivery_summary.txt
rename to erpnext/selling/search_criteria/sales_orderwise_booking_&_delivery_summary/sales_orderwise_booking_&_delivery_summary.txt
diff --git a/selling/search_criteria/sales_orderwise_pending_amount_to_bill/__init__.py b/erpnext/selling/search_criteria/sales_orderwise_pending_amount_to_bill/__init__.py
similarity index 100%
rename from selling/search_criteria/sales_orderwise_pending_amount_to_bill/__init__.py
rename to erpnext/selling/search_criteria/sales_orderwise_pending_amount_to_bill/__init__.py
diff --git a/selling/search_criteria/sales_orderwise_pending_amount_to_bill/sales_orderwise_pending_amount_to_bill.js b/erpnext/selling/search_criteria/sales_orderwise_pending_amount_to_bill/sales_orderwise_pending_amount_to_bill.js
similarity index 100%
rename from selling/search_criteria/sales_orderwise_pending_amount_to_bill/sales_orderwise_pending_amount_to_bill.js
rename to erpnext/selling/search_criteria/sales_orderwise_pending_amount_to_bill/sales_orderwise_pending_amount_to_bill.js
diff --git a/selling/search_criteria/sales_orderwise_pending_amount_to_bill/sales_orderwise_pending_amount_to_bill.txt b/erpnext/selling/search_criteria/sales_orderwise_pending_amount_to_bill/sales_orderwise_pending_amount_to_bill.txt
similarity index 100%
rename from selling/search_criteria/sales_orderwise_pending_amount_to_bill/sales_orderwise_pending_amount_to_bill.txt
rename to erpnext/selling/search_criteria/sales_orderwise_pending_amount_to_bill/sales_orderwise_pending_amount_to_bill.txt
diff --git a/selling/search_criteria/sales_orderwise_pending_qty_to_deliver/__init__.py b/erpnext/selling/search_criteria/sales_orderwise_pending_qty_to_deliver/__init__.py
similarity index 100%
rename from selling/search_criteria/sales_orderwise_pending_qty_to_deliver/__init__.py
rename to erpnext/selling/search_criteria/sales_orderwise_pending_qty_to_deliver/__init__.py
diff --git a/selling/search_criteria/sales_orderwise_pending_qty_to_deliver/sales_orderwise_pending_qty_to_deliver.txt b/erpnext/selling/search_criteria/sales_orderwise_pending_qty_to_deliver/sales_orderwise_pending_qty_to_deliver.txt
similarity index 100%
rename from selling/search_criteria/sales_orderwise_pending_qty_to_deliver/sales_orderwise_pending_qty_to_deliver.txt
rename to erpnext/selling/search_criteria/sales_orderwise_pending_qty_to_deliver/sales_orderwise_pending_qty_to_deliver.txt
diff --git a/selling/search_criteria/sales_persons_target_variance_item_group_wise/__init__.py b/erpnext/selling/search_criteria/sales_persons_target_variance_item_group_wise/__init__.py
similarity index 100%
rename from selling/search_criteria/sales_persons_target_variance_item_group_wise/__init__.py
rename to erpnext/selling/search_criteria/sales_persons_target_variance_item_group_wise/__init__.py
diff --git a/selling/search_criteria/sales_persons_target_variance_item_group_wise/sales_persons_target_variance_item_group_wise.js b/erpnext/selling/search_criteria/sales_persons_target_variance_item_group_wise/sales_persons_target_variance_item_group_wise.js
similarity index 100%
rename from selling/search_criteria/sales_persons_target_variance_item_group_wise/sales_persons_target_variance_item_group_wise.js
rename to erpnext/selling/search_criteria/sales_persons_target_variance_item_group_wise/sales_persons_target_variance_item_group_wise.js
diff --git a/selling/search_criteria/sales_persons_target_variance_item_group_wise/sales_persons_target_variance_item_group_wise.py b/erpnext/selling/search_criteria/sales_persons_target_variance_item_group_wise/sales_persons_target_variance_item_group_wise.py
similarity index 100%
rename from selling/search_criteria/sales_persons_target_variance_item_group_wise/sales_persons_target_variance_item_group_wise.py
rename to erpnext/selling/search_criteria/sales_persons_target_variance_item_group_wise/sales_persons_target_variance_item_group_wise.py
diff --git a/selling/search_criteria/sales_persons_target_variance_item_group_wise/sales_persons_target_variance_item_group_wise.txt b/erpnext/selling/search_criteria/sales_persons_target_variance_item_group_wise/sales_persons_target_variance_item_group_wise.txt
similarity index 100%
rename from selling/search_criteria/sales_persons_target_variance_item_group_wise/sales_persons_target_variance_item_group_wise.txt
rename to erpnext/selling/search_criteria/sales_persons_target_variance_item_group_wise/sales_persons_target_variance_item_group_wise.txt
diff --git a/selling/search_criteria/sales_personwise_transaction_summary/__init__.py b/erpnext/selling/search_criteria/sales_personwise_transaction_summary/__init__.py
similarity index 100%
rename from selling/search_criteria/sales_personwise_transaction_summary/__init__.py
rename to erpnext/selling/search_criteria/sales_personwise_transaction_summary/__init__.py
diff --git a/selling/search_criteria/sales_personwise_transaction_summary/sales_personwise_transaction_summary.js b/erpnext/selling/search_criteria/sales_personwise_transaction_summary/sales_personwise_transaction_summary.js
similarity index 100%
rename from selling/search_criteria/sales_personwise_transaction_summary/sales_personwise_transaction_summary.js
rename to erpnext/selling/search_criteria/sales_personwise_transaction_summary/sales_personwise_transaction_summary.js
diff --git a/selling/search_criteria/sales_personwise_transaction_summary/sales_personwise_transaction_summary.py b/erpnext/selling/search_criteria/sales_personwise_transaction_summary/sales_personwise_transaction_summary.py
similarity index 100%
rename from selling/search_criteria/sales_personwise_transaction_summary/sales_personwise_transaction_summary.py
rename to erpnext/selling/search_criteria/sales_personwise_transaction_summary/sales_personwise_transaction_summary.py
diff --git a/selling/search_criteria/sales_personwise_transaction_summary/sales_personwise_transaction_summary.txt b/erpnext/selling/search_criteria/sales_personwise_transaction_summary/sales_personwise_transaction_summary.txt
similarity index 100%
rename from selling/search_criteria/sales_personwise_transaction_summary/sales_personwise_transaction_summary.txt
rename to erpnext/selling/search_criteria/sales_personwise_transaction_summary/sales_personwise_transaction_summary.txt
diff --git a/selling/search_criteria/target_variance_report/__init__.py b/erpnext/selling/search_criteria/target_variance_report/__init__.py
similarity index 100%
rename from selling/search_criteria/target_variance_report/__init__.py
rename to erpnext/selling/search_criteria/target_variance_report/__init__.py
diff --git a/selling/search_criteria/target_variance_report/target_variance_report.js b/erpnext/selling/search_criteria/target_variance_report/target_variance_report.js
similarity index 100%
rename from selling/search_criteria/target_variance_report/target_variance_report.js
rename to erpnext/selling/search_criteria/target_variance_report/target_variance_report.js
diff --git a/selling/search_criteria/target_variance_report/target_variance_report.py b/erpnext/selling/search_criteria/target_variance_report/target_variance_report.py
similarity index 100%
rename from selling/search_criteria/target_variance_report/target_variance_report.py
rename to erpnext/selling/search_criteria/target_variance_report/target_variance_report.py
diff --git a/selling/search_criteria/target_variance_report/target_variance_report.txt b/erpnext/selling/search_criteria/target_variance_report/target_variance_report.txt
similarity index 100%
rename from selling/search_criteria/target_variance_report/target_variance_report.txt
rename to erpnext/selling/search_criteria/target_variance_report/target_variance_report.txt
diff --git a/selling/search_criteria/territories_target_variance_item_group_wise/__init__.py b/erpnext/selling/search_criteria/territories_target_variance_item_group_wise/__init__.py
similarity index 100%
rename from selling/search_criteria/territories_target_variance_item_group_wise/__init__.py
rename to erpnext/selling/search_criteria/territories_target_variance_item_group_wise/__init__.py
diff --git a/selling/search_criteria/territories_target_variance_item_group_wise/territories_target_variance_item_group_wise.js b/erpnext/selling/search_criteria/territories_target_variance_item_group_wise/territories_target_variance_item_group_wise.js
similarity index 100%
rename from selling/search_criteria/territories_target_variance_item_group_wise/territories_target_variance_item_group_wise.js
rename to erpnext/selling/search_criteria/territories_target_variance_item_group_wise/territories_target_variance_item_group_wise.js
diff --git a/selling/search_criteria/territories_target_variance_item_group_wise/territories_target_variance_item_group_wise.py b/erpnext/selling/search_criteria/territories_target_variance_item_group_wise/territories_target_variance_item_group_wise.py
similarity index 100%
rename from selling/search_criteria/territories_target_variance_item_group_wise/territories_target_variance_item_group_wise.py
rename to erpnext/selling/search_criteria/territories_target_variance_item_group_wise/territories_target_variance_item_group_wise.py
diff --git a/selling/search_criteria/territories_target_variance_item_group_wise/territories_target_variance_item_group_wise.txt b/erpnext/selling/search_criteria/territories_target_variance_item_group_wise/territories_target_variance_item_group_wise.txt
similarity index 100%
rename from selling/search_criteria/territories_target_variance_item_group_wise/territories_target_variance_item_group_wise.txt
rename to erpnext/selling/search_criteria/territories_target_variance_item_group_wise/territories_target_variance_item_group_wise.txt
diff --git a/selling/search_criteria/territory_item_group_wise_gp/__init__.py b/erpnext/selling/search_criteria/territory_item_group_wise_gp/__init__.py
similarity index 100%
rename from selling/search_criteria/territory_item_group_wise_gp/__init__.py
rename to erpnext/selling/search_criteria/territory_item_group_wise_gp/__init__.py
diff --git a/selling/search_criteria/territory_item_group_wise_gp/territory_item_group_wise_gp.py b/erpnext/selling/search_criteria/territory_item_group_wise_gp/territory_item_group_wise_gp.py
similarity index 100%
rename from selling/search_criteria/territory_item_group_wise_gp/territory_item_group_wise_gp.py
rename to erpnext/selling/search_criteria/territory_item_group_wise_gp/territory_item_group_wise_gp.py
diff --git a/selling/search_criteria/territory_item_group_wise_gp/territory_item_group_wise_gp.txt b/erpnext/selling/search_criteria/territory_item_group_wise_gp/territory_item_group_wise_gp.txt
similarity index 100%
rename from selling/search_criteria/territory_item_group_wise_gp/territory_item_group_wise_gp.txt
rename to erpnext/selling/search_criteria/territory_item_group_wise_gp/territory_item_group_wise_gp.txt
diff --git a/selling/search_criteria/territory_sales___variance_report/__init__.py b/erpnext/selling/search_criteria/territory_sales___variance_report/__init__.py
similarity index 100%
rename from selling/search_criteria/territory_sales___variance_report/__init__.py
rename to erpnext/selling/search_criteria/territory_sales___variance_report/__init__.py
diff --git a/selling/search_criteria/territory_sales___variance_report/territory_sales___variance_report.js b/erpnext/selling/search_criteria/territory_sales___variance_report/territory_sales___variance_report.js
similarity index 100%
rename from selling/search_criteria/territory_sales___variance_report/territory_sales___variance_report.js
rename to erpnext/selling/search_criteria/territory_sales___variance_report/territory_sales___variance_report.js
diff --git a/selling/search_criteria/territory_sales___variance_report/territory_sales___variance_report.py b/erpnext/selling/search_criteria/territory_sales___variance_report/territory_sales___variance_report.py
similarity index 100%
rename from selling/search_criteria/territory_sales___variance_report/territory_sales___variance_report.py
rename to erpnext/selling/search_criteria/territory_sales___variance_report/territory_sales___variance_report.py
diff --git a/selling/search_criteria/territory_sales___variance_report/territory_sales___variance_report.txt b/erpnext/selling/search_criteria/territory_sales___variance_report/territory_sales___variance_report.txt
similarity index 100%
rename from selling/search_criteria/territory_sales___variance_report/territory_sales___variance_report.txt
rename to erpnext/selling/search_criteria/territory_sales___variance_report/territory_sales___variance_report.txt
diff --git a/selling/search_criteria/total_target_variance_report/__init__.py b/erpnext/selling/search_criteria/total_target_variance_report/__init__.py
similarity index 100%
rename from selling/search_criteria/total_target_variance_report/__init__.py
rename to erpnext/selling/search_criteria/total_target_variance_report/__init__.py
diff --git a/selling/search_criteria/total_target_variance_report/total_target_variance_report.js b/erpnext/selling/search_criteria/total_target_variance_report/total_target_variance_report.js
similarity index 100%
rename from selling/search_criteria/total_target_variance_report/total_target_variance_report.js
rename to erpnext/selling/search_criteria/total_target_variance_report/total_target_variance_report.js
diff --git a/selling/search_criteria/total_target_variance_report/total_target_variance_report.py b/erpnext/selling/search_criteria/total_target_variance_report/total_target_variance_report.py
similarity index 100%
rename from selling/search_criteria/total_target_variance_report/total_target_variance_report.py
rename to erpnext/selling/search_criteria/total_target_variance_report/total_target_variance_report.py
diff --git a/selling/search_criteria/total_target_variance_report/total_target_variance_report.sql b/erpnext/selling/search_criteria/total_target_variance_report/total_target_variance_report.sql
similarity index 100%
rename from selling/search_criteria/total_target_variance_report/total_target_variance_report.sql
rename to erpnext/selling/search_criteria/total_target_variance_report/total_target_variance_report.sql
diff --git a/selling/search_criteria/total_target_variance_report/total_target_variance_report.txt b/erpnext/selling/search_criteria/total_target_variance_report/total_target_variance_report.txt
similarity index 100%
rename from selling/search_criteria/total_target_variance_report/total_target_variance_report.txt
rename to erpnext/selling/search_criteria/total_target_variance_report/total_target_variance_report.txt
diff --git a/selling/search_criteria/variance_report/__init__.py b/erpnext/selling/search_criteria/variance_report/__init__.py
similarity index 100%
rename from selling/search_criteria/variance_report/__init__.py
rename to erpnext/selling/search_criteria/variance_report/__init__.py
diff --git a/selling/search_criteria/variance_report/variance_report.js b/erpnext/selling/search_criteria/variance_report/variance_report.js
similarity index 100%
rename from selling/search_criteria/variance_report/variance_report.js
rename to erpnext/selling/search_criteria/variance_report/variance_report.js
diff --git a/selling/search_criteria/variance_report/variance_report.py b/erpnext/selling/search_criteria/variance_report/variance_report.py
similarity index 100%
rename from selling/search_criteria/variance_report/variance_report.py
rename to erpnext/selling/search_criteria/variance_report/variance_report.py
diff --git a/selling/search_criteria/variance_report/variance_report.sql b/erpnext/selling/search_criteria/variance_report/variance_report.sql
similarity index 100%
rename from selling/search_criteria/variance_report/variance_report.sql
rename to erpnext/selling/search_criteria/variance_report/variance_report.sql
diff --git a/selling/search_criteria/variance_report/variance_report.txt b/erpnext/selling/search_criteria/variance_report/variance_report.txt
similarity index 100%
rename from selling/search_criteria/variance_report/variance_report.txt
rename to erpnext/selling/search_criteria/variance_report/variance_report.txt
diff --git a/setup/Module Def/Setup/Setup.txt b/erpnext/setup/Module Def/Setup/Setup.txt
similarity index 100%
rename from setup/Module Def/Setup/Setup.txt
rename to erpnext/setup/Module Def/Setup/Setup.txt
diff --git a/setup/Role/System Manager/System Manager.txt b/erpnext/setup/Role/System Manager/System Manager.txt
similarity index 100%
rename from setup/Role/System Manager/System Manager.txt
rename to erpnext/setup/Role/System Manager/System Manager.txt
diff --git a/setup/__init__.py b/erpnext/setup/__init__.py
similarity index 100%
rename from setup/__init__.py
rename to erpnext/setup/__init__.py
diff --git a/setup/doctype/__init__.py b/erpnext/setup/doctype/__init__.py
similarity index 100%
rename from setup/doctype/__init__.py
rename to erpnext/setup/doctype/__init__.py
diff --git a/setup/doctype/authorization_control/__init__.py b/erpnext/setup/doctype/authorization_control/__init__.py
similarity index 100%
rename from setup/doctype/authorization_control/__init__.py
rename to erpnext/setup/doctype/authorization_control/__init__.py
diff --git a/setup/doctype/authorization_control/authorization_control.js b/erpnext/setup/doctype/authorization_control/authorization_control.js
similarity index 100%
rename from setup/doctype/authorization_control/authorization_control.js
rename to erpnext/setup/doctype/authorization_control/authorization_control.js
diff --git a/setup/doctype/authorization_control/authorization_control.py b/erpnext/setup/doctype/authorization_control/authorization_control.py
similarity index 100%
rename from setup/doctype/authorization_control/authorization_control.py
rename to erpnext/setup/doctype/authorization_control/authorization_control.py
diff --git a/setup/doctype/authorization_control/authorization_control.txt b/erpnext/setup/doctype/authorization_control/authorization_control.txt
similarity index 100%
rename from setup/doctype/authorization_control/authorization_control.txt
rename to erpnext/setup/doctype/authorization_control/authorization_control.txt
diff --git a/setup/doctype/authorization_rule/__init__.py b/erpnext/setup/doctype/authorization_rule/__init__.py
similarity index 100%
rename from setup/doctype/authorization_rule/__init__.py
rename to erpnext/setup/doctype/authorization_rule/__init__.py
diff --git a/setup/doctype/authorization_rule/authorization_rule.js b/erpnext/setup/doctype/authorization_rule/authorization_rule.js
similarity index 100%
rename from setup/doctype/authorization_rule/authorization_rule.js
rename to erpnext/setup/doctype/authorization_rule/authorization_rule.js
diff --git a/setup/doctype/authorization_rule/authorization_rule.py b/erpnext/setup/doctype/authorization_rule/authorization_rule.py
similarity index 100%
rename from setup/doctype/authorization_rule/authorization_rule.py
rename to erpnext/setup/doctype/authorization_rule/authorization_rule.py
diff --git a/setup/doctype/authorization_rule/authorization_rule.txt b/erpnext/setup/doctype/authorization_rule/authorization_rule.txt
similarity index 100%
rename from setup/doctype/authorization_rule/authorization_rule.txt
rename to erpnext/setup/doctype/authorization_rule/authorization_rule.txt
diff --git a/setup/doctype/brand/__init__.py b/erpnext/setup/doctype/brand/__init__.py
similarity index 100%
rename from setup/doctype/brand/__init__.py
rename to erpnext/setup/doctype/brand/__init__.py
diff --git a/setup/doctype/brand/brand.js b/erpnext/setup/doctype/brand/brand.js
similarity index 100%
rename from setup/doctype/brand/brand.js
rename to erpnext/setup/doctype/brand/brand.js
diff --git a/setup/doctype/brand/brand.txt b/erpnext/setup/doctype/brand/brand.txt
similarity index 100%
rename from setup/doctype/brand/brand.txt
rename to erpnext/setup/doctype/brand/brand.txt
diff --git a/setup/doctype/company/__init__.py b/erpnext/setup/doctype/company/__init__.py
similarity index 100%
rename from setup/doctype/company/__init__.py
rename to erpnext/setup/doctype/company/__init__.py
diff --git a/setup/doctype/company/company.js b/erpnext/setup/doctype/company/company.js
similarity index 100%
rename from setup/doctype/company/company.js
rename to erpnext/setup/doctype/company/company.js
diff --git a/erpnext/setup/doctype/company/company.py b/erpnext/setup/doctype/company/company.py
new file mode 100644
index 0000000..a163870
--- /dev/null
+++ b/erpnext/setup/doctype/company/company.py
@@ -0,0 +1,238 @@
+# Please edit this list and import only required elements
+import webnotes
+
+from webnotes.utils import add_days, add_months, add_years, cint, cstr, date_diff, default_fields, flt, fmt_money, formatdate, generate_hash, getTraceback, get_defaults, get_first_day, get_last_day, getdate, has_common, month_name, now, nowdate, replace_newlines, sendmail, set_default, str_esc_quote, user_format, validate_email_add
+from webnotes.model import db_exists
+from webnotes.model.doc import Document, addchild, removechild, getchildren, make_autoname, SuperDocType
+from webnotes.model.doclist import getlist, copy_doclist
+from webnotes.model.code import get_obj, get_server_obj, run_server_obj, updatedb, check_syntax
+from webnotes import session, form, is_testing, msgprint, errprint
+
+set = webnotes.conn.set
+sql = webnotes.conn.sql
+get_value = webnotes.conn.get_value
+in_transaction = webnotes.conn.in_transaction
+convert_to_lists = webnotes.conn.convert_to_lists
+
+# -----------------------------------------------------------------------------------------
+
+
+class DocType:
+	def __init__(self,d,dl):
+		self.doc, self.doclist = d,dl
+	
+	# Create default accounts
+	# ---------------------------------------------------
+	def create_default_accounts(self):
+		self.fld_dict = {'account_name':0,'parent_account':1,'group_or_ledger':2,'is_pl_account':3,'account_type':4,'debit_or_credit':5,'company':6,'tax_rate':7}
+		acc_list_common = [['Application of Funds (Assets)','','Group','No','','Debit',self.doc.name,''],
+								['Current Assets','Application of Funds (Assets)','Group','No','','Debit',self.doc.name,''],
+									['Accounts Receivable','Current Assets','Group','No','','Debit',self.doc.name,''],
+									['Bank Accounts','Current Assets','Group','No','Bank or Cash','Debit',self.doc.name,''],
+									['Cash In Hand','Current Assets','Group','No','Bank or Cash','Debit',self.doc.name,''],
+										['Cash','Cash In Hand','Ledger','No','Bank or Cash','Debit',self.doc.name,''],
+									['Loans and Advances (Assets)','Current Assets','Group','No','','Debit',self.doc.name,''],
+									['Securities and Deposits','Current Assets','Group','No','','Debit',self.doc.name,''],
+										['Earnest Money','Securities and Deposits','Ledger','No','','Debit',self.doc.name,''],
+									['Stock In Hand','Current Assets','Group','No','','Debit',self.doc.name,''],
+										['Stock','Stock In Hand','Ledger','No','','Debit',self.doc.name,''],
+									['Tax Assets','Current Assets','Group','No','','Debit',self.doc.name,''],
+								['Fixed Assets','Application of Funds (Assets)','Group','No','','Debit',self.doc.name,''],
+									['Capital Equipments','Fixed Assets','Ledger','No','Fixed Asset Account','Debit',self.doc.name,''],
+									['Computers','Fixed Assets','Ledger','No','Fixed Asset Account','Debit',self.doc.name,''],
+									['Furniture and Fixture','Fixed Assets','Ledger','No','Fixed Asset Account','Debit',self.doc.name,''],
+									['Office Equipments','Fixed Assets','Ledger','No','Fixed Asset Account','Debit',self.doc.name,''],
+									['Plant and Machinery','Fixed Assets','Ledger','No','Fixed Asset Account','Debit',self.doc.name,''],
+								['Investments','Application of Funds (Assets)','Group','No','','Debit',self.doc.name,''],
+								['Temporary Accounts (Assets)','Application of Funds (Assets)','Group','No','','Debit',self.doc.name,''],
+									['Temporary Account (Assets)','Temporary Accounts (Assets)','Ledger','No','','Debit',self.doc.name,''],
+						['Expenses','','Group','Yes','Expense Account','Debit',self.doc.name,''],
+							['Direct Expenses','Expenses','Group','Yes','Expense Account','Debit',self.doc.name,''],
+								['Cost of Goods Sold','Direct Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
+							['Indirect Expenses','Expenses','Group','Yes','Expense Account','Debit',self.doc.name,''],
+								['Advertising and Publicity','Indirect Expenses','Ledger','Yes','Chargeable','Debit',self.doc.name,''],
+								['Bad Debts Written Off','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
+								['Bank Charges','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
+								['Books and Periodicals','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
+								['Charity and Donations','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
+								['Commission on Sales','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
+								['Conveyance Expenses','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
+								['Customer Entertainment Expenses','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
+								['Depreciation Account','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
+								['Freight and Forwarding Charges','Indirect Expenses','Ledger','Yes','Chargeable','Debit',self.doc.name,''],
+								['Legal Expenses','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
+								['Miscellaneous Expenses','Indirect Expenses','Ledger','Yes','Chargeable','Debit',self.doc.name,''],
+								['Office Maintenance Expenses','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
+								['Office Rent','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
+								['Postal Expenses','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
+								['Print and Stationary','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
+								['Rounded Off','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
+								['Salary','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
+								['Sales Promotion Expenses','Indirect Expenses','Ledger','Yes','Chargeable','Debit',self.doc.name,''],
+								['Service Charges Paid','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
+								['Staff Welfare Expenses','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
+								['Telephone Expenses','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
+								['Travelling Expenses','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
+								['Water and Electricity Expenses','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
+						['Income','','Group','Yes','','Credit',self.doc.name,''],
+							['Direct Income','Income','Group','Yes','Income Account','Credit',self.doc.name,''],
+								['Sales','Direct Income','Ledger','Yes','Income Account','Credit',self.doc.name,''],
+								['Service','Direct Income','Ledger','Yes','Income Account','Credit',self.doc.name,''],
+							['Indirect Income','Income','Group','Yes','Income Account','Credit',self.doc.name,''],
+						['Source of Funds (Liabilities)','','Group','No','','Credit',self.doc.name,''],
+							['Capital Account','Source of Funds (Liabilities)','Group','No','','Credit',self.doc.name,''],
+								['Reserves and Surplus','Capital Account','Group','No','','Credit',self.doc.name,''],
+								['Shareholders Funds','Capital Account','Group','No','','Credit',self.doc.name,''],
+							['Current Liabilities','Source of Funds (Liabilities)','Group','No','','Credit',self.doc.name,''],
+								['Accounts Payable','Current Liabilities','Group','No','','Credit',self.doc.name,''],
+								['Duties and Taxes','Current Liabilities','Group','No','','Credit',self.doc.name,''],
+								['Loans (Liabilities)','Current Liabilities','Group','No','','Credit',self.doc.name,''],
+									['Secured Loans','Loans (Liabilities)','Group','No','','Credit',self.doc.name,''],
+									['Unsecured Loans','Loans (Liabilities)','Group','No','','Credit',self.doc.name,''],
+									['Bank Overdraft Account','Loans (Liabilities)','Group','No','','Credit',self.doc.name,''],
+							['Temporary Accounts (Liabilities)','Source of Funds (Liabilities)','Group','No','','Credit',self.doc.name,''],
+								['Temporary Account (Liabilities)','Temporary Accounts (Liabilities)','Ledger','No','','Credit',self.doc.name,'']						
+						]
+		
+		acc_list_india = [
+							['CENVAT Capital Goods','Tax Assets','Ledger','No','','Debit',self.doc.name,''],
+							['CENVAT','Tax Assets','Ledger','No','Chargeable','Debit',self.doc.name,''],
+							['CENVAT Service Tax','Tax Assets','Ledger','No','','Debit',self.doc.name,''],
+							['CENVAT Service Tax Cess 1','Tax Assets','Ledger','No','','Debit',self.doc.name,''],
+							['CENVAT Service Tax Cess 2','Tax Assets','Ledger','No','','Debit',self.doc.name,''],
+							['CENVAT Edu Cess','Tax Assets','Ledger','No','Chargeable','Debit',self.doc.name,''],
+							['CENVAT SHE Cess','Tax Assets','Ledger','No','Chargeable','Debit',self.doc.name,''],
+							['Excise Duty 4','Tax Assets','Ledger','No','Tax','Debit',self.doc.name,'4.00'],
+							['Excise Duty 8','Tax Assets','Ledger','No','Tax','Debit',self.doc.name,'8.00'],
+							['Excise Duty 10','Tax Assets','Ledger','No','Tax','Debit',self.doc.name,'10.00'],
+							['Excise Duty 14','Tax Assets','Ledger','No','Tax','Debit',self.doc.name,'14.00'],
+							['Excise Duty Edu Cess 2','Tax Assets','Ledger','No','Tax','Debit',self.doc.name,'2.00'],
+							['Excise Duty SHE Cess 1','Tax Assets','Ledger','No','Tax','Debit',self.doc.name,'1.00'],
+							['P L A','Tax Assets','Ledger','No','','Debit',self.doc.name,''],
+							['P L A - Cess Portion','Tax Assets','Ledger','No','','Debit',self.doc.name,''],
+							['Edu. Cess on Excise','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'2.00'],
+							['Edu. Cess on Service Tax','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'2.00'],
+							['Edu. Cess on TDS','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'2.00'],
+							['Excise Duty @ 4','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'4.00'],
+							['Excise Duty @ 8','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'8.00'],
+							['Excise Duty @ 10','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'10.00'],
+							['Excise Duty @ 14','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'14.00'],
+							['Service Tax','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'10.3'],
+							['SHE Cess on Excise','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'1.00'],
+							['SHE Cess on Service Tax','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'1.00'],
+							['SHE Cess on TDS','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'1.00'],
+							['Professional Tax','Duties and Taxes','Ledger','No','','Credit',self.doc.name,''],
+							['VAT','Duties and Taxes','Ledger','No','','Credit',self.doc.name,''],
+							['TDS (Advertisement)','Duties and Taxes','Ledger','No','','Credit',self.doc.name,''],
+							['TDS (Commission)','Duties and Taxes','Ledger','No','','Credit',self.doc.name,''],
+							['TDS (Contractor)','Duties and Taxes','Ledger','No','','Credit',self.doc.name,''],
+							['TDS (Interest)','Duties and Taxes','Ledger','No','','Credit',self.doc.name,''],
+							['TDS (Rent)','Duties and Taxes','Ledger','No','','Credit',self.doc.name,''],
+							['TDS (Salary)','Duties and Taxes','Ledger','No','','Credit',self.doc.name,'']
+						 ]
+		# load common account heads
+		for d in acc_list_common:
+			self.add_acc(d)
+
+		country = sql("select value from tabSingles where field = 'country' and doctype = 'Control Panel'")
+		country = country and cstr(country[0][0]) or ''
+
+		# load taxes (only for India)
+		if country == 'India':
+			for d in acc_list_india:
+				self.add_acc(d)
+
+	# Create account
+	# ---------------------------------------------------
+	def add_acc(self,lst):
+		ac = Document('Account')
+		for d in self.fld_dict.keys():
+			ac.fields[d] = (d == 'parent_account' and lst[self.fld_dict[d]]) and lst[self.fld_dict[d]] +' - '+ self.doc.abbr or lst[self.fld_dict[d]]
+		ac.old_parent = ''
+		ac_obj = get_obj(doc=ac)
+		ac_obj.validate()
+		ac_obj.doc.save(1)
+		ac_obj.on_update()
+		sql("commit")
+		sql("start transaction")
+
+
+	# Set letter head
+	# ---------------------------------------------------
+	def set_letter_head(self):
+		if not self.doc.letter_head:
+			if self.doc.address:
+				header = """ 
+<div><h3> %(comp)s </h3> %(add)s </div>
+
+			""" % {'comp':self.doc.name,
+				 'add':self.doc.address.replace("\n",'<br>')}
+			 
+				self.doc.letter_head = header
+
+	# Set default AR and AP group
+	# ---------------------------------------------------
+	def set_default_groups(self):
+		if not self.doc.receivables_group:
+			set(self.doc, 'receivables_group', 'Accounts Receivable - '+self.doc.abbr)
+		if not self.doc.payables_group:
+			set(self.doc, 'payables_group', 'Accounts Payable - '+self.doc.abbr)
+			
+			
+	# Create default cost center
+	# ---------------------------------------------------
+	def create_default_cost_center(self):
+		glc = get_obj('GL Control')
+		cc_list = [{'cost_center_name':'Root','company_name':self.doc.name,'company_abbr':self.doc.abbr,'group_or_ledger':'Group','parent_cost_center':'','old_parent':''}, {'cost_center_name':'Default CC Ledger','company_name':self.doc.name,'company_abbr':self.doc.abbr,'group_or_ledger':'Ledger','parent_cost_center':'Root - ' + self.doc.abbr,'old_parent':''}]
+		for c in cc_list:
+			glc.add_cc(str(c))
+			
+			
+	# On update
+	# ---------------------------------------------------
+	def on_update(self):
+		self.set_letter_head()
+		ac = sql("select name from tabAccount where account_name='Income' and company=%s", self.doc.name)
+		if not ac:
+			self.create_default_accounts()
+		self.set_default_groups()
+		cc = sql("select name from `tabCost Center` where cost_center_name = 'Root' and company_name = '%s'"%(self.doc.name))
+		if not cc:
+			self.create_default_cost_center()
+
+	# 
+	# ---------------------------------------------------	
+	def on_trash(self):
+		"""
+			Trash accounts and cost centers for this company if no gl entry exists
+		"""
+		rec = sql("SELECT name from `tabGL Entry` where ifnull(is_cancelled, 'No') = 'No' and company = %s", self.doc.name)
+		if not rec:
+			# delete gl entry
+			sql("delete from `tabGL Entry` where company = %s", self.doc.name)
+
+			#delete tabAccount Balance
+			sql("delete ab.* from `tabAccount Balance` ab, `tabAccount` a where ab.account = a.name and a.company = %s", self.doc.name)
+
+			#delete tabAccount
+			sql("delete from `tabAccount` where company = %s order by lft desc, rgt desc", self.doc.name)
+			
+			#delete cost center child table - budget detail
+			sql("delete bd.* from `tabBudget Detail` bd, `tabCost Center` cc where bd.parent = cc.name and cc.company_name = %s", self.doc.name)
+			#delete cost center
+			sql("delete from `tabCost Center` WHERE company_name = %s order by lft desc, rgt desc", self.doc.name)
+			
+			#update value as blank for tabDefaultValue defkey=company
+			sql("update `tabDefaultValue` set defvalue = '' where defkey='company' and defvalue = %s", self.doc.name)
+			
+			#update value as blank for tabSingles Manage Account
+			sql("update `tabSingles` set value = '' where doctype='Manage Account' and field = 'default_company' and value = %s", self.doc.name)
+
+		
+	# on rename
+	# ---------
+	def on_rename(self,newdn,olddn):		
+		sql("update `tabCompany` set company_name = '%s' where name = '%s'" %(newdn,olddn))	
+		sql("update `tabSingles` set value = %s where doctype='Manage Account' and field = 'default_company' and value = %s", (newdn, olddn))	
+		if get_defaults('company') == olddn:
+			set_default('company', newdn)
diff --git a/setup/doctype/company/company.txt b/erpnext/setup/doctype/company/company.txt
similarity index 100%
rename from setup/doctype/company/company.txt
rename to erpnext/setup/doctype/company/company.txt
diff --git a/setup/doctype/contact_control/__init__.py b/erpnext/setup/doctype/contact_control/__init__.py
similarity index 100%
rename from setup/doctype/contact_control/__init__.py
rename to erpnext/setup/doctype/contact_control/__init__.py
diff --git a/setup/doctype/contact_control/contact_control.js b/erpnext/setup/doctype/contact_control/contact_control.js
similarity index 100%
rename from setup/doctype/contact_control/contact_control.js
rename to erpnext/setup/doctype/contact_control/contact_control.js
diff --git a/setup/doctype/contact_control/contact_control.py b/erpnext/setup/doctype/contact_control/contact_control.py
similarity index 100%
rename from setup/doctype/contact_control/contact_control.py
rename to erpnext/setup/doctype/contact_control/contact_control.py
diff --git a/setup/doctype/contact_control/contact_control.txt b/erpnext/setup/doctype/contact_control/contact_control.txt
similarity index 100%
rename from setup/doctype/contact_control/contact_control.txt
rename to erpnext/setup/doctype/contact_control/contact_control.txt
diff --git a/setup/doctype/country/__init__.py b/erpnext/setup/doctype/country/__init__.py
similarity index 100%
rename from setup/doctype/country/__init__.py
rename to erpnext/setup/doctype/country/__init__.py
diff --git a/setup/doctype/country/country.js b/erpnext/setup/doctype/country/country.js
similarity index 100%
rename from setup/doctype/country/country.js
rename to erpnext/setup/doctype/country/country.js
diff --git a/setup/doctype/country/country.txt b/erpnext/setup/doctype/country/country.txt
similarity index 100%
rename from setup/doctype/country/country.txt
rename to erpnext/setup/doctype/country/country.txt
diff --git a/setup/doctype/currency/__init__.py b/erpnext/setup/doctype/currency/__init__.py
similarity index 100%
rename from setup/doctype/currency/__init__.py
rename to erpnext/setup/doctype/currency/__init__.py
diff --git a/setup/doctype/currency/currency.txt b/erpnext/setup/doctype/currency/currency.txt
similarity index 100%
rename from setup/doctype/currency/currency.txt
rename to erpnext/setup/doctype/currency/currency.txt
diff --git a/setup/doctype/customer_group/__init__.py b/erpnext/setup/doctype/customer_group/__init__.py
similarity index 100%
rename from setup/doctype/customer_group/__init__.py
rename to erpnext/setup/doctype/customer_group/__init__.py
diff --git a/setup/doctype/customer_group/customer_group.js b/erpnext/setup/doctype/customer_group/customer_group.js
similarity index 100%
rename from setup/doctype/customer_group/customer_group.js
rename to erpnext/setup/doctype/customer_group/customer_group.js
diff --git a/setup/doctype/customer_group/customer_group.py b/erpnext/setup/doctype/customer_group/customer_group.py
similarity index 100%
rename from setup/doctype/customer_group/customer_group.py
rename to erpnext/setup/doctype/customer_group/customer_group.py
diff --git a/setup/doctype/customer_group/customer_group.txt b/erpnext/setup/doctype/customer_group/customer_group.txt
similarity index 100%
rename from setup/doctype/customer_group/customer_group.txt
rename to erpnext/setup/doctype/customer_group/customer_group.txt
diff --git a/hr/doctype/holiday_list/__init__.py b/erpnext/setup/doctype/email_digest/__init__.py
similarity index 100%
copy from hr/doctype/holiday_list/__init__.py
copy to erpnext/setup/doctype/email_digest/__init__.py
diff --git a/erpnext/setup/doctype/email_digest/email_digest.coffee b/erpnext/setup/doctype/email_digest/email_digest.coffee
new file mode 100644
index 0000000..1b17d5b
--- /dev/null
+++ b/erpnext/setup/doctype/email_digest/email_digest.coffee
@@ -0,0 +1,101 @@
+content_items = ['Sales','Expenses','Bank Balance','Activity']
+
+# make a grid with items and columns of checkboxes
+# Parameters:
+#   parent
+# 	label (main heading)
+#	items = [] (rows)
+#	columns = [] (columns of checks)
+#	widths
+#	description
+
+class CheckGrid
+	constructor: (@args) ->
+		$.extend @, args
+		@wrapper = $a @parent, 'div', 'check-grid round'
+		@render()
+		
+	render: ->
+		$a @wrapper, 'h3', 'check-grid-title', null, @label
+		
+		if @description
+			$a @wrapper, 'div', 'help-box', null, @description
+		
+		@tab = make_table @wrapper, @items.length + 1, @columns.length, '100%', @widths
+		@checks = {}
+
+		# render heads
+		for i in [0..@columns.length-1]
+			$($td(@tab, 0, i))
+				.addClass('check-grid-head gradient')
+				.html @columns[i]
+
+		@render_rows()
+	
+	render_rows: ->
+		# render rows
+		for i in [0..@items.length-1]
+			$td(@tab, i+1, 0).innerHTML = @items[i]
+			
+			# render checkboxes for this row
+			@checks[@items[i]] = {}
+			for c in [1..@columns.length-1]
+				check = $a_input $td(@tab, i+1, c), 'checkbox'
+				
+				# tag keys to checkbox
+				check.item = @items[i]
+				check.column = @columns[c]
+				
+				# add in my checks
+				@checks[@items[i]][@columns[c]] = check
+	
+	# get the values of the checkbox in a double dict
+	get: =>
+		val = {}
+		for item in keys @checks
+			for column in keys @checks[item]
+				check = @checks[item][column]
+				val[check.item] or= {}
+				val[check.item][check.column] = if check.checked then 1 else 0
+		val
+	
+	# set the values of the grid
+	set: (val) =>
+		for item in keys @checks
+			for column in keys @checks[item]
+				if val[item][column]
+					@checks[item][column] .checked = val[item][column] 
+		return
+
+# attach it to onload
+cx = cur_frm.cscript
+cx.onload = (doc, dt, dn) ->
+
+	# make the content grid
+	cx.content_grid = new CheckGrid 
+		parent: cur_frm.fields_dict.Body.wrapper
+		label: 'Email Settings'
+		items: content_items
+		columns: ['Item','Daily','Weekly']
+		widths: ['60%', '20%', '20%']
+		description: 'Select items to be compiled for Email Digest'
+
+	# make the email grid
+	cx.email_grid = new CheckGrid 
+		parent: cur_frm.fields_dict.Body.wrapper
+		label: 'Send To'
+		items: ['test1@erpnext', 'test2@erpnext']
+		columns: ['Email','Daily','Weekly']
+		widths: ['60%', '20%', '20%']
+		description: 'Select who gets daily and weekly mails'
+		
+	cx.content_grid.set JSON.parse doc.content_config if doc.content_config
+	cx.email_grid.set JSON.parse doc.email_config if doc.email_config
+	
+	return
+
+# update the data before sending
+cx.validate = (doc, dt, dn) ->
+	doc.content_config = JSON.stringify cx.content_grid.get()
+	doc.email_config = JSON.stringify cx.email_grid.get()
+		
\ No newline at end of file
diff --git a/erpnext/setup/doctype/email_digest/email_digest.css b/erpnext/setup/doctype/email_digest/email_digest.css
new file mode 100644
index 0000000..f61dacc
--- /dev/null
+++ b/erpnext/setup/doctype/email_digest/email_digest.css
@@ -0,0 +1,18 @@
+
+div.check-grid {
+	margin: 17px;
+}
+
+div.check-grid table {
+	border-collapse: collapse;
+}
+
+div.check-grid table td {
+	padding: 3px;
+	border: 1px solid #aaa;
+}
+
+td.check-grid-head {
+	font-weight: bold;
+	text-align: center;
+}
\ No newline at end of file
diff --git a/erpnext/setup/doctype/email_digest/email_digest.js b/erpnext/setup/doctype/email_digest/email_digest.js
new file mode 100644
index 0000000..ddb13f4
--- /dev/null
+++ b/erpnext/setup/doctype/email_digest/email_digest.js
@@ -0,0 +1,108 @@
+(function() {
+  var CheckGrid, content_items, cx;
+  var __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; };
+  content_items = ['Sales', 'Expenses', 'Bank Balance', 'Activity'];
+  CheckGrid = (function() {
+    function CheckGrid(args) {
+      this.args = args;
+      this.set = __bind(this.set, this);
+      this.get = __bind(this.get, this);
+      $.extend(this, args);
+      this.wrapper = $a(this.parent, 'div', 'check-grid round');
+      this.render();
+    }
+    CheckGrid.prototype.render = function() {
+      var i, _ref;
+      $a(this.wrapper, 'h3', 'check-grid-title', null, this.label);
+      if (this.description) {
+        $a(this.wrapper, 'div', 'help-box', null, this.description);
+      }
+      this.tab = make_table(this.wrapper, this.items.length + 1, this.columns.length, '100%', this.widths);
+      this.checks = {};
+      for (i = 0, _ref = this.columns.length - 1; 0 <= _ref ? i <= _ref : i >= _ref; 0 <= _ref ? i++ : i--) {
+        $($td(this.tab, 0, i)).addClass('check-grid-head gradient').html(this.columns[i]);
+      }
+      return this.render_rows();
+    };
+    CheckGrid.prototype.render_rows = function() {
+      var c, check, i, _ref, _results;
+      _results = [];
+      for (i = 0, _ref = this.items.length - 1; 0 <= _ref ? i <= _ref : i >= _ref; 0 <= _ref ? i++ : i--) {
+        $td(this.tab, i + 1, 0).innerHTML = this.items[i];
+        this.checks[this.items[i]] = {};
+        _results.push((function() {
+          var _ref2, _results2;
+          _results2 = [];
+          for (c = 1, _ref2 = this.columns.length - 1; 1 <= _ref2 ? c <= _ref2 : c >= _ref2; 1 <= _ref2 ? c++ : c--) {
+            check = $a_input($td(this.tab, i + 1, c), 'checkbox');
+            check.item = this.items[i];
+            check.column = this.columns[c];
+            _results2.push(this.checks[this.items[i]][this.columns[c]] = check);
+          }
+          return _results2;
+        }).call(this));
+      }
+      return _results;
+    };
+    CheckGrid.prototype.get = function() {
+      var check, column, item, val, _i, _j, _len, _len2, _name, _ref, _ref2;
+      val = {};
+      _ref = keys(this.checks);
+      for (_i = 0, _len = _ref.length; _i < _len; _i++) {
+        item = _ref[_i];
+        _ref2 = keys(this.checks[item]);
+        for (_j = 0, _len2 = _ref2.length; _j < _len2; _j++) {
+          column = _ref2[_j];
+          check = this.checks[item][column];
+          val[_name = check.item] || (val[_name] = {});
+          val[check.item][check.column] = check.checked ? 1 : 0;
+        }
+      }
+      return val;
+    };
+    CheckGrid.prototype.set = function(val) {
+      var column, item, _i, _j, _len, _len2, _ref, _ref2;
+      _ref = keys(this.checks);
+      for (_i = 0, _len = _ref.length; _i < _len; _i++) {
+        item = _ref[_i];
+        _ref2 = keys(this.checks[item]);
+        for (_j = 0, _len2 = _ref2.length; _j < _len2; _j++) {
+          column = _ref2[_j];
+          if (val[item][column]) {
+            this.checks[item][column].checked = val[item][column];
+          }
+        }
+      }
+    };
+    return CheckGrid;
+  })();
+  cx = cur_frm.cscript;
+  cx.onload = function(doc, dt, dn) {
+    cx.content_grid = new CheckGrid({
+      parent: cur_frm.fields_dict.Body.wrapper,
+      label: 'Email Settings',
+      items: content_items,
+      columns: ['Item', 'Daily', 'Weekly'],
+      widths: ['60%', '20%', '20%'],
+      description: 'Select items to be compiled for Email Digest'
+    });
+    cx.email_grid = new CheckGrid({
+      parent: cur_frm.fields_dict.Body.wrapper,
+      label: 'Send To',
+      items: ['test1@erpnext', 'test2@erpnext'],
+      columns: ['Email', 'Daily', 'Weekly'],
+      widths: ['60%', '20%', '20%'],
+      description: 'Select who gets daily and weekly mails'
+    });
+    if (doc.content_config) {
+      cx.content_grid.set(JSON.parse(doc.content_config));
+    }
+    if (doc.email_config) {
+      cx.email_grid.set(JSON.parse(doc.email_config));
+    }
+  };
+  cx.validate = function(doc, dt, dn) {
+    doc.content_config = JSON.stringify(cx.content_grid.get());
+    return doc.email_config = JSON.stringify(cx.email_grid.get());
+  };
+}).call(this);
diff --git a/erpnext/setup/doctype/email_digest/email_digest.txt b/erpnext/setup/doctype/email_digest/email_digest.txt
new file mode 100644
index 0000000..026caa7
--- /dev/null
+++ b/erpnext/setup/doctype/email_digest/email_digest.txt
@@ -0,0 +1,89 @@
+# DocType, Email Digest
+[
+
+	# These values are common in all dictionaries
+	{
+		'creation': '2011-07-27 14:23:09',
+		'docstatus': 0,
+		'modified': '2011-07-27 17:32:27',
+		'modified_by': 'Administrator',
+		'owner': 'Administrator'
+	},
+
+	# These values are common for all DocType
+	{
+		'_last_update': '1311760331',
+		'colour': 'White:FFF',
+		'doctype': 'DocType',
+		'issingle': 1,
+		'module': 'Setup',
+		'name': '__common__',
+		'section_style': 'Simple',
+		'show_in_menu': 0,
+		'version': 4
+	},
+
+	# These values are common for all DocField
+	{
+		'doctype': 'DocField',
+		'name': '__common__',
+		'parent': 'Email Digest',
+		'parentfield': 'fields',
+		'parenttype': 'DocType',
+		'permlevel': 0
+	},
+
+	# These values are common for all DocPerm
+	{
+		'create': 1,
+		'doctype': 'DocPerm',
+		'idx': 1,
+		'name': '__common__',
+		'parent': 'Email Digest',
+		'parentfield': 'permissions',
+		'parenttype': 'DocType',
+		'permlevel': 0,
+		'read': 1,
+		'role': 'Administrator',
+		'write': 1
+	},
+
+	# DocType, Email Digest
+	{
+		'doctype': 'DocType',
+		'name': 'Email Digest'
+	},
+
+	# DocPerm
+	{
+		'doctype': 'DocPerm'
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldtype': 'HTML',
+		'idx': 1,
+		'label': 'Body'
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldname': 'content_config',
+		'fieldtype': 'Text',
+		'hidden': 1,
+		'idx': 2,
+		'label': 'Content Config'
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldname': 'email_config',
+		'fieldtype': 'Text',
+		'hidden': 1,
+		'idx': 3,
+		'label': 'Email Config'
+	}
+]
\ No newline at end of file
diff --git a/setup/doctype/email_settings/__init__.py b/erpnext/setup/doctype/email_settings/__init__.py
similarity index 100%
rename from setup/doctype/email_settings/__init__.py
rename to erpnext/setup/doctype/email_settings/__init__.py
diff --git a/setup/doctype/email_settings/email_settings.js b/erpnext/setup/doctype/email_settings/email_settings.js
similarity index 100%
rename from setup/doctype/email_settings/email_settings.js
rename to erpnext/setup/doctype/email_settings/email_settings.js
diff --git a/setup/doctype/email_settings/email_settings.py b/erpnext/setup/doctype/email_settings/email_settings.py
similarity index 100%
rename from setup/doctype/email_settings/email_settings.py
rename to erpnext/setup/doctype/email_settings/email_settings.py
diff --git a/setup/doctype/email_settings/email_settings.txt b/erpnext/setup/doctype/email_settings/email_settings.txt
similarity index 100%
rename from setup/doctype/email_settings/email_settings.txt
rename to erpnext/setup/doctype/email_settings/email_settings.txt
diff --git a/setup/doctype/features_setup/__init__.py b/erpnext/setup/doctype/features_setup/__init__.py
similarity index 100%
rename from setup/doctype/features_setup/__init__.py
rename to erpnext/setup/doctype/features_setup/__init__.py
diff --git a/setup/doctype/features_setup/features_setup.py b/erpnext/setup/doctype/features_setup/features_setup.py
similarity index 98%
rename from setup/doctype/features_setup/features_setup.py
rename to erpnext/setup/doctype/features_setup/features_setup.py
index 3a549d9..f12d282 100644
--- a/setup/doctype/features_setup/features_setup.py
+++ b/erpnext/setup/doctype/features_setup/features_setup.py
@@ -8,6 +8,7 @@
 		"""
 		from webnotes.model import default_fields 
 		from webnotes.utils import set_default
+		
 		for key in self.doc.fields:
 			if key not in default_fields:
 				set_default(key, self.doc.fields[key])
diff --git a/setup/doctype/features_setup/features_setup.txt b/erpnext/setup/doctype/features_setup/features_setup.txt
similarity index 100%
rename from setup/doctype/features_setup/features_setup.txt
rename to erpnext/setup/doctype/features_setup/features_setup.txt
diff --git a/setup/doctype/import_data_control/__init__.py b/erpnext/setup/doctype/import_data_control/__init__.py
similarity index 100%
rename from setup/doctype/import_data_control/__init__.py
rename to erpnext/setup/doctype/import_data_control/__init__.py
diff --git a/setup/doctype/import_data_control/import_data_control.py b/erpnext/setup/doctype/import_data_control/import_data_control.py
similarity index 100%
rename from setup/doctype/import_data_control/import_data_control.py
rename to erpnext/setup/doctype/import_data_control/import_data_control.py
diff --git a/setup/doctype/import_data_control/import_data_control.txt b/erpnext/setup/doctype/import_data_control/import_data_control.txt
similarity index 100%
rename from setup/doctype/import_data_control/import_data_control.txt
rename to erpnext/setup/doctype/import_data_control/import_data_control.txt
diff --git a/setup/doctype/item_group/__init__.py b/erpnext/setup/doctype/item_group/__init__.py
similarity index 100%
rename from setup/doctype/item_group/__init__.py
rename to erpnext/setup/doctype/item_group/__init__.py
diff --git a/setup/doctype/item_group/item_group.js b/erpnext/setup/doctype/item_group/item_group.js
similarity index 100%
rename from setup/doctype/item_group/item_group.js
rename to erpnext/setup/doctype/item_group/item_group.js
diff --git a/setup/doctype/item_group/item_group.py b/erpnext/setup/doctype/item_group/item_group.py
similarity index 100%
rename from setup/doctype/item_group/item_group.py
rename to erpnext/setup/doctype/item_group/item_group.py
diff --git a/setup/doctype/item_group/item_group.txt b/erpnext/setup/doctype/item_group/item_group.txt
similarity index 100%
rename from setup/doctype/item_group/item_group.txt
rename to erpnext/setup/doctype/item_group/item_group.txt
diff --git a/setup/doctype/manage_account/__init__.py b/erpnext/setup/doctype/manage_account/__init__.py
similarity index 100%
rename from setup/doctype/manage_account/__init__.py
rename to erpnext/setup/doctype/manage_account/__init__.py
diff --git a/setup/doctype/manage_account/manage_account.js b/erpnext/setup/doctype/manage_account/manage_account.js
similarity index 100%
rename from setup/doctype/manage_account/manage_account.js
rename to erpnext/setup/doctype/manage_account/manage_account.js
diff --git a/setup/doctype/manage_account/manage_account.py b/erpnext/setup/doctype/manage_account/manage_account.py
similarity index 100%
rename from setup/doctype/manage_account/manage_account.py
rename to erpnext/setup/doctype/manage_account/manage_account.py
diff --git a/setup/doctype/manage_account/manage_account.txt b/erpnext/setup/doctype/manage_account/manage_account.txt
similarity index 100%
rename from setup/doctype/manage_account/manage_account.txt
rename to erpnext/setup/doctype/manage_account/manage_account.txt
diff --git a/setup/doctype/market_segment/__init__.py b/erpnext/setup/doctype/market_segment/__init__.py
similarity index 100%
rename from setup/doctype/market_segment/__init__.py
rename to erpnext/setup/doctype/market_segment/__init__.py
diff --git a/setup/doctype/market_segment/market_segment.txt b/erpnext/setup/doctype/market_segment/market_segment.txt
similarity index 100%
rename from setup/doctype/market_segment/market_segment.txt
rename to erpnext/setup/doctype/market_segment/market_segment.txt
diff --git a/setup/doctype/naming_series/__init__.py b/erpnext/setup/doctype/naming_series/__init__.py
similarity index 100%
rename from setup/doctype/naming_series/__init__.py
rename to erpnext/setup/doctype/naming_series/__init__.py
diff --git a/setup/doctype/naming_series/naming_series.js b/erpnext/setup/doctype/naming_series/naming_series.js
similarity index 100%
rename from setup/doctype/naming_series/naming_series.js
rename to erpnext/setup/doctype/naming_series/naming_series.js
diff --git a/setup/doctype/naming_series/naming_series.py b/erpnext/setup/doctype/naming_series/naming_series.py
similarity index 100%
rename from setup/doctype/naming_series/naming_series.py
rename to erpnext/setup/doctype/naming_series/naming_series.py
diff --git a/setup/doctype/naming_series/naming_series.txt b/erpnext/setup/doctype/naming_series/naming_series.txt
similarity index 100%
rename from setup/doctype/naming_series/naming_series.txt
rename to erpnext/setup/doctype/naming_series/naming_series.txt
diff --git a/setup/doctype/naming_series_options/__init__.py b/erpnext/setup/doctype/naming_series_options/__init__.py
similarity index 100%
rename from setup/doctype/naming_series_options/__init__.py
rename to erpnext/setup/doctype/naming_series_options/__init__.py
diff --git a/setup/doctype/naming_series_options/naming_series_options.txt b/erpnext/setup/doctype/naming_series_options/naming_series_options.txt
similarity index 100%
rename from setup/doctype/naming_series_options/naming_series_options.txt
rename to erpnext/setup/doctype/naming_series_options/naming_series_options.txt
diff --git a/setup/doctype/notification_control/__init__.py b/erpnext/setup/doctype/notification_control/__init__.py
similarity index 100%
rename from setup/doctype/notification_control/__init__.py
rename to erpnext/setup/doctype/notification_control/__init__.py
diff --git a/setup/doctype/notification_control/notification_control.js b/erpnext/setup/doctype/notification_control/notification_control.js
similarity index 100%
rename from setup/doctype/notification_control/notification_control.js
rename to erpnext/setup/doctype/notification_control/notification_control.js
diff --git a/setup/doctype/notification_control/notification_control.py b/erpnext/setup/doctype/notification_control/notification_control.py
similarity index 100%
rename from setup/doctype/notification_control/notification_control.py
rename to erpnext/setup/doctype/notification_control/notification_control.py
diff --git a/setup/doctype/notification_control/notification_control.txt b/erpnext/setup/doctype/notification_control/notification_control.txt
similarity index 100%
rename from setup/doctype/notification_control/notification_control.txt
rename to erpnext/setup/doctype/notification_control/notification_control.txt
diff --git a/setup/doctype/order_lost_reason/__init__.py b/erpnext/setup/doctype/order_lost_reason/__init__.py
similarity index 100%
rename from setup/doctype/order_lost_reason/__init__.py
rename to erpnext/setup/doctype/order_lost_reason/__init__.py
diff --git a/setup/doctype/order_lost_reason/order_lost_reason.js b/erpnext/setup/doctype/order_lost_reason/order_lost_reason.js
similarity index 100%
rename from setup/doctype/order_lost_reason/order_lost_reason.js
rename to erpnext/setup/doctype/order_lost_reason/order_lost_reason.js
diff --git a/setup/doctype/order_lost_reason/order_lost_reason.txt b/erpnext/setup/doctype/order_lost_reason/order_lost_reason.txt
similarity index 100%
rename from setup/doctype/order_lost_reason/order_lost_reason.txt
rename to erpnext/setup/doctype/order_lost_reason/order_lost_reason.txt
diff --git a/setup/doctype/other_charges/__init__.py b/erpnext/setup/doctype/other_charges/__init__.py
similarity index 100%
rename from setup/doctype/other_charges/__init__.py
rename to erpnext/setup/doctype/other_charges/__init__.py
diff --git a/setup/doctype/other_charges/other_charges.js b/erpnext/setup/doctype/other_charges/other_charges.js
similarity index 100%
rename from setup/doctype/other_charges/other_charges.js
rename to erpnext/setup/doctype/other_charges/other_charges.js
diff --git a/setup/doctype/other_charges/other_charges.py b/erpnext/setup/doctype/other_charges/other_charges.py
similarity index 100%
rename from setup/doctype/other_charges/other_charges.py
rename to erpnext/setup/doctype/other_charges/other_charges.py
diff --git a/setup/doctype/other_charges/other_charges.txt b/erpnext/setup/doctype/other_charges/other_charges.txt
similarity index 100%
rename from setup/doctype/other_charges/other_charges.txt
rename to erpnext/setup/doctype/other_charges/other_charges.txt
diff --git a/setup/doctype/period/__init__.py b/erpnext/setup/doctype/period/__init__.py
similarity index 100%
rename from setup/doctype/period/__init__.py
rename to erpnext/setup/doctype/period/__init__.py
diff --git a/setup/doctype/period/period.js b/erpnext/setup/doctype/period/period.js
similarity index 100%
rename from setup/doctype/period/period.js
rename to erpnext/setup/doctype/period/period.js
diff --git a/setup/doctype/period/period.txt b/erpnext/setup/doctype/period/period.txt
similarity index 100%
rename from setup/doctype/period/period.txt
rename to erpnext/setup/doctype/period/period.txt
diff --git a/setup/doctype/period_control/__init__.py b/erpnext/setup/doctype/period_control/__init__.py
similarity index 100%
rename from setup/doctype/period_control/__init__.py
rename to erpnext/setup/doctype/period_control/__init__.py
diff --git a/setup/doctype/period_control/period_control.py b/erpnext/setup/doctype/period_control/period_control.py
similarity index 100%
rename from setup/doctype/period_control/period_control.py
rename to erpnext/setup/doctype/period_control/period_control.py
diff --git a/setup/doctype/period_control/period_control.txt b/erpnext/setup/doctype/period_control/period_control.txt
similarity index 100%
rename from setup/doctype/period_control/period_control.txt
rename to erpnext/setup/doctype/period_control/period_control.txt
diff --git a/setup/doctype/permission_control/__init__.py b/erpnext/setup/doctype/permission_control/__init__.py
similarity index 100%
rename from setup/doctype/permission_control/__init__.py
rename to erpnext/setup/doctype/permission_control/__init__.py
diff --git a/setup/doctype/permission_control/permission_control.py b/erpnext/setup/doctype/permission_control/permission_control.py
similarity index 100%
rename from setup/doctype/permission_control/permission_control.py
rename to erpnext/setup/doctype/permission_control/permission_control.py
diff --git a/setup/doctype/permission_control/permission_control.txt b/erpnext/setup/doctype/permission_control/permission_control.txt
similarity index 100%
rename from setup/doctype/permission_control/permission_control.txt
rename to erpnext/setup/doctype/permission_control/permission_control.txt
diff --git a/setup/doctype/personalize/__init__.py b/erpnext/setup/doctype/personalize/__init__.py
similarity index 100%
rename from setup/doctype/personalize/__init__.py
rename to erpnext/setup/doctype/personalize/__init__.py
diff --git a/setup/doctype/personalize/personalize.py b/erpnext/setup/doctype/personalize/personalize.py
similarity index 100%
rename from setup/doctype/personalize/personalize.py
rename to erpnext/setup/doctype/personalize/personalize.py
diff --git a/setup/doctype/personalize/personalize.txt b/erpnext/setup/doctype/personalize/personalize.txt
similarity index 100%
rename from setup/doctype/personalize/personalize.txt
rename to erpnext/setup/doctype/personalize/personalize.txt
diff --git a/setup/doctype/price_list/__init__.py b/erpnext/setup/doctype/price_list/__init__.py
similarity index 100%
rename from setup/doctype/price_list/__init__.py
rename to erpnext/setup/doctype/price_list/__init__.py
diff --git a/setup/doctype/price_list/price_list.js b/erpnext/setup/doctype/price_list/price_list.js
similarity index 100%
rename from setup/doctype/price_list/price_list.js
rename to erpnext/setup/doctype/price_list/price_list.js
diff --git a/setup/doctype/price_list/price_list.py b/erpnext/setup/doctype/price_list/price_list.py
similarity index 100%
rename from setup/doctype/price_list/price_list.py
rename to erpnext/setup/doctype/price_list/price_list.py
diff --git a/setup/doctype/price_list/price_list.txt b/erpnext/setup/doctype/price_list/price_list.txt
similarity index 100%
rename from setup/doctype/price_list/price_list.txt
rename to erpnext/setup/doctype/price_list/price_list.txt
diff --git a/setup/doctype/print_heading/__init__.py b/erpnext/setup/doctype/print_heading/__init__.py
similarity index 100%
rename from setup/doctype/print_heading/__init__.py
rename to erpnext/setup/doctype/print_heading/__init__.py
diff --git a/setup/doctype/print_heading/print_heading.js b/erpnext/setup/doctype/print_heading/print_heading.js
similarity index 100%
rename from setup/doctype/print_heading/print_heading.js
rename to erpnext/setup/doctype/print_heading/print_heading.js
diff --git a/setup/doctype/print_heading/print_heading.py b/erpnext/setup/doctype/print_heading/print_heading.py
similarity index 100%
rename from setup/doctype/print_heading/print_heading.py
rename to erpnext/setup/doctype/print_heading/print_heading.py
diff --git a/setup/doctype/print_heading/print_heading.txt b/erpnext/setup/doctype/print_heading/print_heading.txt
similarity index 100%
rename from setup/doctype/print_heading/print_heading.txt
rename to erpnext/setup/doctype/print_heading/print_heading.txt
diff --git a/setup/doctype/role/__init__.py b/erpnext/setup/doctype/role/__init__.py
similarity index 100%
rename from setup/doctype/role/__init__.py
rename to erpnext/setup/doctype/role/__init__.py
diff --git a/setup/doctype/role/role.js b/erpnext/setup/doctype/role/role.js
similarity index 100%
rename from setup/doctype/role/role.js
rename to erpnext/setup/doctype/role/role.js
diff --git a/setup/doctype/role/role.py b/erpnext/setup/doctype/role/role.py
similarity index 100%
rename from setup/doctype/role/role.py
rename to erpnext/setup/doctype/role/role.py
diff --git a/setup/doctype/role/role.txt b/erpnext/setup/doctype/role/role.txt
similarity index 100%
rename from setup/doctype/role/role.txt
rename to erpnext/setup/doctype/role/role.txt
diff --git a/setup/doctype/sales_browser_control/__init__.py b/erpnext/setup/doctype/sales_browser_control/__init__.py
similarity index 100%
rename from setup/doctype/sales_browser_control/__init__.py
rename to erpnext/setup/doctype/sales_browser_control/__init__.py
diff --git a/setup/doctype/sales_browser_control/sales_browser_control.py b/erpnext/setup/doctype/sales_browser_control/sales_browser_control.py
similarity index 100%
rename from setup/doctype/sales_browser_control/sales_browser_control.py
rename to erpnext/setup/doctype/sales_browser_control/sales_browser_control.py
diff --git a/setup/doctype/sales_browser_control/sales_browser_control.txt b/erpnext/setup/doctype/sales_browser_control/sales_browser_control.txt
similarity index 100%
rename from setup/doctype/sales_browser_control/sales_browser_control.txt
rename to erpnext/setup/doctype/sales_browser_control/sales_browser_control.txt
diff --git a/setup/doctype/sales_partner/__init__.py b/erpnext/setup/doctype/sales_partner/__init__.py
similarity index 100%
rename from setup/doctype/sales_partner/__init__.py
rename to erpnext/setup/doctype/sales_partner/__init__.py
diff --git a/setup/doctype/sales_partner/sales_partner.js b/erpnext/setup/doctype/sales_partner/sales_partner.js
similarity index 100%
rename from setup/doctype/sales_partner/sales_partner.js
rename to erpnext/setup/doctype/sales_partner/sales_partner.js
diff --git a/setup/doctype/sales_partner/sales_partner.py b/erpnext/setup/doctype/sales_partner/sales_partner.py
similarity index 100%
rename from setup/doctype/sales_partner/sales_partner.py
rename to erpnext/setup/doctype/sales_partner/sales_partner.py
diff --git a/setup/doctype/sales_partner/sales_partner.txt b/erpnext/setup/doctype/sales_partner/sales_partner.txt
similarity index 100%
rename from setup/doctype/sales_partner/sales_partner.txt
rename to erpnext/setup/doctype/sales_partner/sales_partner.txt
diff --git a/setup/doctype/sales_person/__init__.py b/erpnext/setup/doctype/sales_person/__init__.py
similarity index 100%
rename from setup/doctype/sales_person/__init__.py
rename to erpnext/setup/doctype/sales_person/__init__.py
diff --git a/setup/doctype/sales_person/sales_person.js b/erpnext/setup/doctype/sales_person/sales_person.js
similarity index 100%
rename from setup/doctype/sales_person/sales_person.js
rename to erpnext/setup/doctype/sales_person/sales_person.js
diff --git a/setup/doctype/sales_person/sales_person.py b/erpnext/setup/doctype/sales_person/sales_person.py
similarity index 100%
rename from setup/doctype/sales_person/sales_person.py
rename to erpnext/setup/doctype/sales_person/sales_person.py
diff --git a/setup/doctype/sales_person/sales_person.txt b/erpnext/setup/doctype/sales_person/sales_person.txt
similarity index 100%
rename from setup/doctype/sales_person/sales_person.txt
rename to erpnext/setup/doctype/sales_person/sales_person.txt
diff --git a/setup/doctype/series_detail/__init__.py b/erpnext/setup/doctype/series_detail/__init__.py
similarity index 100%
rename from setup/doctype/series_detail/__init__.py
rename to erpnext/setup/doctype/series_detail/__init__.py
diff --git a/setup/doctype/series_detail/series_detail.txt b/erpnext/setup/doctype/series_detail/series_detail.txt
similarity index 100%
rename from setup/doctype/series_detail/series_detail.txt
rename to erpnext/setup/doctype/series_detail/series_detail.txt
diff --git a/setup/doctype/setup_control/__init__.py b/erpnext/setup/doctype/setup_control/__init__.py
similarity index 100%
rename from setup/doctype/setup_control/__init__.py
rename to erpnext/setup/doctype/setup_control/__init__.py
diff --git a/setup/doctype/setup_control/setup_control.py b/erpnext/setup/doctype/setup_control/setup_control.py
similarity index 97%
rename from setup/doctype/setup_control/setup_control.py
rename to erpnext/setup/doctype/setup_control/setup_control.py
index 61e3a82..55b967e 100644
--- a/setup/doctype/setup_control/setup_control.py
+++ b/erpnext/setup/doctype/setup_control/setup_control.py
@@ -52,8 +52,7 @@
 		self.currency = currency
 		
 		# Fiscal Year
-		master_dict = {'Fiscal Year':{'year':curr_fiscal_year,
-																	'year_start_date':fy_start_date}}
+		master_dict = {'Fiscal Year':{'year':curr_fiscal_year, 'year_start_date':fy_start_date}}
 		self.create_records(master_dict)
 		
 		# Company
@@ -85,6 +84,8 @@
 		# Set Registration Complete
 		set_default('registration_complete','1')
 
+		msgprint("Great! Your company has now been created")
+		
 		import webnotes.utils
 		return webnotes.utils.get_defaults()
 
@@ -203,4 +204,4 @@
 		if (cp_defaults==args['account_name']) and user_profile and \
 		   (total_users==cint(args['total_users'])):
 		   return 'True'
-		
\ No newline at end of file
+		
diff --git a/setup/doctype/setup_control/setup_control.txt b/erpnext/setup/doctype/setup_control/setup_control.txt
similarity index 100%
rename from setup/doctype/setup_control/setup_control.txt
rename to erpnext/setup/doctype/setup_control/setup_control.txt
diff --git a/setup/doctype/setup_wizard_control/__init__.py b/erpnext/setup/doctype/setup_wizard_control/__init__.py
similarity index 100%
rename from setup/doctype/setup_wizard_control/__init__.py
rename to erpnext/setup/doctype/setup_wizard_control/__init__.py
diff --git a/setup/doctype/setup_wizard_control/setup_wizard_control.py b/erpnext/setup/doctype/setup_wizard_control/setup_wizard_control.py
similarity index 100%
rename from setup/doctype/setup_wizard_control/setup_wizard_control.py
rename to erpnext/setup/doctype/setup_wizard_control/setup_wizard_control.py
diff --git a/setup/doctype/setup_wizard_control/setup_wizard_control.txt b/erpnext/setup/doctype/setup_wizard_control/setup_wizard_control.txt
similarity index 100%
rename from setup/doctype/setup_wizard_control/setup_wizard_control.txt
rename to erpnext/setup/doctype/setup_wizard_control/setup_wizard_control.txt
diff --git a/setup/doctype/sms_settings/__init__.py b/erpnext/setup/doctype/sms_settings/__init__.py
similarity index 100%
rename from setup/doctype/sms_settings/__init__.py
rename to erpnext/setup/doctype/sms_settings/__init__.py
diff --git a/setup/doctype/sms_settings/sms_settings.txt b/erpnext/setup/doctype/sms_settings/sms_settings.txt
similarity index 100%
rename from setup/doctype/sms_settings/sms_settings.txt
rename to erpnext/setup/doctype/sms_settings/sms_settings.txt
diff --git a/setup/doctype/state/__init__.py b/erpnext/setup/doctype/state/__init__.py
similarity index 100%
rename from setup/doctype/state/__init__.py
rename to erpnext/setup/doctype/state/__init__.py
diff --git a/setup/doctype/state/state.js b/erpnext/setup/doctype/state/state.js
similarity index 100%
rename from setup/doctype/state/state.js
rename to erpnext/setup/doctype/state/state.js
diff --git a/setup/doctype/state/state.txt b/erpnext/setup/doctype/state/state.txt
similarity index 100%
rename from setup/doctype/state/state.txt
rename to erpnext/setup/doctype/state/state.txt
diff --git a/setup/doctype/static_parameter_detail/__init__.py b/erpnext/setup/doctype/static_parameter_detail/__init__.py
similarity index 100%
rename from setup/doctype/static_parameter_detail/__init__.py
rename to erpnext/setup/doctype/static_parameter_detail/__init__.py
diff --git a/setup/doctype/static_parameter_detail/static_parameter_detail.txt b/erpnext/setup/doctype/static_parameter_detail/static_parameter_detail.txt
similarity index 100%
rename from setup/doctype/static_parameter_detail/static_parameter_detail.txt
rename to erpnext/setup/doctype/static_parameter_detail/static_parameter_detail.txt
diff --git a/setup/doctype/supplier_type/__init__.py b/erpnext/setup/doctype/supplier_type/__init__.py
similarity index 100%
rename from setup/doctype/supplier_type/__init__.py
rename to erpnext/setup/doctype/supplier_type/__init__.py
diff --git a/setup/doctype/supplier_type/supplier_type.js b/erpnext/setup/doctype/supplier_type/supplier_type.js
similarity index 100%
rename from setup/doctype/supplier_type/supplier_type.js
rename to erpnext/setup/doctype/supplier_type/supplier_type.js
diff --git a/setup/doctype/supplier_type/supplier_type.txt b/erpnext/setup/doctype/supplier_type/supplier_type.txt
similarity index 100%
rename from setup/doctype/supplier_type/supplier_type.txt
rename to erpnext/setup/doctype/supplier_type/supplier_type.txt
diff --git a/setup/doctype/target_detail/__init__.py b/erpnext/setup/doctype/target_detail/__init__.py
similarity index 100%
rename from setup/doctype/target_detail/__init__.py
rename to erpnext/setup/doctype/target_detail/__init__.py
diff --git a/setup/doctype/target_detail/target_detail.txt b/erpnext/setup/doctype/target_detail/target_detail.txt
similarity index 100%
rename from setup/doctype/target_detail/target_detail.txt
rename to erpnext/setup/doctype/target_detail/target_detail.txt
diff --git a/setup/doctype/term/__init__.py b/erpnext/setup/doctype/term/__init__.py
similarity index 100%
rename from setup/doctype/term/__init__.py
rename to erpnext/setup/doctype/term/__init__.py
diff --git a/setup/doctype/term/term.js b/erpnext/setup/doctype/term/term.js
similarity index 100%
rename from setup/doctype/term/term.js
rename to erpnext/setup/doctype/term/term.js
diff --git a/setup/doctype/term/term.txt b/erpnext/setup/doctype/term/term.txt
similarity index 100%
rename from setup/doctype/term/term.txt
rename to erpnext/setup/doctype/term/term.txt
diff --git a/setup/doctype/territory/__init__.py b/erpnext/setup/doctype/territory/__init__.py
similarity index 100%
rename from setup/doctype/territory/__init__.py
rename to erpnext/setup/doctype/territory/__init__.py
diff --git a/setup/doctype/territory/territory.js b/erpnext/setup/doctype/territory/territory.js
similarity index 100%
rename from setup/doctype/territory/territory.js
rename to erpnext/setup/doctype/territory/territory.js
diff --git a/setup/doctype/territory/territory.py b/erpnext/setup/doctype/territory/territory.py
similarity index 100%
rename from setup/doctype/territory/territory.py
rename to erpnext/setup/doctype/territory/territory.py
diff --git a/setup/doctype/territory/territory.txt b/erpnext/setup/doctype/territory/territory.txt
similarity index 100%
rename from setup/doctype/territory/territory.txt
rename to erpnext/setup/doctype/territory/territory.txt
diff --git a/setup/doctype/uom/__init__.py b/erpnext/setup/doctype/uom/__init__.py
similarity index 100%
rename from setup/doctype/uom/__init__.py
rename to erpnext/setup/doctype/uom/__init__.py
diff --git a/setup/doctype/uom/uom.js b/erpnext/setup/doctype/uom/uom.js
similarity index 100%
rename from setup/doctype/uom/uom.js
rename to erpnext/setup/doctype/uom/uom.js
diff --git a/setup/doctype/uom/uom.txt b/erpnext/setup/doctype/uom/uom.txt
similarity index 100%
rename from setup/doctype/uom/uom.txt
rename to erpnext/setup/doctype/uom/uom.txt
diff --git a/setup/doctype/update_series/__init__.py b/erpnext/setup/doctype/update_series/__init__.py
similarity index 100%
rename from setup/doctype/update_series/__init__.py
rename to erpnext/setup/doctype/update_series/__init__.py
diff --git a/setup/doctype/update_series/update_series.py b/erpnext/setup/doctype/update_series/update_series.py
similarity index 100%
rename from setup/doctype/update_series/update_series.py
rename to erpnext/setup/doctype/update_series/update_series.py
diff --git a/setup/doctype/update_series/update_series.txt b/erpnext/setup/doctype/update_series/update_series.txt
similarity index 100%
rename from setup/doctype/update_series/update_series.txt
rename to erpnext/setup/doctype/update_series/update_series.txt
diff --git a/setup/doctype/upload_accounts_transactions/__init__.py b/erpnext/setup/doctype/upload_accounts_transactions/__init__.py
similarity index 100%
rename from setup/doctype/upload_accounts_transactions/__init__.py
rename to erpnext/setup/doctype/upload_accounts_transactions/__init__.py
diff --git a/setup/doctype/upload_accounts_transactions/upload_accounts_transactions.js b/erpnext/setup/doctype/upload_accounts_transactions/upload_accounts_transactions.js
similarity index 100%
rename from setup/doctype/upload_accounts_transactions/upload_accounts_transactions.js
rename to erpnext/setup/doctype/upload_accounts_transactions/upload_accounts_transactions.js
diff --git a/setup/doctype/upload_accounts_transactions/upload_accounts_transactions.py b/erpnext/setup/doctype/upload_accounts_transactions/upload_accounts_transactions.py
similarity index 100%
rename from setup/doctype/upload_accounts_transactions/upload_accounts_transactions.py
rename to erpnext/setup/doctype/upload_accounts_transactions/upload_accounts_transactions.py
diff --git a/setup/doctype/upload_accounts_transactions/upload_accounts_transactions.txt b/erpnext/setup/doctype/upload_accounts_transactions/upload_accounts_transactions.txt
similarity index 100%
rename from setup/doctype/upload_accounts_transactions/upload_accounts_transactions.txt
rename to erpnext/setup/doctype/upload_accounts_transactions/upload_accounts_transactions.txt
diff --git a/setup/doctype/warehouse_type/__init__.py b/erpnext/setup/doctype/warehouse_type/__init__.py
similarity index 100%
rename from setup/doctype/warehouse_type/__init__.py
rename to erpnext/setup/doctype/warehouse_type/__init__.py
diff --git a/setup/doctype/warehouse_type/warehouse_type.js b/erpnext/setup/doctype/warehouse_type/warehouse_type.js
similarity index 100%
rename from setup/doctype/warehouse_type/warehouse_type.js
rename to erpnext/setup/doctype/warehouse_type/warehouse_type.js
diff --git a/setup/doctype/warehouse_type/warehouse_type.txt b/erpnext/setup/doctype/warehouse_type/warehouse_type.txt
similarity index 100%
rename from setup/doctype/warehouse_type/warehouse_type.txt
rename to erpnext/setup/doctype/warehouse_type/warehouse_type.txt
diff --git a/setup/doctype/workflow_action_detail/__init__.py b/erpnext/setup/doctype/workflow_action_detail/__init__.py
similarity index 100%
rename from setup/doctype/workflow_action_detail/__init__.py
rename to erpnext/setup/doctype/workflow_action_detail/__init__.py
diff --git a/setup/doctype/workflow_action_detail/workflow_action_detail.txt b/erpnext/setup/doctype/workflow_action_detail/workflow_action_detail.txt
similarity index 100%
rename from setup/doctype/workflow_action_detail/workflow_action_detail.txt
rename to erpnext/setup/doctype/workflow_action_detail/workflow_action_detail.txt
diff --git a/setup/doctype/workflow_engine/__init__.py b/erpnext/setup/doctype/workflow_engine/__init__.py
similarity index 100%
rename from setup/doctype/workflow_engine/__init__.py
rename to erpnext/setup/doctype/workflow_engine/__init__.py
diff --git a/setup/doctype/workflow_engine/workflow_engine.py b/erpnext/setup/doctype/workflow_engine/workflow_engine.py
similarity index 100%
rename from setup/doctype/workflow_engine/workflow_engine.py
rename to erpnext/setup/doctype/workflow_engine/workflow_engine.py
diff --git a/setup/doctype/workflow_engine/workflow_engine.txt b/erpnext/setup/doctype/workflow_engine/workflow_engine.txt
similarity index 100%
rename from setup/doctype/workflow_engine/workflow_engine.txt
rename to erpnext/setup/doctype/workflow_engine/workflow_engine.txt
diff --git a/setup/doctype/workflow_rule/__init__.py b/erpnext/setup/doctype/workflow_rule/__init__.py
similarity index 100%
rename from setup/doctype/workflow_rule/__init__.py
rename to erpnext/setup/doctype/workflow_rule/__init__.py
diff --git a/setup/doctype/workflow_rule/workflow_rule.js b/erpnext/setup/doctype/workflow_rule/workflow_rule.js
similarity index 100%
rename from setup/doctype/workflow_rule/workflow_rule.js
rename to erpnext/setup/doctype/workflow_rule/workflow_rule.js
diff --git a/setup/doctype/workflow_rule/workflow_rule.py b/erpnext/setup/doctype/workflow_rule/workflow_rule.py
similarity index 100%
rename from setup/doctype/workflow_rule/workflow_rule.py
rename to erpnext/setup/doctype/workflow_rule/workflow_rule.py
diff --git a/setup/doctype/workflow_rule/workflow_rule.txt b/erpnext/setup/doctype/workflow_rule/workflow_rule.txt
similarity index 100%
rename from setup/doctype/workflow_rule/workflow_rule.txt
rename to erpnext/setup/doctype/workflow_rule/workflow_rule.txt
diff --git a/setup/doctype/workflow_rule_detail/__init__.py b/erpnext/setup/doctype/workflow_rule_detail/__init__.py
similarity index 100%
rename from setup/doctype/workflow_rule_detail/__init__.py
rename to erpnext/setup/doctype/workflow_rule_detail/__init__.py
diff --git a/setup/doctype/workflow_rule_detail/workflow_rule_detail.txt b/erpnext/setup/doctype/workflow_rule_detail/workflow_rule_detail.txt
similarity index 100%
rename from setup/doctype/workflow_rule_detail/workflow_rule_detail.txt
rename to erpnext/setup/doctype/workflow_rule_detail/workflow_rule_detail.txt
diff --git a/setup/page/__init__.py b/erpnext/setup/page/__init__.py
similarity index 100%
rename from setup/page/__init__.py
rename to erpnext/setup/page/__init__.py
diff --git a/setup/page/import_data/__init__.py b/erpnext/setup/page/import_data/__init__.py
similarity index 100%
rename from setup/page/import_data/__init__.py
rename to erpnext/setup/page/import_data/__init__.py
diff --git a/setup/page/import_data/import_data.html b/erpnext/setup/page/import_data/import_data.html
similarity index 94%
rename from setup/page/import_data/import_data.html
rename to erpnext/setup/page/import_data/import_data.html
index 5b30dd2..d227c2c 100644
--- a/setup/page/import_data/import_data.html
+++ b/erpnext/setup/page/import_data/import_data.html
@@ -45,7 +45,7 @@
 <td style="border: 1px solid #AAA; padding: 4px;">
 <h3>Import Log:</h3>
 <div id="import_result_area">
-<iframe src="blank1.html" name="ImportIFrame" style="border: 0px; height: 500px; width: 100%"></iframe>
+<iframe name="ImportIFrame" style="border: 0px; height: 500px; width: 100%"></iframe>
 </div>
 </td>
 </tr>
diff --git a/setup/page/import_data/import_data.js b/erpnext/setup/page/import_data/import_data.js
similarity index 100%
rename from setup/page/import_data/import_data.js
rename to erpnext/setup/page/import_data/import_data.js
diff --git a/setup/page/import_data/import_data.txt b/erpnext/setup/page/import_data/import_data.txt
similarity index 100%
rename from setup/page/import_data/import_data.txt
rename to erpnext/setup/page/import_data/import_data.txt
diff --git a/setup/page/people/__init__.py b/erpnext/setup/page/people/__init__.py
similarity index 100%
rename from setup/page/people/__init__.py
rename to erpnext/setup/page/people/__init__.py
diff --git a/setup/page/people/people.html b/erpnext/setup/page/people/people.html
similarity index 100%
rename from setup/page/people/people.html
rename to erpnext/setup/page/people/people.html
diff --git a/setup/page/people/people.js b/erpnext/setup/page/people/people.js
similarity index 100%
rename from setup/page/people/people.js
rename to erpnext/setup/page/people/people.js
diff --git a/setup/page/people/people.txt b/erpnext/setup/page/people/people.txt
similarity index 100%
rename from setup/page/people/people.txt
rename to erpnext/setup/page/people/people.txt
diff --git a/setup/page/permission_engine/__init__.py b/erpnext/setup/page/permission_engine/__init__.py
similarity index 100%
rename from setup/page/permission_engine/__init__.py
rename to erpnext/setup/page/permission_engine/__init__.py
diff --git a/setup/page/permission_engine/permission_engine.html b/erpnext/setup/page/permission_engine/permission_engine.html
similarity index 100%
rename from setup/page/permission_engine/permission_engine.html
rename to erpnext/setup/page/permission_engine/permission_engine.html
diff --git a/setup/page/permission_engine/permission_engine.js b/erpnext/setup/page/permission_engine/permission_engine.js
similarity index 100%
rename from setup/page/permission_engine/permission_engine.js
rename to erpnext/setup/page/permission_engine/permission_engine.js
diff --git a/setup/page/permission_engine/permission_engine.txt b/erpnext/setup/page/permission_engine/permission_engine.txt
similarity index 100%
rename from setup/page/permission_engine/permission_engine.txt
rename to erpnext/setup/page/permission_engine/permission_engine.txt
diff --git a/setup/page/setup/__init__.py b/erpnext/setup/page/setup/__init__.py
similarity index 100%
rename from setup/page/setup/__init__.py
rename to erpnext/setup/page/setup/__init__.py
diff --git a/setup/page/setup/setup.html b/erpnext/setup/page/setup/setup.html
similarity index 100%
rename from setup/page/setup/setup.html
rename to erpnext/setup/page/setup/setup.html
diff --git a/setup/page/setup/setup.js b/erpnext/setup/page/setup/setup.js
similarity index 100%
rename from setup/page/setup/setup.js
rename to erpnext/setup/page/setup/setup.js
diff --git a/setup/page/setup/setup.txt b/erpnext/setup/page/setup/setup.txt
similarity index 100%
rename from setup/page/setup/setup.txt
rename to erpnext/setup/page/setup/setup.txt
diff --git a/setup/page/setup/setup_static.html b/erpnext/setup/page/setup/setup_static.html
similarity index 100%
rename from setup/page/setup/setup_static.html
rename to erpnext/setup/page/setup/setup_static.html
diff --git a/setup/page/setup_wizard/__init__.py b/erpnext/setup/page/setup_wizard/__init__.py
similarity index 100%
rename from setup/page/setup_wizard/__init__.py
rename to erpnext/setup/page/setup_wizard/__init__.py
diff --git a/setup/page/setup_wizard/setup_wizard.html b/erpnext/setup/page/setup_wizard/setup_wizard.html
similarity index 100%
rename from setup/page/setup_wizard/setup_wizard.html
rename to erpnext/setup/page/setup_wizard/setup_wizard.html
diff --git a/setup/page/setup_wizard/setup_wizard.js b/erpnext/setup/page/setup_wizard/setup_wizard.js
similarity index 100%
rename from setup/page/setup_wizard/setup_wizard.js
rename to erpnext/setup/page/setup_wizard/setup_wizard.js
diff --git a/setup/page/setup_wizard/setup_wizard.txt b/erpnext/setup/page/setup_wizard/setup_wizard.txt
similarity index 100%
rename from setup/page/setup_wizard/setup_wizard.txt
rename to erpnext/setup/page/setup_wizard/setup_wizard.txt
diff --git a/setup/page/setup_wizard/setup_wizard_static.html b/erpnext/setup/page/setup_wizard/setup_wizard_static.html
similarity index 100%
rename from setup/page/setup_wizard/setup_wizard_static.html
rename to erpnext/setup/page/setup_wizard/setup_wizard_static.html
diff --git a/setup/page/webforms/__init__.py b/erpnext/setup/page/webforms/__init__.py
similarity index 100%
rename from setup/page/webforms/__init__.py
rename to erpnext/setup/page/webforms/__init__.py
diff --git a/setup/page/webforms/webforms.html b/erpnext/setup/page/webforms/webforms.html
similarity index 100%
rename from setup/page/webforms/webforms.html
rename to erpnext/setup/page/webforms/webforms.html
diff --git a/setup/page/webforms/webforms.js b/erpnext/setup/page/webforms/webforms.js
similarity index 100%
rename from setup/page/webforms/webforms.js
rename to erpnext/setup/page/webforms/webforms.js
diff --git a/setup/page/webforms/webforms.txt b/erpnext/setup/page/webforms/webforms.txt
similarity index 100%
rename from setup/page/webforms/webforms.txt
rename to erpnext/setup/page/webforms/webforms.txt
diff --git a/setup/page/webforms/webforms_static.html b/erpnext/setup/page/webforms/webforms_static.html
similarity index 100%
rename from setup/page/webforms/webforms_static.html
rename to erpnext/setup/page/webforms/webforms_static.html
diff --git a/erpnext/startup/__init__.py b/erpnext/startup/__init__.py
new file mode 100644
index 0000000..cea033b
--- /dev/null
+++ b/erpnext/startup/__init__.py
@@ -0,0 +1,7 @@
+# add startup propertes
+
+add_in_head = """
+<style>
+
+</style>
+"""
\ No newline at end of file
diff --git a/startup/event_handlers.py b/erpnext/startup/event_handlers.py
similarity index 100%
rename from startup/event_handlers.py
rename to erpnext/startup/event_handlers.py
diff --git a/startup/startup.css b/erpnext/startup/startup.css
similarity index 80%
rename from startup/startup.css
rename to erpnext/startup/startup.css
index 67393aa..f028416 100644
--- a/startup/startup.css
+++ b/erpnext/startup/startup.css
@@ -1,3 +1,13 @@
+h1, h2, h3, h4 {
+	font-family: Tahoma, Sans Serif;
+	font-weight: bold;
+}
+
+body, span, div, td, input, textarea, button, select {
+	font-family: Verdana, Arial, Sans Serif;
+	font-size: 12px;
+}
+
 body {
 	background-color: #e2e2e2;
 }
@@ -21,7 +31,7 @@
 }
 
 .module-icons {
-   background: url(images/user/module-icons.png) no-repeat top left;
+   background: url(images/module-icons.png) no-repeat top left;
    width:16px;
    height:16px;
 }
diff --git a/startup/startup.js b/erpnext/startup/startup.js
similarity index 98%
rename from startup/startup.js
rename to erpnext/startup/startup.js
index a0661ae..3e2fde4 100644
--- a/startup/startup.js
+++ b/erpnext/startup/startup.js
@@ -43,18 +43,8 @@
 	// ------------------
 	$dh(page_body.footer);
 
-	// for logout and payment
-	var callback = function(r,rt) {
-		if(r.message){
-			login_file = 'http://' + r.message;
-		}
-		else if(pscript.is_erpnext_saas) {
-			login_file = 'https://www.erpnext.com';
-		}
-		// setup toolbar
-		pscript.startup_setup_toolbar();
-	}
-	$c_obj('Home Control', 'get_login_url', '', callback);
+	// setup toolbar
+	pscript.startup_setup_toolbar();
 }
 
 // ====================================================================
@@ -299,10 +289,17 @@
 
 				// add to menu-item mapper
 				menu_item_map['Page'][me.det.module_label + ' Custom Reports'] = smi.pointer;
-
 			}
-
 		}
+		
+		if(r.login_url){
+			login_file = 'http://' + r.login_url;
+		}
+		else if(pscript.is_erpnext_saas) {
+			login_file = 'https://www.erpnext.com';
+		}			
+		
+		
 		$(me.items_area).slideDown();
 
 		// high light
@@ -565,7 +562,7 @@
 		'Timesheet': {'timesheet_details':['project_name']}
 	},
 	'fs_packing_details': {
-		'Delivery Note': {'fields':['packing_details','print_packing_slip'],'delivery_note_details':['no_of_packs','pack_gross_wt','pack_nett_wt','pack_no','pack_unit']},
+		'Delivery Note': {'fields':['packing_details','print_packing_slip','packing_checked_by','packed_by','pack_size','shipping_mark'],'delivery_note_details':['no_of_packs','pack_gross_wt','pack_nett_wt','pack_no','pack_unit']},
 		'Sales Order': {'fields':['packing_details']}
 	},
 	'fs_discounts': {
diff --git a/stock/DocType Label/QA Inspection Report/QA Inspection Report.txt b/erpnext/stock/DocType Label/QA Inspection Report/QA Inspection Report.txt
similarity index 100%
rename from stock/DocType Label/QA Inspection Report/QA Inspection Report.txt
rename to erpnext/stock/DocType Label/QA Inspection Report/QA Inspection Report.txt
diff --git a/stock/DocType Mapper/Project-Delivery Note/Project-Delivery Note.txt b/erpnext/stock/DocType Mapper/Project-Delivery Note/Project-Delivery Note.txt
similarity index 94%
rename from stock/DocType Mapper/Project-Delivery Note/Project-Delivery Note.txt
rename to erpnext/stock/DocType Mapper/Project-Delivery Note/Project-Delivery Note.txt
index e1579f9..69c4fe2 100644
--- a/stock/DocType Mapper/Project-Delivery Note/Project-Delivery Note.txt
+++ b/erpnext/stock/DocType Mapper/Project-Delivery Note/Project-Delivery Note.txt
@@ -3,9 +3,9 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-09-01 15:48:10',
+		'creation': '2010-09-01 15:47:59',
 		'docstatus': 0,
-		'modified': '2010-09-01 14:25:08',
+		'modified': '2011-09-15 15:04:43',
 		'modified_by': 'Administrator',
 		'owner': 'harshada@webnotestech.com'
 	},
diff --git a/stock/DocType Mapper/Purchase Order-Purchase Receipt/Purchase Order-Purchase Receipt.txt b/erpnext/stock/DocType Mapper/Purchase Order-Purchase Receipt/Purchase Order-Purchase Receipt.txt
similarity index 100%
rename from stock/DocType Mapper/Purchase Order-Purchase Receipt/Purchase Order-Purchase Receipt.txt
rename to erpnext/stock/DocType Mapper/Purchase Order-Purchase Receipt/Purchase Order-Purchase Receipt.txt
diff --git a/stock/DocType Mapper/Receivable Voucher-Delivery Note/Receivable Voucher-Delivery Note.txt b/erpnext/stock/DocType Mapper/Receivable Voucher-Delivery Note/Receivable Voucher-Delivery Note.txt
similarity index 93%
rename from stock/DocType Mapper/Receivable Voucher-Delivery Note/Receivable Voucher-Delivery Note.txt
rename to erpnext/stock/DocType Mapper/Receivable Voucher-Delivery Note/Receivable Voucher-Delivery Note.txt
index 7443731..61b33ee 100755
--- a/stock/DocType Mapper/Receivable Voucher-Delivery Note/Receivable Voucher-Delivery Note.txt
+++ b/erpnext/stock/DocType Mapper/Receivable Voucher-Delivery Note/Receivable Voucher-Delivery Note.txt
@@ -3,9 +3,9 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2010-12-15 08:39:22',
+		'creation': '2010-12-14 17:56:41',
 		'docstatus': 0,
-		'modified': '2011-09-13 17:26:01',
+		'modified': '2011-09-15 15:04:44',
 		'modified_by': 'Administrator',
 		'owner': 'Administrator'
 	},
@@ -110,6 +110,15 @@
 	# Field Mapper Detail
 	{
 		'doctype': 'Field Mapper Detail',
+		'from_field': 'customer_address',
+		'map': 'Yes',
+		'match_id': 0,
+		'to_field': 'delivery_address'
+	},
+
+	# Field Mapper Detail
+	{
+		'doctype': 'Field Mapper Detail',
 		'from_field': 'serial_no',
 		'map': 'Yes',
 		'match_id': 1,
diff --git a/stock/DocType Mapper/Sales Order-Delivery Note/Sales Order-Delivery Note.txt b/erpnext/stock/DocType Mapper/Sales Order-Delivery Note/Sales Order-Delivery Note.txt
similarity index 96%
rename from stock/DocType Mapper/Sales Order-Delivery Note/Sales Order-Delivery Note.txt
rename to erpnext/stock/DocType Mapper/Sales Order-Delivery Note/Sales Order-Delivery Note.txt
index 9b08913..561019b 100644
--- a/stock/DocType Mapper/Sales Order-Delivery Note/Sales Order-Delivery Note.txt
+++ b/erpnext/stock/DocType Mapper/Sales Order-Delivery Note/Sales Order-Delivery Note.txt
@@ -5,7 +5,7 @@
 	{
 		'creation': '2010-08-08 17:09:35',
 		'docstatus': 0,
-		'modified': '2011-09-13 13:23:26',
+		'modified': '2011-09-14 12:36:25',
 		'modified_by': 'Administrator',
 		'owner': 'Administrator'
 	},
@@ -221,6 +221,15 @@
 		'to_field': 'incentives'
 	},
 
+	# Field Mapper Detail
+	{
+		'doctype': 'Field Mapper Detail',
+		'from_field': 'allocated_amount',
+		'map': 'Yes',
+		'match_id': 0,
+		'to_field': 'customer_mobile_no'
+	},
+
 	# Table Mapper Detail
 	{
 		'doctype': 'Table Mapper Detail',
diff --git a/stock/Item Group/All Item Groups/All Item Groups.txt b/erpnext/stock/Item Group/All Item Groups/All Item Groups.txt
similarity index 100%
rename from stock/Item Group/All Item Groups/All Item Groups.txt
rename to erpnext/stock/Item Group/All Item Groups/All Item Groups.txt
diff --git a/stock/Item Group/Default/Default.txt b/erpnext/stock/Item Group/Default/Default.txt
similarity index 100%
rename from stock/Item Group/Default/Default.txt
rename to erpnext/stock/Item Group/Default/Default.txt
diff --git a/erpnext/stock/Module Def/Stock/Stock.txt b/erpnext/stock/Module Def/Stock/Stock.txt
new file mode 100644
index 0000000..4fc8790
--- /dev/null
+++ b/erpnext/stock/Module Def/Stock/Stock.txt
@@ -0,0 +1,232 @@
+# Module Def, Stock
+[
+
+	# These values are common in all dictionaries
+	{
+		'creation': '2011-07-01 17:40:49',
+		'docstatus': 0,
+		'modified': '2011-10-10 17:01:34',
+		'modified_by': 'Administrator',
+		'owner': 'Administrator'
+	},
+
+	# These values are common for all Module Def Role
+	{
+		'doctype': 'Module Def Role',
+		'name': '__common__',
+		'parent': 'Stock',
+		'parentfield': 'roles',
+		'parenttype': 'Module Def'
+	},
+
+	# These values are common for all Module Def Item
+	{
+		'doctype': 'Module Def Item',
+		'name': '__common__',
+		'parent': 'Stock',
+		'parentfield': 'items',
+		'parenttype': 'Module Def'
+	},
+
+	# These values are common for all Module Def
+	{
+		'disabled': 'No',
+		'doctype': u'Module Def',
+		'doctype_list': 'DocType Label, QA Inspection Report',
+		'is_hidden': 'No',
+		'module_desc': 'Material Management',
+		'module_icon': 'Stock.gif',
+		'module_label': 'Stock',
+		'module_name': 'Stock',
+		'module_seq': 7,
+		'name': '__common__'
+	},
+
+	# Module Def, Stock
+	{
+		'doctype': u'Module Def',
+		'name': 'Stock'
+	},
+
+	# Module Def Item
+	{
+		'description': 'Item master',
+		'display_name': 'Item',
+		'doc_name': 'Item',
+		'doc_type': 'Forms',
+		'doctype': 'Module Def Item',
+		'fields': 'name\nitem_group\ndescription'
+	},
+
+	# Module Def Item
+	{
+		'description': 'A unique number identifying each entity of an item',
+		'display_name': 'Serial No',
+		'doc_name': 'Serial No',
+		'doc_type': 'Forms',
+		'doctype': 'Module Def Item',
+		'fields': 'item_code\nstatus\nwarehouse\npr_no\ndelivery_note_no\ncustomer'
+	},
+
+	# Module Def Item
+	{
+		'description': 'Record of items added, removed or moved from one warehouse to another.',
+		'display_name': 'Stock Entry',
+		'doc_name': 'Stock Entry',
+		'doc_type': 'Forms',
+		'doctype': 'Module Def Item',
+		'fields': 'transfer_date\npurpose\nfrom_warehouse\nto_warehouse\nremarks'
+	},
+
+	# Module Def Item
+	{
+		'description': 'Record of items delivered to your customers along with the Printed Note',
+		'display_name': 'Delivery Note',
+		'doc_name': 'Delivery Note',
+		'doc_type': 'Forms',
+		'doctype': 'Module Def Item',
+		'fields': 'status\ntransaction_date\ncustomer\nterritory\ngrand_total\nper_billed'
+	},
+
+	# Module Def Item
+	{
+		'description': 'Record of incoming material from your suppliers',
+		'display_name': 'Purchase Receipt',
+		'doc_name': 'Purchase Receipt',
+		'doc_type': 'Forms',
+		'doctype': 'Module Def Item',
+		'fields': 'status\ntransaction_date\nsupplier\ngrand_total\nper_billed'
+	},
+
+	# Module Def Item
+	{
+		'description': 'Details of Installation done after delivery',
+		'display_name': 'Installation Note',
+		'doc_name': 'Installation Note',
+		'doc_type': 'Forms',
+		'doctype': 'Module Def Item'
+	},
+
+	# Module Def Item
+	{
+		'description': 'Create Quality Inspection Report for any item',
+		'display_name': 'Inspection Report',
+		'doc_name': 'QA Inspection Report',
+		'doc_type': 'Forms',
+		'doctype': 'Module Def Item',
+		'fields': 'inspection_type\nitem_code\nreport_date\npurchase_receipt_no\ndelivery_note_no'
+	},
+
+	# Module Def Item
+	{
+		'description': 'Reconcile your stock by uploading it form an excel file',
+		'display_name': 'Stock Reconciliation',
+		'doc_name': 'Stock Reconciliation',
+		'doc_type': 'Forms',
+		'doctype': 'Module Def Item',
+		'fields': 'reconciliation_date\nreconciliation_time\nremark'
+	},
+
+	# Module Def Item
+	{
+		'description': 'This utility tool will update Stock UOM in Item and will respectively update Actual Qty in Stock Ledger as per Conversion Factor.',
+		'display_name': 'Stock UOM Replace Utility',
+		'doc_name': 'Stock UOM Replace Utility',
+		'doc_type': 'Single DocType',
+		'doctype': 'Module Def Item'
+	},
+
+	# Module Def Item
+	{
+		'description': 'This utility will help in tracking stock for Sales Return and Purchase Return.',
+		'display_name': 'Sales and Purchase Return Wizard',
+		'doc_name': 'Sales and Purchase Return Wizard',
+		'doc_type': 'Single DocType',
+		'doctype': 'Module Def Item'
+	},
+
+	# Module Def Item
+	{
+		'description': 'You can create master template for landed cost wizard',
+		'display_name': 'Landed Cost Master',
+		'doc_name': 'Landed Cost Master',
+		'doc_type': 'Forms',
+		'doctype': 'Module Def Item',
+		'icon': 'accept.gif'
+	},
+
+	# Module Def Item
+	{
+		'description': 'Add extra expenses into Purchase Receipt which should be consider for item valuation. The cost will be added proportionately as per purchase receipt value.',
+		'display_name': 'Landed Cost Wizard',
+		'doc_name': 'Landed Cost Wizard',
+		'doc_type': 'Forms',
+		'doctype': 'Module Def Item',
+		'icon': 'accept.gif'
+	},
+
+	# Module Def Item
+	{
+		'display_name': 'Stock Ledger',
+		'doc_name': 'Stock Ledger Entry',
+		'doc_type': 'Reports',
+		'doctype': 'Module Def Item'
+	},
+
+	# Module Def Item
+	{
+		'display_name': 'Stock Level',
+		'doc_name': 'Bin',
+		'doc_type': 'Reports',
+		'doctype': 'Module Def Item'
+	},
+
+	# Module Def Item
+	{
+		'display_name': 'Shortage To Indent',
+		'doc_name': 'Item',
+		'doc_type': 'Reports',
+		'doctype': 'Module Def Item'
+	},
+
+	# Module Def Item
+	{
+		'description': 'Stock Value as per Item and Warehouse',
+		'display_name': 'Stock Report',
+		'doc_name': 'Stock Ledger Entry',
+		'doc_type': 'Reports',
+		'doctype': 'Module Def Item'
+	},
+
+	# Module Def Item
+	{
+		'display_name': 'Stock Aging Report',
+		'doc_name': 'Serial No',
+		'doc_type': 'Reports',
+		'doctype': 'Module Def Item'
+	},
+
+	# Module Def Role
+	{
+		'doctype': 'Module Def Role',
+		'role': 'Material User'
+	},
+
+	# Module Def Role
+	{
+		'doctype': 'Module Def Role',
+		'role': 'Material Master Manager'
+	},
+
+	# Module Def Role
+	{
+		'doctype': 'Module Def Role',
+		'role': 'Material Manager'
+	},
+
+	# Module Def Role
+	{
+		'doctype': 'Module Def Role',
+		'role': 'Quality Manager'
+	}
+]
\ No newline at end of file
diff --git a/stock/Print Format/Delivery Note Packing List Wise/Delivery Note Packing List Wise.txt b/erpnext/stock/Print Format/Delivery Note Packing List Wise/Delivery Note Packing List Wise.txt
similarity index 100%
rename from stock/Print Format/Delivery Note Packing List Wise/Delivery Note Packing List Wise.txt
rename to erpnext/stock/Print Format/Delivery Note Packing List Wise/Delivery Note Packing List Wise.txt
diff --git a/stock/Print Format/Purchase Receipt Format/Purchase Receipt Format.txt b/erpnext/stock/Print Format/Purchase Receipt Format/Purchase Receipt Format.txt
similarity index 100%
rename from stock/Print Format/Purchase Receipt Format/Purchase Receipt Format.txt
rename to erpnext/stock/Print Format/Purchase Receipt Format/Purchase Receipt Format.txt
diff --git a/stock/Role/Material Manager/Material Manager.txt b/erpnext/stock/Role/Material Manager/Material Manager.txt
similarity index 100%
rename from stock/Role/Material Manager/Material Manager.txt
rename to erpnext/stock/Role/Material Manager/Material Manager.txt
diff --git a/stock/Role/Material Master Manager/Material Master Manager.txt b/erpnext/stock/Role/Material Master Manager/Material Master Manager.txt
similarity index 100%
rename from stock/Role/Material Master Manager/Material Master Manager.txt
rename to erpnext/stock/Role/Material Master Manager/Material Master Manager.txt
diff --git a/stock/Role/Material User/Material User.txt b/erpnext/stock/Role/Material User/Material User.txt
similarity index 100%
rename from stock/Role/Material User/Material User.txt
rename to erpnext/stock/Role/Material User/Material User.txt
diff --git a/stock/Role/Quality Manager/Quality Manager.txt b/erpnext/stock/Role/Quality Manager/Quality Manager.txt
similarity index 100%
rename from stock/Role/Quality Manager/Quality Manager.txt
rename to erpnext/stock/Role/Quality Manager/Quality Manager.txt
diff --git a/stock/__init__.py b/erpnext/stock/__init__.py
similarity index 100%
rename from stock/__init__.py
rename to erpnext/stock/__init__.py
diff --git a/stock/doctype/__init__.py b/erpnext/stock/doctype/__init__.py
similarity index 100%
rename from stock/doctype/__init__.py
rename to erpnext/stock/doctype/__init__.py
diff --git a/stock/doctype/batch/__init__.py b/erpnext/stock/doctype/batch/__init__.py
similarity index 100%
rename from stock/doctype/batch/__init__.py
rename to erpnext/stock/doctype/batch/__init__.py
diff --git a/stock/doctype/batch/batch.txt b/erpnext/stock/doctype/batch/batch.txt
similarity index 100%
rename from stock/doctype/batch/batch.txt
rename to erpnext/stock/doctype/batch/batch.txt
diff --git a/stock/doctype/bin/__init__.py b/erpnext/stock/doctype/bin/__init__.py
similarity index 100%
rename from stock/doctype/bin/__init__.py
rename to erpnext/stock/doctype/bin/__init__.py
diff --git a/stock/doctype/bin/bin.py b/erpnext/stock/doctype/bin/bin.py
similarity index 100%
rename from stock/doctype/bin/bin.py
rename to erpnext/stock/doctype/bin/bin.py
diff --git a/stock/doctype/bin/bin.txt b/erpnext/stock/doctype/bin/bin.txt
similarity index 100%
rename from stock/doctype/bin/bin.txt
rename to erpnext/stock/doctype/bin/bin.txt
diff --git a/stock/doctype/delivery_note/__init__.py b/erpnext/stock/doctype/delivery_note/__init__.py
similarity index 100%
rename from stock/doctype/delivery_note/__init__.py
rename to erpnext/stock/doctype/delivery_note/__init__.py
diff --git a/stock/doctype/delivery_note/delivery_note.js b/erpnext/stock/doctype/delivery_note/delivery_note.js
similarity index 100%
rename from stock/doctype/delivery_note/delivery_note.js
rename to erpnext/stock/doctype/delivery_note/delivery_note.js
diff --git a/erpnext/stock/doctype/delivery_note/delivery_note.py b/erpnext/stock/doctype/delivery_note/delivery_note.py
new file mode 100644
index 0000000..b49f80c
--- /dev/null
+++ b/erpnext/stock/doctype/delivery_note/delivery_note.py
@@ -0,0 +1,475 @@
+# Please edit this list and import only required elements
+import webnotes
+
+from webnotes.utils import add_days, add_months, add_years, cint, cstr, date_diff, default_fields, flt, fmt_money, formatdate, generate_hash, getTraceback, get_defaults, get_first_day, get_last_day, getdate, has_common, month_name, now, nowdate, replace_newlines, sendmail, set_default, str_esc_quote, user_format, validate_email_add
+from webnotes.model import db_exists
+from webnotes.model.doc import Document, addchild, removechild, getchildren, make_autoname, SuperDocType
+from webnotes.model.doclist import getlist, copy_doclist
+from webnotes.model.code import get_obj, get_server_obj, run_server_obj, updatedb, check_syntax
+from webnotes import session, form, is_testing, msgprint, errprint
+
+set = webnotes.conn.set
+sql = webnotes.conn.sql
+get_value = webnotes.conn.get_value
+in_transaction = webnotes.conn.in_transaction
+convert_to_lists = webnotes.conn.convert_to_lists
+
+# -----------------------------------------------------------------------------------------
+
+from utilities.transaction_base import TransactionBase
+
+class DocType(TransactionBase):
+	def __init__(self, doc, doclist=[]):
+		self.doc = doc
+		self.doclist = doclist
+		self.tname = 'Delivery Note Detail'
+		self.fname = 'delivery_note_details'
+
+		# Notification objects
+		self.notify_obj = get_obj('Notification Control')
+
+	# Autoname
+	# ---------
+	def autoname(self):
+		self.doc.name = make_autoname(self.doc.naming_series+'.#####')
+
+
+# DOCTYPE TRIGGERS FUNCTIONS
+# ==============================================================================
+#************Fiscal Year Validation*****************************
+	def validate_fiscal_year(self):
+		get_obj('Sales Common').validate_fiscal_year(self.doc.fiscal_year,self.doc.posting_date,'Posting Date')
+
+
+	# ****** Get contact person details based on customer selected ****
+	def get_contact_details(self):
+		return get_obj('Sales Common').get_contact_details(self,0)
+
+	# *********** Get Commission rate of Sales Partner ****************
+	def get_comm_rate(self, sales_partner):
+		return get_obj('Sales Common').get_comm_rate(sales_partner, self)
+
+	# *************** Pull Sales Order Details ************************
+	def pull_sales_order_details(self):
+		self.validate_prev_docname()
+		self.doc.clear_table(self.doclist,'other_charges')
+
+		if self.doc.sales_order_no:
+			get_obj('DocType Mapper', 'Sales Order-Delivery Note').dt_map('Sales Order', 'Delivery Note', self.doc.sales_order_no, self.doc, self.doclist, "[['Sales Order', 'Delivery Note'],['Sales Order Detail', 'Delivery Note Detail'],['RV Tax Detail','RV Tax Detail'],['Sales Team','Sales Team']]")
+		else:
+			msgprint("Please select Sales Order No. whose details need to be pulled")
+
+		return cstr(self.doc.sales_order_no)
+
+
+
+	#-------------------set item details -uom and item group----------------
+	def set_item_details(self):
+		for d in getlist(self.doclist,'delivery_note_details'):
+			res = sql("select stock_uom, item_group from `tabItem` where name ='%s'"%d.item_code)
+			if not d.stock_uom:		d.stock_uom = res and cstr(res[0][0]) or ''
+			if not d.item_group:	 d.item_group = res and cstr(res[0][1]) or ''
+			d.save()
+
+	# ::::: Validates that Sales Order is not pulled twice :::::::
+	def validate_prev_docname(self):
+		for d in getlist(self.doclist, 'delivery_note_details'):
+			if self.doc.sales_order_no == d.prevdoc_docname:
+				msgprint(cstr(self.doc.sales_order_no) + " sales order details have already been pulled. ")
+				raise Exception, "Validation Error. "
+
+	#Set Actual Qty based on item code and warehouse
+	#------------------------------------------------------
+	def set_actual_qty(self):
+		for d in getlist(self.doclist, 'delivery_note_details'):
+			if d.item_code and d.warehouse:
+				actual_qty = sql("select actual_qty from `tabBin` where item_code = '%s' and warehouse = '%s'" % (d.item_code, d.warehouse))
+				d.actual_qty = actual_qty and flt(actual_qty[0][0]) or 0
+
+
+	# GET TERMS & CONDITIONS
+	# -------------------------------------
+	def get_tc_details(self):
+		return get_obj('Sales Common').get_tc_details(self)
+
+	#pull project customer
+	#-------------------------
+	def pull_project_customer(self):
+		res = sql("select customer from `tabProject` where name = '%s'"%self.doc.project_name)
+		if res:
+			get_obj('DocType Mapper', 'Project-Delivery Note').dt_map('Project', 'Delivery Note', self.doc.project_name, self.doc, self.doclist, "[['Project', 'Delivery Note']]")
+
+# DELIVERY NOTE DETAILS TRIGGER FUNCTIONS
+# ================================================================================
+
+	# ***************** Get Item Details ******************************
+	def get_item_details(self, item_code):
+		return get_obj('Sales Common').get_item_details(item_code, self)
+
+	# *** Re-calculates Basic Rate & amount based on Price List Selected ***
+	def get_adj_percent(self, arg=''):
+		get_obj('Sales Common').get_adj_percent(self)
+
+	# ********** Get Actual Qty of item in warehouse selected *************
+	def get_actual_qty(self,args):
+		args = eval(args)
+		actual_qty = sql("select actual_qty from `tabBin` where item_code = '%s' and warehouse = '%s'" % (args['item_code'], args['warehouse']), as_dict=1)
+		ret = {
+			 'actual_qty' : actual_qty and flt(actual_qty[0]['actual_qty']) or 0
+		}
+		return ret
+
+
+# OTHER CHARGES TRIGGER FUNCTIONS
+# ====================================================================================
+
+	# *********** Get Tax rate if account type is TAX ********************
+	def get_rate(self,arg):
+		return get_obj('Sales Common').get_rate(arg)
+
+	# Load Default Charges
+	# ----------------------------------------------------------
+	def load_default_taxes(self):
+		return get_obj('Sales Common').load_default_taxes(self)
+
+
+	# **** Pull details from other charges master (Get Other Charges) ****
+	def get_other_charges(self):
+		return get_obj('Sales Common').get_other_charges(self)
+
+
+	#check in manage account if sales order required or not.
+	# ====================================================================================
+	def so_required(self):
+		res = sql("select value from `tabSingles` where doctype = 'Manage Account' and field = 'so_required'")
+		if res and res[0][0] == 'Yes':
+			 for d in getlist(self.doclist,'delivery_note_details'):
+				 if not d.prevdoc_docname:
+					 msgprint("Sales Order No. required against item %s"%d.item_code)
+					 raise Exception
+
+
+
+# VALIDATE
+# ====================================================================================
+	def validate(self):
+		self.so_required()
+		self.validate_fiscal_year()
+		self.validate_proj_cust()
+		sales_com_obj = get_obj(dt = 'Sales Common')
+		sales_com_obj.check_stop_sales_order(self)
+		sales_com_obj.check_active_sales_items(self)
+		sales_com_obj.get_prevdoc_date(self)
+		self.validate_mandatory()
+		#self.validate_prevdoc_details()
+		self.validate_reference_value()
+		self.validate_for_items()
+		sales_com_obj.make_packing_list(self,'delivery_note_details')
+		get_obj('Stock Ledger').validate_serial_no(self, 'packing_details')
+		sales_com_obj.validate_max_discount(self, 'delivery_note_details')						 #verify whether rate is not greater than max discount
+		sales_com_obj.get_allocated_sum(self)	# this is to verify that the allocated % of sales persons is 100%
+		sales_com_obj.check_conversion_rate(self)
+		# ::::::: Get total in Words ::::::::
+		dcc = TransactionBase().get_company_currency(self.doc.company)
+		self.doc.in_words = sales_com_obj.get_total_in_words(dcc, self.doc.rounded_total)
+		self.doc.in_words_export = sales_com_obj.get_total_in_words(self.doc.currency, self.doc.rounded_total_export)
+
+		# ::::::: Set Net Weight of each Packing
+		self.update_pack_nett_weight()
+		self.print_packing_slip()
+		# ::::::: Set actual qty for each item in selected warehouse :::::::
+		self.update_current_stock()
+		# :::::: set DN status :::::::
+
+		self.doc.status = 'Draft'
+		if not self.doc.billing_status: self.doc.billing_status = 'Not Billed'
+		if not self.doc.installation_status: self.doc.installation_status = 'Not Installed'
+
+	# ************** Validate Mandatory *************************
+	def validate_mandatory(self):
+		# :::::::::: Amendment Date ::::::::::::::
+		if self.doc.amended_from and not self.doc.amendment_date:
+			msgprint("Please Enter Amendment Date")
+			raise Exception, "Validation Error. "
+
+	#check for does customer belong to same project as entered..
+	#-------------------------------------------------------------------------------------------------
+	def validate_proj_cust(self):
+		if self.doc.project_name and self.doc.customer:
+			res = sql("select name from `tabProject` where name = '%s' and (customer = '%s' or ifnull(customer,'')='')"%(self.doc.project_name, self.doc.customer))
+			if not res:
+				msgprint("Customer - %s does not belong to project - %s. \n\nIf you want to use project for multiple customers then please make customer details blank in project - %s."%(self.doc.customer,self.doc.project_name,self.doc.project_name))
+				raise Exception
+
+	# Validate values with reference document
+	#----------------------------------------
+	def validate_reference_value(self):
+		get_obj('DocType Mapper', 'Sales Order-Delivery Note', with_children = 1).validate_reference_value(self, self.doc.name)
+
+
+	# ******* Validate Previous Document Details ************
+	def validate_prevdoc_details(self):
+		for d in getlist(self.doclist,'delivery_note_details'):
+
+			prevdoc = d.prevdoc_doctype
+			prevdoc_docname = d.prevdoc_docname
+
+			if prevdoc_docname and prevdoc:
+				# ::::::::::: Validates Transaction Date of DN and previous doc (i.e. SO , PO, PR) *********
+				trans_date = sql("select transaction_date from `tab%s` where name = '%s'" %(prevdoc,prevdoc_docname))[0][0]
+				if trans_date and getdate(self.doc.transaction_date) < (trans_date):
+					msgprint("Your Voucher Date cannot be before "+cstr(prevdoc)+" Date.")
+					raise Exception
+				# ::::::::: Validates DN and previous doc details ::::::::::::::::::
+				get_name = sql("select name from `tab%s` where name = '%s'" % (prevdoc, prevdoc_docname))
+				name = get_name and get_name[0][0] or ''
+				if name:	#check for incorrect docname
+					if prevdoc == 'Sales Order':
+						dt = sql("select company, docstatus, customer, currency, sales_partner from `tab%s` where name = '%s'" % (prevdoc, name))
+						cust_name = dt and dt[0][2] or ''
+						if cust_name != self.doc.customer:
+							msgprint(cstr(prevdoc) + ": " + cstr(prevdoc_docname) + " customer :" + cstr(cust_name) + " does not match with customer : " + cstr(self.doc.customer) + " of current document.")
+							raise Exception, "Validation Error. "
+						sal_partner = dt and dt[0][4] or ''
+						if sal_partner != self.doc.sales_partner:
+							msgprint(cstr(prevdoc) + ": " + cstr(prevdoc_docname) + " sales partner name :" + cstr(sal_partner) + " does not match with sales partner name : " + cstr(self.doc.sales_partner_name) + " of current document.")
+							raise Exception, "Validation Error. "
+					else:
+						dt = sql("select company, docstatus, supplier, currency from `tab%s` where name = '%s'" % (prevdoc, name))
+						supp_name = dt and dt[0][2] or ''
+						company_name = dt and dt[0][0] or ''
+						docstatus = dt and dt[0][1] or 0
+						currency = dt and dt[0][3] or ''
+						if (currency != self.doc.currency):
+							msgprint(cstr(prevdoc) + ": " + cstr(prevdoc_docname) + " currency : "+ cstr(currency) + "does not match with Currency: " + cstr(self.doc.currency) + "of current document")
+							raise Exception, "Validation Error."
+						if (company_name != self.doc.company):
+							msgprint(cstr(prevdoc) + ": " + cstr(prevdoc_docname) + " does not belong to the Company: " + cstr(self.doc.company_name))
+							raise Exception, "Validation Error."
+						if (docstatus != 1):
+							msgprint(cstr(prevdoc) + ": " + cstr(prevdoc_docname) + " is not Submitted Document.")
+							raise Exception, "Validation Error."
+				else:
+					msgprint(cstr(prevdoc) + ": " + cstr(prevdoc_docname) + " is not a valid " + cstr(prevdoc))
+					raise Exception, "Validation Error."
+
+
+	# ******************** Validate Items **************************
+	def validate_for_items(self):
+		check_list, chk_dupl_itm = [], []
+		for d in getlist(self.doclist,'delivery_note_details'):
+			ch = sql("select is_stock_item from `tabItem` where name = '%s'"%d.item_code)
+			if d.prevdoc_doctype and d.prevdoc_detail_docname and ch and ch[0][0]=='Yes':
+				self.validate_items_with_prevdoc(d)
+
+			# validates whether item is not entered twice
+			e = [d.item_code, d.description, d.warehouse, d.prevdoc_docname or '', d.batch_no or '']
+			f = [d.item_code, d.description, d.prevdoc_docname or '']
+
+			if ch and ch[0][0] == 'Yes':
+				if e in check_list:
+					msgprint("Please check whether item %s has been entered twice wrongly." % d.item_code)
+				else:
+					check_list.append(e)
+			elif ch and ch[0][0] == 'No':
+				if f in chk_dupl_itm:
+					msgprint("Please check whether item %s has been entered twice wrongly." % d.item_code)
+				else:
+					chk_dupl_itm.append(f)
+
+
+	# check if same item, warehouse present in prevdoc
+	# ------------------------------------------------------------------
+	def validate_items_with_prevdoc(self, d):
+		if d.prevdoc_doctype == 'Sales Order':
+			data = sql("select item_code, reserved_warehouse from `tabSales Order Detail` where parent = '%s' and name = '%s'" % (d.prevdoc_docname, d.prevdoc_detail_docname))
+		if d.prevdoc_doctype == 'Purchase Receipt':
+			data = sql("select item_code, rejected_warehouse from `tabPurchase Receipt Detail` where parent = '%s' and name = '%s'" % (d.prevdoc_docname, d.prevdoc_detail_docname))
+		if not data or data[0][0] != d.item_code or data[0][1] != d.warehouse:
+			msgprint("Item: %s / Warehouse: %s is not matching with Sales Order: %s. Sales Order might be modified after fetching data from it. Please delete items and fetch again." % (d.item_code, d.warehouse, d.prevdoc_docname))
+			raise Exception
+
+
+	# ********* UPDATE CURRENT STOCK *****************************
+	def update_current_stock(self):
+		for d in getlist(self.doclist, 'delivery_note_details'):
+			bin = sql("select actual_qty from `tabBin` where item_code = %s and warehouse = %s", (d.item_code, d.warehouse), as_dict = 1)
+			d.actual_qty = bin and flt(bin[0]['actual_qty']) or 0
+
+		for d in getlist(self.doclist, 'packing_details'):
+			bin = sql("select actual_qty, projected_qty from `tabBin` where item_code =	%s and warehouse = %s", (d.item_code, d.warehouse), as_dict = 1)
+			d.actual_qty = bin and flt(bin[0]['actual_qty']) or 0
+			d.projected_qty = bin and flt(bin[0]['projected_qty']) or 0
+
+
+# ON SUBMIT
+# =================================================================================================
+	def on_submit(self):
+		set(self.doc, 'message', 'Items against your Order #%s have been delivered. Delivery #%s: ' % (self.doc.po_no, self.doc.name))
+		self.check_qty_in_stock()
+		# Check for Approving Authority
+		get_obj('Authorization Control').validate_approving_authority(self.doc.doctype, self.doc.company, self.doc.grand_total, self)
+		sl_obj = get_obj("Stock Ledger")
+		sl_obj.validate_serial_no_warehouse(self, 'packing_details')
+		sl_obj.update_serial_record(self, 'packing_details', is_submit = 1, is_incoming = 0)
+		get_obj("Sales Common").update_prevdoc_detail(1,self)
+		self.update_stock_ledger(update_stock = 1)
+
+		#------------Check Credit Limit---------------------
+		self.credit_limit()
+
+		# set DN status
+		set(self.doc, 'status', 'Submitted')
+
+		# on submit notification
+		self.notify_obj.notify_contact('Delivery Note',self.doc.doctype,self.doc.name, self.doc.email_id, self.doc.contact_person)
+
+
+	# *********** Checks whether actual quantity is present in warehouse *************
+	def check_qty_in_stock(self):
+		for d in getlist(self.doclist, 'packing_details'):
+			is_stock_item = sql("select is_stock_item from `tabItem` where name = '%s'" % d.item_code)[0][0]
+			if is_stock_item == 'Yes' and d.warehouse and flt(d.qty) > flt(d.actual_qty):
+				msgprint("For Item: " + cstr(d.item_code) + " at Warehouse: " + cstr(d.warehouse) + " Quantity: " + cstr(d.qty) +" is not Available. (Must be less than or equal to " + cstr(d.actual_qty) + " )")
+				raise Exception, "Validation Error"
+
+
+
+# ON CANCEL
+# =================================================================================================
+	def on_cancel(self):
+		sales_com_obj = get_obj(dt = 'Sales Common')
+		sales_com_obj.check_stop_sales_order(self)
+		self.check_next_docstatus()
+		get_obj('Stock Ledger').update_serial_record(self, 'packing_details', is_submit = 0, is_incoming = 0)
+		sales_com_obj.update_prevdoc_detail(0,self)
+		self.update_stock_ledger(update_stock = -1)
+		# :::::: set DN status :::::::
+		set(self.doc, 'status', 'Cancelled')
+
+
+	# ******************** Check Next DocStatus **************************
+	def check_next_docstatus(self):
+		submit_rv = sql("select t1.name from `tabReceivable Voucher` t1,`tabRV Detail` t2 where t1.name = t2.parent and t2.delivery_note = '%s' and t1.docstatus = 1" % (self.doc.name))
+		if submit_rv:
+			msgprint("Sales Invoice : " + cstr(submit_rv[0][0]) + " has already been submitted !")
+			raise Exception , "Validation Error."
+
+		submit_in = sql("select t1.name from `tabInstallation Note` t1, `tabInstalled Item Details` t2 where t1.name = t2.parent and t2.prevdoc_docname = '%s' and t1.docstatus = 1" % (self.doc.name))
+		if submit_in:
+			msgprint("Installation Note : "+cstr(submit_in[0][0]) +" has already been submitted !")
+			raise Exception , "Validation Error."
+
+
+# UPDATE STOCK LEDGER
+# =================================================================================================
+	def update_stock_ledger(self, update_stock, is_stopped = 0):
+		self.values = []
+		for d in self.get_item_list(is_stopped):
+			stock_item = sql("SELECT is_stock_item, is_sample_item FROM tabItem where name = '%s'"%(d[1]), as_dict = 1) # stock ledger will be updated only if it is a stock item
+			if stock_item[0]['is_stock_item'] == "Yes":
+				if not d[0]:
+					msgprint("Message: Please enter Warehouse for item %s as it is stock item."% d[1])
+					raise Exception
+				# if prevdoc_doctype = "Sales Order"
+				if d[3] < 0 :
+					# Reduce Reserved Qty from warehouse
+					bin = get_obj('Warehouse', d[0]).update_bin(0, flt(update_stock) * flt(d[3]), 0, 0, 0, d[1], self.doc.transaction_date)
+
+				# Reduce actual qty from warehouse
+				self.make_sl_entry(d, d[0], - flt(d[2]) , 0, update_stock)
+		get_obj('Stock Ledger', 'Stock Ledger').update_stock(self.values)
+
+
+	# ***************** Gets Items from packing list *****************
+	def get_item_list(self, is_stopped):
+	 return get_obj('Sales Common').get_item_list(self, is_stopped)
+
+
+	# ********************** Make Stock Entry ************************************
+	def make_sl_entry(self, d, wh, qty, in_value, update_stock):
+		self.values.append({
+			'item_code'					 : d[1],
+			'warehouse'					 : wh,
+			'transaction_date'		: self.doc.transaction_date,
+			'posting_date'				: self.doc.posting_date,
+			'posting_time'				: self.doc.posting_time,
+			'voucher_type'				: 'Delivery Note',
+			'voucher_no'					: self.doc.name,
+			'voucher_detail_no'	 : '',
+			'actual_qty'					: qty,
+			'stock_uom'					 : d[4],
+			'incoming_rate'			 : in_value,
+			'company'						 : self.doc.company,
+			'fiscal_year'				 : self.doc.fiscal_year,
+			'is_cancelled'				: (update_stock==1) and 'No' or 'Yes',
+			'batch_no'						: d[5],
+			'serial_no'					 : d[6]
+		})
+
+
+	# SEND SMS
+	# ============================================================================================
+	def send_sms(self):
+		if not self.doc.customer_mobile_no:
+			msgprint("Please enter customer mobile no")
+		elif not self.doc.message:
+			msgprint("Please enter the message you want to send")
+		else:
+			msgprint(get_obj("SMS Control", "SMS Control").send_sms([self.doc.customer_mobile_no,], self.doc.message))
+
+
+#------------ check credit limit of items in DN Detail which are not fetched from sales order----------
+	def credit_limit(self):
+		amount, total = 0, 0
+		for d in getlist(self.doclist, 'delivery_note_details'):
+			if not d.prevdoc_docname:
+				amount += d.amount
+		if amount != 0:
+			total = (amount/self.doc.net_total)*self.doc.grand_total
+			get_obj('Sales Common').check_credit(self, total)
+
+	# on update
+	def on_update(self):
+		self.set_actual_qty()
+		get_obj('Stock Ledger').scrub_serial_nos(self)
+
+	# Repair Delivery Note
+	# ===========================================
+	def repair_delivery_note(self):
+		get_obj('Sales Common', 'Sales Common').repair_curr_doctype_details(self)
+
+	# Packing Slip Related
+	# ==========================================
+	def update_pack_nett_weight(self):
+			for d in getlist(self.doclist, 'delivery_note_details'):
+				if d.item_code:
+					item_wt = sql("select nett_weight from `tabItem` where name = %s", (d.item_code))
+					d.pack_nett_wt = item_wt and flt(item_wt[0][0]) or 0
+
+	# ==========================================
+	def print_packing_slip(self):
+		prev_pack='0'
+		sno=0
+		html=''
+		tot_nett_wt,tot_gross_wt=0,0
+		for d in getlist(self.doclist, 'delivery_note_details'):
+			sno=sno+1
+			if sno!=1 and prev_pack!=d.pack_no:#Footer goes here
+				html+='</table><table style="page-break-after:always" width="100%"><tr><td>CASE NO</td><td>'+cstr(d.pack_no)+'</td><td>NETT WT</td><td>'+cstr(tot_nett_wt)+'</td><td>CHECKED BY</td><td></td></tr><tr><td>SIZE</td><td></td><td>GROSS WT</td><td>'+cstr(tot_gross_wt)+'</td><td>PACKED BY</td><td></td></tr></table></div>'
+			if prev_pack!=d.pack_no: #Prepare Header Here
+				#Header code goes here
+				html+='<div align="center">[HEADER GOES HERE]</div><div><center><h2>Packing Slip</h2></center></div> <table width="100%"><tr><td width="15%">Order No.</td><td width="35%">'+cstr(self.doc.sales_order_no)+'</td><td width="15%">Shipping Marks</td><td>'+cstr(d.shipping_mark)+'</td></tr></table>'
+				html+='<table class="cust_tbl" width="100%"><tr><td>S.NO.</td><td>QUANTITY</td><td>CS.NO.</td><td>DESCRIPTION</td><td>WEIGHT</td><tr>'
+				sno=0
+				tot_nett_wt,to_gross_wt=flt(d.pack_nett_wt),flt(d.pack_gross_wt)
+			#Body code goes here
+			html+='<tr><td>'+cstr(sno+1)+'</td><td>'+cstr(d.qty)+'</td><td>'+d.item_code+'</td><td>'+d.description+'</td><td>'+cstr(d.pack_nett_wt)+'</td></tr>'
+			prev_pack=d.pack_no
+			tot_nett_wt+=flt(d.pack_nett_wt)
+			tot_gross_wt+=flt(d.pack_gross_wt)
+
+		if html!='':
+			html+='</table><table style="page-break-after:always" width="100%"><tr><td>CASE NO</td><td>'+cstr(d.pack_no)+'</td><td>NETT WT</td><td>'+cstr(tot_nett_wt)+'</td><td>CHECKED BY</td><td>'+cstr(self.doc.packing_checked_by)+'</td></tr><tr><td>SIZE</td><td>'+cstr(self.doc.pack_size)+'</td><td>GROSS WT</td><td>'+cstr(tot_gross_wt)+'</td><td>PACKED BY</td><td>'+cstr(self.doc.packed_by)+'</td></tr></table></div>'
+			html+='</html>'
+		self.doc.print_packing_slip=html
diff --git a/stock/doctype/delivery_note/delivery_note.txt b/erpnext/stock/doctype/delivery_note/delivery_note.txt
similarity index 97%
rename from stock/doctype/delivery_note/delivery_note.txt
rename to erpnext/stock/doctype/delivery_note/delivery_note.txt
index a3897ec..9fe13e4 100644
--- a/stock/doctype/delivery_note/delivery_note.txt
+++ b/erpnext/stock/doctype/delivery_note/delivery_note.txt
@@ -5,7 +5,7 @@
 	{
 		'creation': '2011-04-18 15:58:20',
 		'docstatus': 0,
-		'modified': '2011-09-07 17:36:34',
+		'modified': '2011-09-20 18:50:41',
 		'modified_by': 'Administrator',
 		'owner': 'Administrator'
 	},
@@ -21,7 +21,7 @@
 
 	# These values are common for all DocType
 	{
-		'_last_update': '1314093417',
+		'_last_update': '1315560377',
 		'colour': 'White:FFF',
 		'default_print_format': 'Standard',
 		'doctype': 'DocType',
@@ -37,7 +37,7 @@
 		'show_in_menu': 0,
 		'subject': 'To %(customer_name)s on %(transaction_date)s | %(per_billed)s% billed',
 		'tag_fields': 'billing_status',
-		'version': 450
+		'version': 453
 	},
 
 	# These values are common for all DocFormat
@@ -133,11 +133,6 @@
 		'doctype': 'DocFormat'
 	},
 
-	# DocFormat
-	{
-		'doctype': 'DocFormat'
-	},
-
 	# DocField
 	{
 		'colour': 'White:FFF',
@@ -1390,6 +1385,42 @@
 		'in_filter': 0,
 		'label': 'Print Packing Slip',
 		'permlevel': 0,
-		'print_hide': 0
+		'print_hide': 1
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldname': 'shipping_mark',
+		'fieldtype': 'Text',
+		'label': 'Shipping Mark',
+		'permlevel': 0
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldname': 'packed_by',
+		'fieldtype': 'Text',
+		'label': 'Packed By',
+		'permlevel': 0
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldname': 'packing_checked_by',
+		'fieldtype': 'Text',
+		'label': 'Packing Checked By',
+		'permlevel': 0
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldname': 'pack_size',
+		'fieldtype': 'Text',
+		'label': 'Pack Size',
+		'permlevel': 0
 	}
 ]
\ No newline at end of file
diff --git a/stock/doctype/delivery_note_detail/__init__.py b/erpnext/stock/doctype/delivery_note_detail/__init__.py
similarity index 100%
rename from stock/doctype/delivery_note_detail/__init__.py
rename to erpnext/stock/doctype/delivery_note_detail/__init__.py
diff --git a/stock/doctype/delivery_note_detail/delivery_note_detail.txt b/erpnext/stock/doctype/delivery_note_detail/delivery_note_detail.txt
similarity index 100%
rename from stock/doctype/delivery_note_detail/delivery_note_detail.txt
rename to erpnext/stock/doctype/delivery_note_detail/delivery_note_detail.txt
diff --git a/stock/doctype/delivery_note_packing_detail/__init__.py b/erpnext/stock/doctype/delivery_note_packing_detail/__init__.py
similarity index 100%
rename from stock/doctype/delivery_note_packing_detail/__init__.py
rename to erpnext/stock/doctype/delivery_note_packing_detail/__init__.py
diff --git a/stock/doctype/delivery_note_packing_detail/delivery_note_packing_detail.txt b/erpnext/stock/doctype/delivery_note_packing_detail/delivery_note_packing_detail.txt
similarity index 100%
rename from stock/doctype/delivery_note_packing_detail/delivery_note_packing_detail.txt
rename to erpnext/stock/doctype/delivery_note_packing_detail/delivery_note_packing_detail.txt
diff --git a/stock/doctype/item/__init__.py b/erpnext/stock/doctype/item/__init__.py
similarity index 100%
rename from stock/doctype/item/__init__.py
rename to erpnext/stock/doctype/item/__init__.py
diff --git a/stock/doctype/item/item.js b/erpnext/stock/doctype/item/item.js
similarity index 100%
rename from stock/doctype/item/item.js
rename to erpnext/stock/doctype/item/item.js
diff --git a/stock/doctype/item/item.py b/erpnext/stock/doctype/item/item.py
similarity index 95%
rename from stock/doctype/item/item.py
rename to erpnext/stock/doctype/item/item.py
index 28f1d12..4dca704 100644
--- a/stock/doctype/item/item.py
+++ b/erpnext/stock/doctype/item/item.py
@@ -63,6 +63,9 @@
 			child.conversion_factor = 1
 			child.save()
 
+	# On delete 1. Delete BIN (if none of the corrosponding transactions present, it gets deleted. if present, rolled back due to exception)
+	def on_trash(self):
+		sql("delete from tabBin where item_code='%s'"%(self.doc.item_code))
 
 	# Check whether Ref Rate is not entered twice for same Price List and Currency
 	def check_ref_rate_detail(self):
@@ -124,7 +127,7 @@
 			self.doc.min_order_qty = 0
 		self.check_non_asset_warehouse()
 
-		if self.doc.is_pro_applicable == 'Yes' and self.doc.is_manufactured_item != 'Yes':
+		if self.doc.is_pro_applicable and self.doc.is_pro_applicable == 'Yes' and self.doc.is_manufactured_item and self.doc.is_manufactured_item != 'Yes':
 			msgprint("If making Production Order is allowed then, it should also allow to make Bill of Materials. Refer Manufacturing section.")
 			raise Exception
 
diff --git a/stock/doctype/item/item.txt b/erpnext/stock/doctype/item/item.txt
similarity index 100%
rename from stock/doctype/item/item.txt
rename to erpnext/stock/doctype/item/item.txt
diff --git a/erpnext/stock/doctype/item/test_item.py b/erpnext/stock/doctype/item/test_item.py
new file mode 100644
index 0000000..529c82a
--- /dev/null
+++ b/erpnext/stock/doctype/item/test_item.py
@@ -0,0 +1,62 @@
+import unittest
+import webnotes
+import copy
+
+from webnotes.model.doclist import DocList
+from webnotes.model.doc import Document
+from webnotes.model.code import get_obj
+from webnotes.utils import flt
+
+sql = webnotes.conn.sql
+
+
+class TestItem(unittest.TestCase):
+	def setUp(self):
+		webnotes.conn.begin()
+
+	def tearDown(self):
+		webnotes.conn.rollback()
+		
+	def testInsert(self):
+		d = DocList()
+
+		count_before =  flt(sql("select count(*) from tab"+_doctype)[0][0])
+		if docok:
+			for i in docok:
+				d.doc = i
+				d.children = None
+				d.doc.fields['__islocal']=1
+				d.save(1)
+		count_after = flt(sql("select count(*) from tab"+_doctype)[0][0])
+		self.assertTrue(count_before+len(docok)==count_after)
+	
+	def testFailAssert(self):
+		if docnotok:
+			with self.assertRaises(Exception) as context:
+				d = DocList()
+				d.doc = docnotok[0]
+				d.children = None
+				d.doc.fields['__islocal']=1
+				d.save(1)
+
+# Test Data
+
+tabOK = [
+		{'is_purchase_item': None, 'is_pro_applicable': 'No', 'is_manufactured_item': None, 'description': 'Gel Ink', 'default_warehouse': None, 'item_name': 'Gel Ink', 'item_group': 'Ink', 'item_code': 'GELINK', 'is_sub_contracted_item': None, 'is_stock_item': 'Yes', 'stock_uom': 'Nos', 'docstatus': '0'}, 
+		{'is_purchase_item': None, 'is_pro_applicable': 'No', 'is_manufactured_item': None, 'description': 'Gel Refill', 'default_warehouse': None, 'item_name': 'Gel Refill', 'item_group': 'Refill', 'item_code': 'GELREF', 'is_sub_contracted_item': None, 'is_stock_item': 'Yes', 'stock_uom': 'Nos', 'docstatus': '0'}, 
+		{'is_purchase_item': None, 'is_pro_applicable': 'No', 'is_manufactured_item': None, 'description': 'Gel Pen', 'default_warehouse': None, 'item_name': 'Gel Pen', 'item_group': 'Pen', 'item_code': 'GELPEN', 'is_sub_contracted_item': None, 'is_stock_item': 'Yes', 'stock_uom': 'Nos', 'docstatus': '0'}
+	]
+
+tabNotOK =	[
+			{'is_purchase_item': None, 'is_pro_applicable': None, 'is_manufactured_item': None, 'description': 'F Ink', 'default_warehouse': None, 'item_name': 'F Ink', 'item_group': 'F Ink', 'item_code': None, 'is_sub_contracted_item': None, 'is_stock_item': 'No', 'stock_uom': 'Nos', 'docstatus': '0'}
+		]
+	      
+_doctype = 'Item'
+
+for i in tabOK: i['doctype']=_doctype
+for i in tabNotOK: i['doctype']=_doctype
+
+docok = [Document(fielddata=r) for r in tabOK]
+docnotok = [Document(fielddata=r) for r in tabNotOK]
+
+
diff --git a/stock/doctype/item_customer_detail/__init__.py b/erpnext/stock/doctype/item_customer_detail/__init__.py
similarity index 100%
rename from stock/doctype/item_customer_detail/__init__.py
rename to erpnext/stock/doctype/item_customer_detail/__init__.py
diff --git a/stock/doctype/item_customer_detail/item_customer_detail.txt b/erpnext/stock/doctype/item_customer_detail/item_customer_detail.txt
similarity index 100%
rename from stock/doctype/item_customer_detail/item_customer_detail.txt
rename to erpnext/stock/doctype/item_customer_detail/item_customer_detail.txt
diff --git a/stock/doctype/item_specification_detail/__init__.py b/erpnext/stock/doctype/item_specification_detail/__init__.py
similarity index 100%
rename from stock/doctype/item_specification_detail/__init__.py
rename to erpnext/stock/doctype/item_specification_detail/__init__.py
diff --git a/stock/doctype/item_specification_detail/item_specification_detail.txt b/erpnext/stock/doctype/item_specification_detail/item_specification_detail.txt
similarity index 100%
rename from stock/doctype/item_specification_detail/item_specification_detail.txt
rename to erpnext/stock/doctype/item_specification_detail/item_specification_detail.txt
diff --git a/stock/doctype/item_tax/__init__.py b/erpnext/stock/doctype/item_tax/__init__.py
similarity index 100%
rename from stock/doctype/item_tax/__init__.py
rename to erpnext/stock/doctype/item_tax/__init__.py
diff --git a/stock/doctype/item_tax/item_tax.txt b/erpnext/stock/doctype/item_tax/item_tax.txt
similarity index 100%
rename from stock/doctype/item_tax/item_tax.txt
rename to erpnext/stock/doctype/item_tax/item_tax.txt
diff --git a/stock/doctype/landed_cost_detail/__init__.py b/erpnext/stock/doctype/landed_cost_detail/__init__.py
similarity index 100%
rename from stock/doctype/landed_cost_detail/__init__.py
rename to erpnext/stock/doctype/landed_cost_detail/__init__.py
diff --git a/stock/doctype/landed_cost_detail/landed_cost_detail.txt b/erpnext/stock/doctype/landed_cost_detail/landed_cost_detail.txt
similarity index 100%
rename from stock/doctype/landed_cost_detail/landed_cost_detail.txt
rename to erpnext/stock/doctype/landed_cost_detail/landed_cost_detail.txt
diff --git a/stock/doctype/landed_cost_master/__init__.py b/erpnext/stock/doctype/landed_cost_master/__init__.py
similarity index 100%
rename from stock/doctype/landed_cost_master/__init__.py
rename to erpnext/stock/doctype/landed_cost_master/__init__.py
diff --git a/stock/doctype/landed_cost_master/landed_cost_master.js b/erpnext/stock/doctype/landed_cost_master/landed_cost_master.js
similarity index 100%
rename from stock/doctype/landed_cost_master/landed_cost_master.js
rename to erpnext/stock/doctype/landed_cost_master/landed_cost_master.js
diff --git a/stock/doctype/landed_cost_master/landed_cost_master.txt b/erpnext/stock/doctype/landed_cost_master/landed_cost_master.txt
similarity index 100%
rename from stock/doctype/landed_cost_master/landed_cost_master.txt
rename to erpnext/stock/doctype/landed_cost_master/landed_cost_master.txt
diff --git a/stock/doctype/landed_cost_master_detail/__init__.py b/erpnext/stock/doctype/landed_cost_master_detail/__init__.py
similarity index 100%
rename from stock/doctype/landed_cost_master_detail/__init__.py
rename to erpnext/stock/doctype/landed_cost_master_detail/__init__.py
diff --git a/stock/doctype/landed_cost_master_detail/landed_cost_master_detail.txt b/erpnext/stock/doctype/landed_cost_master_detail/landed_cost_master_detail.txt
similarity index 100%
rename from stock/doctype/landed_cost_master_detail/landed_cost_master_detail.txt
rename to erpnext/stock/doctype/landed_cost_master_detail/landed_cost_master_detail.txt
diff --git a/stock/doctype/landed_cost_wizard/__init__.py b/erpnext/stock/doctype/landed_cost_wizard/__init__.py
similarity index 100%
rename from stock/doctype/landed_cost_wizard/__init__.py
rename to erpnext/stock/doctype/landed_cost_wizard/__init__.py
diff --git a/stock/doctype/landed_cost_wizard/landed_cost_wizard.js b/erpnext/stock/doctype/landed_cost_wizard/landed_cost_wizard.js
similarity index 100%
rename from stock/doctype/landed_cost_wizard/landed_cost_wizard.js
rename to erpnext/stock/doctype/landed_cost_wizard/landed_cost_wizard.js
diff --git a/stock/doctype/landed_cost_wizard/landed_cost_wizard.py b/erpnext/stock/doctype/landed_cost_wizard/landed_cost_wizard.py
similarity index 100%
rename from stock/doctype/landed_cost_wizard/landed_cost_wizard.py
rename to erpnext/stock/doctype/landed_cost_wizard/landed_cost_wizard.py
diff --git a/stock/doctype/landed_cost_wizard/landed_cost_wizard.txt b/erpnext/stock/doctype/landed_cost_wizard/landed_cost_wizard.txt
similarity index 100%
rename from stock/doctype/landed_cost_wizard/landed_cost_wizard.txt
rename to erpnext/stock/doctype/landed_cost_wizard/landed_cost_wizard.txt
diff --git a/stock/doctype/lc_pr_detail/__init__.py b/erpnext/stock/doctype/lc_pr_detail/__init__.py
similarity index 100%
rename from stock/doctype/lc_pr_detail/__init__.py
rename to erpnext/stock/doctype/lc_pr_detail/__init__.py
diff --git a/stock/doctype/lc_pr_detail/lc_pr_detail.txt b/erpnext/stock/doctype/lc_pr_detail/lc_pr_detail.txt
similarity index 100%
rename from stock/doctype/lc_pr_detail/lc_pr_detail.txt
rename to erpnext/stock/doctype/lc_pr_detail/lc_pr_detail.txt
diff --git a/stock/doctype/purchase_receipt/__init__.py b/erpnext/stock/doctype/purchase_receipt/__init__.py
similarity index 100%
rename from stock/doctype/purchase_receipt/__init__.py
rename to erpnext/stock/doctype/purchase_receipt/__init__.py
diff --git a/stock/doctype/purchase_receipt/purchase_receipt.js b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.js
similarity index 100%
rename from stock/doctype/purchase_receipt/purchase_receipt.js
rename to erpnext/stock/doctype/purchase_receipt/purchase_receipt.js
diff --git a/stock/doctype/purchase_receipt/purchase_receipt.py b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py
similarity index 100%
rename from stock/doctype/purchase_receipt/purchase_receipt.py
rename to erpnext/stock/doctype/purchase_receipt/purchase_receipt.py
diff --git a/stock/doctype/purchase_receipt/purchase_receipt.txt b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.txt
similarity index 100%
rename from stock/doctype/purchase_receipt/purchase_receipt.txt
rename to erpnext/stock/doctype/purchase_receipt/purchase_receipt.txt
diff --git a/stock/doctype/purchase_receipt_detail/__init__.py b/erpnext/stock/doctype/purchase_receipt_detail/__init__.py
similarity index 100%
rename from stock/doctype/purchase_receipt_detail/__init__.py
rename to erpnext/stock/doctype/purchase_receipt_detail/__init__.py
diff --git a/stock/doctype/purchase_receipt_detail/purchase_receipt_detail.txt b/erpnext/stock/doctype/purchase_receipt_detail/purchase_receipt_detail.txt
similarity index 100%
rename from stock/doctype/purchase_receipt_detail/purchase_receipt_detail.txt
rename to erpnext/stock/doctype/purchase_receipt_detail/purchase_receipt_detail.txt
diff --git a/stock/doctype/ref_rate_detail/__init__.py b/erpnext/stock/doctype/ref_rate_detail/__init__.py
similarity index 100%
rename from stock/doctype/ref_rate_detail/__init__.py
rename to erpnext/stock/doctype/ref_rate_detail/__init__.py
diff --git a/stock/doctype/ref_rate_detail/ref_rate_detail.txt b/erpnext/stock/doctype/ref_rate_detail/ref_rate_detail.txt
similarity index 100%
rename from stock/doctype/ref_rate_detail/ref_rate_detail.txt
rename to erpnext/stock/doctype/ref_rate_detail/ref_rate_detail.txt
diff --git a/stock/doctype/sales_and_purchase_return_wizard/__init__.py b/erpnext/stock/doctype/sales_and_purchase_return_wizard/__init__.py
similarity index 100%
rename from stock/doctype/sales_and_purchase_return_wizard/__init__.py
rename to erpnext/stock/doctype/sales_and_purchase_return_wizard/__init__.py
diff --git a/stock/doctype/sales_and_purchase_return_wizard/sales_and_purchase_return_wizard.js b/erpnext/stock/doctype/sales_and_purchase_return_wizard/sales_and_purchase_return_wizard.js
similarity index 100%
rename from stock/doctype/sales_and_purchase_return_wizard/sales_and_purchase_return_wizard.js
rename to erpnext/stock/doctype/sales_and_purchase_return_wizard/sales_and_purchase_return_wizard.js
diff --git a/stock/doctype/sales_and_purchase_return_wizard/sales_and_purchase_return_wizard.py b/erpnext/stock/doctype/sales_and_purchase_return_wizard/sales_and_purchase_return_wizard.py
similarity index 100%
rename from stock/doctype/sales_and_purchase_return_wizard/sales_and_purchase_return_wizard.py
rename to erpnext/stock/doctype/sales_and_purchase_return_wizard/sales_and_purchase_return_wizard.py
diff --git a/stock/doctype/sales_and_purchase_return_wizard/sales_and_purchase_return_wizard.txt b/erpnext/stock/doctype/sales_and_purchase_return_wizard/sales_and_purchase_return_wizard.txt
similarity index 100%
rename from stock/doctype/sales_and_purchase_return_wizard/sales_and_purchase_return_wizard.txt
rename to erpnext/stock/doctype/sales_and_purchase_return_wizard/sales_and_purchase_return_wizard.txt
diff --git a/stock/doctype/sales_bom/__init__.py b/erpnext/stock/doctype/sales_bom/__init__.py
similarity index 100%
rename from stock/doctype/sales_bom/__init__.py
rename to erpnext/stock/doctype/sales_bom/__init__.py
diff --git a/stock/doctype/sales_bom/sales_bom.js b/erpnext/stock/doctype/sales_bom/sales_bom.js
similarity index 100%
rename from stock/doctype/sales_bom/sales_bom.js
rename to erpnext/stock/doctype/sales_bom/sales_bom.js
diff --git a/stock/doctype/sales_bom/sales_bom.py b/erpnext/stock/doctype/sales_bom/sales_bom.py
similarity index 100%
rename from stock/doctype/sales_bom/sales_bom.py
rename to erpnext/stock/doctype/sales_bom/sales_bom.py
diff --git a/stock/doctype/sales_bom/sales_bom.txt b/erpnext/stock/doctype/sales_bom/sales_bom.txt
similarity index 100%
rename from stock/doctype/sales_bom/sales_bom.txt
rename to erpnext/stock/doctype/sales_bom/sales_bom.txt
diff --git a/stock/doctype/sales_bom_detail/__init__.py b/erpnext/stock/doctype/sales_bom_detail/__init__.py
similarity index 100%
rename from stock/doctype/sales_bom_detail/__init__.py
rename to erpnext/stock/doctype/sales_bom_detail/__init__.py
diff --git a/stock/doctype/sales_bom_detail/sales_bom_detail.txt b/erpnext/stock/doctype/sales_bom_detail/sales_bom_detail.txt
similarity index 100%
rename from stock/doctype/sales_bom_detail/sales_bom_detail.txt
rename to erpnext/stock/doctype/sales_bom_detail/sales_bom_detail.txt
diff --git a/stock/doctype/serial_no/__init__.py b/erpnext/stock/doctype/serial_no/__init__.py
similarity index 100%
rename from stock/doctype/serial_no/__init__.py
rename to erpnext/stock/doctype/serial_no/__init__.py
diff --git a/stock/doctype/serial_no/serial_no.js b/erpnext/stock/doctype/serial_no/serial_no.js
similarity index 100%
rename from stock/doctype/serial_no/serial_no.js
rename to erpnext/stock/doctype/serial_no/serial_no.js
diff --git a/stock/doctype/serial_no/serial_no.py b/erpnext/stock/doctype/serial_no/serial_no.py
similarity index 100%
rename from stock/doctype/serial_no/serial_no.py
rename to erpnext/stock/doctype/serial_no/serial_no.py
diff --git a/stock/doctype/serial_no/serial_no.txt b/erpnext/stock/doctype/serial_no/serial_no.txt
similarity index 92%
rename from stock/doctype/serial_no/serial_no.txt
rename to erpnext/stock/doctype/serial_no/serial_no.txt
index 9aa6119..277a2ec 100644
--- a/stock/doctype/serial_no/serial_no.txt
+++ b/erpnext/stock/doctype/serial_no/serial_no.txt
@@ -5,17 +5,18 @@
 	{
 		'creation': '2010-08-08 17:09:23',
 		'docstatus': 0,
-		'modified': '2011-05-17 12:38:15',
+		'modified': '2011-10-10 17:08:57',
 		'modified_by': 'Administrator',
 		'owner': 'Administrator'
 	},
 
 	# These values are common for all DocType
 	{
-		'_last_update': '1305616095',
+		'_last_update': '1317365120',
 		'allow_trash': 1,
 		'autoname': 'field:serial_no',
 		'colour': 'White:FFF',
+		'default_print_format': 'Standard',
 		'doctype': 'DocType',
 		'document_type': 'Master',
 		'module': 'Stock',
@@ -24,9 +25,8 @@
 		'section_style': 'Tabbed',
 		'server_code_error': ' ',
 		'show_in_menu': 0,
-		'subject': '%(item_code)s',
 		'tag_fields': 'status',
-		'version': 188
+		'version': 190
 	},
 
 	# These values are common for all DocField
@@ -60,7 +60,6 @@
 		'cancel': 0,
 		'create': 0,
 		'doctype': 'DocPerm',
-		'idx': 1,
 		'permlevel': 1,
 		'role': 'Material Manager',
 		'submit': 0,
@@ -73,7 +72,6 @@
 		'cancel': 0,
 		'create': 0,
 		'doctype': 'DocPerm',
-		'idx': 2,
 		'permlevel': 0,
 		'role': 'Material Manager',
 		'submit': 0,
@@ -86,7 +84,6 @@
 		'cancel': 0,
 		'create': 0,
 		'doctype': 'DocPerm',
-		'idx': 3,
 		'permlevel': 1,
 		'role': 'Material User',
 		'submit': 0,
@@ -99,7 +96,6 @@
 		'cancel': 0,
 		'create': 0,
 		'doctype': 'DocPerm',
-		'idx': 4,
 		'permlevel': 0,
 		'role': 'Material User',
 		'submit': 0,
@@ -111,7 +107,6 @@
 		'cancel': 1,
 		'create': 1,
 		'doctype': 'DocPerm',
-		'idx': 5,
 		'permlevel': 0,
 		'role': 'System Manager',
 		'write': 1
@@ -122,7 +117,6 @@
 		'cancel': 1,
 		'create': 1,
 		'doctype': 'DocPerm',
-		'idx': 6,
 		'permlevel': 0,
 		'role': 'Material Master Manager',
 		'write': 1
@@ -131,7 +125,6 @@
 	# DocPerm
 	{
 		'doctype': 'DocPerm',
-		'idx': 7,
 		'permlevel': 1,
 		'role': 'System Manager'
 	},
@@ -139,7 +132,6 @@
 	# DocPerm
 	{
 		'doctype': 'DocPerm',
-		'idx': 8,
 		'permlevel': 1,
 		'role': 'Sales Master Manager'
 	},
@@ -148,7 +140,6 @@
 	{
 		'doctype': 'DocField',
 		'fieldtype': 'Section Break',
-		'idx': 1,
 		'label': 'Details',
 		'oldfieldtype': 'Section Break',
 		'permlevel': 0
@@ -158,7 +149,6 @@
 	{
 		'doctype': 'DocField',
 		'fieldtype': 'Column Break',
-		'idx': 2,
 		'permlevel': 0
 	},
 
@@ -168,7 +158,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'status',
 		'fieldtype': 'Select',
-		'idx': 3,
 		'in_filter': 1,
 		'label': 'Status',
 		'no_copy': 1,
@@ -185,7 +174,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'serial_no',
 		'fieldtype': 'Data',
-		'idx': 4,
 		'in_filter': 0,
 		'label': 'Serial No',
 		'no_copy': 1,
@@ -193,7 +181,7 @@
 		'oldfieldtype': 'Data',
 		'permlevel': 0,
 		'reqd': 1,
-		'search_index': 0
+		'search_index': 1
 	},
 
 	# DocField
@@ -202,7 +190,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'item_code',
 		'fieldtype': 'Link',
-		'idx': 5,
 		'in_filter': 1,
 		'label': 'Item Code',
 		'oldfieldname': 'item_code',
@@ -218,7 +205,6 @@
 	{
 		'doctype': 'DocField',
 		'fieldtype': 'Column Break',
-		'idx': 6,
 		'permlevel': 0
 	},
 
@@ -227,7 +213,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'item_name',
 		'fieldtype': 'Data',
-		'idx': 7,
 		'label': 'Item Name',
 		'permlevel': 1
 	},
@@ -237,13 +222,11 @@
 		'doctype': 'DocField',
 		'fieldname': 'description',
 		'fieldtype': 'Text',
-		'idx': 8,
 		'in_filter': 1,
 		'label': 'Description',
 		'oldfieldname': 'description',
 		'oldfieldtype': 'Text',
 		'permlevel': 1,
-		'reqd': 1,
 		'search_index': 0,
 		'width': '300px'
 	},
@@ -253,14 +236,13 @@
 		'doctype': 'DocField',
 		'fieldname': 'item_group',
 		'fieldtype': 'Link',
-		'idx': 9,
 		'in_filter': 0,
 		'label': 'Item Group',
 		'oldfieldname': 'item_group',
 		'oldfieldtype': 'Link',
 		'options': 'Item Group',
 		'permlevel': 1,
-		'reqd': 0,
+		'reqd': 1,
 		'search_index': 0
 	},
 
@@ -269,7 +251,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'brand',
 		'fieldtype': 'Link',
-		'idx': 10,
 		'in_filter': 0,
 		'label': 'Brand',
 		'oldfieldname': 'brand',
@@ -284,7 +265,6 @@
 	{
 		'doctype': 'DocField',
 		'fieldtype': 'Section Break',
-		'idx': 11,
 		'label': 'Purchase Details',
 		'permlevel': 0
 	},
@@ -293,7 +273,6 @@
 	{
 		'doctype': 'DocField',
 		'fieldtype': 'Column Break',
-		'idx': 12,
 		'permlevel': 0,
 		'width': '50%'
 	},
@@ -303,7 +282,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'purchase_document_type',
 		'fieldtype': 'Select',
-		'idx': 13,
 		'label': 'Purchase Document Type',
 		'no_copy': 1,
 		'options': '\nPurchase Receipt\nStock Entry',
@@ -316,7 +294,6 @@
 		'fieldname': 'purchase_document_no',
 		'fieldtype': 'Data',
 		'hidden': 0,
-		'idx': 14,
 		'label': 'Purchase Document No',
 		'no_copy': 1,
 		'permlevel': 0
@@ -328,7 +305,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'purchase_date',
 		'fieldtype': 'Date',
-		'idx': 15,
 		'in_filter': 1,
 		'label': 'Purchase Date',
 		'no_copy': 1,
@@ -345,7 +321,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'purchase_time',
 		'fieldtype': 'Time',
-		'idx': 16,
 		'label': 'Incoming Time',
 		'no_copy': 1,
 		'permlevel': 0,
@@ -357,7 +332,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'purchase_rate',
 		'fieldtype': 'Currency',
-		'idx': 17,
 		'in_filter': 0,
 		'label': 'Incoming Rate',
 		'no_copy': 1,
@@ -372,7 +346,6 @@
 	{
 		'doctype': 'DocField',
 		'fieldtype': 'Column Break',
-		'idx': 18,
 		'permlevel': 0,
 		'width': '50%'
 	},
@@ -382,7 +355,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'warehouse',
 		'fieldtype': 'Link',
-		'idx': 19,
 		'in_filter': 1,
 		'label': 'Warehouse',
 		'no_copy': 1,
@@ -399,7 +371,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'supplier',
 		'fieldtype': 'Link',
-		'idx': 20,
 		'in_filter': 1,
 		'label': 'Supplier',
 		'no_copy': 1,
@@ -412,7 +383,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'supplier_name',
 		'fieldtype': 'Data',
-		'idx': 21,
 		'in_filter': 1,
 		'label': 'Supplier Name',
 		'no_copy': 1,
@@ -424,7 +394,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'address_display',
 		'fieldtype': 'Text',
-		'idx': 22,
 		'label': 'Supplier Address',
 		'no_copy': 1,
 		'permlevel': 1
@@ -434,7 +403,6 @@
 	{
 		'doctype': 'DocField',
 		'fieldtype': 'Section Break',
-		'idx': 23,
 		'label': 'Delivery Details',
 		'oldfieldtype': 'Column Break',
 		'permlevel': 0
@@ -444,7 +412,6 @@
 	{
 		'doctype': 'DocField',
 		'fieldtype': 'Column Break',
-		'idx': 24,
 		'permlevel': 0,
 		'width': '50%'
 	},
@@ -454,7 +421,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'delivery_document_type',
 		'fieldtype': 'Select',
-		'idx': 25,
 		'in_filter': 1,
 		'label': 'Delivery Document Type',
 		'no_copy': 1,
@@ -467,7 +433,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'delivery_document_no',
 		'fieldtype': 'Data',
-		'idx': 26,
 		'in_filter': 1,
 		'label': 'Delivery Document No',
 		'no_copy': 1,
@@ -479,7 +444,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'customer_address',
 		'fieldtype': 'Text',
-		'idx': 27,
 		'label': 'Customer Address',
 		'oldfieldname': 'customer_address',
 		'oldfieldtype': 'Text',
@@ -491,7 +455,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'delivery_date',
 		'fieldtype': 'Date',
-		'idx': 28,
 		'label': 'Delivery Date',
 		'no_copy': 1,
 		'oldfieldname': 'delivery_date',
@@ -505,7 +468,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'delivery_time',
 		'fieldtype': 'Time',
-		'idx': 29,
 		'label': 'Delivery Time',
 		'no_copy': 1,
 		'permlevel': 1
@@ -517,7 +479,6 @@
 		'fieldname': 'is_cancelled',
 		'fieldtype': 'Select',
 		'hidden': 1,
-		'idx': 30,
 		'label': 'Is Cancelled',
 		'oldfieldname': 'is_cancelled',
 		'oldfieldtype': 'Select',
@@ -530,7 +491,6 @@
 	{
 		'doctype': 'DocField',
 		'fieldtype': 'Column Break',
-		'idx': 31,
 		'permlevel': 0,
 		'width': '50%'
 	},
@@ -540,7 +500,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'customer',
 		'fieldtype': 'Link',
-		'idx': 32,
 		'in_filter': 1,
 		'label': 'Customer',
 		'no_copy': 1,
@@ -559,7 +518,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'customer_name',
 		'fieldtype': 'Data',
-		'idx': 33,
 		'in_filter': 1,
 		'label': 'Customer Name',
 		'no_copy': 1,
@@ -574,7 +532,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'delivery_address',
 		'fieldtype': 'Text',
-		'idx': 34,
 		'label': 'Delivery Address',
 		'no_copy': 1,
 		'permlevel': 1
@@ -585,7 +542,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'territory',
 		'fieldtype': 'Link',
-		'idx': 35,
 		'in_filter': 1,
 		'label': 'Territory',
 		'no_copy': 1,
@@ -601,7 +557,6 @@
 	{
 		'doctype': 'DocField',
 		'fieldtype': 'Section Break',
-		'idx': 36,
 		'label': 'Warranty / AMC Details',
 		'permlevel': 0
 	},
@@ -610,7 +565,6 @@
 	{
 		'doctype': 'DocField',
 		'fieldtype': 'Column Break',
-		'idx': 37,
 		'permlevel': 0,
 		'width': '50%'
 	},
@@ -620,7 +574,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'maintenance_status',
 		'fieldtype': 'Select',
-		'idx': 38,
 		'in_filter': 1,
 		'label': 'Maintenance Status',
 		'no_copy': 0,
@@ -628,7 +581,7 @@
 		'oldfieldtype': 'Select',
 		'options': '\nUnder Warranty\nOut of Warranty\nUnder AMC\nOut of AMC',
 		'permlevel': 0,
-		'search_index': 0,
+		'search_index': 1,
 		'width': '150px'
 	},
 
@@ -638,7 +591,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'warranty_period',
 		'fieldtype': 'Int',
-		'idx': 39,
 		'label': 'Warranty Period (Days)',
 		'oldfieldname': 'warranty_period',
 		'oldfieldtype': 'Int',
@@ -651,7 +603,6 @@
 	{
 		'doctype': 'DocField',
 		'fieldtype': 'Column Break',
-		'idx': 40,
 		'permlevel': 0,
 		'width': '50%'
 	},
@@ -661,7 +612,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'warranty_expiry_date',
 		'fieldtype': 'Date',
-		'idx': 41,
 		'in_filter': 1,
 		'label': 'Warranty Expiry Date',
 		'oldfieldname': 'warranty_expiry_date',
@@ -675,7 +625,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'amc_expiry_date',
 		'fieldtype': 'Date',
-		'idx': 42,
 		'in_filter': 1,
 		'label': 'AMC Expiry Date',
 		'oldfieldname': 'amc_expiry_date',
@@ -689,7 +638,6 @@
 	{
 		'doctype': 'DocField',
 		'fieldtype': 'Section Break',
-		'idx': 43,
 		'label': 'More Info',
 		'permlevel': 0
 	},
@@ -699,7 +647,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'serial_no_details',
 		'fieldtype': 'Text Editor',
-		'idx': 44,
 		'label': 'Serial No Details',
 		'permlevel': 0
 	},
@@ -709,13 +656,12 @@
 		'doctype': 'DocField',
 		'fieldname': 'company',
 		'fieldtype': 'Select',
-		'idx': 45,
 		'in_filter': 1,
 		'label': 'Company',
 		'options': 'link:Company',
 		'permlevel': 0,
 		'reqd': 1,
-		'search_index': 0
+		'search_index': 1
 	},
 
 	# DocField
@@ -723,13 +669,12 @@
 		'doctype': 'DocField',
 		'fieldname': 'fiscal_year',
 		'fieldtype': 'Select',
-		'idx': 46,
 		'in_filter': 1,
 		'label': 'Fiscal Year',
 		'options': 'link:Fiscal Year',
 		'permlevel': 0,
 		'reqd': 1,
-		'search_index': 0
+		'search_index': 1
 	},
 
 	# DocField
@@ -737,7 +682,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'trash_reason',
 		'fieldtype': 'Small Text',
-		'idx': 47,
 		'label': 'Trash Reason',
 		'oldfieldname': 'trash_reason',
 		'oldfieldtype': 'Small Text',
diff --git a/stock/doctype/stock_entry/__init__.py b/erpnext/stock/doctype/stock_entry/__init__.py
similarity index 100%
rename from stock/doctype/stock_entry/__init__.py
rename to erpnext/stock/doctype/stock_entry/__init__.py
diff --git a/stock/doctype/stock_entry/stock_entry.js b/erpnext/stock/doctype/stock_entry/stock_entry.js
similarity index 100%
rename from stock/doctype/stock_entry/stock_entry.js
rename to erpnext/stock/doctype/stock_entry/stock_entry.js
diff --git a/stock/doctype/stock_entry/stock_entry.py b/erpnext/stock/doctype/stock_entry/stock_entry.py
similarity index 91%
rename from stock/doctype/stock_entry/stock_entry.py
rename to erpnext/stock/doctype/stock_entry/stock_entry.py
index 024bd1f..b799eaa 100644
--- a/stock/doctype/stock_entry/stock_entry.py
+++ b/erpnext/stock/doctype/stock_entry/stock_entry.py
@@ -122,16 +122,18 @@
 				
 	def get_raw_materials(self,pro_obj):
 		# get all items from flat bom except, child items of sub-contracted and sub assembly items and sub assembly items itself.
-		flat_bom_items = sql("select item_code, ifnull(sum(qty_consumed_per_unit), 0) * '%s', description, stock_uom	from `tabFlat BOM Detail` where parent = '%s' and parent_bom = '%s' and is_pro_applicable = 'No' and docstatus < 2 group by item_code" % ((self.doc.process == 'Backflush') and flt(self.doc.fg_completed_qty) or flt(pro_obj.doc.qty), cstr(pro_obj.doc.bom_no), cstr(pro_obj.doc.bom_no)))
-		self.make_items_dict(flat_bom_items)
+#		flat_bom_items = sql("select item_code, ifnull(sum(qty_consumed_per_unit), 0) * '%s', description, stock_uom from `tabFlat BOM Detail` where parent = '%s' and parent_bom = '%s' and is_pro_applicable = 'No' and docstatus < 2 group by item_code" % ((self.doc.process == 'Backflush') and flt(self.doc.fg_completed_qty) or flt(pro_obj.doc.qty), cstr(pro_obj.doc.bom_no), cstr(pro_obj.doc.bom_no)))
+#		self.make_items_dict(flat_bom_items)
+
 		if pro_obj.doc.consider_sa_items == 'Yes':
 			# get all Sub Assembly items only from flat bom
-			fl_bom_sa_items = sql("select item_code, ifnull(sum(qty_consumed_per_unit), 0) * '%s', description, stock_uom from `tabFlat BOM Detail` where parent = '%s' and parent_bom != '%s' and is_pro_applicable = 'Yes' and docstatus < 2 group by item_code" % ((self.doc.process == 'Backflush') and flt(self.doc.fg_completed_qty) or flt(pro_obj.doc.qty), cstr(pro_obj.doc.bom_no), cstr(pro_obj.doc.bom_no)))
+			fl_bom_sa_items = sql("select item_code, ifnull(sum(qty_consumed_per_unit), 0) * '%s', description, stock_uom from `tabFlat BOM Detail` where parent = '%s' and parent_bom = '%s' and is_pro_applicable = 'Yes' and docstatus < 2 group by item_code" % ((self.doc.process == 'Backflush') and flt(self.doc.fg_completed_qty) or flt(pro_obj.doc.qty), cstr(pro_obj.doc.bom_no), cstr(pro_obj.doc.bom_no)))
 			self.make_items_dict(fl_bom_sa_items)
 		
 		if pro_obj.doc.consider_sa_items == 'No':
 			# get all sub assembly childs only from flat bom
-			fl_bom_sa_child_item = sql("select item_code, ifnull(sum(qty_consumed_per_unit), 0) * '%s', description, stock_uom from `tabFlat BOM Detail` where parent = '%s' and parent_bom in (select distinct parent_bom from `tabFlat BOM Detail` where parent = '%s' and parent_bom != '%s' and is_pro_applicable = 'Yes' and docstatus < 2 ) and is_pro_applicable = 'No' and docstatus < 2 group by item_code" % ((self.doc.process == 'Backflush') and flt(self.doc.fg_completed_qty) or flt(pro_obj.doc.qty), cstr(pro_obj.doc.bom_no), cstr(pro_obj.doc.bom_no), cstr(pro_obj.doc.bom_no)))
+			#select item_code,ifnull(sum(qty_consumed_per_unit),0)*'%s' as qty,description,stock_uom from ( select distinct fb.name,fb.description,fb.item_code,fb.qty_consumed_per_unit,fb.stock_uom from `tabFlat BOM Detail` fb,`tabBOM Material` bm where bm.parent=fb.parent_bom and bm.docstatus<2 and fb.is_pro_applicable='Yes' and fb.docstatus<2 and fb.parent='%s' and bm.bom_no is null)a group by item_code,stock_uom
+			fl_bom_sa_child_item = sql("select item_code,ifnull(sum(qty_consumed_per_unit),0)*'%s' as qty,description,stock_uom from ( select distinct fb.name,fb.description,fb.item_code,fb.qty_consumed_per_unit,fb.stock_uom from `tabFlat BOM Detail` fb,`tabBOM Material` bm where bm.parent=fb.parent_bom and bm.docstatus<2 and fb.is_pro_applicable='Yes' and fb.docstatus<2 and fb.parent='%s' and bm.bom_no is null)a group by item_code,stock_uom" % ((self.doc.process == 'Backflush') and flt(self.doc.fg_completed_qty) or flt(pro_obj.doc.qty), cstr(pro_obj.doc.bom_no)))
 			self.make_items_dict(fl_bom_sa_child_item)
 
 	def add_to_stock_entry_detail(self, pro_obj, item_dict, fg_item = 0):
@@ -165,8 +167,9 @@
 		self.get_raw_materials(pro_obj)
 		
 		self.doc.clear_table(self.doclist, 'mtn_details', 1)
-		
+
 		self.add_to_stock_entry_detail(pro_obj, self.item_dict)
+		
 		if self.doc.process == 'Backflush':
 			item_dict = {cstr(pro_obj.doc.production_item) : [self.doc.fg_completed_qty, pro_obj.doc.description, pro_obj.doc.stock_uom]}
 			self.add_to_stock_entry_detail(pro_obj, item_dict, fg_item = 1)
diff --git a/stock/doctype/stock_entry/stock_entry.py~ b/erpnext/stock/doctype/stock_entry/stock_entry.py~
similarity index 100%
rename from stock/doctype/stock_entry/stock_entry.py~
rename to erpnext/stock/doctype/stock_entry/stock_entry.py~
diff --git a/stock/doctype/stock_entry/stock_entry.txt b/erpnext/stock/doctype/stock_entry/stock_entry.txt
similarity index 100%
rename from stock/doctype/stock_entry/stock_entry.txt
rename to erpnext/stock/doctype/stock_entry/stock_entry.txt
diff --git a/stock/doctype/stock_entry_detail/__init__.py b/erpnext/stock/doctype/stock_entry_detail/__init__.py
similarity index 100%
rename from stock/doctype/stock_entry_detail/__init__.py
rename to erpnext/stock/doctype/stock_entry_detail/__init__.py
diff --git a/stock/doctype/stock_entry_detail/stock_entry_detail.txt b/erpnext/stock/doctype/stock_entry_detail/stock_entry_detail.txt
similarity index 100%
rename from stock/doctype/stock_entry_detail/stock_entry_detail.txt
rename to erpnext/stock/doctype/stock_entry_detail/stock_entry_detail.txt
diff --git a/stock/doctype/stock_ledger/__init__.py b/erpnext/stock/doctype/stock_ledger/__init__.py
similarity index 100%
rename from stock/doctype/stock_ledger/__init__.py
rename to erpnext/stock/doctype/stock_ledger/__init__.py
diff --git a/stock/doctype/stock_ledger/stock_ledger.py b/erpnext/stock/doctype/stock_ledger/stock_ledger.py
similarity index 97%
rename from stock/doctype/stock_ledger/stock_ledger.py
rename to erpnext/stock/doctype/stock_ledger/stock_ledger.py
index ff6de70..5165cc9 100644
--- a/stock/doctype/stock_ledger/stock_ledger.py
+++ b/erpnext/stock/doctype/stock_ledger/stock_ledger.py
@@ -139,7 +139,7 @@
 			elif purpose == 'Sales Return':
 				sql("update `tabSerial No` set status = 'Delivered', purchase_document_type = '', purchase_document_no = '' where name = '%s'" % serial_no)
 			else:
-				sql("update `tabSerial No` set docstatus = 2, status = 'Not in Use', purchase_document_type = '', purchase_document_no = '', purchase_date = '', purchase_rate = '', supplier = null, supplier_name = '', supplier_address = '', warehouse = '' where name = '%s'" % serial_no)
+				sql("update `tabSerial No` set docstatus = 2, status = 'Not in Use', purchase_document_type = '', purchase_document_no = '', purchase_date = null, purchase_rate = 0, supplier = null, supplier_name = '', supplier_address = '', warehouse = '' where name = '%s'" % serial_no)
 
 
 	# -------------------------------
@@ -185,7 +185,7 @@
 			self.check_serial_no_exists(serial_no, d.item_code)
 			self.set_delivery_serial_no_values(obj, serial_no)
 		else:
-			sql("update `tabSerial No` set docstatus = 0, status = 'In Store', delivery_document_type = '', delivery_document_no = '', delivery_date = '', customer = null, customer_name = '', delivery_address = '', territory = null where name = '%s'" % (serial_no))
+			sql("update `tabSerial No` set docstatus = 0, status = 'In Store', delivery_document_type = '', delivery_document_no = '', delivery_date = null, customer = null, customer_name = '', delivery_address = '', territory = null where name = '%s'" % (serial_no))
 
 
 	# ---------------------
diff --git a/stock/doctype/stock_ledger/stock_ledger.txt b/erpnext/stock/doctype/stock_ledger/stock_ledger.txt
similarity index 100%
rename from stock/doctype/stock_ledger/stock_ledger.txt
rename to erpnext/stock/doctype/stock_ledger/stock_ledger.txt
diff --git a/stock/doctype/stock_ledger_entry/__init__.py b/erpnext/stock/doctype/stock_ledger_entry/__init__.py
similarity index 100%
rename from stock/doctype/stock_ledger_entry/__init__.py
rename to erpnext/stock/doctype/stock_ledger_entry/__init__.py
diff --git a/stock/doctype/stock_ledger_entry/stock_ledger_entry.py b/erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py
similarity index 100%
rename from stock/doctype/stock_ledger_entry/stock_ledger_entry.py
rename to erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py
diff --git a/stock/doctype/stock_ledger_entry/stock_ledger_entry.txt b/erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.txt
similarity index 100%
rename from stock/doctype/stock_ledger_entry/stock_ledger_entry.txt
rename to erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.txt
diff --git a/stock/doctype/stock_reconciliation/__init__.py b/erpnext/stock/doctype/stock_reconciliation/__init__.py
similarity index 100%
rename from stock/doctype/stock_reconciliation/__init__.py
rename to erpnext/stock/doctype/stock_reconciliation/__init__.py
diff --git a/stock/doctype/stock_reconciliation/stock_reconciliation.js b/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.js
similarity index 100%
rename from stock/doctype/stock_reconciliation/stock_reconciliation.js
rename to erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.js
diff --git a/stock/doctype/stock_reconciliation/stock_reconciliation.py b/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py
similarity index 100%
rename from stock/doctype/stock_reconciliation/stock_reconciliation.py
rename to erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py
diff --git a/stock/doctype/stock_reconciliation/stock_reconciliation.txt b/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.txt
similarity index 100%
rename from stock/doctype/stock_reconciliation/stock_reconciliation.txt
rename to erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.txt
diff --git a/stock/doctype/stock_uom_replace_utility/__init__.py b/erpnext/stock/doctype/stock_uom_replace_utility/__init__.py
similarity index 100%
rename from stock/doctype/stock_uom_replace_utility/__init__.py
rename to erpnext/stock/doctype/stock_uom_replace_utility/__init__.py
diff --git a/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.js b/erpnext/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.js
similarity index 100%
rename from stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.js
rename to erpnext/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.js
diff --git a/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.py b/erpnext/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.py
similarity index 100%
rename from stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.py
rename to erpnext/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.py
diff --git a/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.txt b/erpnext/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.txt
similarity index 100%
rename from stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.txt
rename to erpnext/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.txt
diff --git a/stock/doctype/uom_conversion_detail/__init__.py b/erpnext/stock/doctype/uom_conversion_detail/__init__.py
similarity index 100%
rename from stock/doctype/uom_conversion_detail/__init__.py
rename to erpnext/stock/doctype/uom_conversion_detail/__init__.py
diff --git a/stock/doctype/uom_conversion_detail/uom_conversion_detail.txt b/erpnext/stock/doctype/uom_conversion_detail/uom_conversion_detail.txt
similarity index 100%
rename from stock/doctype/uom_conversion_detail/uom_conversion_detail.txt
rename to erpnext/stock/doctype/uom_conversion_detail/uom_conversion_detail.txt
diff --git a/stock/doctype/valuation_control/__init__.py b/erpnext/stock/doctype/valuation_control/__init__.py
similarity index 100%
rename from stock/doctype/valuation_control/__init__.py
rename to erpnext/stock/doctype/valuation_control/__init__.py
diff --git a/stock/doctype/valuation_control/valuation_control.py b/erpnext/stock/doctype/valuation_control/valuation_control.py
similarity index 100%
rename from stock/doctype/valuation_control/valuation_control.py
rename to erpnext/stock/doctype/valuation_control/valuation_control.py
diff --git a/stock/doctype/valuation_control/valuation_control.py~ b/erpnext/stock/doctype/valuation_control/valuation_control.py~
similarity index 100%
rename from stock/doctype/valuation_control/valuation_control.py~
rename to erpnext/stock/doctype/valuation_control/valuation_control.py~
diff --git a/stock/doctype/valuation_control/valuation_control.txt b/erpnext/stock/doctype/valuation_control/valuation_control.txt
similarity index 100%
rename from stock/doctype/valuation_control/valuation_control.txt
rename to erpnext/stock/doctype/valuation_control/valuation_control.txt
diff --git a/stock/doctype/warehouse/__init__.py b/erpnext/stock/doctype/warehouse/__init__.py
similarity index 100%
rename from stock/doctype/warehouse/__init__.py
rename to erpnext/stock/doctype/warehouse/__init__.py
diff --git a/stock/doctype/warehouse/warehouse.js b/erpnext/stock/doctype/warehouse/warehouse.js
similarity index 100%
rename from stock/doctype/warehouse/warehouse.js
rename to erpnext/stock/doctype/warehouse/warehouse.js
diff --git a/stock/doctype/warehouse/warehouse.py b/erpnext/stock/doctype/warehouse/warehouse.py
similarity index 100%
rename from stock/doctype/warehouse/warehouse.py
rename to erpnext/stock/doctype/warehouse/warehouse.py
diff --git a/stock/doctype/warehouse/warehouse.txt b/erpnext/stock/doctype/warehouse/warehouse.txt
similarity index 85%
rename from stock/doctype/warehouse/warehouse.txt
rename to erpnext/stock/doctype/warehouse/warehouse.txt
index 1363eef..da29dfa 100644
--- a/stock/doctype/warehouse/warehouse.txt
+++ b/erpnext/stock/doctype/warehouse/warehouse.txt
@@ -5,17 +5,18 @@
 	{
 		'creation': '2010-08-08 17:09:30',
 		'docstatus': 0,
-		'modified': '2010-12-16 23:57:04',
-		'modified_by': 'nabin@webnotestech.com',
+		'modified': '2011-09-28 16:19:59',
+		'modified_by': 'Administrator',
 		'owner': 'Administrator'
 	},
 
 	# These values are common for all DocType
 	{
-		'_last_update': '1300788639',
+		'_last_update': '1311621379',
 		'allow_trash': 1,
 		'autoname': 'field:warehouse_name',
 		'colour': 'White:FFF',
+		'default_print_format': 'Standard',
 		'doctype': 'DocType',
 		'document_type': 'Master',
 		'module': 'Stock',
@@ -24,7 +25,7 @@
 		'section_style': 'Tabbed',
 		'server_code_error': ' ',
 		'show_in_menu': 0,
-		'version': 55
+		'version': 56
 	},
 
 	# These values are common for all DocField
@@ -58,7 +59,6 @@
 		'cancel': 0,
 		'create': 0,
 		'doctype': 'DocPerm',
-		'idx': 1,
 		'permlevel': 2,
 		'role': 'Material User',
 		'submit': 0,
@@ -71,7 +71,6 @@
 		'cancel': 0,
 		'create': 0,
 		'doctype': 'DocPerm',
-		'idx': 2,
 		'permlevel': 0,
 		'role': 'Material User',
 		'submit': 0,
@@ -84,7 +83,6 @@
 		'cancel': 0,
 		'create': 0,
 		'doctype': 'DocPerm',
-		'idx': 3,
 		'permlevel': 1,
 		'role': 'Material User',
 		'submit': 0,
@@ -97,7 +95,6 @@
 		'cancel': 0,
 		'create': 0,
 		'doctype': 'DocPerm',
-		'idx': 4,
 		'permlevel': 2,
 		'role': 'Material Manager',
 		'submit': 0,
@@ -110,7 +107,6 @@
 		'cancel': 0,
 		'create': 0,
 		'doctype': 'DocPerm',
-		'idx': 5,
 		'permlevel': 0,
 		'role': 'Material Manager',
 		'submit': 0,
@@ -123,7 +119,6 @@
 		'cancel': 0,
 		'create': 0,
 		'doctype': 'DocPerm',
-		'idx': 6,
 		'permlevel': 1,
 		'role': 'Material Manager',
 		'submit': 0,
@@ -133,7 +128,6 @@
 	# DocPerm
 	{
 		'doctype': 'DocPerm',
-		'idx': 7,
 		'permlevel': 1,
 		'role': 'All'
 	},
@@ -144,7 +138,6 @@
 		'cancel': 1,
 		'create': 1,
 		'doctype': 'DocPerm',
-		'idx': 8,
 		'permlevel': 0,
 		'role': 'Material Master Manager',
 		'submit': 0,
@@ -154,7 +147,6 @@
 	# DocPerm
 	{
 		'doctype': 'DocPerm',
-		'idx': 9,
 		'permlevel': 1,
 		'role': 'Material Master Manager'
 	},
@@ -164,7 +156,6 @@
 		'cancel': 1,
 		'create': 1,
 		'doctype': 'DocPerm',
-		'idx': 10,
 		'permlevel': 0,
 		'role': 'System Manager',
 		'write': 1
@@ -174,7 +165,6 @@
 	{
 		'create': 0,
 		'doctype': 'DocPerm',
-		'idx': 11,
 		'permlevel': 2,
 		'role': 'System Manager',
 		'write': 1
@@ -185,7 +175,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'trash_reason',
 		'fieldtype': 'Small Text',
-		'idx': 1,
 		'label': 'Trash Reason',
 		'oldfieldname': 'trash_reason',
 		'oldfieldtype': 'Small Text',
@@ -196,7 +185,6 @@
 	{
 		'doctype': 'DocField',
 		'fieldtype': 'Section Break',
-		'idx': 2,
 		'label': 'Warehouse Detail',
 		'oldfieldtype': 'Section Break',
 		'permlevel': 0
@@ -207,7 +195,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'warehouse_name',
 		'fieldtype': 'Data',
-		'idx': 3,
 		'label': 'Warehouse Name',
 		'oldfieldname': 'warehouse_name',
 		'oldfieldtype': 'Data',
@@ -221,7 +208,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'warehouse_type',
 		'fieldtype': 'Link',
-		'idx': 4,
 		'label': 'Warehouse Type',
 		'oldfieldname': 'warehouse_type',
 		'oldfieldtype': 'Link',
@@ -237,14 +223,13 @@
 		'doctype': 'DocField',
 		'fieldname': 'company',
 		'fieldtype': 'Link',
-		'idx': 5,
 		'in_filter': 1,
 		'label': 'Company',
 		'oldfieldname': 'company',
 		'oldfieldtype': 'Link',
 		'options': 'Company',
 		'permlevel': 0,
-		'search_index': 0
+		'search_index': 1
 	},
 
 	# DocField
@@ -253,7 +238,6 @@
 		'fieldname': 'email_id',
 		'fieldtype': 'Data',
 		'hidden': 1,
-		'idx': 6,
 		'label': 'Email Id',
 		'oldfieldname': 'email_id',
 		'oldfieldtype': 'Data',
@@ -267,7 +251,6 @@
 		'fieldname': 'auto_indent_mail',
 		'fieldtype': 'Select',
 		'hidden': 1,
-		'idx': 7,
 		'label': 'Send Reorder Alert Mail ',
 		'no_copy': 1,
 		'oldfieldname': 'auto_indent_mail',
@@ -285,7 +268,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'phone_no',
 		'fieldtype': 'Int',
-		'idx': 8,
 		'label': 'Phone No',
 		'oldfieldname': 'phone_no',
 		'oldfieldtype': 'Int',
@@ -298,7 +280,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'mobile_no',
 		'fieldtype': 'Int',
-		'idx': 9,
 		'label': 'Mobile No',
 		'oldfieldname': 'mobile_no',
 		'oldfieldtype': 'Int',
@@ -310,7 +291,6 @@
 	{
 		'doctype': 'DocField',
 		'fieldtype': 'Column Break',
-		'idx': 10,
 		'oldfieldtype': 'Column Break',
 		'permlevel': 0
 	},
@@ -320,7 +300,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'address_line_1',
 		'fieldtype': 'Data',
-		'idx': 11,
 		'label': 'Address Line 1',
 		'oldfieldname': 'address_line_1',
 		'oldfieldtype': 'Data',
@@ -332,7 +311,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'address_line_2',
 		'fieldtype': 'Data',
-		'idx': 12,
 		'label': 'Address Line 2',
 		'oldfieldname': 'address_line_2',
 		'oldfieldtype': 'Data',
@@ -346,7 +324,6 @@
 		'fieldname': 'country',
 		'fieldtype': 'Link',
 		'hidden': 0,
-		'idx': 13,
 		'in_filter': 0,
 		'label': 'Country',
 		'no_copy': 0,
@@ -367,7 +344,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'state',
 		'fieldtype': 'Select',
-		'idx': 14,
 		'label': 'State',
 		'oldfieldname': 'state',
 		'oldfieldtype': 'Select',
@@ -380,7 +356,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'city',
 		'fieldtype': 'Data',
-		'idx': 15,
 		'label': 'City',
 		'oldfieldname': 'city',
 		'oldfieldtype': 'Data',
@@ -393,7 +368,6 @@
 		'doctype': 'DocField',
 		'fieldname': 'pin',
 		'fieldtype': 'Int',
-		'idx': 16,
 		'label': 'PIN',
 		'oldfieldname': 'pin',
 		'oldfieldtype': 'Int',
@@ -404,7 +378,6 @@
 	{
 		'doctype': 'DocField',
 		'fieldtype': 'Section Break',
-		'idx': 17,
 		'label': 'Repost Stock',
 		'oldfieldtype': 'Section Break',
 		'permlevel': 2
@@ -415,46 +388,9 @@
 		'doctype': 'DocField',
 		'fieldtype': 'Button',
 		'hidden': 0,
-		'idx': 18,
 		'label': 'Repost Stock Ledger',
 		'oldfieldtype': 'Button',
 		'options': 'repost_stock',
 		'permlevel': 2
-	},
-
-	# DocField
-	{
-		'doctype': 'DocField',
-		'fieldname': 'test_field2',
-		'fieldtype': 'Data',
-		'idx': 19,
-		'label': 'Test Field2',
-		'oldfieldname': 'test_field2',
-		'oldfieldtype': 'Data',
-		'permlevel': 0
-	},
-
-	# DocField
-	{
-		'doctype': 'DocField',
-		'fieldname': 'test_field1',
-		'fieldtype': 'Data',
-		'idx': 20,
-		'label': 'Test Field1',
-		'oldfieldname': 'test_field1',
-		'oldfieldtype': 'Data',
-		'permlevel': 0
-	},
-
-	# DocField
-	{
-		'doctype': 'DocField',
-		'fieldname': 'test_field',
-		'fieldtype': 'Data',
-		'idx': 21,
-		'label': 'Test Field',
-		'oldfieldname': 'test_field',
-		'oldfieldtype': 'Data',
-		'permlevel': 0
 	}
 ]
\ No newline at end of file
diff --git a/stock/page/__init__.py b/erpnext/stock/page/__init__.py
similarity index 100%
rename from stock/page/__init__.py
rename to erpnext/stock/page/__init__.py
diff --git a/stock/search_criteria/__init__.py b/erpnext/stock/search_criteria/__init__.py
similarity index 100%
rename from stock/search_criteria/__init__.py
rename to erpnext/stock/search_criteria/__init__.py
diff --git a/stock/search_criteria/itemwise_price_list/__init__.py b/erpnext/stock/search_criteria/itemwise_price_list/__init__.py
similarity index 100%
rename from stock/search_criteria/itemwise_price_list/__init__.py
rename to erpnext/stock/search_criteria/itemwise_price_list/__init__.py
diff --git a/stock/search_criteria/itemwise_price_list/itemwise_price_list.js b/erpnext/stock/search_criteria/itemwise_price_list/itemwise_price_list.js
similarity index 100%
rename from stock/search_criteria/itemwise_price_list/itemwise_price_list.js
rename to erpnext/stock/search_criteria/itemwise_price_list/itemwise_price_list.js
diff --git a/stock/search_criteria/itemwise_price_list/itemwise_price_list.txt b/erpnext/stock/search_criteria/itemwise_price_list/itemwise_price_list.txt
similarity index 100%
rename from stock/search_criteria/itemwise_price_list/itemwise_price_list.txt
rename to erpnext/stock/search_criteria/itemwise_price_list/itemwise_price_list.txt
diff --git a/stock/search_criteria/shortage_to_indent/__init__.py b/erpnext/stock/search_criteria/shortage_to_indent/__init__.py
similarity index 100%
rename from stock/search_criteria/shortage_to_indent/__init__.py
rename to erpnext/stock/search_criteria/shortage_to_indent/__init__.py
diff --git a/stock/search_criteria/shortage_to_indent/shortage_to_indent.js b/erpnext/stock/search_criteria/shortage_to_indent/shortage_to_indent.js
similarity index 100%
rename from stock/search_criteria/shortage_to_indent/shortage_to_indent.js
rename to erpnext/stock/search_criteria/shortage_to_indent/shortage_to_indent.js
diff --git a/stock/search_criteria/shortage_to_indent/shortage_to_indent.py b/erpnext/stock/search_criteria/shortage_to_indent/shortage_to_indent.py
similarity index 100%
rename from stock/search_criteria/shortage_to_indent/shortage_to_indent.py
rename to erpnext/stock/search_criteria/shortage_to_indent/shortage_to_indent.py
diff --git a/stock/search_criteria/shortage_to_indent/shortage_to_indent.txt b/erpnext/stock/search_criteria/shortage_to_indent/shortage_to_indent.txt
similarity index 100%
rename from stock/search_criteria/shortage_to_indent/shortage_to_indent.txt
rename to erpnext/stock/search_criteria/shortage_to_indent/shortage_to_indent.txt
diff --git a/stock/search_criteria/stock_aging_report/__init__.py b/erpnext/stock/search_criteria/stock_aging_report/__init__.py
similarity index 100%
rename from stock/search_criteria/stock_aging_report/__init__.py
rename to erpnext/stock/search_criteria/stock_aging_report/__init__.py
diff --git a/stock/search_criteria/stock_aging_report/stock_aging_report.js b/erpnext/stock/search_criteria/stock_aging_report/stock_aging_report.js
similarity index 100%
rename from stock/search_criteria/stock_aging_report/stock_aging_report.js
rename to erpnext/stock/search_criteria/stock_aging_report/stock_aging_report.js
diff --git a/stock/search_criteria/stock_aging_report/stock_aging_report.py b/erpnext/stock/search_criteria/stock_aging_report/stock_aging_report.py
similarity index 100%
rename from stock/search_criteria/stock_aging_report/stock_aging_report.py
rename to erpnext/stock/search_criteria/stock_aging_report/stock_aging_report.py
diff --git a/stock/search_criteria/stock_aging_report/stock_aging_report.txt b/erpnext/stock/search_criteria/stock_aging_report/stock_aging_report.txt
similarity index 100%
rename from stock/search_criteria/stock_aging_report/stock_aging_report.txt
rename to erpnext/stock/search_criteria/stock_aging_report/stock_aging_report.txt
diff --git a/stock/search_criteria/stock_ledger/__init__.py b/erpnext/stock/search_criteria/stock_ledger/__init__.py
similarity index 100%
rename from stock/search_criteria/stock_ledger/__init__.py
rename to erpnext/stock/search_criteria/stock_ledger/__init__.py
diff --git a/stock/search_criteria/stock_ledger/stock_ledger.js b/erpnext/stock/search_criteria/stock_ledger/stock_ledger.js
similarity index 100%
rename from stock/search_criteria/stock_ledger/stock_ledger.js
rename to erpnext/stock/search_criteria/stock_ledger/stock_ledger.js
diff --git a/stock/search_criteria/stock_ledger/stock_ledger.txt b/erpnext/stock/search_criteria/stock_ledger/stock_ledger.txt
similarity index 100%
rename from stock/search_criteria/stock_ledger/stock_ledger.txt
rename to erpnext/stock/search_criteria/stock_ledger/stock_ledger.txt
diff --git a/stock/search_criteria/stock_level/__init__.py b/erpnext/stock/search_criteria/stock_level/__init__.py
similarity index 100%
rename from stock/search_criteria/stock_level/__init__.py
rename to erpnext/stock/search_criteria/stock_level/__init__.py
diff --git a/stock/search_criteria/stock_level/stock_level.js b/erpnext/stock/search_criteria/stock_level/stock_level.js
similarity index 100%
rename from stock/search_criteria/stock_level/stock_level.js
rename to erpnext/stock/search_criteria/stock_level/stock_level.js
diff --git a/stock/search_criteria/stock_level/stock_level.py b/erpnext/stock/search_criteria/stock_level/stock_level.py
similarity index 100%
rename from stock/search_criteria/stock_level/stock_level.py
rename to erpnext/stock/search_criteria/stock_level/stock_level.py
diff --git a/stock/search_criteria/stock_level/stock_level.txt b/erpnext/stock/search_criteria/stock_level/stock_level.txt
similarity index 100%
rename from stock/search_criteria/stock_level/stock_level.txt
rename to erpnext/stock/search_criteria/stock_level/stock_level.txt
diff --git a/stock/search_criteria/stock_report/__init__.py b/erpnext/stock/search_criteria/stock_report/__init__.py
similarity index 100%
rename from stock/search_criteria/stock_report/__init__.py
rename to erpnext/stock/search_criteria/stock_report/__init__.py
diff --git a/stock/search_criteria/stock_report/stock_report.js b/erpnext/stock/search_criteria/stock_report/stock_report.js
similarity index 100%
rename from stock/search_criteria/stock_report/stock_report.js
rename to erpnext/stock/search_criteria/stock_report/stock_report.js
diff --git a/stock/search_criteria/stock_report/stock_report.py b/erpnext/stock/search_criteria/stock_report/stock_report.py
similarity index 100%
rename from stock/search_criteria/stock_report/stock_report.py
rename to erpnext/stock/search_criteria/stock_report/stock_report.py
diff --git a/stock/search_criteria/stock_report/stock_report.txt b/erpnext/stock/search_criteria/stock_report/stock_report.txt
similarity index 100%
rename from stock/search_criteria/stock_report/stock_report.txt
rename to erpnext/stock/search_criteria/stock_report/stock_report.txt
diff --git a/stock/tests.py b/erpnext/stock/tests.py
similarity index 100%
rename from stock/tests.py
rename to erpnext/stock/tests.py
diff --git a/support/DocType Label/Ticket/Ticket.txt b/erpnext/support/DocType Label/Ticket/Ticket.txt
similarity index 100%
rename from support/DocType Label/Ticket/Ticket.txt
rename to erpnext/support/DocType Label/Ticket/Ticket.txt
diff --git a/support/DocType Mapper/Customer Issue-Maintenance Visit/Customer Issue-Maintenance Visit.txt b/erpnext/support/DocType Mapper/Customer Issue-Maintenance Visit/Customer Issue-Maintenance Visit.txt
similarity index 96%
rename from support/DocType Mapper/Customer Issue-Maintenance Visit/Customer Issue-Maintenance Visit.txt
rename to erpnext/support/DocType Mapper/Customer Issue-Maintenance Visit/Customer Issue-Maintenance Visit.txt
index 75244de..55060ea 100644
--- a/support/DocType Mapper/Customer Issue-Maintenance Visit/Customer Issue-Maintenance Visit.txt
+++ b/erpnext/support/DocType Mapper/Customer Issue-Maintenance Visit/Customer Issue-Maintenance Visit.txt
@@ -5,8 +5,8 @@
 	{
 		'creation': '2010-08-08 17:09:34',
 		'docstatus': 0,
-		'modified': '2011-05-18 13:37:43',
-		'modified_by': 'umair@iwebnotes.com',
+		'modified': '2011-09-15 15:04:41',
+		'modified_by': 'Administrator',
 		'owner': 'ashwini@webnotestech.com'
 	},
 
diff --git a/support/DocType Mapper/Sales Order-Maintenance Schedule/Sales Order-Maintenance Schedule.txt b/erpnext/support/DocType Mapper/Sales Order-Maintenance Schedule/Sales Order-Maintenance Schedule.txt
similarity index 96%
rename from support/DocType Mapper/Sales Order-Maintenance Schedule/Sales Order-Maintenance Schedule.txt
rename to erpnext/support/DocType Mapper/Sales Order-Maintenance Schedule/Sales Order-Maintenance Schedule.txt
index e56c4bd..ccd0e60 100644
--- a/support/DocType Mapper/Sales Order-Maintenance Schedule/Sales Order-Maintenance Schedule.txt
+++ b/erpnext/support/DocType Mapper/Sales Order-Maintenance Schedule/Sales Order-Maintenance Schedule.txt
@@ -5,8 +5,8 @@
 	{
 		'creation': '2010-08-08 17:09:35',
 		'docstatus': 0,
-		'modified': '2011-05-18 11:05:26',
-		'modified_by': 'umair@iwebnotes.com',
+		'modified': '2011-09-15 15:04:44',
+		'modified_by': 'Administrator',
 		'owner': 'Administrator'
 	},
 
diff --git a/support/DocType Mapper/Sales Order-Maintenance Visit/Sales Order-Maintenance Visit.txt b/erpnext/support/DocType Mapper/Sales Order-Maintenance Visit/Sales Order-Maintenance Visit.txt
similarity index 96%
rename from support/DocType Mapper/Sales Order-Maintenance Visit/Sales Order-Maintenance Visit.txt
rename to erpnext/support/DocType Mapper/Sales Order-Maintenance Visit/Sales Order-Maintenance Visit.txt
index 26a48f8..e4bd45b 100644
--- a/support/DocType Mapper/Sales Order-Maintenance Visit/Sales Order-Maintenance Visit.txt
+++ b/erpnext/support/DocType Mapper/Sales Order-Maintenance Visit/Sales Order-Maintenance Visit.txt
@@ -5,8 +5,8 @@
 	{
 		'creation': '2010-08-08 17:09:36',
 		'docstatus': 0,
-		'modified': '2011-05-18 13:35:55',
-		'modified_by': 'umair@iwebnotes.com',
+		'modified': '2011-09-15 15:04:45',
+		'modified_by': 'Administrator',
 		'owner': 'ashwini@webnotestech.com'
 	},
 
diff --git a/erpnext/support/Module Def/Support/Support.txt b/erpnext/support/Module Def/Support/Support.txt
new file mode 100644
index 0000000..9c66c3d
--- /dev/null
+++ b/erpnext/support/Module Def/Support/Support.txt
@@ -0,0 +1,149 @@
+# Module Def, Support
+[
+
+	# These values are common in all dictionaries
+	{
+		'creation': '2011-07-01 17:42:15',
+		'docstatus': 0,
+		'modified': '2011-10-10 16:59:49',
+		'modified_by': 'Administrator',
+		'owner': 'Administrator'
+	},
+
+	# These values are common for all Module Def Role
+	{
+		'doctype': 'Module Def Role',
+		'name': '__common__',
+		'parent': 'Support',
+		'parentfield': 'roles',
+		'parenttype': 'Module Def'
+	},
+
+	# These values are common for all Module Def Item
+	{
+		'doctype': 'Module Def Item',
+		'name': '__common__',
+		'parent': 'Support',
+		'parentfield': 'items',
+		'parenttype': 'Module Def'
+	},
+
+	# These values are common for all Module Def
+	{
+		'disabled': 'No',
+		'doctype': u'Module Def',
+		'doctype_list': 'DocType Label, Ticket',
+		'is_hidden': 'No',
+		'module_desc': 'Manage maintenance quotes, orders, schedule etc.',
+		'module_icon': 'Maintenance.gif',
+		'module_label': 'Support',
+		'module_name': 'Support',
+		'module_seq': 8,
+		'name': '__common__'
+	},
+
+	# Module Def, Support
+	{
+		'doctype': u'Module Def',
+		'name': 'Support'
+	},
+
+	# Module Def Item
+	{
+		'description': "Database of Support Ticket's raised by Customers",
+		'display_name': 'Support Ticket',
+		'doc_name': 'Support Ticket',
+		'doc_type': 'Forms',
+		'doctype': 'Module Def Item',
+		'fields': 'status\nopening_date\ncustomer\nallocated_to'
+	},
+
+	# Module Def Item
+	{
+		'description': 'Create schedule based on maintenance order',
+		'display_name': 'Maintenance Schedule',
+		'doc_name': 'Maintenance Schedule',
+		'doc_type': 'Forms',
+		'doctype': 'Module Def Item',
+		'fields': 'status\ntransaction_date\ncustomer\nsales_order_no'
+	},
+
+	# Module Def Item
+	{
+		'description': 'Database of issues raised your Customers',
+		'display_name': 'Customer Issue',
+		'doc_name': 'Customer Issue',
+		'doc_type': 'Forms',
+		'doctype': 'Module Def Item',
+		'fields': 'status\ncomplaint_date\ncustomer\nallocated_to\nallocated_on'
+	},
+
+	# Module Def Item
+	{
+		'display_name': 'Maintenance Visit',
+		'doc_name': 'Maintenance Visit',
+		'doc_type': 'Forms',
+		'doctype': 'Module Def Item',
+		'fields': 'status\nmntc_date\ncustomer\nmaintenance_type\ncompletion_status'
+	},
+
+	# Module Def Item
+	{
+		'description': 'List of all scheduled mainteance. You can filter by sales person, date, serial no etc. ',
+		'display_name': 'Maintenance Schedule Details',
+		'doc_name': 'Maintenance Schedule Detail',
+		'doc_type': 'Reports',
+		'doctype': 'Module Def Item'
+	},
+
+	# Module Def Item
+	{
+		'description': 'List of all issues raised by customer',
+		'display_name': 'Customer Issues',
+		'doc_name': 'Customer Issue',
+		'doc_type': 'Reports',
+		'doctype': 'Module Def Item'
+	},
+
+	# Module Def Item
+	{
+		'display_name': 'Warranty/AMC Expiry Details',
+		'doc_name': 'Serial No',
+		'doc_type': 'Reports',
+		'doctype': 'Module Def Item'
+	},
+
+	# Module Def Item
+	{
+		'display_name': 'Warranty/AMC Summary',
+		'doc_name': 'Serial No',
+		'doc_type': 'Reports',
+		'doctype': 'Module Def Item'
+	},
+
+	# Module Def Item
+	{
+		'display_name': 'Maintenance Orderwise Pending Amount To Bill',
+		'doc_name': 'Sales Order Detail',
+		'doc_type': 'Reports',
+		'doctype': 'Module Def Item'
+	},
+
+	# Module Def Role
+	{
+		'doctype': 'Module Def Role',
+		'role': 'Administrator'
+	},
+
+	# Module Def Role
+	{
+		'doctype': 'Module Def Role',
+		'role': 'Maintenance User'
+	},
+
+	# Module Def Role
+	{
+		'doctype': 'Module Def Role',
+		'role': 'Maintenance Manager'
+	}
+]
\ No newline at end of file
diff --git a/support/Role/Maintenance Manager/Maintenance Manager.txt b/erpnext/support/Role/Maintenance Manager/Maintenance Manager.txt
similarity index 100%
rename from support/Role/Maintenance Manager/Maintenance Manager.txt
rename to erpnext/support/Role/Maintenance Manager/Maintenance Manager.txt
diff --git a/support/Role/Maintenance User/Maintenance User.txt b/erpnext/support/Role/Maintenance User/Maintenance User.txt
similarity index 100%
rename from support/Role/Maintenance User/Maintenance User.txt
rename to erpnext/support/Role/Maintenance User/Maintenance User.txt
diff --git a/support/Role/Support Manager/Support Manager.txt b/erpnext/support/Role/Support Manager/Support Manager.txt
similarity index 100%
rename from support/Role/Support Manager/Support Manager.txt
rename to erpnext/support/Role/Support Manager/Support Manager.txt
diff --git a/support/Role/Support Team/Support Team.txt b/erpnext/support/Role/Support Team/Support Team.txt
similarity index 100%
rename from support/Role/Support Team/Support Team.txt
rename to erpnext/support/Role/Support Team/Support Team.txt
diff --git a/support/__init__.py b/erpnext/support/__init__.py
similarity index 100%
rename from support/__init__.py
rename to erpnext/support/__init__.py
diff --git a/support/doctype/__init__.py b/erpnext/support/doctype/__init__.py
similarity index 100%
rename from support/doctype/__init__.py
rename to erpnext/support/doctype/__init__.py
diff --git a/support/doctype/customer_issue/__init__.py b/erpnext/support/doctype/customer_issue/__init__.py
similarity index 100%
rename from support/doctype/customer_issue/__init__.py
rename to erpnext/support/doctype/customer_issue/__init__.py
diff --git a/support/doctype/customer_issue/customer_issue.js b/erpnext/support/doctype/customer_issue/customer_issue.js
similarity index 100%
rename from support/doctype/customer_issue/customer_issue.js
rename to erpnext/support/doctype/customer_issue/customer_issue.js
diff --git a/support/doctype/customer_issue/customer_issue.py b/erpnext/support/doctype/customer_issue/customer_issue.py
similarity index 100%
rename from support/doctype/customer_issue/customer_issue.py
rename to erpnext/support/doctype/customer_issue/customer_issue.py
diff --git a/support/doctype/customer_issue/customer_issue.txt b/erpnext/support/doctype/customer_issue/customer_issue.txt
similarity index 100%
rename from support/doctype/customer_issue/customer_issue.txt
rename to erpnext/support/doctype/customer_issue/customer_issue.txt
diff --git a/support/doctype/item_maintenance_detail/__init__.py b/erpnext/support/doctype/item_maintenance_detail/__init__.py
similarity index 100%
rename from support/doctype/item_maintenance_detail/__init__.py
rename to erpnext/support/doctype/item_maintenance_detail/__init__.py
diff --git a/support/doctype/item_maintenance_detail/item_maintenance_detail.txt b/erpnext/support/doctype/item_maintenance_detail/item_maintenance_detail.txt
similarity index 100%
rename from support/doctype/item_maintenance_detail/item_maintenance_detail.txt
rename to erpnext/support/doctype/item_maintenance_detail/item_maintenance_detail.txt
diff --git a/support/doctype/maintenance_schedule/__init__.py b/erpnext/support/doctype/maintenance_schedule/__init__.py
similarity index 100%
rename from support/doctype/maintenance_schedule/__init__.py
rename to erpnext/support/doctype/maintenance_schedule/__init__.py
diff --git a/support/doctype/maintenance_schedule/maintenance_schedule.js b/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.js
similarity index 100%
rename from support/doctype/maintenance_schedule/maintenance_schedule.js
rename to erpnext/support/doctype/maintenance_schedule/maintenance_schedule.js
diff --git a/support/doctype/maintenance_schedule/maintenance_schedule.py b/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.py
similarity index 100%
rename from support/doctype/maintenance_schedule/maintenance_schedule.py
rename to erpnext/support/doctype/maintenance_schedule/maintenance_schedule.py
diff --git a/support/doctype/maintenance_schedule/maintenance_schedule.txt b/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.txt
similarity index 100%
rename from support/doctype/maintenance_schedule/maintenance_schedule.txt
rename to erpnext/support/doctype/maintenance_schedule/maintenance_schedule.txt
diff --git a/support/doctype/maintenance_schedule_detail/__init__.py b/erpnext/support/doctype/maintenance_schedule_detail/__init__.py
similarity index 100%
rename from support/doctype/maintenance_schedule_detail/__init__.py
rename to erpnext/support/doctype/maintenance_schedule_detail/__init__.py
diff --git a/support/doctype/maintenance_schedule_detail/maintenance_schedule_detail.txt b/erpnext/support/doctype/maintenance_schedule_detail/maintenance_schedule_detail.txt
similarity index 100%
rename from support/doctype/maintenance_schedule_detail/maintenance_schedule_detail.txt
rename to erpnext/support/doctype/maintenance_schedule_detail/maintenance_schedule_detail.txt
diff --git a/support/doctype/maintenance_visit/__init__.py b/erpnext/support/doctype/maintenance_visit/__init__.py
similarity index 100%
rename from support/doctype/maintenance_visit/__init__.py
rename to erpnext/support/doctype/maintenance_visit/__init__.py
diff --git a/support/doctype/maintenance_visit/maintenance_visit.js b/erpnext/support/doctype/maintenance_visit/maintenance_visit.js
similarity index 100%
rename from support/doctype/maintenance_visit/maintenance_visit.js
rename to erpnext/support/doctype/maintenance_visit/maintenance_visit.js
diff --git a/support/doctype/maintenance_visit/maintenance_visit.py b/erpnext/support/doctype/maintenance_visit/maintenance_visit.py
similarity index 100%
rename from support/doctype/maintenance_visit/maintenance_visit.py
rename to erpnext/support/doctype/maintenance_visit/maintenance_visit.py
diff --git a/support/doctype/maintenance_visit/maintenance_visit.txt b/erpnext/support/doctype/maintenance_visit/maintenance_visit.txt
similarity index 100%
rename from support/doctype/maintenance_visit/maintenance_visit.txt
rename to erpnext/support/doctype/maintenance_visit/maintenance_visit.txt
diff --git a/support/doctype/maintenance_visit_detail/__init__.py b/erpnext/support/doctype/maintenance_visit_detail/__init__.py
similarity index 100%
rename from support/doctype/maintenance_visit_detail/__init__.py
rename to erpnext/support/doctype/maintenance_visit_detail/__init__.py
diff --git a/support/doctype/maintenance_visit_detail/maintenance_visit_detail.txt b/erpnext/support/doctype/maintenance_visit_detail/maintenance_visit_detail.txt
similarity index 100%
rename from support/doctype/maintenance_visit_detail/maintenance_visit_detail.txt
rename to erpnext/support/doctype/maintenance_visit_detail/maintenance_visit_detail.txt
diff --git a/support/doctype/support_ticket/__init__.py b/erpnext/support/doctype/support_ticket/__init__.py
similarity index 100%
rename from support/doctype/support_ticket/__init__.py
rename to erpnext/support/doctype/support_ticket/__init__.py
diff --git a/support/doctype/support_ticket/support_ticket.js b/erpnext/support/doctype/support_ticket/support_ticket.js
similarity index 100%
rename from support/doctype/support_ticket/support_ticket.js
rename to erpnext/support/doctype/support_ticket/support_ticket.js
diff --git a/support/doctype/support_ticket/support_ticket.py b/erpnext/support/doctype/support_ticket/support_ticket.py
similarity index 100%
rename from support/doctype/support_ticket/support_ticket.py
rename to erpnext/support/doctype/support_ticket/support_ticket.py
diff --git a/support/doctype/support_ticket/support_ticket.txt b/erpnext/support/doctype/support_ticket/support_ticket.txt
similarity index 100%
rename from support/doctype/support_ticket/support_ticket.txt
rename to erpnext/support/doctype/support_ticket/support_ticket.txt
diff --git a/support/doctype/support_ticket_response/__init__.py b/erpnext/support/doctype/support_ticket_response/__init__.py
similarity index 100%
rename from support/doctype/support_ticket_response/__init__.py
rename to erpnext/support/doctype/support_ticket_response/__init__.py
diff --git a/support/doctype/support_ticket_response/support_ticket_response.txt b/erpnext/support/doctype/support_ticket_response/support_ticket_response.txt
similarity index 100%
rename from support/doctype/support_ticket_response/support_ticket_response.txt
rename to erpnext/support/doctype/support_ticket_response/support_ticket_response.txt
diff --git a/support/search_criteria/__init__.py b/erpnext/support/search_criteria/__init__.py
similarity index 100%
rename from support/search_criteria/__init__.py
rename to erpnext/support/search_criteria/__init__.py
diff --git a/support/search_criteria/amc_summary/__init__.py b/erpnext/support/search_criteria/amc_summary/__init__.py
similarity index 100%
rename from support/search_criteria/amc_summary/__init__.py
rename to erpnext/support/search_criteria/amc_summary/__init__.py
diff --git a/support/search_criteria/amc_summary/amc_summary.js b/erpnext/support/search_criteria/amc_summary/amc_summary.js
similarity index 100%
rename from support/search_criteria/amc_summary/amc_summary.js
rename to erpnext/support/search_criteria/amc_summary/amc_summary.js
diff --git a/support/search_criteria/amc_summary/amc_summary.py b/erpnext/support/search_criteria/amc_summary/amc_summary.py
similarity index 100%
rename from support/search_criteria/amc_summary/amc_summary.py
rename to erpnext/support/search_criteria/amc_summary/amc_summary.py
diff --git a/support/search_criteria/amc_summary/amc_summary.txt b/erpnext/support/search_criteria/amc_summary/amc_summary.txt
similarity index 100%
rename from support/search_criteria/amc_summary/amc_summary.txt
rename to erpnext/support/search_criteria/amc_summary/amc_summary.txt
diff --git a/support/search_criteria/customer_issues/__init__.py b/erpnext/support/search_criteria/customer_issues/__init__.py
similarity index 100%
rename from support/search_criteria/customer_issues/__init__.py
rename to erpnext/support/search_criteria/customer_issues/__init__.py
diff --git a/support/search_criteria/customer_issues/customer_issues.js b/erpnext/support/search_criteria/customer_issues/customer_issues.js
similarity index 100%
rename from support/search_criteria/customer_issues/customer_issues.js
rename to erpnext/support/search_criteria/customer_issues/customer_issues.js
diff --git a/support/search_criteria/customer_issues/customer_issues.txt b/erpnext/support/search_criteria/customer_issues/customer_issues.txt
similarity index 100%
rename from support/search_criteria/customer_issues/customer_issues.txt
rename to erpnext/support/search_criteria/customer_issues/customer_issues.txt
diff --git a/support/search_criteria/maintenance_orderwise_pending_amount_to_bill/__init__.py b/erpnext/support/search_criteria/maintenance_orderwise_pending_amount_to_bill/__init__.py
similarity index 100%
rename from support/search_criteria/maintenance_orderwise_pending_amount_to_bill/__init__.py
rename to erpnext/support/search_criteria/maintenance_orderwise_pending_amount_to_bill/__init__.py
diff --git a/support/search_criteria/maintenance_orderwise_pending_amount_to_bill/maintenance_orderwise_pending_amount_to_bill.js b/erpnext/support/search_criteria/maintenance_orderwise_pending_amount_to_bill/maintenance_orderwise_pending_amount_to_bill.js
similarity index 100%
rename from support/search_criteria/maintenance_orderwise_pending_amount_to_bill/maintenance_orderwise_pending_amount_to_bill.js
rename to erpnext/support/search_criteria/maintenance_orderwise_pending_amount_to_bill/maintenance_orderwise_pending_amount_to_bill.js
diff --git a/support/search_criteria/maintenance_orderwise_pending_amount_to_bill/maintenance_orderwise_pending_amount_to_bill.txt b/erpnext/support/search_criteria/maintenance_orderwise_pending_amount_to_bill/maintenance_orderwise_pending_amount_to_bill.txt
similarity index 100%
rename from support/search_criteria/maintenance_orderwise_pending_amount_to_bill/maintenance_orderwise_pending_amount_to_bill.txt
rename to erpnext/support/search_criteria/maintenance_orderwise_pending_amount_to_bill/maintenance_orderwise_pending_amount_to_bill.txt
diff --git a/support/search_criteria/maintenance_schedule_details/__init__.py b/erpnext/support/search_criteria/maintenance_schedule_details/__init__.py
similarity index 100%
rename from support/search_criteria/maintenance_schedule_details/__init__.py
rename to erpnext/support/search_criteria/maintenance_schedule_details/__init__.py
diff --git a/support/search_criteria/maintenance_schedule_details/maintenance_schedule_details.js b/erpnext/support/search_criteria/maintenance_schedule_details/maintenance_schedule_details.js
similarity index 100%
rename from support/search_criteria/maintenance_schedule_details/maintenance_schedule_details.js
rename to erpnext/support/search_criteria/maintenance_schedule_details/maintenance_schedule_details.js
diff --git a/support/search_criteria/maintenance_schedule_details/maintenance_schedule_details.txt b/erpnext/support/search_criteria/maintenance_schedule_details/maintenance_schedule_details.txt
similarity index 100%
rename from support/search_criteria/maintenance_schedule_details/maintenance_schedule_details.txt
rename to erpnext/support/search_criteria/maintenance_schedule_details/maintenance_schedule_details.txt
diff --git a/support/search_criteria/warranty_amc_expiry_details/__init__.py b/erpnext/support/search_criteria/warranty_amc_expiry_details/__init__.py
similarity index 100%
rename from support/search_criteria/warranty_amc_expiry_details/__init__.py
rename to erpnext/support/search_criteria/warranty_amc_expiry_details/__init__.py
diff --git a/support/search_criteria/warranty_amc_expiry_details/warranty_amc_expiry_details.js b/erpnext/support/search_criteria/warranty_amc_expiry_details/warranty_amc_expiry_details.js
similarity index 100%
rename from support/search_criteria/warranty_amc_expiry_details/warranty_amc_expiry_details.js
rename to erpnext/support/search_criteria/warranty_amc_expiry_details/warranty_amc_expiry_details.js
diff --git a/support/search_criteria/warranty_amc_expiry_details/warranty_amc_expiry_details.txt b/erpnext/support/search_criteria/warranty_amc_expiry_details/warranty_amc_expiry_details.txt
similarity index 100%
rename from support/search_criteria/warranty_amc_expiry_details/warranty_amc_expiry_details.txt
rename to erpnext/support/search_criteria/warranty_amc_expiry_details/warranty_amc_expiry_details.txt
diff --git a/support/search_criteria/warranty_amc_summary/__init__.py b/erpnext/support/search_criteria/warranty_amc_summary/__init__.py
similarity index 100%
rename from support/search_criteria/warranty_amc_summary/__init__.py
rename to erpnext/support/search_criteria/warranty_amc_summary/__init__.py
diff --git a/support/search_criteria/warranty_amc_summary/warranty_amc_summary.js b/erpnext/support/search_criteria/warranty_amc_summary/warranty_amc_summary.js
similarity index 100%
rename from support/search_criteria/warranty_amc_summary/warranty_amc_summary.js
rename to erpnext/support/search_criteria/warranty_amc_summary/warranty_amc_summary.js
diff --git a/support/search_criteria/warranty_amc_summary/warranty_amc_summary.py b/erpnext/support/search_criteria/warranty_amc_summary/warranty_amc_summary.py
similarity index 100%
rename from support/search_criteria/warranty_amc_summary/warranty_amc_summary.py
rename to erpnext/support/search_criteria/warranty_amc_summary/warranty_amc_summary.py
diff --git a/support/search_criteria/warranty_amc_summary/warranty_amc_summary.sql b/erpnext/support/search_criteria/warranty_amc_summary/warranty_amc_summary.sql
similarity index 100%
rename from support/search_criteria/warranty_amc_summary/warranty_amc_summary.sql
rename to erpnext/support/search_criteria/warranty_amc_summary/warranty_amc_summary.sql
diff --git a/support/search_criteria/warranty_amc_summary/warranty_amc_summary.txt b/erpnext/support/search_criteria/warranty_amc_summary/warranty_amc_summary.txt
similarity index 100%
rename from support/search_criteria/warranty_amc_summary/warranty_amc_summary.txt
rename to erpnext/support/search_criteria/warranty_amc_summary/warranty_amc_summary.txt
diff --git a/utilities/Module Def/Utilities/Utilities.txt b/erpnext/utilities/Module Def/Utilities/Utilities.txt
similarity index 100%
rename from utilities/Module Def/Utilities/Utilities.txt
rename to erpnext/utilities/Module Def/Utilities/Utilities.txt
diff --git a/utilities/__init__.py b/erpnext/utilities/__init__.py
similarity index 100%
rename from utilities/__init__.py
rename to erpnext/utilities/__init__.py
diff --git a/utilities/doctype/__init__.py b/erpnext/utilities/doctype/__init__.py
similarity index 100%
rename from utilities/doctype/__init__.py
rename to erpnext/utilities/doctype/__init__.py
diff --git a/utilities/doctype/activity_dashboard_control/__init__.py b/erpnext/utilities/doctype/activity_dashboard_control/__init__.py
similarity index 100%
rename from utilities/doctype/activity_dashboard_control/__init__.py
rename to erpnext/utilities/doctype/activity_dashboard_control/__init__.py
diff --git a/utilities/doctype/activity_dashboard_control/activity_dashboard_control.py b/erpnext/utilities/doctype/activity_dashboard_control/activity_dashboard_control.py
similarity index 100%
rename from utilities/doctype/activity_dashboard_control/activity_dashboard_control.py
rename to erpnext/utilities/doctype/activity_dashboard_control/activity_dashboard_control.py
diff --git a/utilities/doctype/activity_dashboard_control/activity_dashboard_control.txt b/erpnext/utilities/doctype/activity_dashboard_control/activity_dashboard_control.txt
similarity index 100%
rename from utilities/doctype/activity_dashboard_control/activity_dashboard_control.txt
rename to erpnext/utilities/doctype/activity_dashboard_control/activity_dashboard_control.txt
diff --git a/utilities/doctype/address/__init__.py b/erpnext/utilities/doctype/address/__init__.py
similarity index 100%
rename from utilities/doctype/address/__init__.py
rename to erpnext/utilities/doctype/address/__init__.py
diff --git a/utilities/doctype/address/address.js b/erpnext/utilities/doctype/address/address.js
similarity index 100%
rename from utilities/doctype/address/address.js
rename to erpnext/utilities/doctype/address/address.js
diff --git a/utilities/doctype/address/address.py b/erpnext/utilities/doctype/address/address.py
similarity index 100%
rename from utilities/doctype/address/address.py
rename to erpnext/utilities/doctype/address/address.py
diff --git a/utilities/doctype/address/address.txt b/erpnext/utilities/doctype/address/address.txt
similarity index 100%
rename from utilities/doctype/address/address.txt
rename to erpnext/utilities/doctype/address/address.txt
diff --git a/utilities/doctype/bulk_rename_tool/__init__.py b/erpnext/utilities/doctype/bulk_rename_tool/__init__.py
similarity index 100%
rename from utilities/doctype/bulk_rename_tool/__init__.py
rename to erpnext/utilities/doctype/bulk_rename_tool/__init__.py
diff --git a/utilities/doctype/bulk_rename_tool/bulk_rename_tool.py b/erpnext/utilities/doctype/bulk_rename_tool/bulk_rename_tool.py
similarity index 100%
rename from utilities/doctype/bulk_rename_tool/bulk_rename_tool.py
rename to erpnext/utilities/doctype/bulk_rename_tool/bulk_rename_tool.py
diff --git a/utilities/doctype/bulk_rename_tool/bulk_rename_tool.txt b/erpnext/utilities/doctype/bulk_rename_tool/bulk_rename_tool.txt
similarity index 100%
rename from utilities/doctype/bulk_rename_tool/bulk_rename_tool.txt
rename to erpnext/utilities/doctype/bulk_rename_tool/bulk_rename_tool.txt
diff --git a/utilities/doctype/contact/__init__.py b/erpnext/utilities/doctype/contact/__init__.py
similarity index 100%
rename from utilities/doctype/contact/__init__.py
rename to erpnext/utilities/doctype/contact/__init__.py
diff --git a/utilities/doctype/contact/contact.js b/erpnext/utilities/doctype/contact/contact.js
similarity index 100%
rename from utilities/doctype/contact/contact.js
rename to erpnext/utilities/doctype/contact/contact.js
diff --git a/utilities/doctype/contact/contact.py b/erpnext/utilities/doctype/contact/contact.py
similarity index 100%
rename from utilities/doctype/contact/contact.py
rename to erpnext/utilities/doctype/contact/contact.py
diff --git a/utilities/doctype/contact/contact.txt b/erpnext/utilities/doctype/contact/contact.txt
similarity index 100%
rename from utilities/doctype/contact/contact.txt
rename to erpnext/utilities/doctype/contact/contact.txt
diff --git a/utilities/doctype/contact_detail/__init__.py b/erpnext/utilities/doctype/contact_detail/__init__.py
similarity index 100%
rename from utilities/doctype/contact_detail/__init__.py
rename to erpnext/utilities/doctype/contact_detail/__init__.py
diff --git a/utilities/doctype/contact_detail/contact_detail.txt b/erpnext/utilities/doctype/contact_detail/contact_detail.txt
similarity index 100%
rename from utilities/doctype/contact_detail/contact_detail.txt
rename to erpnext/utilities/doctype/contact_detail/contact_detail.txt
diff --git a/utilities/doctype/doctype_label/__init__.py b/erpnext/utilities/doctype/doctype_label/__init__.py
similarity index 100%
rename from utilities/doctype/doctype_label/__init__.py
rename to erpnext/utilities/doctype/doctype_label/__init__.py
diff --git a/utilities/doctype/doctype_label/doctype_label.txt b/erpnext/utilities/doctype/doctype_label/doctype_label.txt
similarity index 100%
rename from utilities/doctype/doctype_label/doctype_label.txt
rename to erpnext/utilities/doctype/doctype_label/doctype_label.txt
diff --git a/utilities/doctype/doctype_property_setter/__init__.py b/erpnext/utilities/doctype/doctype_property_setter/__init__.py
similarity index 100%
rename from utilities/doctype/doctype_property_setter/__init__.py
rename to erpnext/utilities/doctype/doctype_property_setter/__init__.py
diff --git a/utilities/doctype/doctype_property_setter/doctype_property_setter.py b/erpnext/utilities/doctype/doctype_property_setter/doctype_property_setter.py
similarity index 100%
rename from utilities/doctype/doctype_property_setter/doctype_property_setter.py
rename to erpnext/utilities/doctype/doctype_property_setter/doctype_property_setter.py
diff --git a/utilities/doctype/doctype_property_setter/doctype_property_setter.txt b/erpnext/utilities/doctype/doctype_property_setter/doctype_property_setter.txt
similarity index 100%
rename from utilities/doctype/doctype_property_setter/doctype_property_setter.txt
rename to erpnext/utilities/doctype/doctype_property_setter/doctype_property_setter.txt
diff --git a/utilities/doctype/file_browser_control/__init__.py b/erpnext/utilities/doctype/file_browser_control/__init__.py
similarity index 100%
rename from utilities/doctype/file_browser_control/__init__.py
rename to erpnext/utilities/doctype/file_browser_control/__init__.py
diff --git a/utilities/doctype/file_browser_control/file_browser_control.py b/erpnext/utilities/doctype/file_browser_control/file_browser_control.py
similarity index 100%
rename from utilities/doctype/file_browser_control/file_browser_control.py
rename to erpnext/utilities/doctype/file_browser_control/file_browser_control.py
diff --git a/utilities/doctype/file_browser_control/file_browser_control.txt b/erpnext/utilities/doctype/file_browser_control/file_browser_control.txt
similarity index 100%
rename from utilities/doctype/file_browser_control/file_browser_control.txt
rename to erpnext/utilities/doctype/file_browser_control/file_browser_control.txt
diff --git a/utilities/doctype/gl_mapper/__init__.py b/erpnext/utilities/doctype/gl_mapper/__init__.py
similarity index 100%
rename from utilities/doctype/gl_mapper/__init__.py
rename to erpnext/utilities/doctype/gl_mapper/__init__.py
diff --git a/utilities/doctype/gl_mapper/gl_mapper.txt b/erpnext/utilities/doctype/gl_mapper/gl_mapper.txt
similarity index 100%
rename from utilities/doctype/gl_mapper/gl_mapper.txt
rename to erpnext/utilities/doctype/gl_mapper/gl_mapper.txt
diff --git a/utilities/doctype/gl_mapper_detail/__init__.py b/erpnext/utilities/doctype/gl_mapper_detail/__init__.py
similarity index 100%
rename from utilities/doctype/gl_mapper_detail/__init__.py
rename to erpnext/utilities/doctype/gl_mapper_detail/__init__.py
diff --git a/utilities/doctype/gl_mapper_detail/gl_mapper_detail.txt b/erpnext/utilities/doctype/gl_mapper_detail/gl_mapper_detail.txt
similarity index 100%
rename from utilities/doctype/gl_mapper_detail/gl_mapper_detail.txt
rename to erpnext/utilities/doctype/gl_mapper_detail/gl_mapper_detail.txt
diff --git a/utilities/doctype/menu_control/__init__.py b/erpnext/utilities/doctype/menu_control/__init__.py
similarity index 100%
rename from utilities/doctype/menu_control/__init__.py
rename to erpnext/utilities/doctype/menu_control/__init__.py
diff --git a/utilities/doctype/menu_control/menu_control.js b/erpnext/utilities/doctype/menu_control/menu_control.js
similarity index 100%
rename from utilities/doctype/menu_control/menu_control.js
rename to erpnext/utilities/doctype/menu_control/menu_control.js
diff --git a/utilities/doctype/menu_control/menu_control.py b/erpnext/utilities/doctype/menu_control/menu_control.py
similarity index 100%
rename from utilities/doctype/menu_control/menu_control.py
rename to erpnext/utilities/doctype/menu_control/menu_control.py
diff --git a/utilities/doctype/menu_control/menu_control.txt b/erpnext/utilities/doctype/menu_control/menu_control.txt
similarity index 100%
rename from utilities/doctype/menu_control/menu_control.txt
rename to erpnext/utilities/doctype/menu_control/menu_control.txt
diff --git a/utilities/doctype/patch_util/__init__.py b/erpnext/utilities/doctype/patch_util/__init__.py
similarity index 100%
rename from utilities/doctype/patch_util/__init__.py
rename to erpnext/utilities/doctype/patch_util/__init__.py
diff --git a/utilities/doctype/patch_util/patch_util.py b/erpnext/utilities/doctype/patch_util/patch_util.py
similarity index 100%
rename from utilities/doctype/patch_util/patch_util.py
rename to erpnext/utilities/doctype/patch_util/patch_util.py
diff --git a/utilities/doctype/patch_util/patch_util.txt b/erpnext/utilities/doctype/patch_util/patch_util.txt
similarity index 100%
rename from utilities/doctype/patch_util/patch_util.txt
rename to erpnext/utilities/doctype/patch_util/patch_util.txt
diff --git a/utilities/doctype/production_tips_common/__init__.py b/erpnext/utilities/doctype/production_tips_common/__init__.py
similarity index 100%
rename from utilities/doctype/production_tips_common/__init__.py
rename to erpnext/utilities/doctype/production_tips_common/__init__.py
diff --git a/utilities/doctype/production_tips_common/production_tips_common.js b/erpnext/utilities/doctype/production_tips_common/production_tips_common.js
similarity index 100%
rename from utilities/doctype/production_tips_common/production_tips_common.js
rename to erpnext/utilities/doctype/production_tips_common/production_tips_common.js
diff --git a/utilities/doctype/production_tips_common/production_tips_common.txt b/erpnext/utilities/doctype/production_tips_common/production_tips_common.txt
similarity index 100%
rename from utilities/doctype/production_tips_common/production_tips_common.txt
rename to erpnext/utilities/doctype/production_tips_common/production_tips_common.txt
diff --git a/utilities/doctype/profile_control/__init__.py b/erpnext/utilities/doctype/profile_control/__init__.py
similarity index 100%
rename from utilities/doctype/profile_control/__init__.py
rename to erpnext/utilities/doctype/profile_control/__init__.py
diff --git a/utilities/doctype/profile_control/profile_control.py b/erpnext/utilities/doctype/profile_control/profile_control.py
similarity index 100%
rename from utilities/doctype/profile_control/profile_control.py
rename to erpnext/utilities/doctype/profile_control/profile_control.py
diff --git a/utilities/doctype/profile_control/profile_control.txt b/erpnext/utilities/doctype/profile_control/profile_control.txt
similarity index 100%
rename from utilities/doctype/profile_control/profile_control.txt
rename to erpnext/utilities/doctype/profile_control/profile_control.txt
diff --git a/utilities/doctype/receiver_detail/__init__.py b/erpnext/utilities/doctype/receiver_detail/__init__.py
similarity index 100%
rename from utilities/doctype/receiver_detail/__init__.py
rename to erpnext/utilities/doctype/receiver_detail/__init__.py
diff --git a/utilities/doctype/receiver_detail/receiver_detail.txt b/erpnext/utilities/doctype/receiver_detail/receiver_detail.txt
similarity index 100%
rename from utilities/doctype/receiver_detail/receiver_detail.txt
rename to erpnext/utilities/doctype/receiver_detail/receiver_detail.txt
diff --git a/utilities/doctype/rename_tool/__init__.py b/erpnext/utilities/doctype/rename_tool/__init__.py
similarity index 100%
rename from utilities/doctype/rename_tool/__init__.py
rename to erpnext/utilities/doctype/rename_tool/__init__.py
diff --git a/utilities/doctype/rename_tool/rename_tool.js b/erpnext/utilities/doctype/rename_tool/rename_tool.js
similarity index 100%
rename from utilities/doctype/rename_tool/rename_tool.js
rename to erpnext/utilities/doctype/rename_tool/rename_tool.js
diff --git a/utilities/doctype/rename_tool/rename_tool.py b/erpnext/utilities/doctype/rename_tool/rename_tool.py
similarity index 100%
rename from utilities/doctype/rename_tool/rename_tool.py
rename to erpnext/utilities/doctype/rename_tool/rename_tool.py
diff --git a/utilities/doctype/rename_tool/rename_tool.txt b/erpnext/utilities/doctype/rename_tool/rename_tool.txt
similarity index 100%
rename from utilities/doctype/rename_tool/rename_tool.txt
rename to erpnext/utilities/doctype/rename_tool/rename_tool.txt
diff --git a/utilities/doctype/reposting_tool/__init__.py b/erpnext/utilities/doctype/reposting_tool/__init__.py
similarity index 100%
rename from utilities/doctype/reposting_tool/__init__.py
rename to erpnext/utilities/doctype/reposting_tool/__init__.py
diff --git a/utilities/doctype/reposting_tool/reposting_tool.js b/erpnext/utilities/doctype/reposting_tool/reposting_tool.js
similarity index 100%
rename from utilities/doctype/reposting_tool/reposting_tool.js
rename to erpnext/utilities/doctype/reposting_tool/reposting_tool.js
diff --git a/utilities/doctype/reposting_tool/reposting_tool.py b/erpnext/utilities/doctype/reposting_tool/reposting_tool.py
similarity index 100%
rename from utilities/doctype/reposting_tool/reposting_tool.py
rename to erpnext/utilities/doctype/reposting_tool/reposting_tool.py
diff --git a/utilities/doctype/reposting_tool/reposting_tool.txt b/erpnext/utilities/doctype/reposting_tool/reposting_tool.txt
similarity index 100%
rename from utilities/doctype/reposting_tool/reposting_tool.txt
rename to erpnext/utilities/doctype/reposting_tool/reposting_tool.txt
diff --git a/utilities/doctype/sms_center/__init__.py b/erpnext/utilities/doctype/sms_center/__init__.py
similarity index 100%
rename from utilities/doctype/sms_center/__init__.py
rename to erpnext/utilities/doctype/sms_center/__init__.py
diff --git a/utilities/doctype/sms_center/sms_center.js b/erpnext/utilities/doctype/sms_center/sms_center.js
similarity index 100%
rename from utilities/doctype/sms_center/sms_center.js
rename to erpnext/utilities/doctype/sms_center/sms_center.js
diff --git a/utilities/doctype/sms_center/sms_center.py b/erpnext/utilities/doctype/sms_center/sms_center.py
similarity index 100%
rename from utilities/doctype/sms_center/sms_center.py
rename to erpnext/utilities/doctype/sms_center/sms_center.py
diff --git a/utilities/doctype/sms_center/sms_center.txt b/erpnext/utilities/doctype/sms_center/sms_center.txt
similarity index 100%
rename from utilities/doctype/sms_center/sms_center.txt
rename to erpnext/utilities/doctype/sms_center/sms_center.txt
diff --git a/utilities/doctype/sms_control/__init__.py b/erpnext/utilities/doctype/sms_control/__init__.py
similarity index 100%
rename from utilities/doctype/sms_control/__init__.py
rename to erpnext/utilities/doctype/sms_control/__init__.py
diff --git a/utilities/doctype/sms_control/sms_control.js b/erpnext/utilities/doctype/sms_control/sms_control.js
similarity index 100%
rename from utilities/doctype/sms_control/sms_control.js
rename to erpnext/utilities/doctype/sms_control/sms_control.js
diff --git a/utilities/doctype/sms_control/sms_control.py b/erpnext/utilities/doctype/sms_control/sms_control.py
similarity index 100%
rename from utilities/doctype/sms_control/sms_control.py
rename to erpnext/utilities/doctype/sms_control/sms_control.py
diff --git a/utilities/doctype/sms_control/sms_control.txt b/erpnext/utilities/doctype/sms_control/sms_control.txt
similarity index 100%
rename from utilities/doctype/sms_control/sms_control.txt
rename to erpnext/utilities/doctype/sms_control/sms_control.txt
diff --git a/utilities/doctype/sms_log/__init__.py b/erpnext/utilities/doctype/sms_log/__init__.py
similarity index 100%
rename from utilities/doctype/sms_log/__init__.py
rename to erpnext/utilities/doctype/sms_log/__init__.py
diff --git a/utilities/doctype/sms_log/sms_log.txt b/erpnext/utilities/doctype/sms_log/sms_log.txt
similarity index 100%
rename from utilities/doctype/sms_log/sms_log.txt
rename to erpnext/utilities/doctype/sms_log/sms_log.txt
diff --git a/utilities/doctype/sso_control/__init__.py b/erpnext/utilities/doctype/sso_control/__init__.py
similarity index 100%
rename from utilities/doctype/sso_control/__init__.py
rename to erpnext/utilities/doctype/sso_control/__init__.py
diff --git a/utilities/doctype/sso_control/sso_control.py b/erpnext/utilities/doctype/sso_control/sso_control.py
similarity index 100%
rename from utilities/doctype/sso_control/sso_control.py
rename to erpnext/utilities/doctype/sso_control/sso_control.py
diff --git a/utilities/doctype/sso_control/sso_control.txt b/erpnext/utilities/doctype/sso_control/sso_control.txt
similarity index 100%
rename from utilities/doctype/sso_control/sso_control.txt
rename to erpnext/utilities/doctype/sso_control/sso_control.txt
diff --git a/utilities/doctype/todo_item/__init__.py b/erpnext/utilities/doctype/todo_item/__init__.py
similarity index 100%
rename from utilities/doctype/todo_item/__init__.py
rename to erpnext/utilities/doctype/todo_item/__init__.py
diff --git a/utilities/doctype/todo_item/todo_item.txt b/erpnext/utilities/doctype/todo_item/todo_item.txt
similarity index 100%
rename from utilities/doctype/todo_item/todo_item.txt
rename to erpnext/utilities/doctype/todo_item/todo_item.txt
diff --git a/utilities/doctype/trash_control/__init__.py b/erpnext/utilities/doctype/trash_control/__init__.py
similarity index 100%
rename from utilities/doctype/trash_control/__init__.py
rename to erpnext/utilities/doctype/trash_control/__init__.py
diff --git a/utilities/doctype/trash_control/trash_control.py b/erpnext/utilities/doctype/trash_control/trash_control.py
similarity index 100%
rename from utilities/doctype/trash_control/trash_control.py
rename to erpnext/utilities/doctype/trash_control/trash_control.py
diff --git a/utilities/doctype/trash_control/trash_control.txt b/erpnext/utilities/doctype/trash_control/trash_control.txt
similarity index 100%
rename from utilities/doctype/trash_control/trash_control.txt
rename to erpnext/utilities/doctype/trash_control/trash_control.txt
diff --git a/utilities/doctype/wn_erp_client_control/__init__.py b/erpnext/utilities/doctype/wn_erp_client_control/__init__.py
similarity index 100%
rename from utilities/doctype/wn_erp_client_control/__init__.py
rename to erpnext/utilities/doctype/wn_erp_client_control/__init__.py
diff --git a/utilities/doctype/wn_erp_client_control/wn_erp_client_control.py b/erpnext/utilities/doctype/wn_erp_client_control/wn_erp_client_control.py
similarity index 100%
rename from utilities/doctype/wn_erp_client_control/wn_erp_client_control.py
rename to erpnext/utilities/doctype/wn_erp_client_control/wn_erp_client_control.py
diff --git a/utilities/doctype/wn_erp_client_control/wn_erp_client_control.txt b/erpnext/utilities/doctype/wn_erp_client_control/wn_erp_client_control.txt
similarity index 100%
rename from utilities/doctype/wn_erp_client_control/wn_erp_client_control.txt
rename to erpnext/utilities/doctype/wn_erp_client_control/wn_erp_client_control.txt
diff --git a/utilities/page/__init__.py b/erpnext/utilities/page/__init__.py
similarity index 100%
rename from utilities/page/__init__.py
rename to erpnext/utilities/page/__init__.py
diff --git a/utilities/page/file_browser/__init__.py b/erpnext/utilities/page/file_browser/__init__.py
similarity index 100%
rename from utilities/page/file_browser/__init__.py
rename to erpnext/utilities/page/file_browser/__init__.py
diff --git a/utilities/page/file_browser/file_browser.html b/erpnext/utilities/page/file_browser/file_browser.html
similarity index 100%
rename from utilities/page/file_browser/file_browser.html
rename to erpnext/utilities/page/file_browser/file_browser.html
diff --git a/utilities/page/file_browser/file_browser.js b/erpnext/utilities/page/file_browser/file_browser.js
similarity index 100%
rename from utilities/page/file_browser/file_browser.js
rename to erpnext/utilities/page/file_browser/file_browser.js
diff --git a/utilities/page/file_browser/file_browser.txt b/erpnext/utilities/page/file_browser/file_browser.txt
similarity index 100%
rename from utilities/page/file_browser/file_browser.txt
rename to erpnext/utilities/page/file_browser/file_browser.txt
diff --git a/utilities/page/messages/__init__.py b/erpnext/utilities/page/messages/__init__.py
similarity index 100%
rename from utilities/page/messages/__init__.py
rename to erpnext/utilities/page/messages/__init__.py
diff --git a/utilities/page/messages/messages.html b/erpnext/utilities/page/messages/messages.html
similarity index 100%
rename from utilities/page/messages/messages.html
rename to erpnext/utilities/page/messages/messages.html
diff --git a/utilities/page/messages/messages.js b/erpnext/utilities/page/messages/messages.js
similarity index 99%
rename from utilities/page/messages/messages.js
rename to erpnext/utilities/page/messages/messages.js
index 258961d..43b4bd7 100644
--- a/utilities/page/messages/messages.js
+++ b/erpnext/utilities/page/messages/messages.js
@@ -529,6 +529,8 @@
   
   // ---- add auto suggest ---- 
   var opts = { script: '', json: true, maxresults: 10, timeout: 10000, delay:250, maxentries:500, cache:false};
+
+  wn.require('lib/js/legacy/widgets/autosuggest.js');
   
   var as = new AutoSuggest(me.msg_parts.inputs['To'], opts);
   as.custom_select = function(txt, sel) {
diff --git a/utilities/page/messages/messages.txt b/erpnext/utilities/page/messages/messages.txt
similarity index 100%
rename from utilities/page/messages/messages.txt
rename to erpnext/utilities/page/messages/messages.txt
diff --git a/utilities/page/messages/messages_static.html b/erpnext/utilities/page/messages/messages_static.html
similarity index 100%
rename from utilities/page/messages/messages_static.html
rename to erpnext/utilities/page/messages/messages_static.html
diff --git a/utilities/page/trash/__init__.py b/erpnext/utilities/page/trash/__init__.py
similarity index 100%
rename from utilities/page/trash/__init__.py
rename to erpnext/utilities/page/trash/__init__.py
diff --git a/utilities/page/trash/trash.html b/erpnext/utilities/page/trash/trash.html
similarity index 100%
rename from utilities/page/trash/trash.html
rename to erpnext/utilities/page/trash/trash.html
diff --git a/utilities/page/trash/trash.js b/erpnext/utilities/page/trash/trash.js
similarity index 100%
rename from utilities/page/trash/trash.js
rename to erpnext/utilities/page/trash/trash.js
diff --git a/utilities/page/trash/trash.txt b/erpnext/utilities/page/trash/trash.txt
similarity index 100%
rename from utilities/page/trash/trash.txt
rename to erpnext/utilities/page/trash/trash.txt
diff --git a/utilities/page/wip_monitor/__init__.py b/erpnext/utilities/page/wip_monitor/__init__.py
similarity index 100%
rename from utilities/page/wip_monitor/__init__.py
rename to erpnext/utilities/page/wip_monitor/__init__.py
diff --git a/utilities/page/wip_monitor/wip_monitor.html b/erpnext/utilities/page/wip_monitor/wip_monitor.html
similarity index 100%
rename from utilities/page/wip_monitor/wip_monitor.html
rename to erpnext/utilities/page/wip_monitor/wip_monitor.html
diff --git a/utilities/page/wip_monitor/wip_monitor.js b/erpnext/utilities/page/wip_monitor/wip_monitor.js
similarity index 100%
rename from utilities/page/wip_monitor/wip_monitor.js
rename to erpnext/utilities/page/wip_monitor/wip_monitor.js
diff --git a/utilities/page/wip_monitor/wip_monitor.txt b/erpnext/utilities/page/wip_monitor/wip_monitor.txt
similarity index 100%
rename from utilities/page/wip_monitor/wip_monitor.txt
rename to erpnext/utilities/page/wip_monitor/wip_monitor.txt
diff --git a/utilities/transaction_base.py b/erpnext/utilities/transaction_base.py
similarity index 100%
rename from utilities/transaction_base.py
rename to erpnext/utilities/transaction_base.py
diff --git a/favicon.ico b/favicon.ico
index 8b2106b..794eaaf 100644
--- a/favicon.ico
+++ b/favicon.ico
Binary files differ
diff --git a/module-icons.png b/images/module-icons.png
similarity index 100%
rename from module-icons.png
rename to images/module-icons.png
Binary files differ
diff --git a/index.cgi b/index.cgi
new file mode 100755
index 0000000..3d61c56
--- /dev/null
+++ b/index.cgi
@@ -0,0 +1,41 @@
+#!/usr/bin/python
+# main handler file
+
+import cgi, cgitb, os, sys
+cgitb.enable()
+
+# import libs
+sys.path.append('lib/py')
+sys.path.append('erpnext')
+
+import webnotes
+
+webnotes.form = cgi.FieldStorage()
+
+# make the form_dict
+for key in webnotes.form.keys():
+	webnotes.form_dict[key] = webnotes.form.getvalue(key)
+
+# url comes with sid, redirect to html, sid set and all
+if 'sid' in webnotes.form_dict:
+	import webnotes.auth
+	import webnotes.widgets.page_body
+
+	webnotes.auth.HTTPRequest()
+
+	print "Content-Type: text/html"
+
+	# print cookies, if there ar additional cookies defined during the request, add them here
+	if webnotes.cookies or webnotes.add_cookies:
+		for c in webnotes.add_cookies.keys():
+			webnotes.cookies[c] = webnotes.add_cookies[c]
+		
+		print webnotes.cookies
+
+	print
+	print webnotes.widgets.page_body.redirect_template % ('Redirecting...', 'index.html')
+
+else:
+	# pass on to legacy handler
+	import webnotes.handler
+
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..cedc9dc
--- /dev/null
+++ b/index.html
@@ -0,0 +1,82 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<head>
+	<meta charset="utf-8">
+	<title>ERPNext</title>
+	<meta name="author" content="">
+	<script type="text/javascript">window._version_number="65"
+
+wn={}
+wn.provide=function(namespace){var nsl=namespace.split('.');var l=nsl.length;var parent=window;for(var i=0;i<l;i++){var n=nsl[i];if(!parent[n]){parent[n]={}}
+parent=parent[n];}}
+wn.provide('wn.settings');wn.provide('wn.ui');wn.xmlhttp={request:function(){if(window.XMLHttpRequest)
+return new XMLHttpRequest();else if(window.ActiveXObject)
+return new ActiveXObject("MsXml2.XmlHttp");},complete:function(req,callback,url){if(req.status==200||req.status==304){callback(req.responseText);}else{alert(url+' request error: '+req.statusText+' ('+req.status+')');}},get:function(url,callback,args,async){if(async===null)async=true;var req=wn.xmlhttp.request();req.onreadystatechange=function(){if(req.readyState==4){wn.xmlhttp.complete(req,callback,url)}}
+var sep=((args&&args.indexOf('?'))==-1)?'?':'&';var u=args?(url+sep+args):url;req.open('GET',u,async);req.send(null);if(!async){wn.xmlhttp.complete(req,callback,url)}}}
+wn.versions={is_latest:function(){if(window._version_number==(localStorage?localStorage['_version_number']:null)){return true;}
+return false;},get_diff:function(){if(!localStorage)return;wn.xmlhttp.get('index.cgi',function(txt){r=JSON.parse(txt);if(r.exc){alert(r.exc);}
+wn.versions.set(r.message);},'cmd=get_diff&version_number='+localStorage['_version_number'],false);},set:function(diff){for(var i=0;i<diff.length;i++){localStorage.removeItem(diff[i]);}
+localStorage['_version_number']=_version_number;},check:function(){if(localStorage&&!localStorage['_version_number']){localStorage['_version_number']=_version_number;return;}
+if(!wn.versions.is_latest())wn.versions.get_diff();}}
+wn.assets={executed_:{},exists:function(src){if('localStorage'in window&&localStorage.getItem(src))
+return true},add:function(src,txt){if('localStorage'in window){localStorage.setItem(src,txt);}},get:function(src){return localStorage.getItem(src);},extn:function(src){if(src.indexOf('?')!=-1){src=src.split('?').slice(-1)[0];}
+return src.split('.').slice(-1)[0];},html_src:function(src){if(src.indexOf('/')!=-1){var t=src.split('/').slice(0,-1);t.push('src');t=t.join('/')+'/'+a.split('/').slice(-1)[0];}else{var t='src/'+src;}
+return t;},load:function(src){var t=wn.assets.extn(src)=='html'?wn.assets.html_src(src):src;wn.xmlhttp.get(t,function(txt){wn.assets.add(src,txt);},'q='&Math.floor(Math.random()*1000),false)},execute:function(src){if(!wn.assets.exists(src)){wn.assets.load(src);}
+var type=wn.assets.extn(src);if(wn.assets.handler[type]){wn.assets.handler[type](wn.assets.get(src),src);wn.assets.executed_[src]=1;}},handler:{js:function(txt,src){wn.dom.eval(txt);},css:function(txt,src){var se=document.createElement('style');se.type="text/css";if(se.styleSheet){se.styleSheet.cssText=txt;}else{se.appendChild(document.createTextNode(txt));}
+document.getElementsByTagName('head')[0].appendChild(se);},html:function(txt,src){var page=wn.dom.add($('.outer .inner').get(0),'div','content',null,txt);page.setAttribute("_src",src);},cgi:function(txt,src){wn.dom.eval(txt)}}}
+wn.require=function(items){if(typeof items==="string"){items=[items];}
+var l=items.length;for(var i=0;i<l;i++){var src=items[i];if(!(src in wn.assets.executed_)){wn.assets.execute(src);}}}
+wn.provide('wn.dom');wn.dom.by_id=function(id){return document.getElementById(id);}
+wn.dom.eval=function(txt){var el=document.createElement('script');el.appendChild(document.createTextNode(txt));document.getElementsByTagName('head')[0].appendChild(el);}
+wn.dom.add=function(parent,newtag,className,cs,innerHTML,onclick){if(parent&&parent.substr)parent=wn.dom.by_id(parent);var c=document.createElement(newtag);if(parent)
+parent.appendChild(c);if(className){if(newtag.toLowerCase()=='img')
+c.src=className
+else
+c.className=className;}
+if(cs)wn.dom.css(c,cs);if(innerHTML)c.innerHTML=innerHTML;if(onclick)c.onclick=onclick;return c;}
+wn.dom.css=function(ele,s){if(ele&&s){for(var i in s)ele.style[i]=s[i];};return ele;}
+wn.dom.hide=function(ele){ele.style.display='none';}
+wn.dom.show=function(ele,value){if(!value)value='block';ele.style.display=value;}
+wn.page={set:function(src){var new_selection=$('.inner div.content[_src="'+src+'"]');if(!new_selection.length){wn.assets.execute(src);new_selection=$('.inner div.content[_src="'+src+'"]');}
+$('.inner .current_page').removeClass('current_page');new_selection.addClass('current_page');var title=$('nav ul li a[href*="'+src+'"]').attr('title')||'No Title'
+state=window.location.hash;if(state!=src){window.location.hash=state;}
+else{document.title=title;}}}
+var JSON;if(!JSON){JSON={};}
+(function(){"use strict";function f(n){return n<10?'0'+n:n;}
+if(typeof Date.prototype.toJSON!=='function'){Date.prototype.toJSON=function(key){return isFinite(this.valueOf())?this.getUTCFullYear()+'-'+
+f(this.getUTCMonth()+1)+'-'+
+f(this.getUTCDate())+'T'+
+f(this.getUTCHours())+':'+
+f(this.getUTCMinutes())+':'+
+f(this.getUTCSeconds())+'Z':null;};String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(key){return this.valueOf();};}
+var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,escapable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,meta={'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','"':'\\"','\\':'\\\\'},rep;function quote(string){escapable.lastIndex=0;return escapable.test(string)?'"'+string.replace(escapable,function(a){var c=meta[a];return typeof c==='string'?c:'\\u'+('0000'+a.charCodeAt(0).toString(16)).slice(-4);})+'"':'"'+string+'"';}
+function str(key,holder){var i,k,v,length,mind=gap,partial,value=holder[key];if(value&&typeof value==='object'&&typeof value.toJSON==='function'){value=value.toJSON(key);}
+if(typeof rep==='function'){value=rep.call(holder,key,value);}
+switch(typeof value){case'string':return quote(value);case'number':return isFinite(value)?String(value):'null';case'boolean':case'null':return String(value);case'object':if(!value){return'null';}
+gap+=indent;partial=[];if(Object.prototype.toString.apply(value)==='[object Array]'){length=value.length;for(i=0;i<length;i+=1){partial[i]=str(i,value)||'null';}
+v=partial.length===0?'[]':gap?'[\n'+gap+partial.join(',\n'+gap)+'\n'+mind+']':'['+partial.join(',')+']';gap=mind;return v;}
+if(rep&&typeof rep==='object'){length=rep.length;for(i=0;i<length;i+=1){if(typeof rep[i]==='string'){k=rep[i];v=str(k,value);if(v){partial.push(quote(k)+(gap?': ':':')+v);}}}}else{for(k in value){if(Object.prototype.hasOwnProperty.call(value,k)){v=str(k,value);if(v){partial.push(quote(k)+(gap?': ':':')+v);}}}}
+v=partial.length===0?'{}':gap?'{\n'+gap+partial.join(',\n'+gap)+'\n'+mind+'}':'{'+partial.join(',')+'}';gap=mind;return v;}}
+if(typeof JSON.stringify!=='function'){JSON.stringify=function(value,replacer,space){var i;gap='';indent='';if(typeof space==='number'){for(i=0;i<space;i+=1){indent+=' ';}}else if(typeof space==='string'){indent=space;}
+rep=replacer;if(replacer&&typeof replacer!=='function'&&(typeof replacer!=='object'||typeof replacer.length!=='number')){throw new Error('JSON.stringify');}
+return str('',{'':value});};}
+if(typeof JSON.parse!=='function'){JSON.parse=function(text,reviver){var j;function walk(holder,key){var k,v,value=holder[key];if(value&&typeof value==='object'){for(k in value){if(Object.prototype.hasOwnProperty.call(value,k)){v=walk(value,k);if(v!==undefined){value[k]=v;}else{delete value[k];}}}}
+return reviver.call(holder,key,value);}
+text=String(text);cx.lastIndex=0;if(cx.test(text)){text=text.replace(cx,function(a){return'\\u'+
+('0000'+a.charCodeAt(0).toString(16)).slice(-4);});}
+if(/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,'@').replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,']').replace(/(?:^|:|,)(?:\s*\[)+/g,''))){j=eval('('+text+')');return typeof reviver==='function'?walk({'':j},''):j;}
+throw new SyntaxError('JSON.parse');};}}());wn.versions.check();wn.require("lib/js/lib/jquery.min.js");wn.require("lib/js/lib/history/history.min.js");$(document).bind('ready',function(){var base=window.location.href.split('#')[0];$.each($('a[softlink!="false"]'),function(i,v){if(v.href.substr(0,base.length)==base){var path=(v.href.substr(base.length));if(path.substr(0,1)!='#'){v.href=base+'#'+path;}}});if(!wn.settings.no_history&&window.location.hash){wn.page.set(window.location.hash.substr(1));}});</script>
+</head>
+<body>
+	<div id="startup_div" style="padding: 8px; font-size: 14px;"></div>
+
+	<!-- Main Starts -->
+	<div id="body_div"> 
+
+		<!--static (no script) content-->
+		<div class="no_script">
+			
+		</div>
+	</div>
+	<script>wn.require('js/app.js');</script>
+	<div id="dialog_back"></div>
+</body>
\ No newline at end of file
diff --git a/js/app.js b/js/app.js
new file mode 100644
index 0000000..aeb10a1
--- /dev/null
+++ b/js/app.js
@@ -0,0 +1,21 @@
+wn.settings.no_history = true;
+
+wn.require('lib/js/lib/jquery.min.js');
+wn.require('lib/js/legacy/tiny_mce_33/jquery.tinymce.js');
+wn.require('lib/js/wn/ui/status_bar.js');
+
+wn.sb = new wn.ui.StatusBar();
+wn.sb.set_value(15);
+// for datepicker
+wn.require('lib/js/legacy/jquery/jquery-ui.min.js')
+wn.sb.set_value(25);
+
+wn.require('lib/js/legacy/wnf.compressed.js');
+wn.sb.set_value(40);
+
+wn.require('lib/css/legacy/default.css');
+wn.sb.set_value(70);
+
+$(document).bind('ready', function() {
+	startup();
+});
\ No newline at end of file
diff --git a/master.sql.gz b/master.sql.gz
deleted file mode 100644
index 3d3e220..0000000
--- a/master.sql.gz
+++ /dev/null
Binary files differ
diff --git a/setup/doctype/company/company.py b/setup/doctype/company/company.py
deleted file mode 100644
index a2e333d..0000000
--- a/setup/doctype/company/company.py
+++ /dev/null
@@ -1,254 +0,0 @@
-# Please edit this list and import only required elements
-import webnotes
-
-from webnotes.utils import add_days, add_months, add_years, cint, cstr, date_diff, default_fields, flt, fmt_money, formatdate, generate_hash, getTraceback, get_defaults, get_first_day, get_last_day, getdate, has_common, month_name, now, nowdate, replace_newlines, sendmail, set_default, str_esc_quote, user_format, validate_email_add
-from webnotes.model import db_exists
-from webnotes.model.doc import Document, addchild, removechild, getchildren, make_autoname, SuperDocType
-from webnotes.model.doclist import getlist, copy_doclist
-from webnotes.model.code import get_obj, get_server_obj, run_server_obj, updatedb, check_syntax
-from webnotes import session, form, is_testing, msgprint, errprint
-
-set = webnotes.conn.set
-sql = webnotes.conn.sql
-get_value = webnotes.conn.get_value
-in_transaction = webnotes.conn.in_transaction
-convert_to_lists = webnotes.conn.convert_to_lists
-
-# -----------------------------------------------------------------------------------------
-
-
-class DocType:
-	def __init__(self,d,dl):
-		self.doc, self.doclist = d,dl
-	
-	# Create default accounts
-	# ---------------------------------------------------
-	def create_default_accounts(self):
-		self.fld_dict = {'account_name':0,'parent_account':1,'group_or_ledger':2,'is_pl_account':3,'account_type':4,'debit_or_credit':5,'company':6,'tax_rate':7}
-		acc_list_common = [['Application of Funds (Assets)','','Group','No','','Debit',self.doc.name,''],
-												['Current Assets','Application of Funds (Assets)','Group','No','','Debit',self.doc.name,''],
-													['Accounts Receivable','Current Assets','Group','No','','Debit',self.doc.name,''],
-													['Bank Accounts','Current Assets','Group','No','Bank or Cash','Debit',self.doc.name,''],
-													['Cash In Hand','Current Assets','Group','No','Bank or Cash','Debit',self.doc.name,''],
-														['Cash','Cash In Hand','Ledger','No','Bank or Cash','Debit',self.doc.name,''],
-													['Loans and Advances (Assets)','Current Assets','Group','No','','Debit',self.doc.name,''],
-													['Securities and Deposits','Current Assets','Group','No','','Debit',self.doc.name,''],
-														['Earnest Money','Securities and Deposits','Ledger','No','','Debit',self.doc.name,''],
-													['Stock In Hand','Current Assets','Group','No','','Debit',self.doc.name,''],
-														['Stock','Stock In Hand','Ledger','No','','Debit',self.doc.name,''],
-													['Tax Assets','Current Assets','Group','No','','Debit',self.doc.name,''],
-												['Fixed Assets','Application of Funds (Assets)','Group','No','','Debit',self.doc.name,''],
-													['Capital Equipments','Fixed Assets','Ledger','No','Fixed Asset Account','Debit',self.doc.name,''],
-													['Computers','Fixed Assets','Ledger','No','Fixed Asset Account','Debit',self.doc.name,''],
-													['Furniture and Fixture','Fixed Assets','Ledger','No','Fixed Asset Account','Debit',self.doc.name,''],
-													['Office Equipments','Fixed Assets','Ledger','No','Fixed Asset Account','Debit',self.doc.name,''],
-													['Plant and Machinery','Fixed Assets','Ledger','No','Fixed Asset Account','Debit',self.doc.name,''],
-												['Investments','Application of Funds (Assets)','Group','No','','Debit',self.doc.name,''],
-												['Temporary Accounts (Assets)','Application of Funds (Assets)','Group','No','','Debit',self.doc.name,''],
-													['Temporary Account (Assets)','Temporary Accounts (Assets)','Ledger','No','','Debit',self.doc.name,''],
-									['Source of Funds (Liabilities)','','Group','No','','Credit',self.doc.name,''],
-										['Capital Account','Source of Funds (Liabilities)','Group','No','','Credit',self.doc.name,''],
-											['Reserves and Surplus','Capital Account','Group','No','','Credit',self.doc.name,''],
-											['Shareholders Funds','Capital Account','Group','No','','Credit',self.doc.name,''],
-										['Current Liabilities','Source of Funds (Liabilities)','Group','No','','Credit',self.doc.name,''],
-											['Accounts Payable','Current Liabilities','Group','No','','Credit',self.doc.name,''],
-											['Duties and Taxes','Current Liabilities','Group','No','','Credit',self.doc.name,''],
-											['Loans (Liabilities)','Current Liabilities','Group','No','','Credit',self.doc.name,''],
-												['Secured Loans','Loans (Liabilities)','Group','No','','Credit',self.doc.name,''],
-												['Unsecured Loans','Loans (Liabilities)','Group','No','','Credit',self.doc.name,''],
-												['Bank Overdraft Account','Loans (Liabilities)','Group','No','','Credit',self.doc.name,''],
-										['Temporary Accounts (Liabilities)','Source of Funds (Liabilities)','Group','No','','Credit',self.doc.name,''],
-											['Temporary Account (Liabilities)','Temporary Accounts (Liabilities)','Ledger','No','','Credit',self.doc.name,''],
-									['Income','','Group','Yes','','Credit',self.doc.name,''],
-										['Direct Income','Income','Group','Yes','Income Account','Credit',self.doc.name,''],
-											['Sales','Direct Income','Ledger','Yes','Income Account','Credit',self.doc.name,''],
-											['Service','Direct Income','Ledger','Yes','Income Account','Credit',self.doc.name,''],
-										['Indirect Income','Income','Group','Yes','Income Account','Credit',self.doc.name,''],
-									['Expenses','','Group','Yes','Expense Account','Debit',self.doc.name,''],
-										['Direct Expenses','Expenses','Group','Yes','Expense Account','Debit',self.doc.name,''],
-											['Cost of Goods Sold','Direct Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
-										['Indirect Expenses','Expenses','Group','Yes','Expense Account','Debit',self.doc.name,''],
-											['Advertising and Publicity','Indirect Expenses','Ledger','Yes','Chargeable','Debit',self.doc.name,''],
-											['Bad Debts Written Off','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
-											['Bank Charges','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
-											['Books and Periodicals','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
-											['Charity and Donations','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
-											['Commission on Sales','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
-											['Conveyance Expenses','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
-											['Customer Entertainment Expenses','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
-											['Depreciation Account','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
-											['Freight and Forwarding Charges','Indirect Expenses','Ledger','Yes','Chargeable','Debit',self.doc.name,''],
-											['Legal Expenses','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
-											['Miscellaneous Expenses','Indirect Expenses','Ledger','Yes','Chargeable','Debit',self.doc.name,''],
-											['Office Maintenance Expenses','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
-											['Office Rent','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
-											['Postal Expenses','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
-											['Print and Stationary','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
-											['Rounded Off','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
-											['Salary','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
-											['Sales Promotion Expenses','Indirect Expenses','Ledger','Yes','Chargeable','Debit',self.doc.name,''],
-											['Service Charges Paid','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
-											['Staff Welfare Expenses','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
-											['Telephone Expenses','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
-											['Travelling Expenses','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,''],
-											['Water and Electricity Expenses','Indirect Expenses','Ledger','Yes','Expense Account','Debit',self.doc.name,'']
-									]
-		
-		acc_list_india = [
-											['CENVAT Capital Goods','Tax Assets','Ledger','No','','Debit',self.doc.name,''],
-											['CENVAT','Tax Assets','Ledger','No','Chargeable','Debit',self.doc.name,''],
-											['CENVAT Service Tax','Tax Assets','Ledger','No','','Debit',self.doc.name,''],
-											['CENVAT Service Tax Cess 1','Tax Assets','Ledger','No','','Debit',self.doc.name,''],
-											['CENVAT Service Tax Cess 2','Tax Assets','Ledger','No','','Debit',self.doc.name,''],
-											['CENVAT Edu Cess','Tax Assets','Ledger','No','Chargeable','Debit',self.doc.name,''],
-											['CENVAT SHE Cess','Tax Assets','Ledger','No','Chargeable','Debit',self.doc.name,''],
-											['Excise Duty 4','Tax Assets','Ledger','No','Tax','Debit',self.doc.name,'4.00'],
-											['Excise Duty 8','Tax Assets','Ledger','No','Tax','Debit',self.doc.name,'8.00'],
-											['Excise Duty 10','Tax Assets','Ledger','No','Tax','Debit',self.doc.name,'10.00'],
-											['Excise Duty 14','Tax Assets','Ledger','No','Tax','Debit',self.doc.name,'14.00'],
-											['Excise Duty Edu Cess 2','Tax Assets','Ledger','No','Tax','Debit',self.doc.name,'2.00'],
-											['Excise Duty SHE Cess 1','Tax Assets','Ledger','No','Tax','Debit',self.doc.name,'1.00'],
-											['P L A','Tax Assets','Ledger','No','','Debit',self.doc.name,''],
-											['P L A - Cess Portion','Tax Assets','Ledger','No','','Debit',self.doc.name,''],
-											['Edu. Cess on Excise','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'2.00'],
-											['Edu. Cess on Service Tax','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'2.00'],
-											['Edu. Cess on TDS','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'2.00'],
-											['Excise Duty @ 4','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'4.00'],
-											['Excise Duty @ 8','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'8.00'],
-											['Excise Duty @ 10','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'10.00'],
-											['Excise Duty @ 14','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'14.00'],
-											['Service Tax','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'10.3'],
-											['SHE Cess on Excise','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'1.00'],
-											['SHE Cess on Service Tax','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'1.00'],
-											['SHE Cess on TDS','Duties and Taxes','Ledger','No','Tax','Credit',self.doc.name,'1.00'],
-											['Professional Tax','Duties and Taxes','Ledger','No','','Credit',self.doc.name,''],
-											['VAT','Duties and Taxes','Ledger','No','','Credit',self.doc.name,''],
-											['TDS (Advertisement)','Duties and Taxes','Ledger','No','','Credit',self.doc.name,''],
-											['TDS (Commission)','Duties and Taxes','Ledger','No','','Credit',self.doc.name,''],
-											['TDS (Contractor)','Duties and Taxes','Ledger','No','','Credit',self.doc.name,''],
-											['TDS (Interest)','Duties and Taxes','Ledger','No','','Credit',self.doc.name,''],
-											['TDS (Rent)','Duties and Taxes','Ledger','No','','Credit',self.doc.name,''],
-											['TDS (Salary)','Duties and Taxes','Ledger','No','','Credit',self.doc.name,'']
-										 ]
-		# load common account heads
-		for d in acc_list_common:
-			self.add_acc(d)
-
-		country = sql("select value from tabSingles where field = 'country' and doctype = 'Control Panel'")
-		country = country and cstr(country[0][0]) or ''
-
-		# load taxes (only for India)
-		if country == 'India':
-			for d in acc_list_india:
-				self.add_acc(d)
-
-	# Create account
-	# ---------------------------------------------------
-	def add_acc(self,lst):
-		ac = Document('Account')
-		for d in self.fld_dict.keys():
-			ac.fields[d] = (d == 'parent_account' and lst[self.fld_dict[d]]) and lst[self.fld_dict[d]] +' - '+ self.doc.abbr or lst[self.fld_dict[d]]
-		ac.old_parent = ''
-		ac_obj = get_obj(doc=ac)
-		ac_obj.validate()
-		ac_obj.doc.save(1)
-		ac_obj.on_update()
-		sql("commit")
-		sql("start transaction")
-
-
-	# Set letter head
-	# ---------------------------------------------------
-	def set_letter_head(self):
-		if not self.doc.letter_head:
-			if self.doc.address:
-				header = """ 
-<div><h3> %(comp)s </h3> %(add)s </div>
-
-			""" % {'comp':self.doc.name,
-				 'add':self.doc.address.replace("\n",'<br>')}
-			 
-				self.doc.letter_head = header
-
-	# Set default AR and AP group
-	# ---------------------------------------------------
-	def set_default_groups(self):
-		if not self.doc.receivables_group:
-			set(self.doc, 'receivables_group', 'Accounts Receivable - '+self.doc.abbr)
-		if not self.doc.payables_group:
-			set(self.doc, 'payables_group', 'Accounts Payable - '+self.doc.abbr)
-			
-			
-	# Create default cost center
-	# ---------------------------------------------------
-	def create_default_cost_center(self):
-		glc = get_obj('GL Control')
-		cc_list = [{'cost_center_name':'Root','company_name':self.doc.name,'company_abbr':self.doc.abbr,'group_or_ledger':'Group','parent_cost_center':'','old_parent':''}, {'cost_center_name':'Default CC Ledger','company_name':self.doc.name,'company_abbr':self.doc.abbr,'group_or_ledger':'Ledger','parent_cost_center':'Root - ' + self.doc.abbr,'old_parent':''}]
-		for c in cc_list:
-			glc.add_cc(str(c))
-			
-			
-	# On update
-	# ---------------------------------------------------
-	def on_update(self):
-		self.set_letter_head()
-		ac = sql("select name from tabAccount where account_name='Income' and company=%s", self.doc.name)
-		if not ac:
-			self.create_default_accounts()
-		self.set_default_groups()
-		cc = sql("select name from `tabCost Center` where cost_center_name = 'Root' and company_name = '%s'"%(self.doc.name))
-		if not cc:
-			self.create_default_cost_center()
-
-	# Trash accounts and cost centers for this company
-	# ---------------------------------------------------
-	#def on_trash1(self):
-	#	acc = sql("select name from tabAccount where company = '%s' and docstatus != 2 order by lft desc, rgt desc limit 2" % self.doc.name, debug=1)
-	#	for each in acc:
-	#		get_obj('Account', each[0]).on_trash()
-			
-	#	cc = sql("select name from `tabCost Center` where company_name = '%s' and docstatus != 2" % self.doc.name)
-	#	for each in cc:
-	#		get_obj('Cost Center', each[0]).on_trash()
-		
-	#	msgprint("Company trashed. All the accounts and cost centers related to this company also trashed. You can restore it anytime from Setup -> Manage Trash")
-		
-	def on_trash(self):
-		rec = sql("SELECT sum(ab.opening), sum(ab.balance), sum(ab.debit), sum(ab.credit) FROM `tabAccount Balance` ab, `tabAccount` a WHERE ab.account = a.name and a.company = %s", self.doc.name)
-		if rec[0][0] == 0 and rec[0][1] == 0 and rec[0][2] == 0 and rec[0][3] == 0:
-			#delete tabAccount Balance
-			sql("delete ab.* from `tabAccount Balance` ab, `tabAccount` a where ab.account = a.name and a.company = %s", self.doc.name)
-			#delete tabAccount
-			sql("delete from `tabAccount` where company = %s order by lft desc, rgt desc", self.doc.name)
-			
-			#delete cost center child table - budget detail
-			sql("delete bd.* from `tabBudget Detail` bd, `tabCost Center` cc where bd.parent = cc.name and cc.company_name = %s", self.doc.name)
-			#delete cost center
-			sql("delete from `tabCost Center` WHERE company_name = %s order by lft desc, rgt desc", self.doc.name)
-			
-			#update value as blank for tabDefaultValue defkey=company
-			sql("update `tabDefaultValue` set defvalue = '' where defkey='company' and defvalue = %s", self.doc.name)
-			
-			#update value as blank for tabSingles Manage Account
-			sql("update `tabSingles` set value = '' where doctype='Manage Account' and field = 'default_company' and value = %s", self.doc.name)
-
-	# Restore accounts and cost centers for this company
-	# ---------------------------------------------------
-	def on_restore(self):
-		acc = sql("select name from tabAccount where company = '%s' and docstatus = 2" % self.doc.name)
-		for each in acc:
-			get_obj('Account', each[0]).on_restore()
-			
-		cc = sql("select name from `tabCost Center` where company_name = '%s' and docstatus = 2" % self.doc.name)
-		for each in cc:
-			get_obj('Cost Center', each[0]).on_restore()
-		
-		msgprint("Company restored. All the accounts and cost centers related to this company also restored.")
-		
-	# on rename
-	# ---------
-	def on_rename(self,newdn,olddn):		
-		sql("update `tabCompany` set company_name = '%s' where name = '%s'" %(newdn,olddn))	
-		sql("update `tabSingles` set value = %s where doctype='Manage Account' and field = 'default_company' and value = %s", (newdn, olddn))	
-		if get_defaults('company') == olddn:
-			set_default('company', newdn)
diff --git a/startup/__init__.py b/startup/__init__.py
deleted file mode 100644
index 5fd6ccd..0000000
--- a/startup/__init__.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# add startup propertes
-
-add_in_head = """
-<style>
-h1, h2, h3, h4 {
-	font-family: Tahoma, Sans Serif;
-	font-weight: bold;
-}
-
-body, span, div, td, input, textarea, button, select {
-	font-family: Verdana, Arial, Sans Serif;
-}
-
-</style>
-"""
\ No newline at end of file
diff --git a/stock/Module Def/Stock/Stock.txt b/stock/Module Def/Stock/Stock.txt
deleted file mode 100644
index eae0a2e..0000000
--- a/stock/Module Def/Stock/Stock.txt
+++ /dev/null
@@ -1,421 +0,0 @@
-[
-	{
-		'_last_update': None,
-		'creation': '2011-06-30 15:49:38',
-		'disabled': 'No',
-		'docstatus': 0,
-		'doctype': u'Module Def',
-		'doctype_list': 'DocType Label, QA Inspection Report',
-		'file_list': None,
-		'idx': None,
-		'is_hidden': 'No',
-		'last_updated_date': None,
-		'modified': '2011-07-01 09:36:22',
-		'modified_by': 'Administrator',
-		'module_desc': 'Material Management',
-		'module_icon': 'Stock.gif',
-		'module_label': 'Stock',
-		'module_name': 'Stock',
-		'module_page': None,
-		'module_seq': 7,
-		'name': 'Stock',
-		'owner': 'Administrator',
-		'parent': None,
-		'parentfield': None,
-		'parenttype': None,
-		'trash_reason': None,
-		'widget_code': None
-	},
-	{
-		'click_function': None,
-		'creation': '2011-06-30 15:49:38',
-		'description': 'Item master',
-		'display_name': 'Item',
-		'doc_name': 'Item',
-		'doc_type': 'Forms',
-		'docstatus': 0,
-		'doctype': 'Module Def Item',
-		'fields': 'name\nitem_group\ndescription',
-		'hide': None,
-		'icon': None,
-		'idx': 1,
-		'modified': '2011-07-01 09:36:22',
-		'modified_by': 'Administrator',
-		'name': 'MDI01321',
-		'owner': 'Administrator',
-		'parent': 'Stock',
-		'parentfield': 'items',
-		'parenttype': 'Module Def'
-	},
-	{
-		'click_function': None,
-		'creation': '2011-06-30 15:49:38',
-		'description': 'Record of items added, removed or moved from one warehouse to another.',
-		'display_name': 'Stock Entry',
-		'doc_name': 'Stock Entry',
-		'doc_type': 'Forms',
-		'docstatus': 0,
-		'doctype': 'Module Def Item',
-		'fields': 'transfer_date\npurpose\nfrom_warehouse\nto_warehouse\nremarks',
-		'hide': None,
-		'icon': None,
-		'idx': 2,
-		'modified': '2011-07-01 09:36:22',
-		'modified_by': 'Administrator',
-		'name': 'MDI01322',
-		'owner': 'Administrator',
-		'parent': 'Stock',
-		'parentfield': 'items',
-		'parenttype': 'Module Def'
-	},
-	{
-		'click_function': None,
-		'creation': '2011-06-30 15:49:38',
-		'description': 'Record of items delivered to your customers along with the Printed Note',
-		'display_name': 'Delivery Note',
-		'doc_name': 'Delivery Note',
-		'doc_type': 'Forms',
-		'docstatus': 0,
-		'doctype': 'Module Def Item',
-		'fields': 'status\ntransaction_date\ncustomer\nterritory\ngrand_total\nper_billed',
-		'hide': None,
-		'icon': None,
-		'idx': 3,
-		'modified': '2011-07-01 09:36:22',
-		'modified_by': 'Administrator',
-		'name': 'MDI01323',
-		'owner': 'Administrator',
-		'parent': 'Stock',
-		'parentfield': 'items',
-		'parenttype': 'Module Def'
-	},
-	{
-		'click_function': None,
-		'creation': '2011-06-30 15:49:38',
-		'description': 'Record of incoming material from your suppliers',
-		'display_name': 'Purchase Receipt',
-		'doc_name': 'Purchase Receipt',
-		'doc_type': 'Forms',
-		'docstatus': 0,
-		'doctype': 'Module Def Item',
-		'fields': 'status\ntransaction_date\nsupplier\ngrand_total\nper_billed',
-		'hide': None,
-		'icon': None,
-		'idx': 4,
-		'modified': '2011-07-01 09:36:22',
-		'modified_by': 'Administrator',
-		'name': 'MDI01324',
-		'owner': 'Administrator',
-		'parent': 'Stock',
-		'parentfield': 'items',
-		'parenttype': 'Module Def'
-	},
-	{
-		'click_function': None,
-		'creation': '2011-06-30 15:49:38',
-		'description': 'Details of Installation done after delivery',
-		'display_name': 'Installation Note',
-		'doc_name': 'Installation Note',
-		'doc_type': 'Forms',
-		'docstatus': 0,
-		'doctype': 'Module Def Item',
-		'fields': None,
-		'hide': None,
-		'icon': None,
-		'idx': 5,
-		'modified': '2011-07-01 09:36:22',
-		'modified_by': 'Administrator',
-		'name': 'MDI01325',
-		'owner': 'Administrator',
-		'parent': 'Stock',
-		'parentfield': 'items',
-		'parenttype': 'Module Def'
-	},
-	{
-		'click_function': None,
-		'creation': '2011-06-30 15:49:38',
-		'description': 'Create Quality Inspection Report for any item',
-		'display_name': 'Inspection Report',
-		'doc_name': 'QA Inspection Report',
-		'doc_type': 'Forms',
-		'docstatus': 0,
-		'doctype': 'Module Def Item',
-		'fields': 'inspection_type\nitem_code\nreport_date\npurchase_receipt_no\ndelivery_note_no',
-		'hide': None,
-		'icon': None,
-		'idx': 6,
-		'modified': '2011-07-01 09:36:22',
-		'modified_by': 'Administrator',
-		'name': 'MDI01326',
-		'owner': 'Administrator',
-		'parent': 'Stock',
-		'parentfield': 'items',
-		'parenttype': 'Module Def'
-	},
-	{
-		'click_function': None,
-		'creation': '2011-06-30 15:49:38',
-		'description': 'Reconcile your stock by uploading it form an excel file',
-		'display_name': 'Stock Reconciliation',
-		'doc_name': 'Stock Reconciliation',
-		'doc_type': 'Forms',
-		'docstatus': 0,
-		'doctype': 'Module Def Item',
-		'fields': 'reconciliation_date\nreconciliation_time\nremark',
-		'hide': None,
-		'icon': None,
-		'idx': 7,
-		'modified': '2011-07-01 09:36:22',
-		'modified_by': 'Administrator',
-		'name': 'MDI01327',
-		'owner': 'Administrator',
-		'parent': 'Stock',
-		'parentfield': 'items',
-		'parenttype': 'Module Def'
-	},
-	{
-		'click_function': None,
-		'creation': '2011-06-30 15:49:38',
-		'description': 'This utility tool will update Stock UOM in Item and will respectively update Actual Qty in Stock Ledger as per Conversion Factor.',
-		'display_name': 'Stock UOM Replace Utility',
-		'doc_name': 'Stock UOM Replace Utility',
-		'doc_type': 'Single DocType',
-		'docstatus': 0,
-		'doctype': 'Module Def Item',
-		'fields': None,
-		'hide': None,
-		'icon': None,
-		'idx': 8,
-		'modified': '2011-07-01 09:36:22',
-		'modified_by': 'Administrator',
-		'name': 'MDI01328',
-		'owner': 'Administrator',
-		'parent': 'Stock',
-		'parentfield': 'items',
-		'parenttype': 'Module Def'
-	},
-	{
-		'click_function': None,
-		'creation': '2011-06-30 15:49:38',
-		'description': 'This utility will help in tracking stock for Sales Return and Purchase Return.',
-		'display_name': 'Sales and Purchase Return Wizard',
-		'doc_name': 'Sales and Purchase Return Wizard',
-		'doc_type': 'Single DocType',
-		'docstatus': 0,
-		'doctype': 'Module Def Item',
-		'fields': None,
-		'hide': None,
-		'icon': None,
-		'idx': 9,
-		'modified': '2011-07-01 09:36:22',
-		'modified_by': 'Administrator',
-		'name': 'MDI01329',
-		'owner': 'Administrator',
-		'parent': 'Stock',
-		'parentfield': 'items',
-		'parenttype': 'Module Def'
-	},
-	{
-		'click_function': None,
-		'creation': '2011-06-30 18:57:58',
-		'description': 'You can create master template for landed cost wizard',
-		'display_name': 'Landed Cost Master',
-		'doc_name': 'Landed Cost Master',
-		'doc_type': 'Forms',
-		'docstatus': 0,
-		'doctype': 'Module Def Item',
-		'fields': None,
-		'hide': None,
-		'icon': 'accept.gif',
-		'idx': 10,
-		'modified': '2011-07-01 09:36:22',
-		'modified_by': 'Administrator',
-		'name': 'MDI01372',
-		'owner': 'Administrator',
-		'parent': 'Stock',
-		'parentfield': 'items',
-		'parenttype': 'Module Def'
-	},
-	{
-		'click_function': None,
-		'creation': '2011-06-30 18:57:58',
-		'description': 'Add extra expenses into Purchase Receipt which should be consider for item valuation. The cost will be added proportionately as per purchase receipt value.',
-		'display_name': 'Landed Cost Wizard',
-		'doc_name': 'Landed Cost Wizard',
-		'doc_type': 'Forms',
-		'docstatus': 0,
-		'doctype': 'Module Def Item',
-		'fields': None,
-		'hide': None,
-		'icon': 'accept.gif',
-		'idx': 11,
-		'modified': '2011-07-01 09:36:22',
-		'modified_by': 'Administrator',
-		'name': 'MDI01371',
-		'owner': 'Administrator',
-		'parent': 'Stock',
-		'parentfield': 'items',
-		'parenttype': 'Module Def'
-	},
-	{
-		'click_function': None,
-		'creation': '2011-06-30 15:49:38',
-		'description': None,
-		'display_name': 'Stock Ledger',
-		'doc_name': 'Stock Ledger Entry',
-		'doc_type': 'Reports',
-		'docstatus': 0,
-		'doctype': 'Module Def Item',
-		'fields': None,
-		'hide': None,
-		'icon': None,
-		'idx': 12,
-		'modified': '2011-07-01 09:36:22',
-		'modified_by': 'Administrator',
-		'name': 'MDI01330',
-		'owner': 'Administrator',
-		'parent': 'Stock',
-		'parentfield': 'items',
-		'parenttype': 'Module Def'
-	},
-	{
-		'click_function': None,
-		'creation': '2011-06-30 15:49:38',
-		'description': None,
-		'display_name': 'Stock Level',
-		'doc_name': 'Bin',
-		'doc_type': 'Reports',
-		'docstatus': 0,
-		'doctype': 'Module Def Item',
-		'fields': None,
-		'hide': None,
-		'icon': None,
-		'idx': 13,
-		'modified': '2011-07-01 09:36:22',
-		'modified_by': 'Administrator',
-		'name': 'MDI01331',
-		'owner': 'Administrator',
-		'parent': 'Stock',
-		'parentfield': 'items',
-		'parenttype': 'Module Def'
-	},
-	{
-		'click_function': None,
-		'creation': '2011-06-30 15:49:38',
-		'description': None,
-		'display_name': 'Shortage To Indent',
-		'doc_name': 'Item',
-		'doc_type': 'Reports',
-		'docstatus': 0,
-		'doctype': 'Module Def Item',
-		'fields': None,
-		'hide': None,
-		'icon': None,
-		'idx': 14,
-		'modified': '2011-07-01 09:36:22',
-		'modified_by': 'Administrator',
-		'name': 'MDI01332',
-		'owner': 'Administrator',
-		'parent': 'Stock',
-		'parentfield': 'items',
-		'parenttype': 'Module Def'
-	},
-	{
-		'click_function': None,
-		'creation': '2011-06-30 15:49:38',
-		'description': 'Stock Value as per Item and Warehouse',
-		'display_name': 'Stock Report',
-		'doc_name': 'Stock Ledger Entry',
-		'doc_type': 'Reports',
-		'docstatus': 0,
-		'doctype': 'Module Def Item',
-		'fields': None,
-		'hide': None,
-		'icon': None,
-		'idx': 15,
-		'modified': '2011-07-01 09:36:22',
-		'modified_by': 'Administrator',
-		'name': 'MDI01333',
-		'owner': 'Administrator',
-		'parent': 'Stock',
-		'parentfield': 'items',
-		'parenttype': 'Module Def'
-	},
-	{
-		'click_function': None,
-		'creation': '2011-06-30 15:49:38',
-		'description': None,
-		'display_name': 'Stock Aging Report',
-		'doc_name': 'Serial No',
-		'doc_type': 'Reports',
-		'docstatus': 0,
-		'doctype': 'Module Def Item',
-		'fields': None,
-		'hide': None,
-		'icon': None,
-		'idx': 16,
-		'modified': '2011-07-01 09:36:22',
-		'modified_by': 'Administrator',
-		'name': 'MDI01334',
-		'owner': 'Administrator',
-		'parent': 'Stock',
-		'parentfield': 'items',
-		'parenttype': 'Module Def'
-	},
-	{
-		'creation': '2011-06-30 15:49:38',
-		'docstatus': 0,
-		'doctype': 'Module Def Role',
-		'idx': 1,
-		'modified': '2011-07-01 09:36:22',
-		'modified_by': 'Administrator',
-		'name': 'MDR00336',
-		'owner': 'Administrator',
-		'parent': 'Stock',
-		'parentfield': 'roles',
-		'parenttype': 'Module Def',
-		'role': 'Material User'
-	},
-	{
-		'creation': '2011-06-30 15:49:38',
-		'docstatus': 0,
-		'doctype': 'Module Def Role',
-		'idx': 2,
-		'modified': '2011-07-01 09:36:22',
-		'modified_by': 'Administrator',
-		'name': 'MDR00337',
-		'owner': 'Administrator',
-		'parent': 'Stock',
-		'parentfield': 'roles',
-		'parenttype': 'Module Def',
-		'role': 'Material Master Manager'
-	},
-	{
-		'creation': '2011-06-30 15:49:38',
-		'docstatus': 0,
-		'doctype': 'Module Def Role',
-		'idx': 3,
-		'modified': '2011-07-01 09:36:22',
-		'modified_by': 'Administrator',
-		'name': 'MDR00338',
-		'owner': 'Administrator',
-		'parent': 'Stock',
-		'parentfield': 'roles',
-		'parenttype': 'Module Def',
-		'role': 'Material Manager'
-	},
-	{
-		'creation': '2011-06-30 15:49:38',
-		'docstatus': 0,
-		'doctype': 'Module Def Role',
-		'idx': 4,
-		'modified': '2011-07-01 09:36:22',
-		'modified_by': 'Administrator',
-		'name': 'MDR00339',
-		'owner': 'Administrator',
-		'parent': 'Stock',
-		'parentfield': 'roles',
-		'parenttype': 'Module Def',
-		'role': 'Quality Manager'
-	}
-]
\ No newline at end of file
diff --git a/stock/doctype/delivery_note/delivery_note.py b/stock/doctype/delivery_note/delivery_note.py
deleted file mode 100644
index 6d48914..0000000
--- a/stock/doctype/delivery_note/delivery_note.py
+++ /dev/null
@@ -1,481 +0,0 @@
-# Please edit this list and import only required elements
-import webnotes
-
-from webnotes.utils import add_days, add_months, add_years, cint, cstr, date_diff, default_fields, flt, fmt_money, formatdate, generate_hash, getTraceback, get_defaults, get_first_day, get_last_day, getdate, has_common, month_name, now, nowdate, replace_newlines, sendmail, set_default, str_esc_quote, user_format, validate_email_add
-from webnotes.model import db_exists
-from webnotes.model.doc import Document, addchild, removechild, getchildren, make_autoname, SuperDocType
-from webnotes.model.doclist import getlist, copy_doclist
-from webnotes.model.code import get_obj, get_server_obj, run_server_obj, updatedb, check_syntax
-from webnotes import session, form, is_testing, msgprint, errprint
-
-set = webnotes.conn.set
-sql = webnotes.conn.sql
-get_value = webnotes.conn.get_value
-in_transaction = webnotes.conn.in_transaction
-convert_to_lists = webnotes.conn.convert_to_lists
-
-# -----------------------------------------------------------------------------------------
-
-from utilities.transaction_base import TransactionBase
-
-class DocType(TransactionBase):
-  def __init__(self, doc, doclist=[]):
-    self.doc = doc
-    self.doclist = doclist
-    self.tname = 'Delivery Note Detail'
-    self.fname = 'delivery_note_details'
-
-    # Notification objects
-    self.notify_obj = get_obj('Notification Control')
-
-  # Autoname
-  # ---------
-  def autoname(self):
-    self.doc.name = make_autoname(self.doc.naming_series+'.#####')
-
-
-# DOCTYPE TRIGGERS FUNCTIONS
-# ==============================================================================
-#************Fiscal Year Validation*****************************
-  def validate_fiscal_year(self):
-    get_obj('Sales Common').validate_fiscal_year(self.doc.fiscal_year,self.doc.posting_date,'Posting Date')
-
-
-  # ****** Get contact person details based on customer selected ****
-  def get_contact_details(self):
-    return get_obj('Sales Common').get_contact_details(self,0)
-
-  # *********** Get Commission rate of Sales Partner ****************
-  def get_comm_rate(self, sales_partner):
-    return get_obj('Sales Common').get_comm_rate(sales_partner, self)
-
-  # *************** Pull Sales Order Details ************************
-  def pull_sales_order_details(self):
-    self.validate_prev_docname()
-    self.doc.clear_table(self.doclist,'other_charges')
-
-    if self.doc.sales_order_no:
-      get_obj('DocType Mapper', 'Sales Order-Delivery Note').dt_map('Sales Order', 'Delivery Note', self.doc.sales_order_no, self.doc, self.doclist, "[['Sales Order', 'Delivery Note'],['Sales Order Detail', 'Delivery Note Detail'],['RV Tax Detail','RV Tax Detail'],['Sales Team','Sales Team']]")
-    else:
-      msgprint("Please select Sales Order No. whose details need to be pulled")
-
-    return cstr(self.doc.sales_order_no)
-
-
-
-  #-------------------set item details -uom and item group----------------
-  def set_item_details(self):
-    for d in getlist(self.doclist,'delivery_note_details'):
-      res = sql("select stock_uom, item_group from `tabItem` where name ='%s'"%d.item_code)
-      if not d.stock_uom:    d.stock_uom = res and cstr(res[0][0]) or ''
-      if not d.item_group:   d.item_group = res and cstr(res[0][1]) or ''
-      d.save()
-
-  # ::::: Validates that Sales Order is not pulled twice :::::::
-  def validate_prev_docname(self):
-    for d in getlist(self.doclist, 'delivery_note_details'):
-      if self.doc.sales_order_no == d.prevdoc_docname:
-        msgprint(cstr(self.doc.sales_order_no) + " sales order details have already been pulled. ")
-        raise Exception, "Validation Error. "
-
-  #Set Actual Qty based on item code and warehouse
-  #------------------------------------------------------
-  def set_actual_qty(self):
-    for d in getlist(self.doclist, 'delivery_note_details'):
-      if d.item_code and d.warehouse:
-        actual_qty = sql("select actual_qty from `tabBin` where item_code = '%s' and warehouse = '%s'" % (d.item_code, d.warehouse))
-        d.actual_qty = actual_qty and flt(actual_qty[0][0]) or 0
-
-
-  # GET TERMS & CONDITIONS
-  # -------------------------------------
-  def get_tc_details(self):
-    return get_obj('Sales Common').get_tc_details(self)
-
-  #pull project customer
-  #-------------------------
-  def pull_project_customer(self):
-    res = sql("select customer from `tabProject` where name = '%s'"%self.doc.project_name)
-    if res:
-      get_obj('DocType Mapper', 'Project-Delivery Note').dt_map('Project', 'Delivery Note', self.doc.project_name, self.doc, self.doclist, "[['Project', 'Delivery Note']]")
-
-# DELIVERY NOTE DETAILS TRIGGER FUNCTIONS
-# ================================================================================
-
-  # ***************** Get Item Details ******************************
-  def get_item_details(self, item_code):
-    return get_obj('Sales Common').get_item_details(item_code, self)
-
-  # *** Re-calculates Basic Rate & amount based on Price List Selected ***
-  def get_adj_percent(self, arg=''):
-    get_obj('Sales Common').get_adj_percent(self)
-
-  # ********** Get Actual Qty of item in warehouse selected *************
-  def get_actual_qty(self,args):
-    args = eval(args)
-    actual_qty = sql("select actual_qty from `tabBin` where item_code = '%s' and warehouse = '%s'" % (args['item_code'], args['warehouse']), as_dict=1)
-    ret = {
-       'actual_qty' : actual_qty and flt(actual_qty[0]['actual_qty']) or 0
-    }
-    return ret
-
-
-# OTHER CHARGES TRIGGER FUNCTIONS
-# ====================================================================================
-
-  # *********** Get Tax rate if account type is TAX ********************
-  def get_rate(self,arg):
-    return get_obj('Sales Common').get_rate(arg)
-
-  # Load Default Charges
-  # ----------------------------------------------------------
-  def load_default_taxes(self):
-    return get_obj('Sales Common').load_default_taxes(self)
-
-
-  # **** Pull details from other charges master (Get Other Charges) ****
-  def get_other_charges(self):
-    return get_obj('Sales Common').get_other_charges(self)
-
-
-  #check in manage account if sales order required or not.
-  # ====================================================================================
-  def so_required(self):
-    res = sql("select value from `tabSingles` where doctype = 'Manage Account' and field = 'so_required'")
-    if res and res[0][0] == 'Yes':
-       for d in getlist(self.doclist,'delivery_note_details'):
-         if not d.prevdoc_docname:
-           msgprint("Sales Order No. required against item %s"%d.item_code)
-           raise Exception
-
-
-
-# VALIDATE
-# ====================================================================================
-  def validate(self):
-    self.so_required()
-    self.validate_fiscal_year()
-    self.validate_proj_cust()
-    sales_com_obj = get_obj(dt = 'Sales Common')
-    sales_com_obj.check_stop_sales_order(self)
-    sales_com_obj.check_active_sales_items(self)
-    sales_com_obj.get_prevdoc_date(self)
-    self.validate_mandatory()
-    #self.validate_prevdoc_details()
-    self.validate_reference_value()
-    self.validate_for_items()
-    sales_com_obj.make_packing_list(self,'delivery_note_details')
-    get_obj('Stock Ledger').validate_serial_no(self, 'packing_details')
-    sales_com_obj.validate_max_discount(self, 'delivery_note_details')             #verify whether rate is not greater than max discount
-    sales_com_obj.get_allocated_sum(self)  # this is to verify that the allocated % of sales persons is 100%
-    sales_com_obj.check_conversion_rate(self)
-    # ::::::: Get total in Words ::::::::
-    dcc = TransactionBase().get_company_currency(self.doc.company)
-    self.doc.in_words = sales_com_obj.get_total_in_words(dcc, self.doc.rounded_total)
-    self.doc.in_words_export = sales_com_obj.get_total_in_words(self.doc.currency, self.doc.rounded_total_export)
-
-    # ::::::: Set Net Weight of each Packing
-    self.update_pack_nett_weight()
-    self.print_packing_slip()
-    # ::::::: Set actual qty for each item in selected warehouse :::::::
-    self.update_current_stock()
-    # :::::: set DN status :::::::
-
-    self.doc.status = 'Draft'
-    if not self.doc.billing_status: self.doc.billing_status = 'Not Billed'
-    if not self.doc.installation_status: self.doc.installation_status = 'Not Installed'
-
-  # ************** Validate Mandatory *************************
-  def validate_mandatory(self):
-    # :::::::::: Amendment Date ::::::::::::::
-    if self.doc.amended_from and not self.doc.amendment_date:
-      msgprint("Please Enter Amendment Date")
-      raise Exception, "Validation Error. "
-
-  #check for does customer belong to same project as entered..
-  #-------------------------------------------------------------------------------------------------
-  def validate_proj_cust(self):
-    if self.doc.project_name and self.doc.customer:
-      res = sql("select name from `tabProject` where name = '%s' and (customer = '%s' or ifnull(customer,'')='')"%(self.doc.project_name, self.doc.customer))
-      if not res:
-        msgprint("Customer - %s does not belong to project - %s. \n\nIf you want to use project for multiple customers then please make customer details blank in project - %s."%(self.doc.customer,self.doc.project_name,self.doc.project_name))
-        raise Exception
-
-  # Validate values with reference document
-  #----------------------------------------
-  def validate_reference_value(self):
-    get_obj('DocType Mapper', 'Sales Order-Delivery Note', with_children = 1).validate_reference_value(self, self.doc.name)
-
-
-  # ******* Validate Previous Document Details ************
-  def validate_prevdoc_details(self):
-    for d in getlist(self.doclist,'delivery_note_details'):
-
-      prevdoc = d.prevdoc_doctype
-      prevdoc_docname = d.prevdoc_docname
-
-      if prevdoc_docname and prevdoc:
-        # ::::::::::: Validates Transaction Date of DN and previous doc (i.e. SO , PO, PR) *********
-        trans_date = sql("select transaction_date from `tab%s` where name = '%s'" %(prevdoc,prevdoc_docname))[0][0]
-        if trans_date and getdate(self.doc.transaction_date) < (trans_date):
-          msgprint("Your Voucher Date cannot be before "+cstr(prevdoc)+" Date.")
-          raise Exception
-        # ::::::::: Validates DN and previous doc details ::::::::::::::::::
-        get_name = sql("select name from `tab%s` where name = '%s'" % (prevdoc, prevdoc_docname))
-        name = get_name and get_name[0][0] or ''
-        if name:  #check for incorrect docname
-          if prevdoc == 'Sales Order':
-            dt = sql("select company, docstatus, customer, currency, sales_partner from `tab%s` where name = '%s'" % (prevdoc, name))
-            cust_name = dt and dt[0][2] or ''
-            if cust_name != self.doc.customer:
-              msgprint(cstr(prevdoc) + ": " + cstr(prevdoc_docname) + " customer :" + cstr(cust_name) + " does not match with customer : " + cstr(self.doc.customer) + " of current document.")
-              raise Exception, "Validation Error. "
-            sal_partner = dt and dt[0][4] or ''
-            if sal_partner != self.doc.sales_partner:
-              msgprint(cstr(prevdoc) + ": " + cstr(prevdoc_docname) + " sales partner name :" + cstr(sal_partner) + " does not match with sales partner name : " + cstr(self.doc.sales_partner_name) + " of current document.")
-              raise Exception, "Validation Error. "
-          else:
-            dt = sql("select company, docstatus, supplier, currency from `tab%s` where name = '%s'" % (prevdoc, name))
-            supp_name = dt and dt[0][2] or ''
-            company_name = dt and dt[0][0] or ''
-            docstatus = dt and dt[0][1] or 0
-            currency = dt and dt[0][3] or ''
-            if (currency != self.doc.currency):
-              msgprint(cstr(prevdoc) + ": " + cstr(prevdoc_docname) + " currency : "+ cstr(currency) + "does not match with Currency: " + cstr(self.doc.currency) + "of current document")
-              raise Exception, "Validation Error."
-            if (company_name != self.doc.company):
-              msgprint(cstr(prevdoc) + ": " + cstr(prevdoc_docname) + " does not belong to the Company: " + cstr(self.doc.company_name))
-              raise Exception, "Validation Error."
-            if (docstatus != 1):
-              msgprint(cstr(prevdoc) + ": " + cstr(prevdoc_docname) + " is not Submitted Document.")
-              raise Exception, "Validation Error."
-        else:
-          msgprint(cstr(prevdoc) + ": " + cstr(prevdoc_docname) + " is not a valid " + cstr(prevdoc))
-          raise Exception, "Validation Error."
-
-
-  # ******************** Validate Items **************************
-  def validate_for_items(self):
-    check_list, chk_dupl_itm = [], []
-    for d in getlist(self.doclist,'delivery_note_details'):
-      ch = sql("select is_stock_item from `tabItem` where name = '%s'"%d.item_code)
-      if d.prevdoc_doctype and d.prevdoc_detail_docname and ch and ch[0][0]=='Yes':
-        self.validate_items_with_prevdoc(d)
-
-      # validates whether item is not entered twice
-      e = [d.item_code, d.description, d.warehouse, d.prevdoc_docname or '', d.batch_no or '']
-      f = [d.item_code, d.description, d.prevdoc_docname or '']
-
-      if ch and ch[0][0] == 'Yes':
-        if e in check_list:
-          msgprint("Please check whether item %s has been entered twice wrongly." % d.item_code)
-        else:
-          check_list.append(e)
-      elif ch and ch[0][0] == 'No':
-        if f in chk_dupl_itm:
-          msgprint("Please check whether item %s has been entered twice wrongly." % d.item_code)
-        else:
-          chk_dupl_itm.append(f)
-
-
-  # check if same item, warehouse present in prevdoc
-  # ------------------------------------------------------------------
-  def validate_items_with_prevdoc(self, d):
-    if d.prevdoc_doctype == 'Sales Order':
-      data = sql("select item_code, reserved_warehouse from `tabSales Order Detail` where parent = '%s' and name = '%s'" % (d.prevdoc_docname, d.prevdoc_detail_docname))
-    if d.prevdoc_doctype == 'Purchase Receipt':
-      data = sql("select item_code, rejected_warehouse from `tabPurchase Receipt Detail` where parent = '%s' and name = '%s'" % (d.prevdoc_docname, d.prevdoc_detail_docname))
-    if not data or data[0][0] != d.item_code or data[0][1] != d.warehouse:
-      msgprint("Item: %s / Warehouse: %s is not matching with Sales Order: %s. Sales Order might be modified after fetching data from it. Please delete items and fetch again." % (d.item_code, d.warehouse, d.prevdoc_docname))
-      raise Exception
-
-
-  # ********* UPDATE CURRENT STOCK *****************************
-  def update_current_stock(self):
-    for d in getlist(self.doclist, 'delivery_note_details'):
-      bin = sql("select actual_qty from `tabBin` where item_code = %s and warehouse = %s", (d.item_code, d.warehouse), as_dict = 1)
-      d.actual_qty = bin and flt(bin[0]['actual_qty']) or 0
-
-    for d in getlist(self.doclist, 'packing_details'):
-      bin = sql("select actual_qty, projected_qty from `tabBin` where item_code =  %s and warehouse = %s", (d.item_code, d.warehouse), as_dict = 1)
-      d.actual_qty = bin and flt(bin[0]['actual_qty']) or 0
-      d.projected_qty = bin and flt(bin[0]['projected_qty']) or 0
-
-
-# ON SUBMIT
-# =================================================================================================
-  def on_submit(self):
-    set(self.doc, 'message', 'Items against your Order #%s have been delivered. Delivery #%s: ' % (self.doc.po_no, self.doc.name))
-    self.check_qty_in_stock()
-    # Check for Approving Authority
-    get_obj('Authorization Control').validate_approving_authority(self.doc.doctype, self.doc.company, self.doc.grand_total, self)
-    sl_obj = get_obj("Stock Ledger")
-    sl_obj.validate_serial_no_warehouse(self, 'packing_details')
-    sl_obj.update_serial_record(self, 'packing_details', is_submit = 1, is_incoming = 0)
-    get_obj("Sales Common").update_prevdoc_detail(1,self)
-    self.update_stock_ledger(update_stock = 1)
-
-    #------------Check Credit Limit---------------------
-    self.credit_limit()
-
-    # set DN status
-    set(self.doc, 'status', 'Submitted')
-
-    # on submit notification
-    self.notify_obj.notify_contact('Delivery Note',self.doc.doctype,self.doc.name, self.doc.email_id, self.doc.contact_person)
-
-
-  # *********** Checks whether actual quantity is present in warehouse *************
-  def check_qty_in_stock(self):
-    for d in getlist(self.doclist, 'packing_details'):
-      is_stock_item = sql("select is_stock_item from `tabItem` where name = '%s'" % d.item_code)[0][0]
-      if is_stock_item == 'Yes' and d.warehouse and flt(d.qty) > flt(d.actual_qty):
-        msgprint("For Item: " + cstr(d.item_code) + " at Warehouse: " + cstr(d.warehouse) + " Quantity: " + cstr(d.qty) +" is not Available. (Must be less than or equal to " + cstr(d.actual_qty) + " )")
-        raise Exception, "Validation Error"
-
-
-
-# ON CANCEL
-# =================================================================================================
-  def on_cancel(self):
-    sales_com_obj = get_obj(dt = 'Sales Common')
-    sales_com_obj.check_stop_sales_order(self)
-    self.check_next_docstatus()
-    get_obj('Stock Ledger').update_serial_record(self, 'packing_details', is_submit = 0, is_incoming = 0)
-    sales_com_obj.update_prevdoc_detail(0,self)
-    self.update_stock_ledger(update_stock = -1)
-    # :::::: set DN status :::::::
-    set(self.doc, 'status', 'Cancelled')
-
-
-  # ******************** Check Next DocStatus **************************
-  def check_next_docstatus(self):
-    submit_rv = sql("select t1.name from `tabReceivable Voucher` t1,`tabRV Detail` t2 where t1.name = t2.parent and t2.delivery_note = '%s' and t1.docstatus = 1" % (self.doc.name))
-    if submit_rv:
-      msgprint("Sales Invoice : " + cstr(submit_rv[0][0]) + " has already been submitted !")
-      raise Exception , "Validation Error."
-
-    submit_in = sql("select t1.name from `tabInstallation Note` t1, `tabInstalled Item Details` t2 where t1.name = t2.parent and t2.prevdoc_docname = '%s' and t1.docstatus = 1" % (self.doc.name))
-    if submit_in:
-      msgprint("Installation Note : "+cstr(submit_in[0][0]) +" has already been submitted !")
-      raise Exception , "Validation Error."
-
-
-# UPDATE STOCK LEDGER
-# =================================================================================================
-  def update_stock_ledger(self, update_stock, is_stopped = 0):
-    self.values = []
-    for d in self.get_item_list(is_stopped):
-      stock_item = sql("SELECT is_stock_item, is_sample_item FROM tabItem where name = '%s'"%(d[1]), as_dict = 1) # stock ledger will be updated only if it is a stock item
-      if stock_item[0]['is_stock_item'] == "Yes":
-        if not d[0]:
-          msgprint("Message: Please enter Warehouse for item %s as it is stock item."% d[1])
-          raise Exception
-        # if prevdoc_doctype = "Sales Order"
-        if d[3] < 0 :
-          # Reduce Reserved Qty from warehouse
-          bin = get_obj('Warehouse', d[0]).update_bin(0, flt(update_stock) * flt(d[3]), 0, 0, 0, d[1], self.doc.transaction_date)
-
-        # Reduce actual qty from warehouse
-        self.make_sl_entry(d, d[0], - flt(d[2]) , 0, update_stock)
-    get_obj('Stock Ledger', 'Stock Ledger').update_stock(self.values)
-
-
-  # ***************** Gets Items from packing list *****************
-  def get_item_list(self, is_stopped):
-   return get_obj('Sales Common').get_item_list(self, is_stopped)
-
-
-  # ********************** Make Stock Entry ************************************
-  def make_sl_entry(self, d, wh, qty, in_value, update_stock):
-    self.values.append({
-      'item_code'           : d[1],
-      'warehouse'           : wh,
-      'transaction_date'    : self.doc.transaction_date,
-      'posting_date'        : self.doc.posting_date,
-      'posting_time'        : self.doc.posting_time,
-      'voucher_type'        : 'Delivery Note',
-      'voucher_no'          : self.doc.name,
-      'voucher_detail_no'   : '',
-      'actual_qty'          : qty,
-      'stock_uom'           : d[4],
-      'incoming_rate'       : in_value,
-      'company'             : self.doc.company,
-      'fiscal_year'         : self.doc.fiscal_year,
-      'is_cancelled'        : (update_stock==1) and 'No' or 'Yes',
-      'batch_no'            : d[5],
-      'serial_no'           : d[6]
-    })
-
-
-  # SEND SMS
-  # ============================================================================================
-  def send_sms(self):
-    if not self.doc.customer_mobile_no:
-      msgprint("Please enter customer mobile no")
-    elif not self.doc.message:
-      msgprint("Please enter the message you want to send")
-    else:
-      msgprint(get_obj("SMS Control", "SMS Control").send_sms([self.doc.customer_mobile_no,], self.doc.message))
-
-
-#------------ check credit limit of items in DN Detail which are not fetched from sales order----------
-  def credit_limit(self):
-    amount, total = 0, 0
-    for d in getlist(self.doclist, 'delivery_note_details'):
-      if not d.prevdoc_docname:
-        amount += d.amount
-    if amount != 0:
-      total = (amount/self.doc.net_total)*self.doc.grand_total
-      get_obj('Sales Common').check_credit(self, total)
-
-  # on update
-  def on_update(self):
-    self.set_actual_qty()
-    get_obj('Stock Ledger').scrub_serial_nos(self)
-
-  # Repair Delivery Note
-  # ===========================================
-  def repair_delivery_note(self):
-    get_obj('Sales Common', 'Sales Common').repair_curr_doctype_details(self)
-
-  # Packing Slip Related
-  # ==========================================
-  def update_pack_nett_weight(self):
-      for d in getlist(self.doclist, 'delivery_note_details'):
-        if d.item_code:
-          item_wt = sql("select nett_weight from `tabItem` where name = %s", (d.item_code))
-          d.pack_nett_wt = item_wt and flt(item_wt[0][0])*flt(d.qty) or 0
-
-  # ==========================================
-  def print_packing_slip(self):
-    prev_pack='0'
-    sno=0
-    html=''
-    tot_nett_wt,tot_gross_wt=0,0
-    for d in getlist(self.doclist, 'delivery_note_details'):
-      sno=sno+1
-      if sno!=1:#Footer goes here
-        html+='</table><table width="100%"><tr><td>CASE NO</td><td>'+cstr(d.pack_no)+'</td><td>NETT WT</td><td>'+cstr(tot_nett_wt)+'</td><td>CHECKED BY</td><td></td></tr><tr><td>SIZE</td><td></td><td>GROSS WT</td><td>'+cstr(tot_gross_wt)+'</td><td>PACKED BY</td><td></td></tr></table>'
-      if prev_pack!=d.pack_no: #Prepare Header Here
-        #Header code goes here
-        html+='<div align="center">[HEADER GOES HERE]</div><div><center><h2>Packing Slip</h2></center></div> <table width="100%"><tr><td>Order No.</td><td>'+cstr(self.doc.sales_order_no)+'</td><td>Shipping Marks</td><td>'+cstr(d.pack_no)+'</td></tr></table>'
-        html+='<table class="cust_tbl" style="page-break-after:always" width="100%"><tr><td>S.NO.</td><td>QUANTITY</td><td>CS.NO.</td><td>DESCRIPTION</td><td>WEIGHT</td><tr>'
-        sno=0
-        tot_nett_wt,to_gross_wt=flt(d.pack_nett_wt),flt(d.pack_gross_wt)
-      #Body code goes here
-      html+='<tr><td>'+cstr(sno+1)+'</td><td>'+cstr(d.qty)+'</td><td></td><td>'+d.item_code+'</td><td>'+cstr(d.pack_nett_wt)+'</td></tr>'
-      prev_pack=d.pack_no
-      tot_nett_wt+=flt(d.pack_nett_wt)
-      tot_gross_wt+=flt(d.pack_gross_wt)
-    html+='</html>'
-    self.doc.print_packing_slip=html
-
-
-
-
-
-
-
-
-
diff --git a/support/Module Def/Support/Support.txt b/support/Module Def/Support/Support.txt
deleted file mode 100644
index 9b39572..0000000
--- a/support/Module Def/Support/Support.txt
+++ /dev/null
@@ -1,281 +0,0 @@
-[
-	{
-		'_last_update': None,
-		'creation': '2011-06-30 15:51:59',
-		'disabled': 'No',
-		'docstatus': 0,
-		'doctype': u'Module Def',
-		'doctype_list': 'DocType Label, Ticket',
-		'file_list': None,
-		'idx': None,
-		'is_hidden': 'No',
-		'last_updated_date': None,
-		'modified': '2011-07-01 09:36:38',
-		'modified_by': 'Administrator',
-		'module_desc': 'Manage maintenance quotes, orders, schedule etc.',
-		'module_icon': 'Maintenance.gif',
-		'module_label': 'Support',
-		'module_name': 'Support',
-		'module_page': None,
-		'module_seq': 8,
-		'name': 'Support',
-		'owner': 'Administrator',
-		'parent': None,
-		'parentfield': None,
-		'parenttype': None,
-		'trash_reason': None,
-		'widget_code': None
-	},
-	{
-		'click_function': None,
-		'creation': '2011-06-30 15:51:59',
-		'description': 'A unique number identifying each entity of an item',
-		'display_name': 'Serial No',
-		'doc_name': 'Serial No',
-		'doc_type': 'Forms',
-		'docstatus': 0,
-		'doctype': 'Module Def Item',
-		'fields': 'item_code\nstatus\npr_no\ndelivery_note_no\ncustomer',
-		'hide': None,
-		'icon': None,
-		'idx': 1,
-		'modified': '2011-07-01 09:36:38',
-		'modified_by': 'Administrator',
-		'name': 'MDI01361',
-		'owner': 'Administrator',
-		'parent': 'Support',
-		'parentfield': 'items',
-		'parenttype': 'Module Def'
-	},
-	{
-		'click_function': None,
-		'creation': '2011-06-30 15:51:59',
-		'description': "Database of Support Ticket's raised by Customers",
-		'display_name': 'Support Ticket',
-		'doc_name': 'Support Ticket',
-		'doc_type': 'Forms',
-		'docstatus': 0,
-		'doctype': 'Module Def Item',
-		'fields': 'status\nopening_date\ncustomer\nallocated_to',
-		'hide': None,
-		'icon': None,
-		'idx': 2,
-		'modified': '2011-07-01 09:36:38',
-		'modified_by': 'Administrator',
-		'name': 'MDI01362',
-		'owner': 'Administrator',
-		'parent': 'Support',
-		'parentfield': 'items',
-		'parenttype': 'Module Def'
-	},
-	{
-		'click_function': None,
-		'creation': '2011-06-30 15:51:59',
-		'description': 'Create schedule based on maintenance order',
-		'display_name': 'Maintenance Schedule',
-		'doc_name': 'Maintenance Schedule',
-		'doc_type': 'Forms',
-		'docstatus': 0,
-		'doctype': 'Module Def Item',
-		'fields': 'status\ntransaction_date\ncustomer\nsales_order_no',
-		'hide': None,
-		'icon': None,
-		'idx': 3,
-		'modified': '2011-07-01 09:36:38',
-		'modified_by': 'Administrator',
-		'name': 'MDI01363',
-		'owner': 'Administrator',
-		'parent': 'Support',
-		'parentfield': 'items',
-		'parenttype': 'Module Def'
-	},
-	{
-		'click_function': None,
-		'creation': '2011-06-30 15:51:59',
-		'description': 'Database of issues raised your Customers',
-		'display_name': 'Customer Issue',
-		'doc_name': 'Customer Issue',
-		'doc_type': 'Forms',
-		'docstatus': 0,
-		'doctype': 'Module Def Item',
-		'fields': 'status\ncomplaint_date\ncustomer\nallocated_to\nallocated_on',
-		'hide': None,
-		'icon': None,
-		'idx': 4,
-		'modified': '2011-07-01 09:36:38',
-		'modified_by': 'Administrator',
-		'name': 'MDI01364',
-		'owner': 'Administrator',
-		'parent': 'Support',
-		'parentfield': 'items',
-		'parenttype': 'Module Def'
-	},
-	{
-		'click_function': None,
-		'creation': '2011-06-30 15:51:59',
-		'description': None,
-		'display_name': 'Maintenance Visit',
-		'doc_name': 'Maintenance Visit',
-		'doc_type': 'Forms',
-		'docstatus': 0,
-		'doctype': 'Module Def Item',
-		'fields': 'status\nmntc_date\ncustomer\nmaintenance_type\ncompletion_status',
-		'hide': None,
-		'icon': None,
-		'idx': 5,
-		'modified': '2011-07-01 09:36:38',
-		'modified_by': 'Administrator',
-		'name': 'MDI01365',
-		'owner': 'Administrator',
-		'parent': 'Support',
-		'parentfield': 'items',
-		'parenttype': 'Module Def'
-	},
-	{
-		'click_function': None,
-		'creation': '2011-06-30 15:51:59',
-		'description': 'List of all scheduled mainteance. You can filter by sales person, date, serial no etc. ',
-		'display_name': 'Maintenance Schedule Details',
-		'doc_name': 'Maintenance Schedule Detail',
-		'doc_type': 'Reports',
-		'docstatus': 0,
-		'doctype': 'Module Def Item',
-		'fields': None,
-		'hide': None,
-		'icon': None,
-		'idx': 6,
-		'modified': '2011-07-01 09:36:38',
-		'modified_by': 'Administrator',
-		'name': 'MDI01366',
-		'owner': 'Administrator',
-		'parent': 'Support',
-		'parentfield': 'items',
-		'parenttype': 'Module Def'
-	},
-	{
-		'click_function': None,
-		'creation': '2011-06-30 15:51:59',
-		'description': 'List of all issues raised by customer',
-		'display_name': 'Customer Issues',
-		'doc_name': 'Customer Issue',
-		'doc_type': 'Reports',
-		'docstatus': 0,
-		'doctype': 'Module Def Item',
-		'fields': None,
-		'hide': None,
-		'icon': None,
-		'idx': 7,
-		'modified': '2011-07-01 09:36:38',
-		'modified_by': 'Administrator',
-		'name': 'MDI01367',
-		'owner': 'Administrator',
-		'parent': 'Support',
-		'parentfield': 'items',
-		'parenttype': 'Module Def'
-	},
-	{
-		'click_function': None,
-		'creation': '2011-06-30 15:51:59',
-		'description': None,
-		'display_name': 'Warranty/AMC Expiry Details',
-		'doc_name': 'Serial No',
-		'doc_type': 'Reports',
-		'docstatus': 0,
-		'doctype': 'Module Def Item',
-		'fields': None,
-		'hide': None,
-		'icon': None,
-		'idx': 8,
-		'modified': '2011-07-01 09:36:38',
-		'modified_by': 'Administrator',
-		'name': 'MDI01368',
-		'owner': 'Administrator',
-		'parent': 'Support',
-		'parentfield': 'items',
-		'parenttype': 'Module Def'
-	},
-	{
-		'click_function': None,
-		'creation': '2011-06-30 15:51:59',
-		'description': None,
-		'display_name': 'Warranty/AMC Summary',
-		'doc_name': 'Serial No',
-		'doc_type': 'Reports',
-		'docstatus': 0,
-		'doctype': 'Module Def Item',
-		'fields': None,
-		'hide': None,
-		'icon': None,
-		'idx': 9,
-		'modified': '2011-07-01 09:36:38',
-		'modified_by': 'Administrator',
-		'name': 'MDI01369',
-		'owner': 'Administrator',
-		'parent': 'Support',
-		'parentfield': 'items',
-		'parenttype': 'Module Def'
-	},
-	{
-		'click_function': None,
-		'creation': '2011-06-30 15:51:59',
-		'description': None,
-		'display_name': 'Maintenance Orderwise Pending Amount To Bill',
-		'doc_name': 'Sales Order Detail',
-		'doc_type': 'Reports',
-		'docstatus': 0,
-		'doctype': 'Module Def Item',
-		'fields': None,
-		'hide': None,
-		'icon': None,
-		'idx': 10,
-		'modified': '2011-07-01 09:36:38',
-		'modified_by': 'Administrator',
-		'name': 'MDI01370',
-		'owner': 'Administrator',
-		'parent': 'Support',
-		'parentfield': 'items',
-		'parenttype': 'Module Def'
-	},
-	{
-		'creation': '2011-06-30 15:51:59',
-		'docstatus': 0,
-		'doctype': 'Module Def Role',
-		'idx': 1,
-		'modified': '2011-07-01 09:36:38',
-		'modified_by': 'Administrator',
-		'name': 'MDR00342',
-		'owner': 'Administrator',
-		'parent': 'Support',
-		'parentfield': 'roles',
-		'parenttype': 'Module Def',
-		'role': 'Administrator'
-	},
-	{
-		'creation': '2011-06-30 15:51:59',
-		'docstatus': 0,
-		'doctype': 'Module Def Role',
-		'idx': 2,
-		'modified': '2011-07-01 09:36:38',
-		'modified_by': 'Administrator',
-		'name': 'MDR00343',
-		'owner': 'Administrator',
-		'parent': 'Support',
-		'parentfield': 'roles',
-		'parenttype': 'Module Def',
-		'role': 'Maintenance User'
-	},
-	{
-		'creation': '2011-06-30 15:51:59',
-		'docstatus': 0,
-		'doctype': 'Module Def Role',
-		'idx': 3,
-		'modified': '2011-07-01 09:36:38',
-		'modified_by': 'Administrator',
-		'name': 'MDR00344',
-		'owner': 'Administrator',
-		'parent': 'Support',
-		'parentfield': 'roles',
-		'parenttype': 'Module Def',
-		'role': 'Maintenance Manager'
-	}
-]
\ No newline at end of file
diff --git a/templates/index.html b/templates/index.html
new file mode 100644
index 0000000..5a4f9b6
--- /dev/null
+++ b/templates/index.html
@@ -0,0 +1,21 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<head>
+	<meta charset="utf-8">
+	<title>ERPNext</title>
+	<meta name="author" content="">
+	<script type="text/javascript">{{ boot }}</script>
+</head>
+<body>
+	<div id="startup_div" style="padding: 8px; font-size: 14px;"></div>
+
+	<!-- Main Starts -->
+	<div id="body_div"> 
+
+		<!--static (no script) content-->
+		<div class="no_script">
+			{{ content }}
+		</div>
+	</div>
+	<script>wn.require('js/app.js');</script>
+	<div id="dialog_back"></div>
+</body>
\ No newline at end of file
diff --git a/todo.md b/todo.md
new file mode 100644
index 0000000..9e2c906
--- /dev/null
+++ b/todo.md
@@ -0,0 +1,18 @@
+x icons - msgprint / toolbar
+x history integration
+x loading bar
+x blank.html issues
+x double (init) loading issue
+x redirect (sid) issue
+x new buttons
+x tinymce issues
+x breakup - form
+x breakup - report
+
+- menus & integration with feature settings
+
+- release
+
+- use wn.require to load forms, reports
+- use wn.xmlhttp
+- try and breakup wnframework
\ No newline at end of file
diff --git a/versions-master.db b/versions-master.db
new file mode 100644
index 0000000..3ffd092
--- /dev/null
+++ b/versions-master.db
Binary files differ