diff --git a/accounts/doctype/account/account.js b/accounts/doctype/account/account.js
index eb8e765..6b06572 100644
--- a/accounts/doctype/account/account.js
+++ b/accounts/doctype/account/account.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 
 // Onload
diff --git a/accounts/doctype/account/account.py b/accounts/doctype/account/account.py
index 98808f4..a6038dd 100644
--- a/accounts/doctype/account/account.py
+++ b/accounts/doctype/account/account.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/accounts/doctype/account/test_account.py b/accounts/doctype/account/test_account.py
index e979b89..10b3f92 100644
--- a/accounts/doctype/account/test_account.py
+++ b/accounts/doctype/account/test_account.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 import webnotes
 
diff --git a/accounts/doctype/accounts_settings/accounts_settings.py b/accounts/doctype/accounts_settings/accounts_settings.py
index ed7b402..d1a4c25 100644
--- a/accounts/doctype/accounts_settings/accounts_settings.py
+++ b/accounts/doctype/accounts_settings/accounts_settings.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 # For license information, please see license.txt
 
 from __future__ import unicode_literals
diff --git a/accounts/doctype/bank_reconciliation/bank_reconciliation.js b/accounts/doctype/bank_reconciliation/bank_reconciliation.js
index 793db62..43dba63 100644
--- a/accounts/doctype/bank_reconciliation/bank_reconciliation.js
+++ b/accounts/doctype/bank_reconciliation/bank_reconciliation.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 
 cur_frm.add_fetch("bank_account", "company", "company");
diff --git a/accounts/doctype/bank_reconciliation/bank_reconciliation.py b/accounts/doctype/bank_reconciliation/bank_reconciliation.py
index f19df48..479b579 100644
--- a/accounts/doctype/bank_reconciliation/bank_reconciliation.py
+++ b/accounts/doctype/bank_reconciliation/bank_reconciliation.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/accounts/doctype/bank_reconciliation_detail/bank_reconciliation_detail.py b/accounts/doctype/bank_reconciliation_detail/bank_reconciliation_detail.py
index 7f48feb..26d0f76 100644
--- a/accounts/doctype/bank_reconciliation_detail/bank_reconciliation_detail.py
+++ b/accounts/doctype/bank_reconciliation_detail/bank_reconciliation_detail.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/accounts/doctype/budget_control/budget_control.py b/accounts/doctype/budget_control/budget_control.py
index 66a48a2..0aa64c8 100644
--- a/accounts/doctype/budget_control/budget_control.py
+++ b/accounts/doctype/budget_control/budget_control.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.	If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/accounts/doctype/budget_detail/budget_detail.py b/accounts/doctype/budget_detail/budget_detail.py
index 7f48feb..26d0f76 100644
--- a/accounts/doctype/budget_detail/budget_detail.py
+++ b/accounts/doctype/budget_detail/budget_detail.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/accounts/doctype/budget_distribution/budget_distribution.js b/accounts/doctype/budget_distribution/budget_distribution.js
index 29e5e33..deed0cb 100644
--- a/accounts/doctype/budget_distribution/budget_distribution.js
+++ b/accounts/doctype/budget_distribution/budget_distribution.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 cur_frm.cscript.onload = function(doc,cdt,cdn){
   if(doc.__islocal){
diff --git a/accounts/doctype/budget_distribution/budget_distribution.py b/accounts/doctype/budget_distribution/budget_distribution.py
index 00d11f9..2b3ce69 100644
--- a/accounts/doctype/budget_distribution/budget_distribution.py
+++ b/accounts/doctype/budget_distribution/budget_distribution.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.	If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/accounts/doctype/budget_distribution/test_budget_distribution.py b/accounts/doctype/budget_distribution/test_budget_distribution.py
index 3afb472..7ac835d 100644
--- a/accounts/doctype/budget_distribution/test_budget_distribution.py
+++ b/accounts/doctype/budget_distribution/test_budget_distribution.py
@@ -1 +1,4 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 test_records = []
\ No newline at end of file
diff --git a/accounts/doctype/budget_distribution_detail/budget_distribution_detail.py b/accounts/doctype/budget_distribution_detail/budget_distribution_detail.py
index 7f48feb..26d0f76 100644
--- a/accounts/doctype/budget_distribution_detail/budget_distribution_detail.py
+++ b/accounts/doctype/budget_distribution_detail/budget_distribution_detail.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/accounts/doctype/c_form/c_form.js b/accounts/doctype/c_form/c_form.js
index 0bc9ff1..81fa136 100644
--- a/accounts/doctype/c_form/c_form.js
+++ b/accounts/doctype/c_form/c_form.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 //c-form js file
 // -----------------------------
diff --git a/accounts/doctype/c_form/c_form.py b/accounts/doctype/c_form/c_form.py
index 25a8c3b..0178a19 100644
--- a/accounts/doctype/c_form/c_form.py
+++ b/accounts/doctype/c_form/c_form.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/accounts/doctype/c_form_invoice_detail/c_form_invoice_detail.py b/accounts/doctype/c_form_invoice_detail/c_form_invoice_detail.py
index 7f48feb..26d0f76 100644
--- a/accounts/doctype/c_form_invoice_detail/c_form_invoice_detail.py
+++ b/accounts/doctype/c_form_invoice_detail/c_form_invoice_detail.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/accounts/doctype/cost_center/cost_center.js b/accounts/doctype/cost_center/cost_center.js
index 7dc4223..c3519bf 100644
--- a/accounts/doctype/cost_center/cost_center.js
+++ b/accounts/doctype/cost_center/cost_center.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 wn.provide("erpnext.accounts");
 erpnext.accounts.CostCenterController = wn.ui.form.Controller.extend({
diff --git a/accounts/doctype/cost_center/cost_center.py b/accounts/doctype/cost_center/cost_center.py
index b2b4c90..6f977d7 100644
--- a/accounts/doctype/cost_center/cost_center.py
+++ b/accounts/doctype/cost_center/cost_center.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/accounts/doctype/cost_center/test_cost_center.py b/accounts/doctype/cost_center/test_cost_center.py
index 94a87fe..7c63d7c 100644
--- a/accounts/doctype/cost_center/test_cost_center.py
+++ b/accounts/doctype/cost_center/test_cost_center.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 test_records = [
 	[{
 		"doctype": "Cost Center",
diff --git a/accounts/doctype/fiscal_year/fiscal_year.js b/accounts/doctype/fiscal_year/fiscal_year.js
index 0f70cf5..c5500aa 100644
--- a/accounts/doctype/fiscal_year/fiscal_year.js
+++ b/accounts/doctype/fiscal_year/fiscal_year.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.	If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 cur_frm.cscript.refresh = function(doc, dt, dn) {
 	cur_frm.toggle_enable('year_start_date', doc.__islocal)
diff --git a/accounts/doctype/fiscal_year/fiscal_year.py b/accounts/doctype/fiscal_year/fiscal_year.py
index e23351c..2544c96 100644
--- a/accounts/doctype/fiscal_year/fiscal_year.py
+++ b/accounts/doctype/fiscal_year/fiscal_year.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/accounts/doctype/fiscal_year/test_fiscal_year.py b/accounts/doctype/fiscal_year/test_fiscal_year.py
index 456b15a..594375d 100644
--- a/accounts/doctype/fiscal_year/test_fiscal_year.py
+++ b/accounts/doctype/fiscal_year/test_fiscal_year.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 
 test_records = [
diff --git a/accounts/doctype/gl_entry/gl_entry.py b/accounts/doctype/gl_entry/gl_entry.py
index 3a31500..9af69dd 100644
--- a/accounts/doctype/gl_entry/gl_entry.py
+++ b/accounts/doctype/gl_entry/gl_entry.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/accounts/doctype/journal_voucher/journal_voucher.js b/accounts/doctype/journal_voucher/journal_voucher.js
index 867ebbb..eb08166 100644
--- a/accounts/doctype/journal_voucher/journal_voucher.js
+++ b/accounts/doctype/journal_voucher/journal_voucher.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 wn.provide("erpnext.accounts");
 
diff --git a/accounts/doctype/journal_voucher/journal_voucher.py b/accounts/doctype/journal_voucher/journal_voucher.py
index 8292bfa..27b0518 100644
--- a/accounts/doctype/journal_voucher/journal_voucher.py
+++ b/accounts/doctype/journal_voucher/journal_voucher.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.	If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/accounts/doctype/journal_voucher/test_journal_voucher.py b/accounts/doctype/journal_voucher/test_journal_voucher.py
index feb1e2c..30e3ada 100644
--- a/accounts/doctype/journal_voucher/test_journal_voucher.py
+++ b/accounts/doctype/journal_voucher/test_journal_voucher.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 
 from __future__ import unicode_literals
diff --git a/accounts/doctype/journal_voucher_detail/journal_voucher_detail.py b/accounts/doctype/journal_voucher_detail/journal_voucher_detail.py
index 7f48feb..26d0f76 100644
--- a/accounts/doctype/journal_voucher_detail/journal_voucher_detail.py
+++ b/accounts/doctype/journal_voucher_detail/journal_voucher_detail.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/accounts/doctype/journal_voucher_detail/journal_voucher_detail.txt b/accounts/doctype/journal_voucher_detail/journal_voucher_detail.txt
index 750449b..aea5d12 100644
--- a/accounts/doctype/journal_voucher_detail/journal_voucher_detail.txt
+++ b/accounts/doctype/journal_voucher_detail/journal_voucher_detail.txt
@@ -2,7 +2,7 @@
  {
   "creation": "2013-02-22 01:27:39", 
   "docstatus": 0, 
-  "modified": "2013-07-10 14:56:33", 
+  "modified": "2013-08-02 18:15:56", 
   "modified_by": "Administrator", 
   "owner": "Administrator"
  }, 
@@ -90,6 +90,12 @@
  }, 
  {
   "doctype": "DocField", 
+  "fieldname": "reference", 
+  "fieldtype": "Section Break", 
+  "label": "Reference"
+ }, 
+ {
+  "doctype": "DocField", 
   "fieldname": "against_voucher", 
   "fieldtype": "Link", 
   "in_filter": 1, 
diff --git a/accounts/doctype/mis_control/mis_control.py b/accounts/doctype/mis_control/mis_control.py
index 35d2bc2..84350dc 100644
--- a/accounts/doctype/mis_control/mis_control.py
+++ b/accounts/doctype/mis_control/mis_control.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.	If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/accounts/doctype/mode_of_payment/mode_of_payment.js b/accounts/doctype/mode_of_payment/mode_of_payment.js
index e9e5738..956c7b2 100644
--- a/accounts/doctype/mode_of_payment/mode_of_payment.js
+++ b/accounts/doctype/mode_of_payment/mode_of_payment.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 cur_frm.set_query("default_account", function(doc) {
 	return{
diff --git a/accounts/doctype/mode_of_payment/mode_of_payment.py b/accounts/doctype/mode_of_payment/mode_of_payment.py
index 7f48feb..26d0f76 100644
--- a/accounts/doctype/mode_of_payment/mode_of_payment.py
+++ b/accounts/doctype/mode_of_payment/mode_of_payment.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/accounts/doctype/payment_to_invoice_matching_tool/payment_to_invoice_matching_tool.js b/accounts/doctype/payment_to_invoice_matching_tool/payment_to_invoice_matching_tool.js
index d8c8c81..a48520c 100644
--- a/accounts/doctype/payment_to_invoice_matching_tool/payment_to_invoice_matching_tool.js
+++ b/accounts/doctype/payment_to_invoice_matching_tool/payment_to_invoice_matching_tool.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 // Booking Entry Id
 // --------------------
diff --git a/accounts/doctype/payment_to_invoice_matching_tool/payment_to_invoice_matching_tool.py b/accounts/doctype/payment_to_invoice_matching_tool/payment_to_invoice_matching_tool.py
index 6552490..dc2bcc5 100644
--- a/accounts/doctype/payment_to_invoice_matching_tool/payment_to_invoice_matching_tool.py
+++ b/accounts/doctype/payment_to_invoice_matching_tool/payment_to_invoice_matching_tool.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/accounts/doctype/payment_to_invoice_matching_tool/test_payment_to_invoice_matching_tool.py b/accounts/doctype/payment_to_invoice_matching_tool/test_payment_to_invoice_matching_tool.py
index 4a90928..9edfbc3 100644
--- a/accounts/doctype/payment_to_invoice_matching_tool/test_payment_to_invoice_matching_tool.py
+++ b/accounts/doctype/payment_to_invoice_matching_tool/test_payment_to_invoice_matching_tool.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import unittest
diff --git a/accounts/doctype/payment_to_invoice_matching_tool_detail/payment_to_invoice_matching_tool_detail.py b/accounts/doctype/payment_to_invoice_matching_tool_detail/payment_to_invoice_matching_tool_detail.py
index 7f48feb..26d0f76 100644
--- a/accounts/doctype/payment_to_invoice_matching_tool_detail/payment_to_invoice_matching_tool_detail.py
+++ b/accounts/doctype/payment_to_invoice_matching_tool_detail/payment_to_invoice_matching_tool_detail.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/accounts/doctype/period_closing_voucher/period_closing_voucher.js b/accounts/doctype/period_closing_voucher/period_closing_voucher.js
index fd45841..e2aca23 100644
--- a/accounts/doctype/period_closing_voucher/period_closing_voucher.js
+++ b/accounts/doctype/period_closing_voucher/period_closing_voucher.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.	If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 
 //========================== On Load =================================================
diff --git a/accounts/doctype/period_closing_voucher/period_closing_voucher.py b/accounts/doctype/period_closing_voucher/period_closing_voucher.py
index 09ed07d..c214a21 100644
--- a/accounts/doctype/period_closing_voucher/period_closing_voucher.py
+++ b/accounts/doctype/period_closing_voucher/period_closing_voucher.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.	If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/accounts/doctype/pos_setting/pos_setting.js b/accounts/doctype/pos_setting/pos_setting.js
index c91e4ce..f472d3a 100755
--- a/accounts/doctype/pos_setting/pos_setting.js
+++ b/accounts/doctype/pos_setting/pos_setting.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.	If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 cur_frm.cscript.onload = function(doc,cdt,cdn){
 	return $c_obj(make_doclist(cdt,cdn),'get_series','',function(r,rt){
diff --git a/accounts/doctype/pos_setting/pos_setting.py b/accounts/doctype/pos_setting/pos_setting.py
index 86c7135..a3984a6 100755
--- a/accounts/doctype/pos_setting/pos_setting.py
+++ b/accounts/doctype/pos_setting/pos_setting.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/accounts/doctype/pos_setting/test_pos_setting.py b/accounts/doctype/pos_setting/test_pos_setting.py
index 91159b1..13106c2 100644
--- a/accounts/doctype/pos_setting/test_pos_setting.py
+++ b/accounts/doctype/pos_setting/test_pos_setting.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 test_records = [
 	[{
 		"doctype": "POS Setting",
diff --git a/accounts/doctype/purchase_invoice/purchase_invoice.js b/accounts/doctype/purchase_invoice/purchase_invoice.js
index e71a408..b630499 100644
--- a/accounts/doctype/purchase_invoice/purchase_invoice.js
+++ b/accounts/doctype/purchase_invoice/purchase_invoice.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 cur_frm.cscript.tname = "Purchase Invoice Item";
 cur_frm.cscript.fname = "entries";
@@ -172,16 +159,13 @@
 	}	
 }
 
-cur_frm.fields_dict['entries'].grid.get_field("expense_head").get_query = function(doc) {
+cur_frm.set_query("expense_head", "entries", function(doc) {
 	return{
-		filters:{
-			'debit_or_credit':'Debit',
-			'account_type': 'Expense Account',
-			'group_or_ledger': 'Ledger',
-			'company': doc.company
-		}
-	}	
-}
+		query: "accounts.doctype.purchase_invoice.purchase_invoice.get_expense_account",
+		filters: {'company': doc.company}
+	}
+});
+
 cur_frm.cscript.expense_head = function(doc, cdt, cdn){
 	var d = locals[cdt][cdn];
 	if(d.idx == 1 && d.expense_head){
diff --git a/accounts/doctype/purchase_invoice/purchase_invoice.py b/accounts/doctype/purchase_invoice/purchase_invoice.py
index 3a8b51e..e9043c0 100644
--- a/accounts/doctype/purchase_invoice/purchase_invoice.py
+++ b/accounts/doctype/purchase_invoice/purchase_invoice.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
@@ -91,19 +78,9 @@
 		return ret
 		
 	def set_supplier_defaults(self):
-		self.doc.fields.update(self.get_supplier())
 		self.doc.fields.update(self.get_credit_to())
 		super(DocType, self).set_supplier_defaults()
 		
-	def get_supplier(self):
-		ret = {}
-		if self.doc.credit_to:
-			acc = webnotes.conn.get_value('Account',self.doc.credit_to,['master_name', 'credit_days'])
-			ret['supplier'] = acc[0]
-			ret['due_date'] = add_days(cstr(self.doc.posting_date), acc and cint(acc[1]) or 0)
-			
-		return ret
-
 	def get_advances(self):
 		super(DocType, self).get_advances(self.doc.credit_to, 
 			"Purchase Invoice Advance", "advance_allocation_details", "debit")
@@ -263,14 +240,14 @@
 		self.doc.against_expense_account = ",".join(against_accounts)
 
 	def po_required(self):
-		if webnotes.conn.get_single_value("Buying Settings", "po_required") == 'Yes':
+		if webnotes.conn.get_value("Buying Settings", None, "po_required") == 'Yes':
 			 for d in getlist(self.doclist,'entries'):
 				 if not d.purchase_order:
 					 msgprint("Purchse Order No. required against item %s"%d.item_code)
 					 raise Exception
 
 	def pr_required(self):
-		if webnotes.conn.get_single_value("Buying Settings", "pr_required") == 'Yes':
+		if webnotes.conn.get_value("Buying Settings", None, "pr_required") == 'Yes':
 			 for d in getlist(self.doclist,'entries'):
 				 if not d.purchase_receipt:
 					 msgprint("Purchase Receipt No. required against item %s"%d.item_code)
@@ -466,4 +443,18 @@
 					"UOM Conversion Detail", {"parent": d.item_code, "uom": d.uom}, 
 					"conversion_factor")) or 1
 		
-				d.rm_supp_cost = rm_cost * flt(d.qty) * flt(d.conversion_factor)
\ No newline at end of file
+				d.rm_supp_cost = rm_cost * flt(d.qty) * flt(d.conversion_factor)
+				
+@webnotes.whitelist()
+def get_expense_account(doctype, txt, searchfield, start, page_len, filters):
+	from controllers.queries import get_match_cond
+
+	return webnotes.conn.sql("""select tabAccount.name from `tabAccount` 
+			where (tabAccount.debit_or_credit="Debit" 
+					or tabAccount.account_type = "Expense Account") 
+				and tabAccount.group_or_ledger="Ledger" 
+				and tabAccount.docstatus!=2 
+				and tabAccount.company = '%(company)s' 
+				and tabAccount.%(key)s LIKE '%(txt)s'
+				%(mcond)s""" % {'company': filters['company'], 'key': searchfield, 
+			'txt': "%%%s%%" % txt, 'mcond':get_match_cond(doctype, searchfield)})
diff --git a/accounts/doctype/purchase_invoice/purchase_invoice_list.js b/accounts/doctype/purchase_invoice/purchase_invoice_list.js
index 7b410a3..96c0664 100644
--- a/accounts/doctype/purchase_invoice/purchase_invoice_list.js
+++ b/accounts/doctype/purchase_invoice/purchase_invoice_list.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 // render
 wn.listview_settings['Purchase Invoice'] = {
 	add_fields: ["`tabPurchase Invoice`.grand_total", "`tabPurchase Invoice`.outstanding_amount"],
diff --git a/accounts/doctype/purchase_invoice/test_purchase_invoice.py b/accounts/doctype/purchase_invoice/test_purchase_invoice.py
index bf9f9d9..c9b5e05 100644
--- a/accounts/doctype/purchase_invoice/test_purchase_invoice.py
+++ b/accounts/doctype/purchase_invoice/test_purchase_invoice.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 
 from __future__ import unicode_literals
diff --git a/accounts/doctype/purchase_invoice_advance/purchase_invoice_advance.py b/accounts/doctype/purchase_invoice_advance/purchase_invoice_advance.py
index 7f48feb..26d0f76 100644
--- a/accounts/doctype/purchase_invoice_advance/purchase_invoice_advance.py
+++ b/accounts/doctype/purchase_invoice_advance/purchase_invoice_advance.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/accounts/doctype/purchase_invoice_item/purchase_invoice_item.py b/accounts/doctype/purchase_invoice_item/purchase_invoice_item.py
index 7f48feb..26d0f76 100644
--- a/accounts/doctype/purchase_invoice_item/purchase_invoice_item.py
+++ b/accounts/doctype/purchase_invoice_item/purchase_invoice_item.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/accounts/doctype/purchase_taxes_and_charges/purchase_taxes_and_charges.py b/accounts/doctype/purchase_taxes_and_charges/purchase_taxes_and_charges.py
index 7f48feb..26d0f76 100644
--- a/accounts/doctype/purchase_taxes_and_charges/purchase_taxes_and_charges.py
+++ b/accounts/doctype/purchase_taxes_and_charges/purchase_taxes_and_charges.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/accounts/doctype/purchase_taxes_and_charges_master/purchase_taxes_and_charges_master.js b/accounts/doctype/purchase_taxes_and_charges_master/purchase_taxes_and_charges_master.js
index 626171c..423c4e4 100644
--- a/accounts/doctype/purchase_taxes_and_charges_master/purchase_taxes_and_charges_master.js
+++ b/accounts/doctype/purchase_taxes_and_charges_master/purchase_taxes_and_charges_master.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 // 
 
diff --git a/accounts/doctype/purchase_taxes_and_charges_master/purchase_taxes_and_charges_master.py b/accounts/doctype/purchase_taxes_and_charges_master/purchase_taxes_and_charges_master.py
index 995415e..a4534ae 100644
--- a/accounts/doctype/purchase_taxes_and_charges_master/purchase_taxes_and_charges_master.py
+++ b/accounts/doctype/purchase_taxes_and_charges_master/purchase_taxes_and_charges_master.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/accounts/doctype/sales_invoice/pos.js b/accounts/doctype/sales_invoice/pos.js
index 7dc8186..5045530 100644
--- a/accounts/doctype/sales_invoice/pos.js
+++ b/accounts/doctype/sales_invoice/pos.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 erpnext.POS = Class.extend({
 	init: function(wrapper, frm) {
 		this.wrapper = wrapper;
diff --git a/accounts/doctype/sales_invoice/sales_invoice.js b/accounts/doctype/sales_invoice/sales_invoice.js
index 236231d..ef3110a 100644
--- a/accounts/doctype/sales_invoice/sales_invoice.js
+++ b/accounts/doctype/sales_invoice/sales_invoice.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 cur_frm.cscript.tname = "Sales Invoice Item";
 cur_frm.cscript.fname = "entries";
@@ -38,9 +25,8 @@
 				this.frm.set_df_property("debit_to", "print_hide", 0);
 			}
 		}
-		
 		// if(this.frm.doc.is_pos && this.frm.doc.docstatus===0) {
-		// 	cur_frm.cscript.toggle_pos(true);
+		//   cur_frm.cscript.toggle_pos(true);
 		// }
 	},
 	
diff --git a/accounts/doctype/sales_invoice/sales_invoice.py b/accounts/doctype/sales_invoice/sales_invoice.py
index 1dbe092..caf7c56 100644
--- a/accounts/doctype/sales_invoice/sales_invoice.py
+++ b/accounts/doctype/sales_invoice/sales_invoice.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
@@ -432,8 +419,8 @@
 	def so_dn_required(self):
 		"""check in manage account if sales order / delivery note required or not."""
 		dic = {'Sales Order':'so_required','Delivery Note':'dn_required'}
-		for i in dic:	
-			if webnotes.conn.get_single_value('Selling Settings', dic[i]) == 'Yes':
+		for i in dic:
+			if webnotes.conn.get_value('Selling Settings', None, dic[i]) == 'Yes':
 				for d in getlist(self.doclist,'entries'):
 					if webnotes.conn.get_value('Item', d.item_code, 'is_stock_item') == 'Yes' \
 						and not d.fields[i.lower().replace(' ','_')]:
@@ -960,6 +947,7 @@
 		"cash_bank_account": val
 	}
 
+@webnotes.whitelist()
 def get_income_account(doctype, txt, searchfield, start, page_len, filters):
 	from controllers.queries import get_match_cond
 
diff --git a/accounts/doctype/sales_invoice/sales_invoice_list.js b/accounts/doctype/sales_invoice/sales_invoice_list.js
index 5b6230d..3ebcac9 100644
--- a/accounts/doctype/sales_invoice/sales_invoice_list.js
+++ b/accounts/doctype/sales_invoice/sales_invoice_list.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 // render
 wn.listview_settings['Sales Invoice'] = {
 	add_fields: ["`tabSales Invoice`.grand_total", "`tabSales Invoice`.outstanding_amount"],
diff --git a/accounts/doctype/sales_invoice/sales_invoice_map.js b/accounts/doctype/sales_invoice/sales_invoice_map.js
index dec4c6f..81506ea 100644
--- a/accounts/doctype/sales_invoice/sales_invoice_map.js
+++ b/accounts/doctype/sales_invoice/sales_invoice_map.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 wn.model.map_info["Sales Invoice"] = {
 	"Time Log Batch": {
 		table_map: {
diff --git a/accounts/doctype/sales_invoice/test_sales_invoice.py b/accounts/doctype/sales_invoice/test_sales_invoice.py
index e5eedb0..ab7482b 100644
--- a/accounts/doctype/sales_invoice/test_sales_invoice.py
+++ b/accounts/doctype/sales_invoice/test_sales_invoice.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 import unittest, json
 from webnotes.utils import flt, cint
diff --git a/accounts/doctype/sales_invoice_advance/sales_invoice_advance.py b/accounts/doctype/sales_invoice_advance/sales_invoice_advance.py
index 7f48feb..26d0f76 100644
--- a/accounts/doctype/sales_invoice_advance/sales_invoice_advance.py
+++ b/accounts/doctype/sales_invoice_advance/sales_invoice_advance.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/accounts/doctype/sales_invoice_item/sales_invoice_item.py b/accounts/doctype/sales_invoice_item/sales_invoice_item.py
index 7f48feb..26d0f76 100644
--- a/accounts/doctype/sales_invoice_item/sales_invoice_item.py
+++ b/accounts/doctype/sales_invoice_item/sales_invoice_item.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/accounts/doctype/sales_taxes_and_charges/sales_taxes_and_charges.py b/accounts/doctype/sales_taxes_and_charges/sales_taxes_and_charges.py
index 7f48feb..26d0f76 100644
--- a/accounts/doctype/sales_taxes_and_charges/sales_taxes_and_charges.py
+++ b/accounts/doctype/sales_taxes_and_charges/sales_taxes_and_charges.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/accounts/doctype/sales_taxes_and_charges_master/sales_taxes_and_charges_master.js b/accounts/doctype/sales_taxes_and_charges_master/sales_taxes_and_charges_master.js
index df6aaa9..f1a6027 100644
--- a/accounts/doctype/sales_taxes_and_charges_master/sales_taxes_and_charges_master.js
+++ b/accounts/doctype/sales_taxes_and_charges_master/sales_taxes_and_charges_master.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program. If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 //--------- ONLOAD -------------
 cur_frm.cscript.onload = function(doc, cdt, cdn) {
diff --git a/accounts/doctype/sales_taxes_and_charges_master/sales_taxes_and_charges_master.py b/accounts/doctype/sales_taxes_and_charges_master/sales_taxes_and_charges_master.py
index 27316ca..019edcb 100644
--- a/accounts/doctype/sales_taxes_and_charges_master/sales_taxes_and_charges_master.py
+++ b/accounts/doctype/sales_taxes_and_charges_master/sales_taxes_and_charges_master.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.	If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/accounts/doctype/sales_taxes_and_charges_master/test_sales_taxes_and_charges_master.py b/accounts/doctype/sales_taxes_and_charges_master/test_sales_taxes_and_charges_master.py
index 9bea271..74b0b4e 100644
--- a/accounts/doctype/sales_taxes_and_charges_master/test_sales_taxes_and_charges_master.py
+++ b/accounts/doctype/sales_taxes_and_charges_master/test_sales_taxes_and_charges_master.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 test_records = [
 	[
 		{
diff --git a/accounts/doctype/shipping_rule/shipping_rule.js b/accounts/doctype/shipping_rule/shipping_rule.js
index 8e8580b..2aeb8dd 100644
--- a/accounts/doctype/shipping_rule/shipping_rule.js
+++ b/accounts/doctype/shipping_rule/shipping_rule.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 $.extend(cur_frm.cscript, {
 	onload: function() {
 		erpnext.add_for_territory();
diff --git a/accounts/doctype/shipping_rule/shipping_rule.py b/accounts/doctype/shipping_rule/shipping_rule.py
index a363b18..4eafb01 100644
--- a/accounts/doctype/shipping_rule/shipping_rule.py
+++ b/accounts/doctype/shipping_rule/shipping_rule.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 # For license information, please see license.txt
 
 from __future__ import unicode_literals
diff --git a/accounts/doctype/shipping_rule/test_shipping_rule.py b/accounts/doctype/shipping_rule/test_shipping_rule.py
index fe11e2b..f85909e 100644
--- a/accounts/doctype/shipping_rule/test_shipping_rule.py
+++ b/accounts/doctype/shipping_rule/test_shipping_rule.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 import unittest
 from accounts.doctype.shipping_rule.shipping_rule import FromGreaterThanToError, ManyBlankToValuesError, OverlappingConditionError
diff --git a/accounts/doctype/shipping_rule_condition/shipping_rule_condition.py b/accounts/doctype/shipping_rule_condition/shipping_rule_condition.py
index 928aa9f..784339d 100644
--- a/accounts/doctype/shipping_rule_condition/shipping_rule_condition.py
+++ b/accounts/doctype/shipping_rule_condition/shipping_rule_condition.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 # For license information, please see license.txt
 
 from __future__ import unicode_literals
diff --git a/accounts/general_ledger.py b/accounts/general_ledger.py
index 8e0f408..c35e31e 100644
--- a/accounts/general_ledger.py
+++ b/accounts/general_ledger.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/accounts/page/accounts_browser/accounts_browser.js b/accounts/page/accounts_browser/accounts_browser.js
index 18d43ff..05989d6 100644
--- a/accounts/page/accounts_browser/accounts_browser.js
+++ b/accounts/page/accounts_browser/accounts_browser.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 // tree of chart of accounts / cost centers
 // multiple companies
diff --git a/accounts/page/accounts_browser/accounts_browser.py b/accounts/page/accounts_browser/accounts_browser.py
index 4c4162d..61f4bfc 100644
--- a/accounts/page/accounts_browser/accounts_browser.py
+++ b/accounts/page/accounts_browser/accounts_browser.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 import webnotes
 import webnotes.defaults
@@ -7,21 +10,8 @@
 @webnotes.whitelist()
 def get_companies():
 	"""get a list of companies based on permission"""
-	
-	# check if match permission exists
-	res = webnotes.conn.sql("""select role, `match` from `tabDocPerm`
-		where parent='Account' and permlevel=0 and `read`=1""", as_dict=1)
-	
-	roles = webnotes.user.get_roles()
-	match = any((r["match"] for r in res 
-		if r["role"] in roles and r["match"]=="company"))
-	
-	# if match == company is specified and companies are specified in user defaults
-	if match:
-		return webnotes.defaults.get_user_default_as_list("company")
-	else:
-		return [r[0] for r in webnotes.conn.sql("""select name from tabCompany
-			where docstatus!=2""")]
+	return [d.name for d in webnotes.get_list("Company", fields=["name"], 
+		order_by="name")]
 
 @webnotes.whitelist()
 def get_children():
diff --git a/accounts/page/accounts_home/accounts_home.js b/accounts/page/accounts_home/accounts_home.js
index 069eb17..d6c3883 100644
--- a/accounts/page/accounts_home/accounts_home.js
+++ b/accounts/page/accounts_home/accounts_home.js
@@ -1,5 +1,5 @@
-// ERPNext: Copyright 2013 Web Notes Technologies Pvt Ltd
-// GNU General Public License. See "license.txt"
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt"
 
 wn.module_page["Accounts"] = [
 	{
diff --git a/accounts/page/financial_analytics/financial_analytics.js b/accounts/page/financial_analytics/financial_analytics.js
index aac7076..13b9067 100644
--- a/accounts/page/financial_analytics/financial_analytics.js
+++ b/accounts/page/financial_analytics/financial_analytics.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.	If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 wn.require("app/js/account_tree_grid.js");
 
diff --git a/accounts/page/financial_statements/financial_statements.js b/accounts/page/financial_statements/financial_statements.js
index 0175da7..4893125 100644
--- a/accounts/page/financial_statements/financial_statements.js
+++ b/accounts/page/financial_statements/financial_statements.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 erpnext.fs = {}
 
diff --git a/accounts/page/general_ledger/general_ledger.js b/accounts/page/general_ledger/general_ledger.js
index b73d0af..9ffec3a 100644
--- a/accounts/page/general_ledger/general_ledger.js
+++ b/accounts/page/general_ledger/general_ledger.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 wn.pages['general-ledger'].onload = function(wrapper) { 
 	wn.ui.make_app_page({
diff --git a/accounts/page/trial_balance/trial_balance.js b/accounts/page/trial_balance/trial_balance.js
index 9c4c50a..6521256 100644
--- a/accounts/page/trial_balance/trial_balance.js
+++ b/accounts/page/trial_balance/trial_balance.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.	If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 wn.require("app/js/account_tree_grid.js");
 
diff --git a/accounts/page/voucher_import_tool/voucher_import_tool.js b/accounts/page/voucher_import_tool/voucher_import_tool.js
index 56cd5d7..5a8538e 100644
--- a/accounts/page/voucher_import_tool/voucher_import_tool.js
+++ b/accounts/page/voucher_import_tool/voucher_import_tool.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 wn.pages['voucher-import-tool'].onload = function(wrapper) { 
 	wn.ui.make_app_page({
 		parent: wrapper,
diff --git a/accounts/page/voucher_import_tool/voucher_import_tool.py b/accounts/page/voucher_import_tool/voucher_import_tool.py
index a3790a8f..416cf0e 100644
--- a/accounts/page/voucher_import_tool/voucher_import_tool.py
+++ b/accounts/page/voucher_import_tool/voucher_import_tool.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 import webnotes
 from webnotes import _
diff --git a/accounts/report/accounts_payable/accounts_payable.js b/accounts/report/accounts_payable/accounts_payable.js
index 05627d4..2c6c918 100644
--- a/accounts/report/accounts_payable/accounts_payable.js
+++ b/accounts/report/accounts_payable/accounts_payable.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 wn.query_reports["Accounts Payable"] = {
 	"filters": [
 		{
diff --git a/accounts/report/accounts_payable/accounts_payable.py b/accounts/report/accounts_payable/accounts_payable.py
index f884773..20702fd 100644
--- a/accounts/report/accounts_payable/accounts_payable.py
+++ b/accounts/report/accounts_payable/accounts_payable.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 import webnotes
 from webnotes.utils import getdate, nowdate, flt, cstr
diff --git a/accounts/report/accounts_receivable/accounts_receivable.js b/accounts/report/accounts_receivable/accounts_receivable.js
index 0ed1656..5f0b190 100644
--- a/accounts/report/accounts_receivable/accounts_receivable.js
+++ b/accounts/report/accounts_receivable/accounts_receivable.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 wn.query_reports["Accounts Receivable"] = {
 	"filters": [
 		{
diff --git a/accounts/report/accounts_receivable/accounts_receivable.py b/accounts/report/accounts_receivable/accounts_receivable.py
index 4ae3c86..3ae2223 100644
--- a/accounts/report/accounts_receivable/accounts_receivable.py
+++ b/accounts/report/accounts_receivable/accounts_receivable.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 import webnotes
 from webnotes import msgprint, _
diff --git a/accounts/report/bank_clearance_summary/bank_clearance_summary.js b/accounts/report/bank_clearance_summary/bank_clearance_summary.js
index 76adfd3..8e6d0c0 100644
--- a/accounts/report/bank_clearance_summary/bank_clearance_summary.js
+++ b/accounts/report/bank_clearance_summary/bank_clearance_summary.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 wn.query_reports["Bank Clearance Summary"] = {
 	"filters": [
 		{
diff --git a/accounts/report/bank_clearance_summary/bank_clearance_summary.py b/accounts/report/bank_clearance_summary/bank_clearance_summary.py
index 49ac1a4..0dfbc94 100644
--- a/accounts/report/bank_clearance_summary/bank_clearance_summary.py
+++ b/accounts/report/bank_clearance_summary/bank_clearance_summary.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.js b/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.js
index 28ac920..bf971a7 100644
--- a/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.js
+++ b/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 wn.query_reports["Bank Reconciliation Statement"] = {
 	"filters": [
 		{
diff --git a/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.py b/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.py
index 1345cd8..1b64850 100644
--- a/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.py
+++ b/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/accounts/report/budget_variance_report/budget_variance_report.js b/accounts/report/budget_variance_report/budget_variance_report.js
index 51a583e..2ed6018 100644
--- a/accounts/report/budget_variance_report/budget_variance_report.js
+++ b/accounts/report/budget_variance_report/budget_variance_report.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 wn.query_reports["Budget Variance Report"] = {
 	"filters": [
 		{
diff --git a/accounts/report/budget_variance_report/budget_variance_report.py b/accounts/report/budget_variance_report/budget_variance_report.py
index 835475f..158ff3a 100644
--- a/accounts/report/budget_variance_report/budget_variance_report.py
+++ b/accounts/report/budget_variance_report/budget_variance_report.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/accounts/report/customer_account_head/customer_account_head.py b/accounts/report/customer_account_head/customer_account_head.py
index 61f8cb2..255f348 100644
--- a/accounts/report/customer_account_head/customer_account_head.py
+++ b/accounts/report/customer_account_head/customer_account_head.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/accounts/report/delivered_items_to_be_billed/delivered_items_to_be_billed.txt b/accounts/report/delivered_items_to_be_billed/delivered_items_to_be_billed.txt
index 05983b0..9bcfe70 100644
--- a/accounts/report/delivered_items_to_be_billed/delivered_items_to_be_billed.txt
+++ b/accounts/report/delivered_items_to_be_billed/delivered_items_to_be_billed.txt
@@ -2,7 +2,7 @@
  {
   "creation": "2013-07-30 17:28:49", 
   "docstatus": 0, 
-  "modified": "2013-07-30 18:41:28", 
+  "modified": "2013-08-02 12:41:28", 
   "modified_by": "Administrator", 
   "owner": "Administrator"
  }, 
@@ -10,7 +10,7 @@
   "doctype": "Report", 
   "is_standard": "Yes", 
   "name": "__common__", 
-  "query": "select\n    `tabDelivery Note`.`name` as \"Delivery Note:Link/Delivery Note:120\",\n\t`tabDelivery Note`.`customer` as \"Customer:Link/Customer:120\",\n\t`tabDelivery Note`.`posting_date` as \"Date:Date\",\n\t`tabDelivery Note`.`project_name` as \"Project\",\n\t`tabDelivery Note Item`.`item_code` as \"Item:Link/Item:120\",\n\t(`tabDelivery Note Item`.`qty` - ifnull((select sum(qty) from `tabSales Invoice Item` \n\t    where `tabSales Invoice Item`.delivery_note = `tabDelivery Note`.name and\n\t        `tabSales Invoice Item`.dn_detail = `tabDelivery Note Item`.name), 0))\n\t\tas \"Qty:Float:110\",\n\t(`tabDelivery Note Item`.`amount` - ifnull((select sum(amount) from `tabSales Invoice Item` \n        where `tabSales Invoice Item`.delivery_note = `tabDelivery Note`.name and\n            `tabSales Invoice Item`.dn_detail = `tabDelivery Note Item`.name), 0))\n\t\tas \"Amount:Currency:110\",\n\t`tabDelivery Note Item`.`item_name` as \"Item Name::150\",\n\t`tabDelivery Note Item`.`description` as \"Description::200\"\nfrom `tabDelivery Note`, `tabDelivery Note Item`\nwhere\n    `tabDelivery Note`.docstatus = 1 and\n\t`tabDelivery Note`.status != \"Stopped\" and\n    `tabDelivery Note`.name = `tabDelivery Note Item`.parent and\n    (`tabDelivery Note Item`.qty > ifnull((select sum(qty) from `tabSales Invoice Item` \n        where `tabSales Invoice Item`.delivery_note = `tabDelivery Note`.name and\n            `tabSales Invoice Item`.dn_detail = `tabDelivery Note Item`.name), 0))\norder by `tabDelivery Note`.`name` desc", 
+  "query": "select\n    `tabDelivery Note`.`name` as \"Delivery Note:Link/Delivery Note:120\",\n\t`tabDelivery Note`.`customer` as \"Customer:Link/Customer:120\",\n\t`tabDelivery Note`.`posting_date` as \"Date:Date\",\n\t`tabDelivery Note`.`project_name` as \"Project\",\n\t`tabDelivery Note Item`.`item_code` as \"Item:Link/Item:120\",\n\t(`tabDelivery Note Item`.`qty` - ifnull((select sum(qty) from `tabSales Invoice Item` \n\t    where `tabSales Invoice Item`.delivery_note = `tabDelivery Note`.name and\n\t        `tabSales Invoice Item`.dn_detail = `tabDelivery Note Item`.name), 0))\n\t\tas \"Qty:Float:110\",\n\t(`tabDelivery Note Item`.`amount` - ifnull((select sum(amount) from `tabSales Invoice Item` \n        where `tabSales Invoice Item`.delivery_note = `tabDelivery Note`.name and\n            `tabSales Invoice Item`.dn_detail = `tabDelivery Note Item`.name), 0))\n\t\tas \"Amount:Currency:110\",\n\t`tabDelivery Note Item`.`item_name` as \"Item Name::150\",\n\t`tabDelivery Note Item`.`description` as \"Description::200\"\nfrom `tabDelivery Note`, `tabDelivery Note Item`\nwhere\n    `tabDelivery Note`.docstatus = 1 and\n\t`tabDelivery Note`.`status` != \"Stopped\" and\n    `tabDelivery Note`.name = `tabDelivery Note Item`.parent and\n    (`tabDelivery Note Item`.qty > ifnull((select sum(qty) from `tabSales Invoice Item` \n        where `tabSales Invoice Item`.delivery_note = `tabDelivery Note`.name and\n            `tabSales Invoice Item`.dn_detail = `tabDelivery Note Item`.name), 0))\norder by `tabDelivery Note`.`name` desc", 
   "ref_doctype": "Sales Invoice", 
   "report_name": "Delivered Items To Be Billed", 
   "report_type": "Query Report"
diff --git a/accounts/report/gross_profit/gross_profit.js b/accounts/report/gross_profit/gross_profit.js
index aa6be55..aea0b8a 100644
--- a/accounts/report/gross_profit/gross_profit.js
+++ b/accounts/report/gross_profit/gross_profit.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 wn.query_reports["Gross Profit"] = {
 	"filters": [
 		{
diff --git a/accounts/report/gross_profit/gross_profit.py b/accounts/report/gross_profit/gross_profit.py
index 798c718..dcef5b8 100644
--- a/accounts/report/gross_profit/gross_profit.py
+++ b/accounts/report/gross_profit/gross_profit.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 import webnotes
 from webnotes.utils import flt
diff --git a/accounts/report/item_wise_purchase_register/item_wise_purchase_register.js b/accounts/report/item_wise_purchase_register/item_wise_purchase_register.js
index 0805fe5..457c9a8 100644
--- a/accounts/report/item_wise_purchase_register/item_wise_purchase_register.js
+++ b/accounts/report/item_wise_purchase_register/item_wise_purchase_register.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 wn.query_reports["Item-wise Purchase Register"] = {
 	"filters": [
 		{
diff --git a/accounts/report/item_wise_purchase_register/item_wise_purchase_register.py b/accounts/report/item_wise_purchase_register/item_wise_purchase_register.py
index 9093d11..bd0726e 100644
--- a/accounts/report/item_wise_purchase_register/item_wise_purchase_register.py
+++ b/accounts/report/item_wise_purchase_register/item_wise_purchase_register.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/accounts/report/item_wise_sales_register/item_wise_sales_register.js b/accounts/report/item_wise_sales_register/item_wise_sales_register.js
index 5d2dbd1..c131fbd 100644
--- a/accounts/report/item_wise_sales_register/item_wise_sales_register.js
+++ b/accounts/report/item_wise_sales_register/item_wise_sales_register.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 wn.query_reports["Item-wise Sales Register"] = wn.query_reports["Sales Register"] = {
 	"filters": [
 		{
diff --git a/accounts/report/item_wise_sales_register/item_wise_sales_register.py b/accounts/report/item_wise_sales_register/item_wise_sales_register.py
index 14d6863..77fb6f2 100644
--- a/accounts/report/item_wise_sales_register/item_wise_sales_register.py
+++ b/accounts/report/item_wise_sales_register/item_wise_sales_register.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/accounts/report/payment_collection_with_ageing/payment_collection_with_ageing.js b/accounts/report/payment_collection_with_ageing/payment_collection_with_ageing.js
index b2b866a..8d8c746 100644
--- a/accounts/report/payment_collection_with_ageing/payment_collection_with_ageing.js
+++ b/accounts/report/payment_collection_with_ageing/payment_collection_with_ageing.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 wn.query_reports["Payment Collection With Ageing"] = {
 	"filters": [
 		{
diff --git a/accounts/report/payment_collection_with_ageing/payment_collection_with_ageing.py b/accounts/report/payment_collection_with_ageing/payment_collection_with_ageing.py
index 1268852..41c5f3e 100644
--- a/accounts/report/payment_collection_with_ageing/payment_collection_with_ageing.py
+++ b/accounts/report/payment_collection_with_ageing/payment_collection_with_ageing.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/accounts/report/payment_made_with_ageing/payment_made_with_ageing.js b/accounts/report/payment_made_with_ageing/payment_made_with_ageing.js
index beed7ea..7b80bde 100644
--- a/accounts/report/payment_made_with_ageing/payment_made_with_ageing.js
+++ b/accounts/report/payment_made_with_ageing/payment_made_with_ageing.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 wn.query_reports["Payment Made With Ageing"] = {
 	"filters": [
 		{
diff --git a/accounts/report/payment_made_with_ageing/payment_made_with_ageing.py b/accounts/report/payment_made_with_ageing/payment_made_with_ageing.py
index e7f13ef..8d3618f 100644
--- a/accounts/report/payment_made_with_ageing/payment_made_with_ageing.py
+++ b/accounts/report/payment_made_with_ageing/payment_made_with_ageing.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/accounts/report/purchase_invoice_trends/purchase_invoice_trends.js b/accounts/report/purchase_invoice_trends/purchase_invoice_trends.js
index bb18ce4..5dbc3fe 100644
--- a/accounts/report/purchase_invoice_trends/purchase_invoice_trends.js
+++ b/accounts/report/purchase_invoice_trends/purchase_invoice_trends.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 wn.require("app/js/purchase_trends_filters.js");
 
 wn.query_reports["Purchase Invoice Trends"] = {
diff --git a/accounts/report/purchase_invoice_trends/purchase_invoice_trends.py b/accounts/report/purchase_invoice_trends/purchase_invoice_trends.py
index 659cb85..c0eb8c9 100644
--- a/accounts/report/purchase_invoice_trends/purchase_invoice_trends.py
+++ b/accounts/report/purchase_invoice_trends/purchase_invoice_trends.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/accounts/report/purchase_register/purchase_register.js b/accounts/report/purchase_register/purchase_register.js
index 4fbd2aa..5944b1a 100644
--- a/accounts/report/purchase_register/purchase_register.js
+++ b/accounts/report/purchase_register/purchase_register.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 wn.query_reports["Purchase Register"] = {
 	"filters": [
 		{
diff --git a/accounts/report/purchase_register/purchase_register.py b/accounts/report/purchase_register/purchase_register.py
index 91525fb..d7bac9d 100644
--- a/accounts/report/purchase_register/purchase_register.py
+++ b/accounts/report/purchase_register/purchase_register.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/accounts/report/sales_invoice_trends/sales_invoice_trends.js b/accounts/report/sales_invoice_trends/sales_invoice_trends.js
index 6f20015..449b6d2 100644
--- a/accounts/report/sales_invoice_trends/sales_invoice_trends.js
+++ b/accounts/report/sales_invoice_trends/sales_invoice_trends.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 wn.require("app/js/sales_trends_filters.js");
 
 wn.query_reports["Sales Invoice Trends"] = {
diff --git a/accounts/report/sales_invoice_trends/sales_invoice_trends.py b/accounts/report/sales_invoice_trends/sales_invoice_trends.py
index 9a5eaf2..121473d 100644
--- a/accounts/report/sales_invoice_trends/sales_invoice_trends.py
+++ b/accounts/report/sales_invoice_trends/sales_invoice_trends.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/accounts/report/sales_register/sales_register.js b/accounts/report/sales_register/sales_register.js
index a423f60..43c841f 100644
--- a/accounts/report/sales_register/sales_register.js
+++ b/accounts/report/sales_register/sales_register.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 wn.query_reports["Sales Register"] = {
 	"filters": [
 		{
diff --git a/accounts/report/sales_register/sales_register.py b/accounts/report/sales_register/sales_register.py
index 0c96684..4025f66 100644
--- a/accounts/report/sales_register/sales_register.py
+++ b/accounts/report/sales_register/sales_register.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/accounts/report/supplier_account_head/supplier_account_head.py b/accounts/report/supplier_account_head/supplier_account_head.py
index 8b55067..53796ce 100644
--- a/accounts/report/supplier_account_head/supplier_account_head.py
+++ b/accounts/report/supplier_account_head/supplier_account_head.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/accounts/utils.py b/accounts/utils.py
index 04f30b8..41e0a81 100644
--- a/accounts/utils.py
+++ b/accounts/utils.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 
@@ -391,4 +378,4 @@
 		if stock_value - account_balance:
 			difference.setdefault(account, (stock_value - account_balance))
 	
-	return difference
\ No newline at end of file
+	return difference
diff --git a/buying/doctype/buying_settings/buying_settings.py b/buying/doctype/buying_settings/buying_settings.py
index b00bcef..36d236f 100644
--- a/buying/doctype/buying_settings/buying_settings.py
+++ b/buying/doctype/buying_settings/buying_settings.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 # For license information, please see license.txt
 
 from __future__ import unicode_literals
diff --git a/buying/doctype/purchase_common/purchase_common.js b/buying/doctype/purchase_common/purchase_common.js
index dabfcd9..5a473a8 100644
--- a/buying/doctype/purchase_common/purchase_common.js
+++ b/buying/doctype/purchase_common/purchase_common.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 // Preset
 // ------
diff --git a/buying/doctype/purchase_common/purchase_common.py b/buying/doctype/purchase_common/purchase_common.py
index d1da223..65bccaa 100644
--- a/buying/doctype/purchase_common/purchase_common.py
+++ b/buying/doctype/purchase_common/purchase_common.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/buying/doctype/purchase_order/purchase_order.js b/buying/doctype/purchase_order/purchase_order.js
index 360170a..a960046 100644
--- a/buying/doctype/purchase_order/purchase_order.js
+++ b/buying/doctype/purchase_order/purchase_order.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 wn.provide("erpnext.buying");
 
diff --git a/buying/doctype/purchase_order/purchase_order.py b/buying/doctype/purchase_order/purchase_order.py
index af61c69..8bdc2d6 100644
--- a/buying/doctype/purchase_order/purchase_order.py
+++ b/buying/doctype/purchase_order/purchase_order.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/buying/doctype/purchase_order/test_purchase_order.py b/buying/doctype/purchase_order/test_purchase_order.py
index 75eac94..e160bab 100644
--- a/buying/doctype/purchase_order/test_purchase_order.py
+++ b/buying/doctype/purchase_order/test_purchase_order.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 
 from __future__ import unicode_literals
diff --git a/buying/doctype/purchase_order_item/purchase_order_item.py b/buying/doctype/purchase_order_item/purchase_order_item.py
index 7f48feb..26d0f76 100644
--- a/buying/doctype/purchase_order_item/purchase_order_item.py
+++ b/buying/doctype/purchase_order_item/purchase_order_item.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/buying/doctype/purchase_order_item_supplied/purchase_order_item_supplied.py b/buying/doctype/purchase_order_item_supplied/purchase_order_item_supplied.py
index 7f48feb..26d0f76 100644
--- a/buying/doctype/purchase_order_item_supplied/purchase_order_item_supplied.py
+++ b/buying/doctype/purchase_order_item_supplied/purchase_order_item_supplied.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/buying/doctype/purchase_receipt_item_supplied/purchase_receipt_item_supplied.py b/buying/doctype/purchase_receipt_item_supplied/purchase_receipt_item_supplied.py
index 7f48feb..26d0f76 100644
--- a/buying/doctype/purchase_receipt_item_supplied/purchase_receipt_item_supplied.py
+++ b/buying/doctype/purchase_receipt_item_supplied/purchase_receipt_item_supplied.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/buying/doctype/quality_inspection/quality_inspection.js b/buying/doctype/quality_inspection/quality_inspection.js
index 7c93209..0c865a5 100644
--- a/buying/doctype/quality_inspection/quality_inspection.js
+++ b/buying/doctype/quality_inspection/quality_inspection.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 cur_frm.cscript.item_code = function(doc, cdt, cdn) {
 	if (doc.item_code)
diff --git a/buying/doctype/quality_inspection/quality_inspection.py b/buying/doctype/quality_inspection/quality_inspection.py
index 48a9a7a..19b2d2a 100644
--- a/buying/doctype/quality_inspection/quality_inspection.py
+++ b/buying/doctype/quality_inspection/quality_inspection.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.	If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/buying/doctype/quality_inspection_reading/quality_inspection_reading.py b/buying/doctype/quality_inspection_reading/quality_inspection_reading.py
index 7f48feb..26d0f76 100644
--- a/buying/doctype/quality_inspection_reading/quality_inspection_reading.py
+++ b/buying/doctype/quality_inspection_reading/quality_inspection_reading.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/buying/doctype/supplier/supplier.js b/buying/doctype/supplier/supplier.js
index 2aa9b5e..75542c8 100644
--- a/buying/doctype/supplier/supplier.js
+++ b/buying/doctype/supplier/supplier.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 wn.require('app/setup/doctype/contact_control/contact_control.js');
 
diff --git a/buying/doctype/supplier/supplier.py b/buying/doctype/supplier/supplier.py
index d1552f94..c646fdb 100644
--- a/buying/doctype/supplier/supplier.py
+++ b/buying/doctype/supplier/supplier.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/buying/doctype/supplier/test_supplier.py b/buying/doctype/supplier/test_supplier.py
index 3ee3419..8f8e144 100644
--- a/buying/doctype/supplier/test_supplier.py
+++ b/buying/doctype/supplier/test_supplier.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 test_records = [
 	[{
 		"doctype": "Supplier",
diff --git a/buying/doctype/supplier_quotation/supplier_quotation.js b/buying/doctype/supplier_quotation/supplier_quotation.js
index 96d8ec11..cd6127d 100644
--- a/buying/doctype/supplier_quotation/supplier_quotation.js
+++ b/buying/doctype/supplier_quotation/supplier_quotation.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 // define defaults for purchase common
 cur_frm.cscript.tname = "Supplier Quotation Item";
diff --git a/buying/doctype/supplier_quotation/supplier_quotation.py b/buying/doctype/supplier_quotation/supplier_quotation.py
index 61b8411..8ba0045 100644
--- a/buying/doctype/supplier_quotation/supplier_quotation.py
+++ b/buying/doctype/supplier_quotation/supplier_quotation.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/buying/doctype/supplier_quotation/test_supplier_quotation.py b/buying/doctype/supplier_quotation/test_supplier_quotation.py
index 0615d62..d6468d5 100644
--- a/buying/doctype/supplier_quotation/test_supplier_quotation.py
+++ b/buying/doctype/supplier_quotation/test_supplier_quotation.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 
 from __future__ import unicode_literals
diff --git a/buying/doctype/supplier_quotation_item/supplier_quotation_item.py b/buying/doctype/supplier_quotation_item/supplier_quotation_item.py
index 7f48feb..26d0f76 100644
--- a/buying/doctype/supplier_quotation_item/supplier_quotation_item.py
+++ b/buying/doctype/supplier_quotation_item/supplier_quotation_item.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/buying/page/buying_home/buying_home.js b/buying/page/buying_home/buying_home.js
index 1b130e9..4a3e044 100644
--- a/buying/page/buying_home/buying_home.js
+++ b/buying/page/buying_home/buying_home.js
@@ -1,5 +1,5 @@
-// ERPNext: Copyright 2013 Web Notes Technologies Pvt Ltd
-// GNU General Public License. See "license.txt"
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt"
 
 wn.module_page["Buying"] = [
 	{
diff --git a/buying/page/purchase_analytics/purchase_analytics.js b/buying/page/purchase_analytics/purchase_analytics.js
index 2b869a6..c163052 100644
--- a/buying/page/purchase_analytics/purchase_analytics.js
+++ b/buying/page/purchase_analytics/purchase_analytics.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 wn.pages['purchase-analytics'].onload = function(wrapper) { 
 	wn.ui.make_app_page({
diff --git a/buying/report/purchase_order_trends/purchase_order_trends.js b/buying/report/purchase_order_trends/purchase_order_trends.js
index c6373db..41cb660 100644
--- a/buying/report/purchase_order_trends/purchase_order_trends.js
+++ b/buying/report/purchase_order_trends/purchase_order_trends.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 wn.require("app/js/purchase_trends_filters.js");
 
 wn.query_reports["Purchase Order Trends"] = {
diff --git a/buying/report/purchase_order_trends/purchase_order_trends.py b/buying/report/purchase_order_trends/purchase_order_trends.py
index 9dc986e..3c99e06 100644
--- a/buying/report/purchase_order_trends/purchase_order_trends.py
+++ b/buying/report/purchase_order_trends/purchase_order_trends.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/buying/utils.py b/buying/utils.py
index d7db1d5..29beb29 100644
--- a/buying/utils.py
+++ b/buying/utils.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/controllers/accounts_controller.py b/controllers/accounts_controller.py
index d095a23..a536d92 100644
--- a/controllers/accounts_controller.py
+++ b/controllers/accounts_controller.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
@@ -141,8 +128,9 @@
 					
 	def calculate_taxes_and_totals(self):
 		# validate conversion rate
-		if not self.doc.currency:
-			self.doc.currency = get_company_currency(self.doc.company)
+		company_currency = get_company_currency(self.doc.company)
+		if not self.doc.currency or self.doc.currency == company_currency:
+			self.doc.currency = company_currency
 			self.doc.conversion_rate = 1.0
 		else:
 			validate_conversion_rate(self.doc.currency, self.doc.conversion_rate,
diff --git a/controllers/buying_controller.py b/controllers/buying_controller.py
index 83cecfe..c5f5d08 100644
--- a/controllers/buying_controller.py
+++ b/controllers/buying_controller.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/controllers/js/contact_address_common.js b/controllers/js/contact_address_common.js
index 0b8ef08..82dad0e 100644
--- a/controllers/js/contact_address_common.js
+++ b/controllers/js/contact_address_common.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 cur_frm.cscript.onload = function(doc, cdt, cdn) {	
 	cur_frm.add_fetch('customer', 'customer_name', 'customer_name');
 	cur_frm.add_fetch('supplier', 'supplier_name', 'supplier_name');
diff --git a/controllers/queries.py b/controllers/queries.py
index 462c22d..df7b7c5 100644
--- a/controllers/queries.py
+++ b/controllers/queries.py
@@ -1,18 +1,5 @@
- # ERPNext - web based ERP (http://erpnext.com)
- # Copyright (C) 2012 Web Notes Technologies Pvt Ltd
- 
- # This program is free software: you can redistribute it and/or modify
- # it under the terms of the GNU General Public License as published by
- # the Free Software Foundation, either version 3 of the License, or
- # (at your option) any later version.
-
- # This program is distributed in the hope that it will be useful,
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- # GNU General Public License for more details.
- 
- # You should have received a copy of the GNU General Public License
- # along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/controllers/selling_controller.py b/controllers/selling_controller.py
index 488c7df..0a521d9 100644
--- a/controllers/selling_controller.py
+++ b/controllers/selling_controller.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/controllers/status_updater.py b/controllers/status_updater.py
index ac06b2e..070f200 100644
--- a/controllers/status_updater.py
+++ b/controllers/status_updater.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/controllers/stock_controller.py b/controllers/stock_controller.py
index 69d396e..f2e3abf 100644
--- a/controllers/stock_controller.py
+++ b/controllers/stock_controller.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/controllers/trends.py b/controllers/trends.py
index eaaf4d1..ffce993 100644
--- a/controllers/trends.py
+++ b/controllers/trends.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/docs/docs.user.setup.data_import.md b/docs/docs.user.setup.data_import.md
index ae2ee4b..b88b705 100644
--- a/docs/docs.user.setup.data_import.md
+++ b/docs/docs.user.setup.data_import.md
@@ -5,35 +5,70 @@
 ---
 The ￼Data Import Tool is a great way to upload (or edit) bulk data, specially master data, into the system. To start the tool go to:
 
-> Setup > Data > Data Import Tool
+To Open the data import tool, you either go to Setup or go to the Transaction you want to Import. If Data Import is allowed, you will see an Import Button:
+
+![Start Import](img/import-1.png)
 
 The tool has two sections, one to download a template and the second to upload the data.
 
-To upload any type of information, select a type from the drop-down. When you select, the system will give you one or more list of templates you can download. So why multiple templates?
+(Note: Only those DocTypes are allowed for Import whose Document Type is "Master" or Allow Import property is set.)
 
-In ERPNext, each master or transaction is defined by a “main table” and “child tables”. These child tables are there because some master tables could have multiple value of certain properties. For example, select Item. Here you will see a number of “child” tables linked to the item table. This is because an Item can have multiple prices, taxes and so on! You must import each table separately. In the child table, you must mention the parent of the row in the “parent” column so that ERPNext knows which Item’s price or tax you are trying to set.
+### 1. Downloading The Template
 
-### The Template
+Data in ERPNext is stored in tables, much like a spreadsheet with columns and rows of data. Each entity in ERPNext can have multiple child tables associated with it too. The child tables are linked to the parent tables and are implemented where are multiple values for any property. For example an Item can have multiple prices, An Invoice has multiple Items and so on.
 
-Here are a few tips to fill your template:
+You can import each table separately, or all at a time. In the child table, you must mention the parent of the row in the “parent” column so that ERPNext knows which Item’s price or tax you are trying to set if you are importing separately.
 
-- Don’t change any cells before the row “----Start entering data below this line----”.
-- Leave the first column blank.
-- Read the explanations of the columns.
-- Some columns are mandatory (the 5th row will tell you which ones those are).
-- Columns of type “Link” and “Select” will only accept values from a certain set.
-- For “Link” type columns, the value must be present in the table it links to.
-- For “Select” the options are given on the 6th row. The value must be one of those.
-- Dates: A number of standard date formats are accepted. Please make sure, your dates are added in one of those formats.
+![Download The Template](img/import-2.png)
 
-### Overwriting
+- Click on the table you want to download or "All Tables"
+- For bulk editing, you can click on "Download With Data"
 
-ERPNext also allows you to overwrite all / certain columns. If you want to update certain columns, you can download the template with data.Remember to check on the “Overwrite” box before uploading.
+### 2. Fill in the Template
+
+After downloading the template, open it in a spreadsheet application and fill in the data below the column headings.
+
+![Spreadsheet](img/import-3.png)
+
+Then export your template or save it as a **Comma Separated Values** (CSV) file.
+
+![Spreadsheet](img/import-4.png)
+
+### 3. Upload the .csv File
+
+Finally attach the .csv file in the section section click on the "Upload and Import" button.
+
+![Attach and Upload](img/import-5.png)
+
+Notes:
+
+- Make sure that if your application allows, use encoding as UTF-8. 
+- Keep the ID column blank for new records.
+- Make sure you keep the modified column as it is for "All Tables".
+- "Parent" column is mandatory for child type tables.
+
+### 4. Uploading All Tables (Main + Child)
+
+If you select all tables, you will get columns belonging to all the tables in one row separated by `-` columns.
+
+If you have multiple child rows then you must start a new main item on a new row. See the example:
+
+	Main Table							- 	Child Table
+	Column 1	Column 2	Column 3	- 	Column 1	Column 2	Column 3
+	v11			v12			v13				c11			c12			c13
+											c14			c15			c17
+	v21			v22			v23				c21			c22			c23
+	
+> To see how its done, enter a few records manually using forms and export "All Tables" with "Download with Data"
+
+### 5. Overwriting
+
+ERPNext also allows you to overwrite all / certain columns. If you want to update certain columns, you can download the template with data. Remember to check on the “Overwrite” box before uploading.
 
 > Note: For child records, if you select Overwrite, it will delete all the child records of that parent.
 
-### Upload Limitations
+### 6. Upload Limitations
 
-ERPNext restricts the amount of data you can upload in one file. Though the number may vary based on the type of data. It is usually safe to upload 100-200 rows of a table at one go. If the system will not accept, then you will see an error.
+ERPNext restricts the amount of data you can upload in one file. Though the number may vary based on the type of data. It is usually safe to upload around 1000 rows of a table at one go. If the system will not accept, then you will see an error.
 
 Why is this? Uploading a lot of data can cause your system to crash, specially if there are other users doing things in parallel. Hence ERPNext restricts the number of “writes” you can process in one request.
diff --git a/docs/docs.user.setup.masters.md b/docs/docs.user.setup.masters.md
new file mode 100644
index 0000000..ccbc32d
--- /dev/null
+++ b/docs/docs.user.setup.masters.md
@@ -0,0 +1,11 @@
+---
+{
+	"_label": "Setting Up Masters",
+	"_toc": [
+		"docs.user.stock.item",
+		"docs.user.selling.customer",
+		"docs.user.buying.supplier"
+	]
+}
+---
+First step is setting up your master data.
\ No newline at end of file
diff --git a/docs/docs.user.setup.price_list.md b/docs/docs.user.setup.price_list.md
new file mode 100644
index 0000000..c746ee7
--- /dev/null
+++ b/docs/docs.user.setup.price_list.md
@@ -0,0 +1,5 @@
+---
+{
+	"_label": "Price Lists"
+}
+---
\ No newline at end of file
diff --git a/docs/docs.user.stock.valuation.md b/docs/docs.user.stock.valuation.md
new file mode 100644
index 0000000..8ecf8fd
--- /dev/null
+++ b/docs/docs.user.stock.valuation.md
@@ -0,0 +1,27 @@
+---
+{
+	"_label": "Item Valuation: FIFO and Moving Average"
+}
+---
+### How are Items Valued?
+
+One of the major features of any inventory system is that you can find out the value of any item based on its historic or average price. You can also find the value of all your items for your balance sheet. Why is valuation important?
+
+- The buying price fluctuates.
+- The value changes because of some process (value add).
+- The value changes because of decay, loss etc.
+
+You may encounter these terms, so lets clarify:
+
+- Rate: Rate at which the transaction takes place.
+- Valuation Rate: Rate at which the items value is set for your valuation.
+
+There are two major ways in which ERPNext values your items.
+
+- **FIFO (First In First Out):** In this system, ERPNext assumes that you will consume / sell those Items first that you bought first. For example, if you buy an Item at price X and then after a few days at price Y. Thus when you sell your Item, ERPNext will reduce the quantity of the Item priced at X first and then Y.
+
+![FIFO](img/fifo.png)
+
+- **Moving Average:** In this method, ERPNext assumes that the value of the item at any point is the average price of the units of that Item in stock. For example, if the value of an Item is X in a Warehouse with quantity Y and another quantity Y1 is added to the Warehouse at cost X1, the new value X2 would be:
+
+> New Value X2 = (X * Y + X1 * Y1) / (Y + Y1)
\ No newline at end of file
diff --git a/home/doctype/feed/feed.py b/home/doctype/feed/feed.py
index 36e09ca..25abf57 100644
--- a/home/doctype/feed/feed.py
+++ b/home/doctype/feed/feed.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/home/page/activity/activity.js b/home/page/activity/activity.js
index 137edb8..17e00c9 100644
--- a/home/page/activity/activity.js
+++ b/home/page/activity/activity.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 wn.pages['activity'].onload = function(wrapper) {
 	wn.ui.make_app_page({
 		parent: wrapper,
diff --git a/home/page/activity/activity.py b/home/page/activity/activity.py
index 76f2829..1f72d7e 100644
--- a/home/page/activity/activity.py
+++ b/home/page/activity/activity.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 import webnotes
 
diff --git a/home/page/latest_updates/latest_updates.js b/home/page/latest_updates/latest_updates.js
index dcdbed9..094eeb5 100644
--- a/home/page/latest_updates/latest_updates.js
+++ b/home/page/latest_updates/latest_updates.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 wn.pages['latest-updates'].onload = function(wrapper) { 
 	wn.ui.make_app_page({
 		parent: wrapper,
diff --git a/home/page/latest_updates/latest_updates.py b/home/page/latest_updates/latest_updates.py
index 4cd25b2..4eb208f 100644
--- a/home/page/latest_updates/latest_updates.py
+++ b/home/page/latest_updates/latest_updates.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 import webnotes, os, subprocess, tempfile, json, datetime
 
diff --git a/hr/doctype/appraisal/appraisal.js b/hr/doctype/appraisal/appraisal.js
index 3ac62b1..f94a288 100644
--- a/hr/doctype/appraisal/appraisal.js
+++ b/hr/doctype/appraisal/appraisal.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 cur_frm.add_fetch('employee', 'company', 'company');
 cur_frm.add_fetch('employee', 'employee_name', 'employee_name');
diff --git a/hr/doctype/appraisal/appraisal.py b/hr/doctype/appraisal/appraisal.py
index 8a50d7c..91d54b6 100644
--- a/hr/doctype/appraisal/appraisal.py
+++ b/hr/doctype/appraisal/appraisal.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/hr/doctype/appraisal_goal/appraisal_goal.py b/hr/doctype/appraisal_goal/appraisal_goal.py
index 7f48feb..26d0f76 100644
--- a/hr/doctype/appraisal_goal/appraisal_goal.py
+++ b/hr/doctype/appraisal_goal/appraisal_goal.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/hr/doctype/appraisal_template/appraisal_template.py b/hr/doctype/appraisal_template/appraisal_template.py
index e43f36a..ca1bad7 100644
--- a/hr/doctype/appraisal_template/appraisal_template.py
+++ b/hr/doctype/appraisal_template/appraisal_template.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/hr/doctype/appraisal_template_goal/appraisal_template_goal.py b/hr/doctype/appraisal_template_goal/appraisal_template_goal.py
index 7f48feb..26d0f76 100644
--- a/hr/doctype/appraisal_template_goal/appraisal_template_goal.py
+++ b/hr/doctype/appraisal_template_goal/appraisal_template_goal.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/hr/doctype/attendance/attendance.js b/hr/doctype/attendance/attendance.js
index d1a66ce..4f66b07 100644
--- a/hr/doctype/attendance/attendance.js
+++ b/hr/doctype/attendance/attendance.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 cur_frm.add_fetch('employee', 'company', 'company');
 cur_frm.add_fetch('employee', 'employee_name', 'employee_name');
diff --git a/hr/doctype/attendance/attendance.py b/hr/doctype/attendance/attendance.py
index 16e2547..7b82bc5 100644
--- a/hr/doctype/attendance/attendance.py
+++ b/hr/doctype/attendance/attendance.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/hr/doctype/branch/branch.py b/hr/doctype/branch/branch.py
index eb3916b..2f09fd4 100644
--- a/hr/doctype/branch/branch.py
+++ b/hr/doctype/branch/branch.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/hr/doctype/branch/test_branch.py b/hr/doctype/branch/test_branch.py
index dc33644..a51143e 100644
--- a/hr/doctype/branch/test_branch.py
+++ b/hr/doctype/branch/test_branch.py
@@ -1 +1,4 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 test_records = [[{"doctype":"Branch", "branch":"_Test Branch"}]]
\ No newline at end of file
diff --git a/hr/doctype/deduction_type/deduction_type.py b/hr/doctype/deduction_type/deduction_type.py
index 7f48feb..26d0f76 100644
--- a/hr/doctype/deduction_type/deduction_type.py
+++ b/hr/doctype/deduction_type/deduction_type.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/hr/doctype/deduction_type/test_deduction_type.py b/hr/doctype/deduction_type/test_deduction_type.py
new file mode 100644
index 0000000..57cb0bb
--- /dev/null
+++ b/hr/doctype/deduction_type/test_deduction_type.py
@@ -0,0 +1,13 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
+test_records = [
+	[{
+			"doctype": "Deduction Type",
+			"deduction_name": "_Test Professional Tax"
+	}],
+	[{
+			"doctype": "Deduction Type",
+			"deduction_name": "_Test TDS"
+	}]
+]
\ No newline at end of file
diff --git a/hr/doctype/department/department.py b/hr/doctype/department/department.py
index 6c41e4f..8bb44ee 100644
--- a/hr/doctype/department/department.py
+++ b/hr/doctype/department/department.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/hr/doctype/department/test_department.py b/hr/doctype/department/test_department.py
index a5ac6c7..102bbc8 100644
--- a/hr/doctype/department/test_department.py
+++ b/hr/doctype/department/test_department.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 test_ignore = ["Leave Block List"]
 
 test_records = [
diff --git a/hr/doctype/designation/designation.py b/hr/doctype/designation/designation.py
index eb3916b..2f09fd4 100644
--- a/hr/doctype/designation/designation.py
+++ b/hr/doctype/designation/designation.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/hr/doctype/designation/test_designation.py b/hr/doctype/designation/test_designation.py
index 913b7ec..1eb8f50 100644
--- a/hr/doctype/designation/test_designation.py
+++ b/hr/doctype/designation/test_designation.py
@@ -1 +1,4 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 test_records = [[{"doctype":"Designation", "designation_name":"_Test Designation"}]]
\ No newline at end of file
diff --git a/hr/doctype/earning_type/earning_type.py b/hr/doctype/earning_type/earning_type.py
index 7f48feb..26d0f76 100644
--- a/hr/doctype/earning_type/earning_type.py
+++ b/hr/doctype/earning_type/earning_type.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/hr/doctype/earning_type/test_earning_type.py b/hr/doctype/earning_type/test_earning_type.py
new file mode 100644
index 0000000..f22279e
--- /dev/null
+++ b/hr/doctype/earning_type/test_earning_type.py
@@ -0,0 +1,15 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
+test_records = [
+	[{
+			"doctype": "Earning Type",
+			"earning_name": "_Test Basic Salary",
+			"taxable": "Yes"
+	}],
+	[{
+			"doctype": "Earning Type",
+			"earning_name": "_Test Allowance",
+			"taxable": "Yes"
+	}]
+]
\ No newline at end of file
diff --git a/hr/doctype/employee/employee.js b/hr/doctype/employee/employee.js
index 5522ff2..9ee7c61 100644
--- a/hr/doctype/employee/employee.js
+++ b/hr/doctype/employee/employee.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.	If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 wn.provide("erpnext.hr");
 erpnext.hr.EmployeeController = wn.ui.form.Controller.extend({
@@ -43,11 +30,12 @@
 		return this.frm.call({
 			method:"hr.utils.get_leave_approver_list",
 			callback: function(r) {
-				me.frm.fields_dict.employee_leave_approvers.grid
-					.get_field("leave_approver").df.options =
-					$.map(r.message, function(profile) { 
-						return {value: profile, label: wn.user_info(profile).fullname}; 
-					});
+				var df = wn.meta.get_docfield("Employee Leave Approver", "leave_approver",
+					me.frm.doc.name);
+				df.options = $.map(r.message, function(profile) { 
+					return {value: profile, label: wn.user_info(profile).fullname}; 
+				});
+				me.frm.fields_dict.employee_leave_approvers.refresh();
 			}
 		});
 	},
diff --git a/hr/doctype/employee/employee.py b/hr/doctype/employee/employee.py
index 0369803..690bd55 100644
--- a/hr/doctype/employee/employee.py
+++ b/hr/doctype/employee/employee.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.	If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
@@ -29,13 +16,17 @@
 		self.doclist = doclist
 		
 	def autoname(self):
-		ret = sql("select value from `tabSingles` where doctype = 'Global Defaults' and field = 'emp_created_by'")
-		if not ret:
-			msgprint("Please setup Employee Naming System in Setup > Global Defaults > HR", raise_exception=True)
+		naming_method = webnotes.conn.get_value("HR Settings", None, "emp_created_by")
+		if not naming_method:
+			webnotes.throw(_("Please setup Employee Naming System in Human Resource > HR Settings"))
 		else:
-			if ret[0][0]=='Naming Series':
+			if naming_method=='Naming Series':
+				if not self.doc.naming_series:
+					webnotes.throw(_("Please select Naming Neries"))
 				self.doc.name = make_autoname(self.doc.naming_series + '.####')
-			elif ret[0][0]=='Employee Number':
+			elif naming_method=='Employee Number':
+				if not self.doc.employee_number:
+					webnotes.throw(_("Please enter Employee Number"))
 				self.doc.name = self.doc.employee_number
 
 		self.doc.employee = self.doc.name
@@ -47,7 +38,6 @@
 		self.doc.employee = self.doc.name
 		self.validate_date()
 		self.validate_email()
-		self.validate_name()
 		self.validate_status()
 		self.validate_employee_leave_approver()
 		
@@ -149,20 +139,6 @@
 		if self.doc.personal_email and not validate_email_add(self.doc.personal_email):
 			msgprint("Please enter valid Personal Email")
 			raise Exception
-
-	def validate_name(self):	
-		ret = sql("select value from `tabSingles` where doctype = 'Global Defaults' and field = 'emp_created_by'")
-
-		if not ret:
-			msgprint("To Save Employee, please go to Setup -->Global Defaults. Click on HR and select 'Employee Records to be created by'.")
-			raise Exception 
-		else:
-			if ret[0][0]=='Naming Series' and not self.doc.naming_series:
-				msgprint("Please select Naming Series.")
-				raise Exception 
-			elif ret[0][0]=='Employee Number' and not self.doc.employee_number:
-				msgprint("Please enter Employee Number.")
-				raise Exception 
 				
 	def validate_status(self):
 		if self.doc.status == 'Left' and not self.doc.relieving_date:
diff --git a/hr/doctype/employee/test_employee.py b/hr/doctype/employee/test_employee.py
index ed7ce94..4e85796 100644
--- a/hr/doctype/employee/test_employee.py
+++ b/hr/doctype/employee/test_employee.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 test_records = [[{
 	"doctype":"Employee",
 	"employee_name": "_Test Employee",
diff --git a/hr/doctype/employee_education/employee_education.py b/hr/doctype/employee_education/employee_education.py
index 7f48feb..26d0f76 100644
--- a/hr/doctype/employee_education/employee_education.py
+++ b/hr/doctype/employee_education/employee_education.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/hr/doctype/employee_external_work_history/employee_external_work_history.py b/hr/doctype/employee_external_work_history/employee_external_work_history.py
index 7f48feb..26d0f76 100644
--- a/hr/doctype/employee_external_work_history/employee_external_work_history.py
+++ b/hr/doctype/employee_external_work_history/employee_external_work_history.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/hr/doctype/employee_internal_work_history/employee_internal_work_history.py b/hr/doctype/employee_internal_work_history/employee_internal_work_history.py
index 7f48feb..26d0f76 100644
--- a/hr/doctype/employee_internal_work_history/employee_internal_work_history.py
+++ b/hr/doctype/employee_internal_work_history/employee_internal_work_history.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/hr/doctype/employee_leave_approver/employee_leave_approver.py b/hr/doctype/employee_leave_approver/employee_leave_approver.py
index 928aa9f..784339d 100644
--- a/hr/doctype/employee_leave_approver/employee_leave_approver.py
+++ b/hr/doctype/employee_leave_approver/employee_leave_approver.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 # For license information, please see license.txt
 
 from __future__ import unicode_literals
diff --git a/hr/doctype/employee_leave_approver/employee_leave_approver.txt b/hr/doctype/employee_leave_approver/employee_leave_approver.txt
index f175bbd..d51d6a1 100644
--- a/hr/doctype/employee_leave_approver/employee_leave_approver.txt
+++ b/hr/doctype/employee_leave_approver/employee_leave_approver.txt
@@ -2,7 +2,7 @@
  {
   "creation": "2013-04-12 06:56:15", 
   "docstatus": 0, 
-  "modified": "2013-07-10 14:54:08", 
+  "modified": "2013-08-05 14:15:44", 
   "modified_by": "Administrator", 
   "owner": "Administrator"
  }, 
@@ -19,7 +19,7 @@
   "doctype": "DocField", 
   "fieldname": "leave_approver", 
   "fieldtype": "Select", 
-  "in_list_view": 0, 
+  "in_list_view": 1, 
   "label": "Leave Approver", 
   "name": "__common__", 
   "parent": "Employee Leave Approver", 
diff --git a/hr/doctype/employment_type/employment_type.py b/hr/doctype/employment_type/employment_type.py
index 6c41e4f..8bb44ee 100644
--- a/hr/doctype/employment_type/employment_type.py
+++ b/hr/doctype/employment_type/employment_type.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/hr/doctype/employment_type/test_employment_type.py b/hr/doctype/employment_type/test_employment_type.py
index 9aedad4..0fefde2 100644
--- a/hr/doctype/employment_type/test_employment_type.py
+++ b/hr/doctype/employment_type/test_employment_type.py
@@ -1,2 +1,5 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 test_records = [[{"doctype":"Employment Type", 
 	"employee_type_name": "_Test Employment Type"}]]
\ No newline at end of file
diff --git a/hr/doctype/expense_claim/expense_claim.js b/hr/doctype/expense_claim/expense_claim.js
index 243075d..3497702 100644
--- a/hr/doctype/expense_claim/expense_claim.js
+++ b/hr/doctype/expense_claim/expense_claim.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.	If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 wn.provide("erpnext.hr");
 
diff --git a/hr/doctype/expense_claim/expense_claim.py b/hr/doctype/expense_claim/expense_claim.py
index 9317f87..869fbcc 100644
--- a/hr/doctype/expense_claim/expense_claim.py
+++ b/hr/doctype/expense_claim/expense_claim.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.	If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/hr/doctype/expense_claim_detail/expense_claim_detail.py b/hr/doctype/expense_claim_detail/expense_claim_detail.py
index 7f48feb..26d0f76 100644
--- a/hr/doctype/expense_claim_detail/expense_claim_detail.py
+++ b/hr/doctype/expense_claim_detail/expense_claim_detail.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/hr/doctype/expense_claim_type/expense_claim_type.py b/hr/doctype/expense_claim_type/expense_claim_type.py
index 7f48feb..26d0f76 100644
--- a/hr/doctype/expense_claim_type/expense_claim_type.py
+++ b/hr/doctype/expense_claim_type/expense_claim_type.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/hr/doctype/grade/grade.py b/hr/doctype/grade/grade.py
index eb3916b..2f09fd4 100644
--- a/hr/doctype/grade/grade.py
+++ b/hr/doctype/grade/grade.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/hr/doctype/grade/test_grade.py b/hr/doctype/grade/test_grade.py
index 2d6ce79..8ee6c89 100644
--- a/hr/doctype/grade/test_grade.py
+++ b/hr/doctype/grade/test_grade.py
@@ -1 +1,4 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 test_records = [[{"doctype":"Grade", "grade_name":"_Test Grade"}]]
\ No newline at end of file
diff --git a/hr/doctype/holiday/holiday.py b/hr/doctype/holiday/holiday.py
index 7f48feb..26d0f76 100644
--- a/hr/doctype/holiday/holiday.py
+++ b/hr/doctype/holiday/holiday.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/hr/doctype/holiday_list/holiday_list.py b/hr/doctype/holiday_list/holiday_list.py
index 0218114..81d18f3 100644
--- a/hr/doctype/holiday_list/holiday_list.py
+++ b/hr/doctype/holiday_list/holiday_list.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.	If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/hr/doctype/holiday_list/test_holiday_list.py b/hr/doctype/holiday_list/test_holiday_list.py
index e3a2d82..c61127b 100644
--- a/hr/doctype/holiday_list/test_holiday_list.py
+++ b/hr/doctype/holiday_list/test_holiday_list.py
@@ -1,7 +1,11 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 test_records = [[{
 		"doctype": "Holiday List",
 		"holiday_list_name": "_Test Holiday List",
-		"fiscal_year": "_Test Fiscal Year 2013"
+		"fiscal_year": "_Test Fiscal Year 2013",
+		"is_default": 1
 	}, {
 		"doctype": "Holiday",
 		"parent": "_Test Holiday List",
diff --git a/stock/report/delivered_items_to_be_billed/__init__.py b/hr/doctype/hr_settings/__init__.py
similarity index 100%
rename from stock/report/delivered_items_to_be_billed/__init__.py
rename to hr/doctype/hr_settings/__init__.py
diff --git a/hr/doctype/hr_settings/hr_settings.py b/hr/doctype/hr_settings/hr_settings.py
new file mode 100644
index 0000000..784339d
--- /dev/null
+++ b/hr/doctype/hr_settings/hr_settings.py
@@ -0,0 +1,11 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
+# For license information, please see license.txt
+
+from __future__ import unicode_literals
+import webnotes
+
+class DocType:
+	def __init__(self, d, dl):
+		self.doc, self.doclist = d, dl
\ No newline at end of file
diff --git a/hr/doctype/hr_settings/hr_settings.txt b/hr/doctype/hr_settings/hr_settings.txt
new file mode 100644
index 0000000..e3694d0
--- /dev/null
+++ b/hr/doctype/hr_settings/hr_settings.txt
@@ -0,0 +1,59 @@
+[
+ {
+  "creation": "2013-08-02 13:45:23", 
+  "docstatus": 0, 
+  "modified": "2013-08-02 14:22:26", 
+  "modified_by": "Administrator", 
+  "owner": "Administrator"
+ }, 
+ {
+  "doctype": "DocType", 
+  "document_type": "Other", 
+  "icon": "icon-cog", 
+  "issingle": 1, 
+  "module": "HR", 
+  "name": "__common__"
+ }, 
+ {
+  "doctype": "DocField", 
+  "name": "__common__", 
+  "parent": "HR Settings", 
+  "parentfield": "fields", 
+  "parenttype": "DocType", 
+  "permlevel": 0
+ }, 
+ {
+  "create": 1, 
+  "doctype": "DocPerm", 
+  "name": "__common__", 
+  "parent": "HR Settings", 
+  "parentfield": "permissions", 
+  "parenttype": "DocType", 
+  "permlevel": 0, 
+  "read": 1, 
+  "role": "System Manager", 
+  "write": 1
+ }, 
+ {
+  "doctype": "DocType", 
+  "name": "HR Settings"
+ }, 
+ {
+  "description": "Employee record is created using selected field. ", 
+  "doctype": "DocField", 
+  "fieldname": "emp_created_by", 
+  "fieldtype": "Select", 
+  "label": "Employee Records to be created by", 
+  "options": "Naming Series\nEmployee Number"
+ }, 
+ {
+  "description": "If checked, Total no. of Working Days will include holidays, and this will reduce the value of Salary Per Day", 
+  "doctype": "DocField", 
+  "fieldname": "include_holidays_in_total_working_days", 
+  "fieldtype": "Check", 
+  "label": "Include holidays in Total no. of Working Days"
+ }, 
+ {
+  "doctype": "DocPerm"
+ }
+]
\ No newline at end of file
diff --git a/hr/doctype/job_applicant/get_job_applications.py b/hr/doctype/job_applicant/get_job_applications.py
index 0b994c5..9bec43e 100644
--- a/hr/doctype/job_applicant/get_job_applications.py
+++ b/hr/doctype/job_applicant/get_job_applications.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/hr/doctype/job_applicant/job_applicant.js b/hr/doctype/job_applicant/job_applicant.js
index 220ff18..9aff605 100644
--- a/hr/doctype/job_applicant/job_applicant.js
+++ b/hr/doctype/job_applicant/job_applicant.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 // For license information, please see license.txt
 
 cur_frm.cscript = {
diff --git a/hr/doctype/job_applicant/job_applicant.py b/hr/doctype/job_applicant/job_applicant.py
index da722fb..e9b12b0 100644
--- a/hr/doctype/job_applicant/job_applicant.py
+++ b/hr/doctype/job_applicant/job_applicant.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 # For license information, please see license.txt
 
 from __future__ import unicode_literals
diff --git a/hr/doctype/job_opening/job_opening.py b/hr/doctype/job_opening/job_opening.py
index 928aa9f..784339d 100644
--- a/hr/doctype/job_opening/job_opening.py
+++ b/hr/doctype/job_opening/job_opening.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 # For license information, please see license.txt
 
 from __future__ import unicode_literals
diff --git a/hr/doctype/leave_allocation/leave_allocation.js b/hr/doctype/leave_allocation/leave_allocation.js
index a567275..0721328 100755
--- a/hr/doctype/leave_allocation/leave_allocation.js
+++ b/hr/doctype/leave_allocation/leave_allocation.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 // ****************************************** onload ********************************************************
 cur_frm.cscript.onload = function(doc, dt, dn) {
diff --git a/hr/doctype/leave_allocation/leave_allocation.py b/hr/doctype/leave_allocation/leave_allocation.py
index d2d940f..1c856fa 100755
--- a/hr/doctype/leave_allocation/leave_allocation.py
+++ b/hr/doctype/leave_allocation/leave_allocation.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/hr/doctype/leave_application/leave_application.js b/hr/doctype/leave_application/leave_application.js
index 5d97f95..4c7d356 100755
--- a/hr/doctype/leave_application/leave_application.js
+++ b/hr/doctype/leave_application/leave_application.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.	If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 cur_frm.add_fetch('employee','employee_name','employee_name');
 
@@ -23,7 +10,6 @@
 		cur_frm.set_value("status", "Open");
 		cur_frm.cscript.calculate_total_days(doc, dt, dn);
 	}
-	cur_frm.set_df_property("leave_approver", "options", "");
 	return cur_frm.call({
 		method:"hr.utils.get_leave_approver_list",
 		callback: function(r) {
diff --git a/hr/doctype/leave_application/leave_application.py b/hr/doctype/leave_application/leave_application.py
index 7c47d6a..14c8b1f 100755
--- a/hr/doctype/leave_application/leave_application.py
+++ b/hr/doctype/leave_application/leave_application.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/hr/doctype/leave_application/leave_application_calendar.js b/hr/doctype/leave_application/leave_application_calendar.js
index 48eb7fa..f9da0e5 100644
--- a/hr/doctype/leave_application/leave_application_calendar.js
+++ b/hr/doctype/leave_application/leave_application_calendar.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 wn.views.calendar["Leave Application"] = {
 	field_map: {
 		"start": "from_date",
diff --git a/hr/doctype/leave_application/test_leave_application.py b/hr/doctype/leave_application/test_leave_application.py
index 338225c..5888eae 100644
--- a/hr/doctype/leave_application/test_leave_application.py
+++ b/hr/doctype/leave_application/test_leave_application.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 import unittest
 
@@ -236,5 +239,15 @@
 		"fiscal_year": "_Test Fiscal Year 2013",
 		"employee": "_T-Employee-0002",
 		"company": "_Test Company"
+	}],
+	[{
+		"doctype": "Leave Application",
+		"leave_type": "_Test Leave Type LWP",
+		"from_date": "2013-01-15",
+		"to_date": "2013-01-15",
+		"posting_date": "2013-01-02",
+		"fiscal_year": "_Test Fiscal Year 2013",
+		"employee": "_T-Employee-0001",
+		"company": "_Test Company",
 	}]
 ]
diff --git a/hr/doctype/leave_block_list/leave_block_list.py b/hr/doctype/leave_block_list/leave_block_list.py
index 81269ba..2f37a3f 100644
--- a/hr/doctype/leave_block_list/leave_block_list.py
+++ b/hr/doctype/leave_block_list/leave_block_list.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 # For license information, please see license.txt
 
 from __future__ import unicode_literals
diff --git a/hr/doctype/leave_block_list/test_leave_block_list.py b/hr/doctype/leave_block_list/test_leave_block_list.py
index 9df5fcf..e266cd8 100644
--- a/hr/doctype/leave_block_list/test_leave_block_list.py
+++ b/hr/doctype/leave_block_list/test_leave_block_list.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 import unittest
 
diff --git a/hr/doctype/leave_block_list_allow/leave_block_list_allow.py b/hr/doctype/leave_block_list_allow/leave_block_list_allow.py
index 928aa9f..784339d 100644
--- a/hr/doctype/leave_block_list_allow/leave_block_list_allow.py
+++ b/hr/doctype/leave_block_list_allow/leave_block_list_allow.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 # For license information, please see license.txt
 
 from __future__ import unicode_literals
diff --git a/hr/doctype/leave_block_list_date/leave_block_list_date.py b/hr/doctype/leave_block_list_date/leave_block_list_date.py
index 928aa9f..784339d 100644
--- a/hr/doctype/leave_block_list_date/leave_block_list_date.py
+++ b/hr/doctype/leave_block_list_date/leave_block_list_date.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 # For license information, please see license.txt
 
 from __future__ import unicode_literals
diff --git a/hr/doctype/leave_control_panel/leave_control_panel.js b/hr/doctype/leave_control_panel/leave_control_panel.js
index 88ea067..a53f031 100644
--- a/hr/doctype/leave_control_panel/leave_control_panel.js
+++ b/hr/doctype/leave_control_panel/leave_control_panel.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 cur_frm.cscript.onload = function(doc,dt,dn){
   if(!doc.posting_date) set_multiple(dt,dn,{posting_date:get_today()});
diff --git a/hr/doctype/leave_control_panel/leave_control_panel.py b/hr/doctype/leave_control_panel/leave_control_panel.py
index e771c5c..30b52ba 100644
--- a/hr/doctype/leave_control_panel/leave_control_panel.py
+++ b/hr/doctype/leave_control_panel/leave_control_panel.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/hr/doctype/leave_type/leave_type.py b/hr/doctype/leave_type/leave_type.py
index 6c41e4f..8bb44ee 100644
--- a/hr/doctype/leave_type/leave_type.py
+++ b/hr/doctype/leave_type/leave_type.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/hr/doctype/leave_type/test_leave_type.py b/hr/doctype/leave_type/test_leave_type.py
index 4d78975..ad3f158 100644
--- a/hr/doctype/leave_type/test_leave_type.py
+++ b/hr/doctype/leave_type/test_leave_type.py
@@ -1,6 +1,14 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 test_records = [
 	[{
 		"leave_type_name": "_Test Leave Type",
 		"doctype": "Leave Type"
+	}],
+	[{
+		"leave_type_name": "_Test Leave Type LWP",
+		"doctype": "Leave Type",
+		"is_lwp": 1
 	}]
 ]
\ No newline at end of file
diff --git a/hr/doctype/salary_manager/salary_manager.js b/hr/doctype/salary_manager/salary_manager.js
index eb13e15..49fdc56 100644
--- a/hr/doctype/salary_manager/salary_manager.js
+++ b/hr/doctype/salary_manager/salary_manager.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 var display_activity_log = function(msg) {
 	if(!pscript.ss_html)
diff --git a/hr/doctype/salary_manager/salary_manager.py b/hr/doctype/salary_manager/salary_manager.py
index e9b3dd7..0eadca1 100644
--- a/hr/doctype/salary_manager/salary_manager.py
+++ b/hr/doctype/salary_manager/salary_manager.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
@@ -112,26 +99,16 @@
 			if not sql("""select name from `tabSalary Slip` 
 					where docstatus!= 2 and employee = %s and month = %s and fiscal_year = %s and company = %s
 					""", (emp[0], self.doc.month, self.doc.fiscal_year, self.doc.company)):
-				ss = Document('Salary Slip')
-				ss.fiscal_year = self.doc.fiscal_year
-				ss.employee = emp[0]
-				ss.month = self.doc.month
-				ss.email_check = self.doc.send_email
-				ss.company = self.doc.company
-				ss.save(1)
-			
-				ss_obj = get_obj('Salary Slip', ss.name, with_children=1)
-				ss_obj.get_emp_and_leave_details()
-				ss_obj.calculate_net_pay()
-				ss_obj.validate()
-				ss_obj.doc.save()
-			
-				for d in getlist(ss_obj.doclist, 'earning_details'):
-					d.save()
-				for d in getlist(ss_obj.doclist, 'deduction_details'):
-					d.save()
-					
-				ss_list.append(ss.name)
+				ss = webnotes.bean({
+					"doctype": "Salary Slip",
+					"fiscal_year": self.doc.fiscal_year,
+					"employee": emp[0],
+					"month": self.doc.month,
+					"email_check": self.doc.send_email,
+					"company": self.doc.company,
+				})
+				ss.insert()
+				ss_list.append(ss.doc.name)
 		
 		return self.create_log(ss_list)
 	
diff --git a/hr/doctype/salary_manager/test_salary_manager.py b/hr/doctype/salary_manager/test_salary_manager.py
index eb990f8..04000f0 100644
--- a/hr/doctype/salary_manager/test_salary_manager.py
+++ b/hr/doctype/salary_manager/test_salary_manager.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import unittest
diff --git a/hr/doctype/salary_slip/salary_slip.js b/hr/doctype/salary_slip/salary_slip.js
index 387b773..e44e981 100644
--- a/hr/doctype/salary_slip/salary_slip.js
+++ b/hr/doctype/salary_slip/salary_slip.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 cur_frm.add_fetch('employee', 'company', 'company');
 
diff --git a/hr/doctype/salary_slip/salary_slip.py b/hr/doctype/salary_slip/salary_slip.py
index 09bd602..4ca1734 100644
--- a/hr/doctype/salary_slip/salary_slip.py
+++ b/hr/doctype/salary_slip/salary_slip.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
@@ -61,7 +48,7 @@
 			["bank_name", "bank_ac_no", "esic_card_no", "pf_number"], as_dict=1)
 		if emp:
 			self.doc.bank_name = emp.bank_name
-			self.doc.bank_ac_no = emp.bank_ac_no
+			self.doc.bank_account_no = emp.bank_ac_no
 			self.doc.esic_no = emp.esic_card_no
 			self.doc.pf_no = emp.pf_number
 
@@ -72,9 +59,17 @@
 			self.doc.month = "%02d" % getdate(nowdate()).month
 			
 		m = get_obj('Salary Manager').get_month_details(self.doc.fiscal_year, self.doc.month)
+		holidays = self.get_holidays_for_employee(m)
 		
+		if not cint(webnotes.conn.get_value("HR Settings", "HR Settings",
+			"include_holidays_in_total_working_days")):
+				m["month_days"] -= len(holidays)
+				if m["month_days"] < 0:
+					msgprint(_("Bummer! There are more holidays than working days this month."),
+						raise_exception=True)
+			
 		if not lwp:
-			lwp = self.calculate_lwp(m)
+			lwp = self.calculate_lwp(holidays, m)
 		self.doc.total_days_in_month = m['month_days']
 		self.doc.leave_without_pay = lwp
 		payment_days = flt(self.get_payment_days(m)) - flt(lwp)
@@ -103,11 +98,8 @@
 				payment_days = 0
 
 		return payment_days
-
-
-
-
-	def calculate_lwp(self, m):
+		
+	def get_holidays_for_employee(self, m):
 		holidays = sql("""select t1.holiday_date 
 			from `tabHoliday` t1, tabEmployee t2 
 			where t1.parent = t2.holiday_list and t2.name = %s 
@@ -117,8 +109,13 @@
 			holidays = sql("""select t1.holiday_date 
 				from `tabHoliday` t1, `tabHoliday List` t2 
 				where t1.parent = t2.name and ifnull(t2.is_default, 0) = 1 
-				and t2.fiscal_year = %s""", self.doc.fiscal_year)
+				and t2.fiscal_year = %s
+				and t1.holiday_date between %s and %s""", (self.doc.fiscal_year, 
+					m['month_start_date'], m['month_end_date']))
 		holidays = [cstr(i[0]) for i in holidays]
+		return holidays
+
+	def calculate_lwp(self, holidays, m):
 		lwp = 0
 		for d in range(m['month_days']):
 			dt = add_days(cstr(m['month_start_date']), d)
@@ -133,7 +130,7 @@
 					and %s between from_date and to_date
 				""", (self.doc.employee, dt))
 				if leave:
-					lwp = cint(leave[0][1]) and lwp + 0.5 or lwp + 1
+					lwp = cint(leave[0][1]) and (lwp + 0.5) or (lwp + 1)
 		return lwp
 
 	def check_existing(self):
@@ -150,17 +147,29 @@
 	def validate(self):
 		from webnotes.utils import money_in_words
 		self.check_existing()
+		
+		if not (len(self.doclist.get({"parentfield": "earning_details"})) or 
+			len(self.doclist.get({"parentfield": "deduction_details"}))):
+				self.get_emp_and_leave_details()
+		else:
+			self.get_leave_details(self.doc.leave_without_pay)
+
+		if not self.doc.net_pay:
+			self.calculate_net_pay()
+			
 		company_currency = get_company_currency(self.doc.company)
 		self.doc.total_in_words = money_in_words(self.doc.rounded_total, company_currency)
 
 	def calculate_earning_total(self):
 		self.doc.gross_pay = flt(self.doc.arrear_amount) + flt(self.doc.leave_encashment_amount)
-		for d in getlist(self.doclist, 'earning_details'):
+		for d in self.doclist.get({"parentfield": "earning_details"}):
 			if cint(d.e_depends_on_lwp) == 1:
 				d.e_modified_amount = round(flt(d.e_amount) * flt(self.doc.payment_days)
 					/ cint(self.doc.total_days_in_month), 2)
 			elif not self.doc.payment_days:
 				d.e_modified_amount = 0
+			else:
+				d.e_modified_amount = d.e_amount
 			self.doc.gross_pay += flt(d.e_modified_amount)
 	
 	def calculate_ded_total(self):
@@ -171,6 +180,8 @@
 					/ cint(self.doc.total_days_in_month), 2)
 			elif not self.doc.payment_days:
 				d.d_modified_amount = 0
+			else:
+				d.d_modified_amount = d.d_amount
 			
 			self.doc.total_deduction += flt(d.d_modified_amount)
 				
diff --git a/hr/doctype/salary_slip/salary_slip.txt b/hr/doctype/salary_slip/salary_slip.txt
index 871c6b8..641adae 100644
--- a/hr/doctype/salary_slip/salary_slip.txt
+++ b/hr/doctype/salary_slip/salary_slip.txt
@@ -2,7 +2,7 @@
  {
   "creation": "2013-01-10 16:34:15", 
   "docstatus": 0, 
-  "modified": "2013-07-05 14:53:44", 
+  "modified": "2013-08-02 19:23:13", 
   "modified_by": "Administrator", 
   "owner": "Administrator"
  }, 
@@ -190,7 +190,7 @@
   "doctype": "DocField", 
   "fieldname": "total_days_in_month", 
   "fieldtype": "Data", 
-  "label": "Total days in month", 
+  "label": "Total Working Days In The Month", 
   "oldfieldname": "total_days_in_month", 
   "oldfieldtype": "Int", 
   "read_only": 1, 
@@ -208,7 +208,7 @@
   "doctype": "DocField", 
   "fieldname": "payment_days", 
   "fieldtype": "Float", 
-  "label": "Payment days", 
+  "label": "Payment Days", 
   "oldfieldname": "payment_days", 
   "oldfieldtype": "Float", 
   "read_only": 1, 
diff --git a/hr/doctype/salary_slip/test_salary_slip.py b/hr/doctype/salary_slip/test_salary_slip.py
new file mode 100644
index 0000000..6bb8c8e
--- /dev/null
+++ b/hr/doctype/salary_slip/test_salary_slip.py
@@ -0,0 +1,88 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
+import webnotes
+import unittest
+
+class TestSalarySlip(unittest.TestCase):
+	def setUp(self):
+		webnotes.conn.sql("""delete from `tabLeave Application`""")
+		webnotes.conn.sql("""delete from `tabSalary Slip`""")
+		from hr.doctype.leave_application.test_leave_application import test_records as leave_applications
+		la = webnotes.bean(copy=leave_applications[4])
+		la.insert()
+		la.doc.status = "Approved"
+		la.submit()
+		
+	def tearDown(self):
+		webnotes.conn.set_value("HR Settings", "HR Settings", "include_holidays_in_total_working_days", 0)
+		
+	def test_salary_slip_with_holidays_included(self):
+		webnotes.conn.set_value("HR Settings", "HR Settings", "include_holidays_in_total_working_days", 1)
+		ss = webnotes.bean(copy=test_records[0])
+		ss.insert()
+		self.assertEquals(ss.doc.total_days_in_month, 31)
+		self.assertEquals(ss.doc.payment_days, 30)
+		self.assertEquals(ss.doclist[1].e_modified_amount, 14516.13)
+		self.assertEquals(ss.doclist[2].e_modified_amount, 500)
+		self.assertEquals(ss.doclist[3].d_modified_amount, 100)
+		self.assertEquals(ss.doclist[4].d_modified_amount, 48.39)
+		self.assertEquals(ss.doc.gross_pay, 15016.13)
+		self.assertEquals(ss.doc.net_pay, 14867.74)
+		
+	def test_salary_slip_with_holidays_excluded(self):
+		ss = webnotes.bean(copy=test_records[0])
+		ss.insert()
+		self.assertEquals(ss.doc.total_days_in_month, 30)
+		self.assertEquals(ss.doc.payment_days, 29)
+		self.assertEquals(ss.doclist[1].e_modified_amount, 14500)
+		self.assertEquals(ss.doclist[2].e_modified_amount, 500)
+		self.assertEquals(ss.doclist[3].d_modified_amount, 100)
+		self.assertEquals(ss.doclist[4].d_modified_amount, 48.33)
+		self.assertEquals(ss.doc.gross_pay, 15000)
+		self.assertEquals(ss.doc.net_pay, 14851.67)
+
+test_dependencies = ["Leave Application"]
+
+test_records = [
+	[
+		{
+			"doctype": "Salary Slip",
+			"employee": "_T-Employee-0001",
+			"employee_name": "_Test Employee",
+			"company": "_Test Company",
+			"fiscal_year": "_Test Fiscal Year 2013",
+			"month": "01",
+			"total_days_in_month": 31,
+			"payment_days": 31
+		},
+		{
+			"doctype": "Salary Slip Earning",
+			"parentfield": "earning_details",
+			"e_type": "_Test Basic Salary",
+			"e_amount": 15000,
+			"e_depends_on_lwp": 1
+		},
+		{
+			"doctype": "Salary Slip Earning",
+			"parentfield": "earning_details",
+			"e_type": "_Test Allowance",
+			"e_amount": 500,
+			"e_depends_on_lwp": 0
+		},
+		{
+			"doctype": "Salary Slip Deduction",
+			"parentfield": "deduction_details",
+			"d_type": "_Test Professional Tax",
+			"d_amount": 100,
+			"d_depends_on_lwp": 0
+		},
+		{
+			"doctype": "Salary Slip Deduction",
+			"parentfield": "deduction_details",
+			"d_type": "_Test TDS",
+			"d_amount": 50,
+			"d_depends_on_lwp": 1
+		},
+	]
+]
\ No newline at end of file
diff --git a/hr/doctype/salary_slip_deduction/salary_slip_deduction.py b/hr/doctype/salary_slip_deduction/salary_slip_deduction.py
index 7f48feb..26d0f76 100644
--- a/hr/doctype/salary_slip_deduction/salary_slip_deduction.py
+++ b/hr/doctype/salary_slip_deduction/salary_slip_deduction.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/hr/doctype/salary_slip_earning/salary_slip_earning.py b/hr/doctype/salary_slip_earning/salary_slip_earning.py
index 7f48feb..26d0f76 100644
--- a/hr/doctype/salary_slip_earning/salary_slip_earning.py
+++ b/hr/doctype/salary_slip_earning/salary_slip_earning.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/hr/doctype/salary_structure/salary_structure.js b/hr/doctype/salary_structure/salary_structure.js
index 6b98988..81cb63d 100644
--- a/hr/doctype/salary_structure/salary_structure.js
+++ b/hr/doctype/salary_structure/salary_structure.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 cur_frm.add_fetch('employee', 'company', 'company');
 
diff --git a/hr/doctype/salary_structure/salary_structure.py b/hr/doctype/salary_structure/salary_structure.py
index c7b33e4..e91861d 100644
--- a/hr/doctype/salary_structure/salary_structure.py
+++ b/hr/doctype/salary_structure/salary_structure.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.	If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/hr/doctype/salary_structure_deduction/salary_structure_deduction.py b/hr/doctype/salary_structure_deduction/salary_structure_deduction.py
index 7f48feb..26d0f76 100644
--- a/hr/doctype/salary_structure_deduction/salary_structure_deduction.py
+++ b/hr/doctype/salary_structure_deduction/salary_structure_deduction.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/hr/doctype/salary_structure_earning/salary_structure_earning.py b/hr/doctype/salary_structure_earning/salary_structure_earning.py
index 7f48feb..26d0f76 100644
--- a/hr/doctype/salary_structure_earning/salary_structure_earning.py
+++ b/hr/doctype/salary_structure_earning/salary_structure_earning.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/hr/doctype/upload_attendance/upload_attendance.js b/hr/doctype/upload_attendance/upload_attendance.js
index db97714..71e2669 100644
--- a/hr/doctype/upload_attendance/upload_attendance.js
+++ b/hr/doctype/upload_attendance/upload_attendance.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 
 wn.require("public/app/js/utils.js");
diff --git a/hr/doctype/upload_attendance/upload_attendance.py b/hr/doctype/upload_attendance/upload_attendance.py
index 54b8e49..c1344b9 100644
--- a/hr/doctype/upload_attendance/upload_attendance.py
+++ b/hr/doctype/upload_attendance/upload_attendance.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 # For license information, please see license.txt
 
 from __future__ import unicode_literals
diff --git a/hr/page/hr_home/hr_home.js b/hr/page/hr_home/hr_home.js
index 21ec1e1..71ed689 100644
--- a/hr/page/hr_home/hr_home.js
+++ b/hr/page/hr_home/hr_home.js
@@ -1,5 +1,5 @@
-// ERPNext: Copyright 2013 Web Notes Technologies Pvt Ltd
-// GNU General Public License. See "license.txt"
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt"
 
 wn.module_page["HR"] = [
 	{
@@ -162,6 +162,18 @@
 		]
 	},
 	{
+		title: wn._("Setup"),
+		icon: "icon-cog",
+		items: [
+			{
+				"label": wn._("HR Settings"),
+				"route": "Form/HR Settings",
+				"doctype":"HR Settings",
+				"description": "Settings for HR Module"
+			}
+		]
+	},
+	{
 		title: wn._("Reports"),
 		right: true,
 		icon: "icon-list",
diff --git a/hr/report/employee_birthday/employee_birthday.js b/hr/report/employee_birthday/employee_birthday.js
index f2bc9cb..3fd8492 100644
--- a/hr/report/employee_birthday/employee_birthday.js
+++ b/hr/report/employee_birthday/employee_birthday.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 wn.query_reports["Employee Birthday"] = {
 	"filters": [
 		{
diff --git a/hr/report/employee_birthday/employee_birthday.py b/hr/report/employee_birthday/employee_birthday.py
index 7268055..d40e7d4 100644
--- a/hr/report/employee_birthday/employee_birthday.py
+++ b/hr/report/employee_birthday/employee_birthday.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/hr/report/employee_leave_balance/employee_leave_balance.js b/hr/report/employee_leave_balance/employee_leave_balance.js
index d19b48f..1bf252d 100644
--- a/hr/report/employee_leave_balance/employee_leave_balance.js
+++ b/hr/report/employee_leave_balance/employee_leave_balance.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 wn.query_reports["Employee Leave Balance"] = {
 	"filters": [
 		{
diff --git a/hr/report/employee_leave_balance/employee_leave_balance.py b/hr/report/employee_leave_balance/employee_leave_balance.py
index 9d859da..770df45 100644
--- a/hr/report/employee_leave_balance/employee_leave_balance.py
+++ b/hr/report/employee_leave_balance/employee_leave_balance.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 import webnotes
 from webnotes.widgets.reportview import execute as runreport
diff --git a/hr/report/monthly_attendance_sheet/monthly_attendance_sheet.js b/hr/report/monthly_attendance_sheet/monthly_attendance_sheet.js
index 0cc802d..678e7af 100644
--- a/hr/report/monthly_attendance_sheet/monthly_attendance_sheet.js
+++ b/hr/report/monthly_attendance_sheet/monthly_attendance_sheet.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 wn.query_reports["Monthly Attendance Sheet"] = {
 	"filters": [
 		{
diff --git a/hr/report/monthly_attendance_sheet/monthly_attendance_sheet.py b/hr/report/monthly_attendance_sheet/monthly_attendance_sheet.py
index 42a9770..e321c6f 100644
--- a/hr/report/monthly_attendance_sheet/monthly_attendance_sheet.py
+++ b/hr/report/monthly_attendance_sheet/monthly_attendance_sheet.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/hr/report/monthly_salary_register/monthly_salary_register.js b/hr/report/monthly_salary_register/monthly_salary_register.js
index 62c9d90..eb33d08 100644
--- a/hr/report/monthly_salary_register/monthly_salary_register.js
+++ b/hr/report/monthly_salary_register/monthly_salary_register.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 wn.query_reports["Monthly Salary Register"] = {
 	"filters": [
 		{
diff --git a/hr/report/monthly_salary_register/monthly_salary_register.py b/hr/report/monthly_salary_register/monthly_salary_register.py
index cc25dc3..13f49a4 100644
--- a/hr/report/monthly_salary_register/monthly_salary_register.py
+++ b/hr/report/monthly_salary_register/monthly_salary_register.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/hr/utils.py b/hr/utils.py
index 0d23a16..ddd39e9 100644
--- a/hr/utils.py
+++ b/hr/utils.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/install_erpnext.py b/install_erpnext.py
index 6613849..341d4c5 100644
--- a/install_erpnext.py
+++ b/install_erpnext.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 #!/usr/bin/env python
 from __future__ import unicode_literals
 import os, sys
diff --git a/manufacturing/doctype/bom/bom.js b/manufacturing/doctype/bom/bom.js
index 6f1786f..badb108 100644
--- a/manufacturing/doctype/bom/bom.js
+++ b/manufacturing/doctype/bom/bom.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.	If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 // On REFRESH
 cur_frm.cscript.refresh = function(doc,dt,dn){
diff --git a/manufacturing/doctype/bom/bom.py b/manufacturing/doctype/bom/bom.py
index 15f59ec..7d5dcb8 100644
--- a/manufacturing/doctype/bom/bom.py
+++ b/manufacturing/doctype/bom/bom.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/manufacturing/doctype/bom/test_bom.py b/manufacturing/doctype/bom/test_bom.py
index bc99b89..d0b394a 100644
--- a/manufacturing/doctype/bom/test_bom.py
+++ b/manufacturing/doctype/bom/test_bom.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 
 from __future__ import unicode_literals
diff --git a/manufacturing/doctype/bom_explosion_item/bom_explosion_item.py b/manufacturing/doctype/bom_explosion_item/bom_explosion_item.py
index 7f48feb..26d0f76 100644
--- a/manufacturing/doctype/bom_explosion_item/bom_explosion_item.py
+++ b/manufacturing/doctype/bom_explosion_item/bom_explosion_item.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/manufacturing/doctype/bom_item/bom_item.py b/manufacturing/doctype/bom_item/bom_item.py
index 7f48feb..26d0f76 100644
--- a/manufacturing/doctype/bom_item/bom_item.py
+++ b/manufacturing/doctype/bom_item/bom_item.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/manufacturing/doctype/bom_operation/bom_operation.py b/manufacturing/doctype/bom_operation/bom_operation.py
index 7f48feb..26d0f76 100644
--- a/manufacturing/doctype/bom_operation/bom_operation.py
+++ b/manufacturing/doctype/bom_operation/bom_operation.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/manufacturing/doctype/bom_replace_tool/bom_replace_tool.js b/manufacturing/doctype/bom_replace_tool/bom_replace_tool.js
index bad03ac..8b37f32 100644
--- a/manufacturing/doctype/bom_replace_tool/bom_replace_tool.js
+++ b/manufacturing/doctype/bom_replace_tool/bom_replace_tool.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 
 cur_frm.cscript.refresh = function(doc) {
diff --git a/manufacturing/doctype/bom_replace_tool/bom_replace_tool.py b/manufacturing/doctype/bom_replace_tool/bom_replace_tool.py
index e69c487..dae4dea 100644
--- a/manufacturing/doctype/bom_replace_tool/bom_replace_tool.py
+++ b/manufacturing/doctype/bom_replace_tool/bom_replace_tool.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/manufacturing/doctype/production_order/production_order.js b/manufacturing/doctype/production_order/production_order.js
index bf4fd8e..012c279 100644
--- a/manufacturing/doctype/production_order/production_order.js
+++ b/manufacturing/doctype/production_order/production_order.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.	If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 cur_frm.cscript.onload = function(doc, dt, dn) {
 	if (!doc.status) doc.status = 'Draft';
diff --git a/manufacturing/doctype/production_order/production_order.py b/manufacturing/doctype/production_order/production_order.py
index 65670a0..fa9b325 100644
--- a/manufacturing/doctype/production_order/production_order.py
+++ b/manufacturing/doctype/production_order/production_order.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/manufacturing/doctype/production_plan_item/production_plan_item.py b/manufacturing/doctype/production_plan_item/production_plan_item.py
index 7f48feb..26d0f76 100644
--- a/manufacturing/doctype/production_plan_item/production_plan_item.py
+++ b/manufacturing/doctype/production_plan_item/production_plan_item.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/manufacturing/doctype/production_plan_sales_order/production_plan_sales_order.py b/manufacturing/doctype/production_plan_sales_order/production_plan_sales_order.py
index 7f48feb..26d0f76 100644
--- a/manufacturing/doctype/production_plan_sales_order/production_plan_sales_order.py
+++ b/manufacturing/doctype/production_plan_sales_order/production_plan_sales_order.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/manufacturing/doctype/production_planning_tool/production_planning_tool.js b/manufacturing/doctype/production_planning_tool/production_planning_tool.js
index c18c84e..ebe1a1c 100644
--- a/manufacturing/doctype/production_planning_tool/production_planning_tool.js
+++ b/manufacturing/doctype/production_planning_tool/production_planning_tool.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 cur_frm.cscript.onload = function(doc, cdt, cdn) {
 	doc.company = wn.defaults.get_default("company");
diff --git a/manufacturing/doctype/production_planning_tool/production_planning_tool.py b/manufacturing/doctype/production_planning_tool/production_planning_tool.py
index 966fc53..09c2705 100644
--- a/manufacturing/doctype/production_planning_tool/production_planning_tool.py
+++ b/manufacturing/doctype/production_planning_tool/production_planning_tool.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/manufacturing/doctype/workstation/workstation.js b/manufacturing/doctype/workstation/workstation.js
index 3cad944..e8c3c69 100644
--- a/manufacturing/doctype/workstation/workstation.js
+++ b/manufacturing/doctype/workstation/workstation.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
  
 
diff --git a/manufacturing/doctype/workstation/workstation.py b/manufacturing/doctype/workstation/workstation.py
index 96f694b..35e2c1f 100644
--- a/manufacturing/doctype/workstation/workstation.py
+++ b/manufacturing/doctype/workstation/workstation.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/manufacturing/page/manufacturing_home/manufacturing_home.js b/manufacturing/page/manufacturing_home/manufacturing_home.js
index 1f6eed3..b29bbbb 100644
--- a/manufacturing/page/manufacturing_home/manufacturing_home.js
+++ b/manufacturing/page/manufacturing_home/manufacturing_home.js
@@ -1,5 +1,5 @@
-// ERPNext: Copyright 2013 Web Notes Technologies Pvt Ltd
-// GNU General Public License. See "license.txt"
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt"
 
 wn.module_page["Manufacturing"] = [
 	{
diff --git a/patches/april_2012/after_sync_cleanup.py b/patches/april_2012/after_sync_cleanup.py
index 1856ee9..5e93ce1 100644
--- a/patches/april_2012/after_sync_cleanup.py
+++ b/patches/april_2012/after_sync_cleanup.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 def execute():
 	import webnotes
diff --git a/patches/april_2012/delete_about_contact.py b/patches/april_2012/delete_about_contact.py
index 4bd10d7..2655e3c 100644
--- a/patches/april_2012/delete_about_contact.py
+++ b/patches/april_2012/delete_about_contact.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 def execute():
 	import webnotes
diff --git a/patches/april_2012/naming_series_patch.py b/patches/april_2012/naming_series_patch.py
index 434d1a4..8b086f7 100644
--- a/patches/april_2012/naming_series_patch.py
+++ b/patches/april_2012/naming_series_patch.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 def execute():
 	import webnotes
diff --git a/patches/april_2012/reload_c_form.py b/patches/april_2012/reload_c_form.py
index 0b10904..afb8b6a 100644
--- a/patches/april_2012/reload_c_form.py
+++ b/patches/april_2012/reload_c_form.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 def execute():
 	import webnotes
diff --git a/patches/april_2012/remove_default_from_rv_detail.py b/patches/april_2012/remove_default_from_rv_detail.py
index 9ce5e24..7716e6c 100644
--- a/patches/april_2012/remove_default_from_rv_detail.py
+++ b/patches/april_2012/remove_default_from_rv_detail.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 def execute():
 	import webnotes
diff --git a/patches/april_2012/repost_stock_for_posting_time.py b/patches/april_2012/repost_stock_for_posting_time.py
index d9cbbe5..0626205 100644
--- a/patches/april_2012/repost_stock_for_posting_time.py
+++ b/patches/april_2012/repost_stock_for_posting_time.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 def execute():
 	import webnotes
diff --git a/patches/april_2012/serial_no_fixes.py b/patches/april_2012/serial_no_fixes.py
index be6fbeb..4fef016 100644
--- a/patches/april_2012/serial_no_fixes.py
+++ b/patches/april_2012/serial_no_fixes.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 def execute():
 	import webnotes
diff --git a/patches/april_2012/update_appraisal_permission.py b/patches/april_2012/update_appraisal_permission.py
index 68002ba..1c07822 100644
--- a/patches/april_2012/update_appraisal_permission.py
+++ b/patches/april_2012/update_appraisal_permission.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 def execute():
 	import webnotes
diff --git a/patches/april_2012/update_permlevel_in_address.py b/patches/april_2012/update_permlevel_in_address.py
index 96d5adc..a4b84de 100644
--- a/patches/april_2012/update_permlevel_in_address.py
+++ b/patches/april_2012/update_permlevel_in_address.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 def execute():
 	import webnotes
diff --git a/patches/april_2012/update_role_in_address.py b/patches/april_2012/update_role_in_address.py
index 788aa7b..33fecbe 100644
--- a/patches/april_2012/update_role_in_address.py
+++ b/patches/april_2012/update_role_in_address.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 def execute():
 	import webnotes
diff --git a/patches/april_2013/p01_update_serial_no_valuation_rate.py b/patches/april_2013/p01_update_serial_no_valuation_rate.py
index 2ea0c26..bebb956 100644
--- a/patches/april_2013/p01_update_serial_no_valuation_rate.py
+++ b/patches/april_2013/p01_update_serial_no_valuation_rate.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 from webnotes.utils import cstr
 from stock.stock_ledger import update_entries_after
diff --git a/patches/april_2013/p02_add_country_and_currency.py b/patches/april_2013/p02_add_country_and_currency.py
index ae48a4d..41a1e33 100644
--- a/patches/april_2013/p02_add_country_and_currency.py
+++ b/patches/april_2013/p02_add_country_and_currency.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 def execute():
 	if not webnotes.conn.exists("Country", "Aruba"):
diff --git a/patches/april_2013/p03_fixes_for_lead_in_quotation.py b/patches/april_2013/p03_fixes_for_lead_in_quotation.py
index 1b9650b..6213454 100644
--- a/patches/april_2013/p03_fixes_for_lead_in_quotation.py
+++ b/patches/april_2013/p03_fixes_for_lead_in_quotation.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 def execute():
 	webnotes.conn.sql("""update `tabQuotation` set customer_name = organization 
diff --git a/patches/april_2013/p04_reverse_modules_list.py b/patches/april_2013/p04_reverse_modules_list.py
index 1751d36..4652fba 100644
--- a/patches/april_2013/p04_reverse_modules_list.py
+++ b/patches/april_2013/p04_reverse_modules_list.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes, json
 import webnotes.utils
 
diff --git a/patches/april_2013/p04_update_role_in_pages.py b/patches/april_2013/p04_update_role_in_pages.py
index 3959044..1f89d81 100644
--- a/patches/april_2013/p04_update_role_in_pages.py
+++ b/patches/april_2013/p04_update_role_in_pages.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 import webnotes.model
 def execute():
diff --git a/patches/april_2013/p05_fixes_in_reverse_modules.py b/patches/april_2013/p05_fixes_in_reverse_modules.py
index 41e2e5e..c5a6974 100644
--- a/patches/april_2013/p05_fixes_in_reverse_modules.py
+++ b/patches/april_2013/p05_fixes_in_reverse_modules.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes, json
 import webnotes.utils
 
diff --git a/patches/april_2013/p05_update_file_data.py b/patches/april_2013/p05_update_file_data.py
index 0168de6..e03abc6 100644
--- a/patches/april_2013/p05_update_file_data.py
+++ b/patches/april_2013/p05_update_file_data.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes, webnotes.utils, os
 
 def execute():
diff --git a/patches/april_2013/p06_default_cost_center.py b/patches/april_2013/p06_default_cost_center.py
index 4aaa7d5..1449034 100644
--- a/patches/april_2013/p06_default_cost_center.py
+++ b/patches/april_2013/p06_default_cost_center.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 
 def execute():
diff --git a/patches/april_2013/p06_update_file_size.py b/patches/april_2013/p06_update_file_size.py
index 760c3cb..6879625 100644
--- a/patches/april_2013/p06_update_file_size.py
+++ b/patches/april_2013/p06_update_file_size.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes, os, webnotes.utils
 
 def execute():
diff --git a/patches/april_2013/p07_rename_cost_center_other_charges.py b/patches/april_2013/p07_rename_cost_center_other_charges.py
index c3c9491..ea5168f 100644
--- a/patches/april_2013/p07_rename_cost_center_other_charges.py
+++ b/patches/april_2013/p07_rename_cost_center_other_charges.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 
 def execute():
diff --git a/patches/april_2013/p07_update_file_data_2.py b/patches/april_2013/p07_update_file_data_2.py
index 548ba6c..fad612e 100644
--- a/patches/april_2013/p07_update_file_data_2.py
+++ b/patches/april_2013/p07_update_file_data_2.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 def execute():
 	from patches.april_2013.p05_update_file_data import update_file_list, get_single_doctypes
diff --git a/patches/april_2013/rebuild_sales_browser.py b/patches/april_2013/rebuild_sales_browser.py
index 917ae68..867ac35 100644
--- a/patches/april_2013/rebuild_sales_browser.py
+++ b/patches/april_2013/rebuild_sales_browser.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 def execute():
 	from patches.january_2013 import rebuild_tree
diff --git a/patches/august_2012/change_profile_permission.py b/patches/august_2012/change_profile_permission.py
index 7e945d5..5944c03 100644
--- a/patches/august_2012/change_profile_permission.py
+++ b/patches/august_2012/change_profile_permission.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 def execute():
 	import webnotes
diff --git a/patches/august_2012/repost_billed_amt.py b/patches/august_2012/repost_billed_amt.py
index 4ff7afb..b545c2e 100644
--- a/patches/august_2012/repost_billed_amt.py
+++ b/patches/august_2012/repost_billed_amt.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 def execute():
 	import webnotes
diff --git a/patches/august_2012/task_allocated_to_assigned.py b/patches/august_2012/task_allocated_to_assigned.py
index 8485939..5d736bf 100644
--- a/patches/august_2012/task_allocated_to_assigned.py
+++ b/patches/august_2012/task_allocated_to_assigned.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 import webnotes
 
diff --git a/stock/report/delivered_items_to_be_billed/__init__.py b/patches/august_2013/__init__.py
similarity index 100%
copy from stock/report/delivered_items_to_be_billed/__init__.py
copy to patches/august_2013/__init__.py
diff --git a/patches/august_2013/p01_hr_settings.py b/patches/august_2013/p01_hr_settings.py
new file mode 100644
index 0000000..302611b
--- /dev/null
+++ b/patches/august_2013/p01_hr_settings.py
@@ -0,0 +1,19 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
+import webnotes
+
+def execute():
+	webnotes.reload_doc("hr", "doctype", "hr_settings")
+	webnotes.reload_doc("setup", "doctype", "global_defaults")
+	
+	hr = webnotes.bean("HR Settings", "HR Settings")
+	hr.doc.emp_created_by = webnotes.conn.get_value("Global Defaults", "Global Defaults", "emp_created_by")
+	
+	if webnotes.conn.sql("""select name from `tabSalary Slip` where docstatus=1 limit 1"""):
+		hr.doc.include_holidays_in_total_working_days = 1
+	
+	hr.save()
+	
+	webnotes.conn.sql("""delete from `tabSingles` where doctype = 'Global Defaults' 
+		and field = 'emp_created_by'""")
\ No newline at end of file
diff --git a/patches/december_2012/address_title.py b/patches/december_2012/address_title.py
index fe68154..fc7d2ba 100644
--- a/patches/december_2012/address_title.py
+++ b/patches/december_2012/address_title.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 
 def execute():
diff --git a/patches/december_2012/delete_form16_print_format.py b/patches/december_2012/delete_form16_print_format.py
index 4234d65..e917112 100644
--- a/patches/december_2012/delete_form16_print_format.py
+++ b/patches/december_2012/delete_form16_print_format.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 def execute():
 	webnotes.delete_doc("Print Format", "Form 16A Print Format")
\ No newline at end of file
diff --git a/patches/december_2012/deleted_contact_address_patch.py b/patches/december_2012/deleted_contact_address_patch.py
index 3eb1b37..4143062 100644
--- a/patches/december_2012/deleted_contact_address_patch.py
+++ b/patches/december_2012/deleted_contact_address_patch.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 def execute():
 	"""finds references of deleted addresses and contacts and deletes these references"""
diff --git a/patches/december_2012/deprecate_tds.py b/patches/december_2012/deprecate_tds.py
index 09b378c..70ccf6d 100644
--- a/patches/december_2012/deprecate_tds.py
+++ b/patches/december_2012/deprecate_tds.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 def execute():
 	import webnotes
 	from webnotes.model import delete_doc
diff --git a/patches/december_2012/expense_leave_reload.py b/patches/december_2012/expense_leave_reload.py
index 867a795..3a97be7 100644
--- a/patches/december_2012/expense_leave_reload.py
+++ b/patches/december_2012/expense_leave_reload.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 
 def execute():
diff --git a/patches/december_2012/file_list_rename.py b/patches/december_2012/file_list_rename.py
index 52657ac..ce4ae76 100644
--- a/patches/december_2012/file_list_rename.py
+++ b/patches/december_2012/file_list_rename.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 
 def execute():
diff --git a/patches/december_2012/fix_default_print_format.py b/patches/december_2012/fix_default_print_format.py
index e475122..df245e2 100644
--- a/patches/december_2012/fix_default_print_format.py
+++ b/patches/december_2012/fix_default_print_format.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 def execute():
 	webnotes.conn.sql("""update `tabDocType` set default_print_format=null
diff --git a/patches/december_2012/move_recent_to_memcache.py b/patches/december_2012/move_recent_to_memcache.py
index c92c487..f720ad2 100644
--- a/patches/december_2012/move_recent_to_memcache.py
+++ b/patches/december_2012/move_recent_to_memcache.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 
 import webnotes, json
diff --git a/patches/december_2012/production_cleanup.py b/patches/december_2012/production_cleanup.py
index 5880448..53cce62 100644
--- a/patches/december_2012/production_cleanup.py
+++ b/patches/december_2012/production_cleanup.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 
 def execute():
diff --git a/patches/december_2012/production_order_naming_series.py b/patches/december_2012/production_order_naming_series.py
index df011cb..a175367 100644
--- a/patches/december_2012/production_order_naming_series.py
+++ b/patches/december_2012/production_order_naming_series.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 
 def execute():
diff --git a/patches/december_2012/rebuild_item_group_tree.py b/patches/december_2012/rebuild_item_group_tree.py
index 1dfac38..1fd2801 100644
--- a/patches/december_2012/rebuild_item_group_tree.py
+++ b/patches/december_2012/rebuild_item_group_tree.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 
 def execute():
diff --git a/patches/december_2012/remove_quotation_next_contact.py b/patches/december_2012/remove_quotation_next_contact.py
index d7e0dc7..da20449 100644
--- a/patches/december_2012/remove_quotation_next_contact.py
+++ b/patches/december_2012/remove_quotation_next_contact.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 import webnotes
 
diff --git a/patches/december_2012/replace_createlocal.py b/patches/december_2012/replace_createlocal.py
index c6f4bae..0054e59 100644
--- a/patches/december_2012/replace_createlocal.py
+++ b/patches/december_2012/replace_createlocal.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 def execute():
 	import webnotes
 	webnotes.conn.sql("""update `tabCustom Script` 
diff --git a/patches/december_2012/repost_ordered_qty.py b/patches/december_2012/repost_ordered_qty.py
index 4b046f1..2e3c690 100644
--- a/patches/december_2012/repost_ordered_qty.py
+++ b/patches/december_2012/repost_ordered_qty.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 def execute():
 	import webnotes
 	from webnotes.utils import flt
diff --git a/patches/december_2012/repost_projected_qty.py b/patches/december_2012/repost_projected_qty.py
index 4e4f522..d4cf475 100644
--- a/patches/december_2012/repost_projected_qty.py
+++ b/patches/december_2012/repost_projected_qty.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 def execute():
 	import webnotes
 	webnotes.conn.sql("""update `tabBin` 
diff --git a/patches/december_2012/stock_entry_cleanup.py b/patches/december_2012/stock_entry_cleanup.py
index 728e80a..bd8beb3 100644
--- a/patches/december_2012/stock_entry_cleanup.py
+++ b/patches/december_2012/stock_entry_cleanup.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 def execute():
 	# removed following fields
diff --git a/patches/december_2012/update_print_width.py b/patches/december_2012/update_print_width.py
index a808d95..f5a05e4 100644
--- a/patches/december_2012/update_print_width.py
+++ b/patches/december_2012/update_print_width.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 
 def execute():
diff --git a/patches/december_2012/website_cache_refactor.py b/patches/december_2012/website_cache_refactor.py
index 3c157bd..33f10e1 100644
--- a/patches/december_2012/website_cache_refactor.py
+++ b/patches/december_2012/website_cache_refactor.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 
 import webnotes
diff --git a/patches/february_2013/account_negative_balance.py b/patches/february_2013/account_negative_balance.py
index a57b01e..58ca862 100644
--- a/patches/february_2013/account_negative_balance.py
+++ b/patches/february_2013/account_negative_balance.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 def execute():
 	import webnotes
 	webnotes.reload_doc("accounts", "doctype", "account")
diff --git a/patches/february_2013/fix_outstanding.py b/patches/february_2013/fix_outstanding.py
index 8afc63f..d3f6390 100644
--- a/patches/february_2013/fix_outstanding.py
+++ b/patches/february_2013/fix_outstanding.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 def execute():
 	import webnotes
 	from webnotes.utils import flt
diff --git a/patches/february_2013/gle_floating_point_issue_revisited.py b/patches/february_2013/gle_floating_point_issue_revisited.py
index e407d50..a979dad 100644
--- a/patches/february_2013/gle_floating_point_issue_revisited.py
+++ b/patches/february_2013/gle_floating_point_issue_revisited.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 def execute():
 	import webnotes
 	from webnotes.utils import flt
diff --git a/patches/february_2013/p01_event.py b/patches/february_2013/p01_event.py
index e6b04d3..2b26e7a 100644
--- a/patches/february_2013/p01_event.py
+++ b/patches/february_2013/p01_event.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 
 def execute():
diff --git a/patches/february_2013/p02_email_digest.py b/patches/february_2013/p02_email_digest.py
index 3753874..271804c 100644
--- a/patches/february_2013/p02_email_digest.py
+++ b/patches/february_2013/p02_email_digest.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 def execute():
 	webnotes.reload_doc("setup", "doctype", "email_digest")
diff --git a/patches/february_2013/p03_material_request.py b/patches/february_2013/p03_material_request.py
index d85710d..0b6f303 100644
--- a/patches/february_2013/p03_material_request.py
+++ b/patches/february_2013/p03_material_request.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes, os, sys
 
 def execute():
diff --git a/patches/february_2013/p04_remove_old_doctypes.py b/patches/february_2013/p04_remove_old_doctypes.py
index 7e7ebf5..3b0d0ad 100644
--- a/patches/february_2013/p04_remove_old_doctypes.py
+++ b/patches/february_2013/p04_remove_old_doctypes.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes, os
 
 def execute():
diff --git a/patches/february_2013/p05_leave_application.py b/patches/february_2013/p05_leave_application.py
index 88d166e..0de510a 100644
--- a/patches/february_2013/p05_leave_application.py
+++ b/patches/february_2013/p05_leave_application.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 
 def execute():
diff --git a/patches/february_2013/p08_todo_query_report.py b/patches/february_2013/p08_todo_query_report.py
index 6b25aba..7437c54 100644
--- a/patches/february_2013/p08_todo_query_report.py
+++ b/patches/february_2013/p08_todo_query_report.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 
 def execute():
diff --git a/patches/february_2013/p09_remove_cancelled_warehouses.py b/patches/february_2013/p09_remove_cancelled_warehouses.py
index 05e569a..e034c65 100644
--- a/patches/february_2013/p09_remove_cancelled_warehouses.py
+++ b/patches/february_2013/p09_remove_cancelled_warehouses.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 
 def execute():
diff --git a/patches/february_2013/p09_timesheets.py b/patches/february_2013/p09_timesheets.py
index 609dba3..ac6d44c 100644
--- a/patches/february_2013/p09_timesheets.py
+++ b/patches/february_2013/p09_timesheets.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 
 def execute():
diff --git a/patches/february_2013/payment_reconciliation_reset_values.py b/patches/february_2013/payment_reconciliation_reset_values.py
index cdb213a..f792390 100644
--- a/patches/february_2013/payment_reconciliation_reset_values.py
+++ b/patches/february_2013/payment_reconciliation_reset_values.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 def execute():
 	import webnotes
 	webnotes.conn.sql("""update `tabSingles` set value = '' 
diff --git a/patches/february_2013/reload_bom_replace_tool_permission.py b/patches/february_2013/reload_bom_replace_tool_permission.py
index fca032e..82fea95 100644
--- a/patches/february_2013/reload_bom_replace_tool_permission.py
+++ b/patches/february_2013/reload_bom_replace_tool_permission.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 def execute():
 	import webnotes
 	webnotes.conn.sql("""delete from `tabDocPerm` where parent = 'BOM Replace Tool'""")
diff --git a/patches/february_2013/remove_account_utils_folder.py b/patches/february_2013/remove_account_utils_folder.py
index 5d0313b..4f40ae9 100644
--- a/patches/february_2013/remove_account_utils_folder.py
+++ b/patches/february_2013/remove_account_utils_folder.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 def execute():
 	from webnotes.utils import get_base_path
 	import shutil
diff --git a/patches/february_2013/remove_gl_mapper.py b/patches/february_2013/remove_gl_mapper.py
index 7d248d3..05e2ed5 100644
--- a/patches/february_2013/remove_gl_mapper.py
+++ b/patches/february_2013/remove_gl_mapper.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 def execute():
 	import webnotes
 	try:
diff --git a/patches/february_2013/repost_reserved_qty.py b/patches/february_2013/repost_reserved_qty.py
index 7d790da..3a3353f 100644
--- a/patches/february_2013/repost_reserved_qty.py
+++ b/patches/february_2013/repost_reserved_qty.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 def execute():
 	webnotes.conn.auto_commit_on_many_writes = 1
diff --git a/patches/february_2013/update_company_in_leave_application.py b/patches/february_2013/update_company_in_leave_application.py
index be07cb8..96f3bb7 100644
--- a/patches/february_2013/update_company_in_leave_application.py
+++ b/patches/february_2013/update_company_in_leave_application.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 def execute():
 	import webnotes
 	webnotes.reload_doc("hr", "doctype", "leave_application")
diff --git a/patches/january_2013/change_patch_structure.py b/patches/january_2013/change_patch_structure.py
index 1370cdd..112d694 100644
--- a/patches/january_2013/change_patch_structure.py
+++ b/patches/january_2013/change_patch_structure.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 
 def execute():
diff --git a/patches/january_2013/enable_currencies.py b/patches/january_2013/enable_currencies.py
index ed9860f..9dfe6b4 100644
--- a/patches/january_2013/enable_currencies.py
+++ b/patches/january_2013/enable_currencies.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 
 def execute():
diff --git a/patches/january_2013/file_list_rename_returns.py b/patches/january_2013/file_list_rename_returns.py
index f897d5c..2325da5 100644
--- a/patches/january_2013/file_list_rename_returns.py
+++ b/patches/january_2013/file_list_rename_returns.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 from webnotes.utils import get_base_path
 import os
diff --git a/patches/january_2013/give_report_permission_on_read.py b/patches/january_2013/give_report_permission_on_read.py
index d9496fb..2e67a77 100644
--- a/patches/january_2013/give_report_permission_on_read.py
+++ b/patches/january_2013/give_report_permission_on_read.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 def execute():
 	webnotes.conn.sql("""update tabDocPerm set `report`=`read`
diff --git a/patches/january_2013/holiday_list_patch.py b/patches/january_2013/holiday_list_patch.py
index 714c0e8..f7f6360 100644
--- a/patches/january_2013/holiday_list_patch.py
+++ b/patches/january_2013/holiday_list_patch.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 def execute():
 	for name in webnotes.conn.sql("""select name from `tabHoliday List`"""):
diff --git a/patches/january_2013/purchase_price_list.py b/patches/january_2013/purchase_price_list.py
index 419e709..89509cf 100644
--- a/patches/january_2013/purchase_price_list.py
+++ b/patches/january_2013/purchase_price_list.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 
 def execute():
diff --git a/patches/january_2013/rebuild_tree.py b/patches/january_2013/rebuild_tree.py
index 7552090..4cc3118 100644
--- a/patches/january_2013/rebuild_tree.py
+++ b/patches/january_2013/rebuild_tree.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 def execute():
 	from webnotes.utils.nestedset import rebuild_tree
diff --git a/patches/january_2013/reload_print_format.py b/patches/january_2013/reload_print_format.py
index f757dcf..c468b48 100644
--- a/patches/january_2013/reload_print_format.py
+++ b/patches/january_2013/reload_print_format.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 def execute():
 	from webnotes.modules.import_file import import_files
 	import_files([["selling", "Print Format", "Quotation Classic"], 
diff --git a/patches/january_2013/remove_bad_permissions.py b/patches/january_2013/remove_bad_permissions.py
index 58d5de2..01de101 100644
--- a/patches/january_2013/remove_bad_permissions.py
+++ b/patches/january_2013/remove_bad_permissions.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 
 def execute():
diff --git a/patches/january_2013/remove_landed_cost_master.py b/patches/january_2013/remove_landed_cost_master.py
index 01eefb4..d4bff86 100644
--- a/patches/january_2013/remove_landed_cost_master.py
+++ b/patches/january_2013/remove_landed_cost_master.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 def execute():
 	import webnotes
 	webnotes.delete_doc("DocType", "Landed Cost Master")
diff --git a/patches/january_2013/remove_tds_entry_from_gl_mapper.py b/patches/january_2013/remove_tds_entry_from_gl_mapper.py
index dcdfe0c..f058ebc 100644
--- a/patches/january_2013/remove_tds_entry_from_gl_mapper.py
+++ b/patches/january_2013/remove_tds_entry_from_gl_mapper.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 def execute():
 	return
 	from webnotes.modules.import_file import import_file
diff --git a/patches/january_2013/remove_unwanted_permission.py b/patches/january_2013/remove_unwanted_permission.py
index 7053d9f..48b1bab 100644
--- a/patches/january_2013/remove_unwanted_permission.py
+++ b/patches/january_2013/remove_unwanted_permission.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 def execute():
 	import webnotes
 	for dt in webnotes.conn.sql("""select name, issingle from tabDocType"""):
diff --git a/patches/january_2013/report_permission.py b/patches/january_2013/report_permission.py
index 8f90e87..9b3bdd2 100644
--- a/patches/january_2013/report_permission.py
+++ b/patches/january_2013/report_permission.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 def execute():
 	webnotes.reload_doc("core", "doctype", "docperm")
diff --git a/patches/january_2013/stock_reconciliation_patch.py b/patches/january_2013/stock_reconciliation_patch.py
index 9a25ffd..8ffbc4f 100644
--- a/patches/january_2013/stock_reconciliation_patch.py
+++ b/patches/january_2013/stock_reconciliation_patch.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 
 def execute():
diff --git a/patches/january_2013/tabsessions_to_myisam.py b/patches/january_2013/tabsessions_to_myisam.py
index 23d5562..8d303ff 100644
--- a/patches/january_2013/tabsessions_to_myisam.py
+++ b/patches/january_2013/tabsessions_to_myisam.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 def execute():
 	import webnotes
 	webnotes.conn.commit()
diff --git a/patches/january_2013/update_closed_on.py b/patches/january_2013/update_closed_on.py
index 138549a..94122d7 100644
--- a/patches/january_2013/update_closed_on.py
+++ b/patches/january_2013/update_closed_on.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 
 def execute():
diff --git a/patches/january_2013/update_country_info.py b/patches/january_2013/update_country_info.py
index d0619f3..398887b 100644
--- a/patches/january_2013/update_country_info.py
+++ b/patches/january_2013/update_country_info.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 
 import webnotes
diff --git a/patches/january_2013/update_fraction_for_usd.py b/patches/january_2013/update_fraction_for_usd.py
index f90f865..0780ce9 100644
--- a/patches/january_2013/update_fraction_for_usd.py
+++ b/patches/january_2013/update_fraction_for_usd.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 def execute():
 	import webnotes
 	webnotes.conn.sql("""update `tabCurrency` set fraction = 'Cent' where fraction = 'Cent[D]'""")
\ No newline at end of file
diff --git a/patches/january_2013/update_number_format.py b/patches/january_2013/update_number_format.py
index 96284a6..e4e0ad6 100644
--- a/patches/january_2013/update_number_format.py
+++ b/patches/january_2013/update_number_format.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 
 import webnotes
diff --git a/patches/july_2012/address_contact_perms.py b/patches/july_2012/address_contact_perms.py
index 882cf72..8c41dbc 100644
--- a/patches/july_2012/address_contact_perms.py
+++ b/patches/july_2012/address_contact_perms.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 def execute():
 	import webnotes
diff --git a/patches/july_2012/auth_table.py b/patches/july_2012/auth_table.py
index 9700495..718243d6 100644
--- a/patches/july_2012/auth_table.py
+++ b/patches/july_2012/auth_table.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 import webnotes
 def execute():
diff --git a/patches/july_2012/bin_permission.py b/patches/july_2012/bin_permission.py
index d48460c..3f9b65c 100644
--- a/patches/july_2012/bin_permission.py
+++ b/patches/july_2012/bin_permission.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 def execute():
 	import webnotes
diff --git a/patches/july_2012/default_freeze_account.py b/patches/july_2012/default_freeze_account.py
index ddc025c..5255aa0 100644
--- a/patches/july_2012/default_freeze_account.py
+++ b/patches/july_2012/default_freeze_account.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 def execute():
 	import webnotes
diff --git a/patches/july_2012/deprecate_bulk_rename.py b/patches/july_2012/deprecate_bulk_rename.py
index 06f1a21..5cb25a7 100644
--- a/patches/july_2012/deprecate_bulk_rename.py
+++ b/patches/july_2012/deprecate_bulk_rename.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 def execute():
 	import webnotes
diff --git a/patches/july_2012/deprecate_import_data_control.py b/patches/july_2012/deprecate_import_data_control.py
index d0a92a0..f060587 100644
--- a/patches/july_2012/deprecate_import_data_control.py
+++ b/patches/july_2012/deprecate_import_data_control.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 def execute():
 	"""
diff --git a/patches/july_2012/packing_list_cleanup_and_serial_no.py b/patches/july_2012/packing_list_cleanup_and_serial_no.py
index e65ae99..ad3863e 100644
--- a/patches/july_2012/packing_list_cleanup_and_serial_no.py
+++ b/patches/july_2012/packing_list_cleanup_and_serial_no.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 def execute():
 	import webnotes
diff --git a/patches/july_2012/project_patch_repeat.py b/patches/july_2012/project_patch_repeat.py
index b138661..c17e9c4 100644
--- a/patches/july_2012/project_patch_repeat.py
+++ b/patches/july_2012/project_patch_repeat.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 def execute():
 	import webnotes
diff --git a/patches/july_2012/remove_event_role_owner_match.py b/patches/july_2012/remove_event_role_owner_match.py
index 21ee224..cd5f489 100644
--- a/patches/july_2012/remove_event_role_owner_match.py
+++ b/patches/july_2012/remove_event_role_owner_match.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 def execute():
 	import webnotes
diff --git a/patches/july_2012/repost_stock_due_to_wrong_packing_list.py b/patches/july_2012/repost_stock_due_to_wrong_packing_list.py
index 615d7ed..315b4ed 100644
--- a/patches/july_2012/repost_stock_due_to_wrong_packing_list.py
+++ b/patches/july_2012/repost_stock_due_to_wrong_packing_list.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 import webnotes
 from stock.stock_ledger import update_entries_after
diff --git a/patches/july_2012/unicode_conf.py b/patches/july_2012/unicode_conf.py
index 24ceed4..cbbe5da 100644
--- a/patches/july_2012/unicode_conf.py
+++ b/patches/july_2012/unicode_conf.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 
 def execute():
diff --git a/patches/july_2012/update_purchase_tax.py b/patches/july_2012/update_purchase_tax.py
index 3f785e5..28f2ca7 100644
--- a/patches/july_2012/update_purchase_tax.py
+++ b/patches/july_2012/update_purchase_tax.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 def execute():
 	import webnotes
diff --git a/patches/july_2013/p01_remove_doctype_mappers.py b/patches/july_2013/p01_remove_doctype_mappers.py
index 8aa69b8..b914b1b 100644
--- a/patches/july_2013/p01_remove_doctype_mappers.py
+++ b/patches/july_2013/p01_remove_doctype_mappers.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 def execute():
 	webnotes.conn.sql("""drop table if exists `tabDocType Mapper`""")
diff --git a/patches/july_2013/p01_same_sales_rate_patch.py b/patches/july_2013/p01_same_sales_rate_patch.py
index 82ec1db..ce5b1f8 100644
--- a/patches/july_2013/p01_same_sales_rate_patch.py
+++ b/patches/july_2013/p01_same_sales_rate_patch.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 def execute():
 	import webnotes
 	webnotes.reload_doc("setup", "doctype", "global_defaults")
diff --git a/patches/july_2013/p02_copy_shipping_address.py b/patches/july_2013/p02_copy_shipping_address.py
index c73f93d..2fa195f 100644
--- a/patches/july_2013/p02_copy_shipping_address.py
+++ b/patches/july_2013/p02_copy_shipping_address.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 def execute():
 	import webnotes
 	webnotes.reload_doc("stock", "doctype", "delivery_note")
diff --git a/patches/july_2013/p03_cost_center_company.py b/patches/july_2013/p03_cost_center_company.py
index 22072ae..5cd44b7 100644
--- a/patches/july_2013/p03_cost_center_company.py
+++ b/patches/july_2013/p03_cost_center_company.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 
 def execute():
diff --git a/patches/july_2013/p04_merge_duplicate_leads.py b/patches/july_2013/p04_merge_duplicate_leads.py
index d4e56f6..de37548 100644
--- a/patches/july_2013/p04_merge_duplicate_leads.py
+++ b/patches/july_2013/p04_merge_duplicate_leads.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 from webnotes.utils import extract_email_id
 
diff --git a/patches/july_2013/p05_custom_doctypes_in_list_view.py b/patches/july_2013/p05_custom_doctypes_in_list_view.py
index 867bead..34dec1d 100644
--- a/patches/july_2013/p05_custom_doctypes_in_list_view.py
+++ b/patches/july_2013/p05_custom_doctypes_in_list_view.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 from webnotes.model import no_value_fields
 
diff --git a/patches/july_2013/p06_same_sales_rate.py b/patches/july_2013/p06_same_sales_rate.py
index 8222d3b..f481c66 100644
--- a/patches/july_2013/p06_same_sales_rate.py
+++ b/patches/july_2013/p06_same_sales_rate.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 def execute():
 	import webnotes
 	webnotes.reload_doc("selling", "doctype", "selling_settings")
diff --git a/patches/july_2013/p07_repost_billed_amt_in_sales_cycle.py b/patches/july_2013/p07_repost_billed_amt_in_sales_cycle.py
index e18bed0..272e455 100644
--- a/patches/july_2013/p07_repost_billed_amt_in_sales_cycle.py
+++ b/patches/july_2013/p07_repost_billed_amt_in_sales_cycle.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 
diff --git a/patches/july_2013/p08_custom_print_format_net_total_export.py b/patches/july_2013/p08_custom_print_format_net_total_export.py
index c848ac9..3d4ae98 100644
--- a/patches/july_2013/p08_custom_print_format_net_total_export.py
+++ b/patches/july_2013/p08_custom_print_format_net_total_export.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 import webnotes
 import re
diff --git a/patches/july_2013/p09_remove_website_pyc.py b/patches/july_2013/p09_remove_website_pyc.py
index a8eb71a..afff4bb 100644
--- a/patches/july_2013/p09_remove_website_pyc.py
+++ b/patches/july_2013/p09_remove_website_pyc.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 import os
 
diff --git a/patches/july_2013/p10_change_partner_user_to_website_user.py b/patches/july_2013/p10_change_partner_user_to_website_user.py
index 50bc671..5578345 100644
--- a/patches/july_2013/p10_change_partner_user_to_website_user.py
+++ b/patches/july_2013/p10_change_partner_user_to_website_user.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 
 def execute():
diff --git a/patches/july_2013/p11_update_price_list_currency.py b/patches/july_2013/p11_update_price_list_currency.py
index 887149d..8b70b79 100644
--- a/patches/july_2013/p11_update_price_list_currency.py
+++ b/patches/july_2013/p11_update_price_list_currency.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 
 def execute():
diff --git a/patches/july_2013/restore_tree_roots.py b/patches/july_2013/restore_tree_roots.py
index ea3a991..0998393 100644
--- a/patches/july_2013/restore_tree_roots.py
+++ b/patches/july_2013/restore_tree_roots.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 def execute():
 	from startup.install import import_defaults
 	import_defaults()
\ No newline at end of file
diff --git a/patches/june_2012/alter_tabsessions.py b/patches/june_2012/alter_tabsessions.py
index 4e0310b..29ae177 100644
--- a/patches/june_2012/alter_tabsessions.py
+++ b/patches/june_2012/alter_tabsessions.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 def execute():
 	import webnotes
diff --git a/patches/june_2012/barcode_in_feature_setup.py b/patches/june_2012/barcode_in_feature_setup.py
index 4e5217a..630f50f 100644
--- a/patches/june_2012/barcode_in_feature_setup.py
+++ b/patches/june_2012/barcode_in_feature_setup.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 def execute():
 	import webnotes
diff --git a/patches/june_2012/cms2.py b/patches/june_2012/cms2.py
index 17b7d23..a9171d7 100644
--- a/patches/june_2012/cms2.py
+++ b/patches/june_2012/cms2.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 def execute():
 	import webnotes
diff --git a/patches/june_2012/copy_uom_for_pur_inv_item.py b/patches/june_2012/copy_uom_for_pur_inv_item.py
index a22146c..947d110 100644
--- a/patches/june_2012/copy_uom_for_pur_inv_item.py
+++ b/patches/june_2012/copy_uom_for_pur_inv_item.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 def execute():
 	import webnotes
diff --git a/patches/june_2012/delete_old_parent_entries.py b/patches/june_2012/delete_old_parent_entries.py
index 6a87ff5..384df77 100644
--- a/patches/june_2012/delete_old_parent_entries.py
+++ b/patches/june_2012/delete_old_parent_entries.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 def execute():
 	"""delete entries of child table having parent like old_par%% or ''"""
diff --git a/patches/june_2012/fetch_organization_from_lead.py b/patches/june_2012/fetch_organization_from_lead.py
index b3f1edd..85b1436 100644
--- a/patches/june_2012/fetch_organization_from_lead.py
+++ b/patches/june_2012/fetch_organization_from_lead.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 def execute():
 	import webnotes
diff --git a/patches/june_2012/reports_list_permission.py b/patches/june_2012/reports_list_permission.py
index 462c2f2..c70b659 100644
--- a/patches/june_2012/reports_list_permission.py
+++ b/patches/june_2012/reports_list_permission.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 def execute():
 	"""allow read permission to all for report list"""
diff --git a/patches/june_2012/series_unique_patch.py b/patches/june_2012/series_unique_patch.py
index b04e08e..4bea9f0 100644
--- a/patches/june_2012/series_unique_patch.py
+++ b/patches/june_2012/series_unique_patch.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 def execute():
 	"""add unique constraint to series table's name column"""
diff --git a/patches/june_2012/set_recurring_type.py b/patches/june_2012/set_recurring_type.py
index 7fb416e..c7d4d63 100644
--- a/patches/june_2012/set_recurring_type.py
+++ b/patches/june_2012/set_recurring_type.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 def execute():
 	import webnotes
diff --git a/patches/june_2012/support_ticket_autoreply.py b/patches/june_2012/support_ticket_autoreply.py
index 32e0956..a9c8d82 100644
--- a/patches/june_2012/support_ticket_autoreply.py
+++ b/patches/june_2012/support_ticket_autoreply.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 def execute():
 	"""New Send Autoreply checkbox in Email Settings"""
diff --git a/patches/june_2013/p01_update_bom_exploded_items.py b/patches/june_2013/p01_update_bom_exploded_items.py
index f53eb5b..fe0b4ad 100644
--- a/patches/june_2013/p01_update_bom_exploded_items.py
+++ b/patches/june_2013/p01_update_bom_exploded_items.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/patches/june_2013/p02_update_project_completed.py b/patches/june_2013/p02_update_project_completed.py
index 5466662..d11c690 100644
--- a/patches/june_2013/p02_update_project_completed.py
+++ b/patches/june_2013/p02_update_project_completed.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 
 def execute():
diff --git a/patches/june_2013/p03_buying_selling_for_price_list.py b/patches/june_2013/p03_buying_selling_for_price_list.py
index 089f0be..c71646a 100644
--- a/patches/june_2013/p03_buying_selling_for_price_list.py
+++ b/patches/june_2013/p03_buying_selling_for_price_list.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 from webnotes.utils import cint
 
diff --git a/patches/june_2013/p04_fix_event_for_lead_oppty_project.py b/patches/june_2013/p04_fix_event_for_lead_oppty_project.py
index 971e4c7..af50724 100644
--- a/patches/june_2013/p04_fix_event_for_lead_oppty_project.py
+++ b/patches/june_2013/p04_fix_event_for_lead_oppty_project.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 
 def execute():
diff --git a/patches/june_2013/p05_remove_search_criteria_reports.py b/patches/june_2013/p05_remove_search_criteria_reports.py
index 48a8221..188960c 100644
--- a/patches/june_2013/p05_remove_search_criteria_reports.py
+++ b/patches/june_2013/p05_remove_search_criteria_reports.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/patches/june_2013/p05_remove_unused_doctypes.py b/patches/june_2013/p05_remove_unused_doctypes.py
index 62cf880..d75a66a 100644
--- a/patches/june_2013/p05_remove_unused_doctypes.py
+++ b/patches/june_2013/p05_remove_unused_doctypes.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 
 def execute():
diff --git a/patches/june_2013/p06_drop_unused_tables.py b/patches/june_2013/p06_drop_unused_tables.py
index baad451..18a2061 100644
--- a/patches/june_2013/p06_drop_unused_tables.py
+++ b/patches/june_2013/p06_drop_unused_tables.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 
 def execute():
diff --git a/patches/june_2013/p07_taxes_price_list_for_territory.py b/patches/june_2013/p07_taxes_price_list_for_territory.py
index 9204866..f57ecf8 100644
--- a/patches/june_2013/p07_taxes_price_list_for_territory.py
+++ b/patches/june_2013/p07_taxes_price_list_for_territory.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 
 def execute():
diff --git a/patches/june_2013/p08_shopping_cart_settings.py b/patches/june_2013/p08_shopping_cart_settings.py
index 4d5ebb3..9378c38 100644
--- a/patches/june_2013/p08_shopping_cart_settings.py
+++ b/patches/june_2013/p08_shopping_cart_settings.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 
 def execute():
diff --git a/patches/june_2013/p09_update_global_defaults.py b/patches/june_2013/p09_update_global_defaults.py
index 44d36e1..0fe9247 100644
--- a/patches/june_2013/p09_update_global_defaults.py
+++ b/patches/june_2013/p09_update_global_defaults.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 
 def execute():
diff --git a/patches/june_2013/p10_lead_address.py b/patches/june_2013/p10_lead_address.py
index f7b4a8e..fc1cbbf 100644
--- a/patches/june_2013/p10_lead_address.py
+++ b/patches/june_2013/p10_lead_address.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 
 def execute():
diff --git a/patches/mar_2012/add_fieldnames.py b/patches/mar_2012/add_fieldnames.py
index d0ea04b..52cf6b7 100644
--- a/patches/mar_2012/add_fieldnames.py
+++ b/patches/mar_2012/add_fieldnames.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 # do not run this patch
 from __future__ import unicode_literals
 def execute():
diff --git a/patches/mar_2012/clean_property_setter.py b/patches/mar_2012/clean_property_setter.py
index a9c7b81..b4ad909 100644
--- a/patches/mar_2012/clean_property_setter.py
+++ b/patches/mar_2012/clean_property_setter.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 import webnotes
 
diff --git a/patches/mar_2012/cleanup_control_panel.py b/patches/mar_2012/cleanup_control_panel.py
index 93dd769..6692bc4 100644
--- a/patches/mar_2012/cleanup_control_panel.py
+++ b/patches/mar_2012/cleanup_control_panel.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 import webnotes
 def execute():
diff --git a/patches/mar_2012/create_custom_fields.py b/patches/mar_2012/create_custom_fields.py
index a91c765..b9fe2f0 100644
--- a/patches/mar_2012/create_custom_fields.py
+++ b/patches/mar_2012/create_custom_fields.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 # do not run this patch
 from __future__ import unicode_literals
 field_list = [
diff --git a/patches/mar_2012/delete_docformat.py b/patches/mar_2012/delete_docformat.py
index 1b5b94e..b6ee2eb 100644
--- a/patches/mar_2012/delete_docformat.py
+++ b/patches/mar_2012/delete_docformat.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 def execute():
 	import webnotes
diff --git a/patches/mar_2012/doctype_get_refactor.py b/patches/mar_2012/doctype_get_refactor.py
index 2640229..0900b9b 100644
--- a/patches/mar_2012/doctype_get_refactor.py
+++ b/patches/mar_2012/doctype_get_refactor.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 import webnotes
 def execute():
diff --git a/patches/mar_2012/earning_deduction_type_patch.py b/patches/mar_2012/earning_deduction_type_patch.py
index 39216d0..43a1433 100644
--- a/patches/mar_2012/earning_deduction_type_patch.py
+++ b/patches/mar_2012/earning_deduction_type_patch.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 def execute():
 	import webnotes
diff --git a/patches/mar_2012/is_submittable_patch.py b/patches/mar_2012/is_submittable_patch.py
index d97f856..b2da16c 100644
--- a/patches/mar_2012/is_submittable_patch.py
+++ b/patches/mar_2012/is_submittable_patch.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 # dont run this patch
 from __future__ import unicode_literals
 def execute():
diff --git a/patches/mar_2012/pos_invoice_fix.py b/patches/mar_2012/pos_invoice_fix.py
index d359408..148b373 100644
--- a/patches/mar_2012/pos_invoice_fix.py
+++ b/patches/mar_2012/pos_invoice_fix.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 def execute():
 	from webnotes.modules import reload_doc
diff --git a/patches/mar_2012/usertags.py b/patches/mar_2012/usertags.py
index f583b63..4cb9b14 100644
--- a/patches/mar_2012/usertags.py
+++ b/patches/mar_2012/usertags.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 def execute():
 	import webnotes
diff --git a/patches/march_2013/p01_c_form.py b/patches/march_2013/p01_c_form.py
index 5261d2b..54fb802 100644
--- a/patches/march_2013/p01_c_form.py
+++ b/patches/march_2013/p01_c_form.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 
 def execute():
diff --git a/patches/march_2013/p02_get_global_default.py b/patches/march_2013/p02_get_global_default.py
index 33983b5..d36d5fa 100644
--- a/patches/march_2013/p02_get_global_default.py
+++ b/patches/march_2013/p02_get_global_default.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 import webnotes.defaults
 
diff --git a/patches/march_2013/p03_rename_blog_to_blog_post.py b/patches/march_2013/p03_rename_blog_to_blog_post.py
index 69902f34..8078c84 100644
--- a/patches/march_2013/p03_rename_blog_to_blog_post.py
+++ b/patches/march_2013/p03_rename_blog_to_blog_post.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 
 def execute():
diff --git a/patches/march_2013/p03_update_buying_amount.py b/patches/march_2013/p03_update_buying_amount.py
index 92b171f..ddb52e0 100644
--- a/patches/march_2013/p03_update_buying_amount.py
+++ b/patches/march_2013/p03_update_buying_amount.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 from webnotes.utils import now_datetime
 
diff --git a/patches/march_2013/p04_pos_update_stock_check.py b/patches/march_2013/p04_pos_update_stock_check.py
index da48efe..f857031 100644
--- a/patches/march_2013/p04_pos_update_stock_check.py
+++ b/patches/march_2013/p04_pos_update_stock_check.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 
 def execute():
diff --git a/patches/march_2013/p05_payment_reconciliation.py b/patches/march_2013/p05_payment_reconciliation.py
index 7b6306b..ed818dc 100644
--- a/patches/march_2013/p05_payment_reconciliation.py
+++ b/patches/march_2013/p05_payment_reconciliation.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 
 def execute():
diff --git a/patches/march_2013/p06_remove_sales_purchase_return_tool.py b/patches/march_2013/p06_remove_sales_purchase_return_tool.py
index e907e4a..ed8fbc8 100644
--- a/patches/march_2013/p06_remove_sales_purchase_return_tool.py
+++ b/patches/march_2013/p06_remove_sales_purchase_return_tool.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 
 def execute():
diff --git a/patches/march_2013/p07_update_project_in_stock_ledger.py b/patches/march_2013/p07_update_project_in_stock_ledger.py
index ad4d639..66c86fb 100644
--- a/patches/march_2013/p07_update_project_in_stock_ledger.py
+++ b/patches/march_2013/p07_update_project_in_stock_ledger.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 
 def execute():
diff --git a/patches/march_2013/p07_update_valuation_rate.py b/patches/march_2013/p07_update_valuation_rate.py
index eaeeac1..87a2517 100644
--- a/patches/march_2013/p07_update_valuation_rate.py
+++ b/patches/march_2013/p07_update_valuation_rate.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 
 def execute():
diff --git a/patches/march_2013/p08_create_aii_accounts.py b/patches/march_2013/p08_create_aii_accounts.py
index e4260d3..03ba36c 100644
--- a/patches/march_2013/p08_create_aii_accounts.py
+++ b/patches/march_2013/p08_create_aii_accounts.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 def execute():
 	webnotes.reload_doc("setup", "doctype", "company")
diff --git a/patches/march_2013/p10_set_fiscal_year_for_stock.py b/patches/march_2013/p10_set_fiscal_year_for_stock.py
index c9d5202..608f188 100644
--- a/patches/march_2013/p10_set_fiscal_year_for_stock.py
+++ b/patches/march_2013/p10_set_fiscal_year_for_stock.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 from accounts.utils import get_fiscal_year, FiscalYearError
 
diff --git a/patches/march_2013/p10_update_against_expense_account.py b/patches/march_2013/p10_update_against_expense_account.py
index 3506ac4..8939514 100644
--- a/patches/march_2013/p10_update_against_expense_account.py
+++ b/patches/march_2013/p10_update_against_expense_account.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 def execute():
 	import webnotes
 	from webnotes import get_obj
diff --git a/patches/march_2013/p11_update_attach_files.py b/patches/march_2013/p11_update_attach_files.py
index ef39ce8..5be659d 100644
--- a/patches/march_2013/p11_update_attach_files.py
+++ b/patches/march_2013/p11_update_attach_files.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 
 def execute():
diff --git a/patches/march_2013/p12_set_item_tax_rate_in_json.py b/patches/march_2013/p12_set_item_tax_rate_in_json.py
index de47c67..27fd7e8 100644
--- a/patches/march_2013/p12_set_item_tax_rate_in_json.py
+++ b/patches/march_2013/p12_set_item_tax_rate_in_json.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 import json
 
diff --git a/patches/march_2013/update_po_prevdoc_doctype.py b/patches/march_2013/update_po_prevdoc_doctype.py
index 35e7a25..745420e 100644
--- a/patches/march_2013/update_po_prevdoc_doctype.py
+++ b/patches/march_2013/update_po_prevdoc_doctype.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 def execute():
 	webnotes.conn.sql("""update `tabPurchase Order Item` set prevdoc_doctype = 'Material Request' 
diff --git a/patches/may_2012/cleanup_notification_control.py b/patches/may_2012/cleanup_notification_control.py
index 1a7730b..054f7ec 100644
--- a/patches/may_2012/cleanup_notification_control.py
+++ b/patches/may_2012/cleanup_notification_control.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 def execute():
 	import webnotes
diff --git a/patches/may_2012/cleanup_property_setter.py b/patches/may_2012/cleanup_property_setter.py
index e06de32..b793e9d 100644
--- a/patches/may_2012/cleanup_property_setter.py
+++ b/patches/may_2012/cleanup_property_setter.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 def execute():
 	import webnotes
diff --git a/patches/may_2012/clear_session_cache.py b/patches/may_2012/clear_session_cache.py
index 2b10129..3e63c3b 100644
--- a/patches/may_2012/clear_session_cache.py
+++ b/patches/may_2012/clear_session_cache.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 def execute():
 	import webnotes
diff --git a/patches/may_2012/create_report_manager_role.py b/patches/may_2012/create_report_manager_role.py
index 8912eb1..56f2aa9 100644
--- a/patches/may_2012/create_report_manager_role.py
+++ b/patches/may_2012/create_report_manager_role.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 def execute():
 	import webnotes
diff --git a/patches/may_2012/cs_server_readonly.py b/patches/may_2012/cs_server_readonly.py
index 51a9b76..378a73d 100644
--- a/patches/may_2012/cs_server_readonly.py
+++ b/patches/may_2012/cs_server_readonly.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 def execute():
 	"""Make server custom script readonly for system manager"""
diff --git a/patches/may_2012/customize_form_cleanup.py b/patches/may_2012/customize_form_cleanup.py
index a04eb79..ab86f05 100644
--- a/patches/may_2012/customize_form_cleanup.py
+++ b/patches/may_2012/customize_form_cleanup.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 def execute():
 	import webnotes
diff --git a/patches/may_2012/page_role_series_fix.py b/patches/may_2012/page_role_series_fix.py
index 7533e9d..c2b18f4 100644
--- a/patches/may_2012/page_role_series_fix.py
+++ b/patches/may_2012/page_role_series_fix.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 def execute():
 	import webnotes
diff --git a/patches/may_2012/profile_perm_patch.py b/patches/may_2012/profile_perm_patch.py
index 29fa9c0..26fc1ab 100644
--- a/patches/may_2012/profile_perm_patch.py
+++ b/patches/may_2012/profile_perm_patch.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 def execute():
 	"""Make profile readonly for role All"""
diff --git a/patches/may_2012/reload_sales_invoice_pf.py b/patches/may_2012/reload_sales_invoice_pf.py
index ea4f5df..72a8e41 100644
--- a/patches/may_2012/reload_sales_invoice_pf.py
+++ b/patches/may_2012/reload_sales_invoice_pf.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 def execute():
 	import webnotes
diff --git a/patches/may_2012/remove_communication_log.py b/patches/may_2012/remove_communication_log.py
index b6e7e7d..0c06f8d 100644
--- a/patches/may_2012/remove_communication_log.py
+++ b/patches/may_2012/remove_communication_log.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 def execute():
 	import webnotes
diff --git a/patches/may_2012/remove_euro_currency.py b/patches/may_2012/remove_euro_currency.py
index edf27e1..02e439b 100644
--- a/patches/may_2012/remove_euro_currency.py
+++ b/patches/may_2012/remove_euro_currency.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 def execute():
 	"""
diff --git a/patches/may_2012/rename_prev_doctype.py b/patches/may_2012/rename_prev_doctype.py
index 9b1e0b6..81a2578 100644
--- a/patches/may_2012/rename_prev_doctype.py
+++ b/patches/may_2012/rename_prev_doctype.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 def execute():
 	import webnotes
diff --git a/patches/may_2012/same_purchase_rate_patch.py b/patches/may_2012/same_purchase_rate_patch.py
index d7b8d89..edb135f 100644
--- a/patches/may_2012/same_purchase_rate_patch.py
+++ b/patches/may_2012/same_purchase_rate_patch.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 def execute():
 	import webnotes
diff --git a/patches/may_2012/std_pf_readonly.py b/patches/may_2012/std_pf_readonly.py
index 9fbbfe9..f2e7261 100644
--- a/patches/may_2012/std_pf_readonly.py
+++ b/patches/may_2012/std_pf_readonly.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 def execute():
 	"""Make standard print formats readonly for system manager"""
diff --git a/patches/may_2012/stock_reco_patch.py b/patches/may_2012/stock_reco_patch.py
index 96b071f..a3c702f 100644
--- a/patches/may_2012/stock_reco_patch.py
+++ b/patches/may_2012/stock_reco_patch.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 def execute():
 	import webnotes
diff --git a/patches/may_2013/p01_conversion_factor_and_aii.py b/patches/may_2013/p01_conversion_factor_and_aii.py
index e207653..3821827 100644
--- a/patches/may_2013/p01_conversion_factor_and_aii.py
+++ b/patches/may_2013/p01_conversion_factor_and_aii.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 from webnotes.utils import cint
 from accounts.utils import create_stock_in_hand_jv
diff --git a/patches/may_2013/p01_selling_net_total_export.py b/patches/may_2013/p01_selling_net_total_export.py
index eb6da23..a942f4d 100644
--- a/patches/may_2013/p01_selling_net_total_export.py
+++ b/patches/may_2013/p01_selling_net_total_export.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 import webnotes
 from webnotes.utils import cint
diff --git a/patches/may_2013/p02_update_valuation_rate.py b/patches/may_2013/p02_update_valuation_rate.py
index 280473c..c8226c8 100644
--- a/patches/may_2013/p02_update_valuation_rate.py
+++ b/patches/may_2013/p02_update_valuation_rate.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/patches/may_2013/p03_update_support_ticket.py b/patches/may_2013/p03_update_support_ticket.py
index 7dc5854..005c9a3 100644
--- a/patches/may_2013/p03_update_support_ticket.py
+++ b/patches/may_2013/p03_update_support_ticket.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/patches/may_2013/p04_reorder_level.py b/patches/may_2013/p04_reorder_level.py
index 8f4d669..8462ff9 100644
--- a/patches/may_2013/p04_reorder_level.py
+++ b/patches/may_2013/p04_reorder_level.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/patches/may_2013/p05_update_cancelled_gl_entries.py b/patches/may_2013/p05_update_cancelled_gl_entries.py
index 1dda214..1c9cc84 100644
--- a/patches/may_2013/p05_update_cancelled_gl_entries.py
+++ b/patches/may_2013/p05_update_cancelled_gl_entries.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/patches/may_2013/p06_make_notes.py b/patches/may_2013/p06_make_notes.py
index 1cc9bc3..b60642c 100644
--- a/patches/may_2013/p06_make_notes.py
+++ b/patches/may_2013/p06_make_notes.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes, markdown2
 
 def execute():
diff --git a/patches/may_2013/p06_update_billed_amt_po_pr.py b/patches/may_2013/p06_update_billed_amt_po_pr.py
index 5084e98..871a7de 100644
--- a/patches/may_2013/p06_update_billed_amt_po_pr.py
+++ b/patches/may_2013/p06_update_billed_amt_po_pr.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 def execute():
diff --git a/patches/may_2013/p07_move_update_stock_to_pos.py b/patches/may_2013/p07_move_update_stock_to_pos.py
index 7928728..c4dfdc0 100644
--- a/patches/may_2013/p07_move_update_stock_to_pos.py
+++ b/patches/may_2013/p07_move_update_stock_to_pos.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes, webnotes.defaults
 from webnotes.utils import cint
 
diff --git a/patches/may_2013/p08_change_item_wise_tax.py b/patches/may_2013/p08_change_item_wise_tax.py
index a4f8531..bf84910 100644
--- a/patches/may_2013/p08_change_item_wise_tax.py
+++ b/patches/may_2013/p08_change_item_wise_tax.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 import json
 from webnotes.utils import flt
diff --git a/patches/may_2013/repost_stock_for_no_posting_time.py b/patches/may_2013/repost_stock_for_no_posting_time.py
index 489511c..057705b 100644
--- a/patches/may_2013/repost_stock_for_no_posting_time.py
+++ b/patches/may_2013/repost_stock_for_no_posting_time.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 def execute():
diff --git a/patches/november_2012/add_employee_field_in_employee.py b/patches/november_2012/add_employee_field_in_employee.py
index c8e5b36..bece53e 100644
--- a/patches/november_2012/add_employee_field_in_employee.py
+++ b/patches/november_2012/add_employee_field_in_employee.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 
 def execute():
diff --git a/patches/november_2012/add_theme_to_profile.py b/patches/november_2012/add_theme_to_profile.py
index 89710a4..8b4de68 100644
--- a/patches/november_2012/add_theme_to_profile.py
+++ b/patches/november_2012/add_theme_to_profile.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 
 def execute():
diff --git a/patches/november_2012/cancelled_bom_patch.py b/patches/november_2012/cancelled_bom_patch.py
index 761227d..150e411 100644
--- a/patches/november_2012/cancelled_bom_patch.py
+++ b/patches/november_2012/cancelled_bom_patch.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 
 def execute():
diff --git a/patches/november_2012/communication_sender_and_recipient.py b/patches/november_2012/communication_sender_and_recipient.py
index f8d7a95..f18924f 100644
--- a/patches/november_2012/communication_sender_and_recipient.py
+++ b/patches/november_2012/communication_sender_and_recipient.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 
 def execute():
diff --git a/patches/november_2012/custom_field_insert_after.py b/patches/november_2012/custom_field_insert_after.py
index 6824e7a..404df40 100644
--- a/patches/november_2012/custom_field_insert_after.py
+++ b/patches/november_2012/custom_field_insert_after.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 
 def execute():
diff --git a/patches/november_2012/customer_issue_allocated_to_assigned.py b/patches/november_2012/customer_issue_allocated_to_assigned.py
index fa87262..d249abe 100644
--- a/patches/november_2012/customer_issue_allocated_to_assigned.py
+++ b/patches/november_2012/customer_issue_allocated_to_assigned.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 import webnotes
 
diff --git a/patches/november_2012/disable_cancelled_profiles.py b/patches/november_2012/disable_cancelled_profiles.py
index cc682dc..663004b 100644
--- a/patches/november_2012/disable_cancelled_profiles.py
+++ b/patches/november_2012/disable_cancelled_profiles.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 def execute():
 	"""
diff --git a/patches/november_2012/gle_floating_point_issue.py b/patches/november_2012/gle_floating_point_issue.py
index c345152..7ff3aca 100644
--- a/patches/november_2012/gle_floating_point_issue.py
+++ b/patches/november_2012/gle_floating_point_issue.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 def execute():
 	import webnotes
 	
diff --git a/patches/november_2012/leave_application_cleanup.py b/patches/november_2012/leave_application_cleanup.py
index eca0fae..196a9f1 100644
--- a/patches/november_2012/leave_application_cleanup.py
+++ b/patches/november_2012/leave_application_cleanup.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 
 def execute():
diff --git a/patches/november_2012/production_order_patch.py b/patches/november_2012/production_order_patch.py
index b49cd72..1a4e140 100644
--- a/patches/november_2012/production_order_patch.py
+++ b/patches/november_2012/production_order_patch.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 def execute():
 	import webnotes
 	
diff --git a/patches/november_2012/report_permissions.py b/patches/november_2012/report_permissions.py
index 0619761..31c4b74 100644
--- a/patches/november_2012/report_permissions.py
+++ b/patches/november_2012/report_permissions.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 
 def execute():
diff --git a/patches/november_2012/reset_appraisal_permissions.py b/patches/november_2012/reset_appraisal_permissions.py
index a9468a6..aa46676 100644
--- a/patches/november_2012/reset_appraisal_permissions.py
+++ b/patches/november_2012/reset_appraisal_permissions.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 def execute():
 	webnotes.reset_perms("Appraisal")
diff --git a/patches/november_2012/support_ticket_response_to_communication.py b/patches/november_2012/support_ticket_response_to_communication.py
index 12c1850..b4d6068 100644
--- a/patches/november_2012/support_ticket_response_to_communication.py
+++ b/patches/november_2012/support_ticket_response_to_communication.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 import email.utils
 
diff --git a/patches/november_2012/update_delivered_billed_percentage_for_pos.py b/patches/november_2012/update_delivered_billed_percentage_for_pos.py
index 0c9a8ad..0703f94 100644
--- a/patches/november_2012/update_delivered_billed_percentage_for_pos.py
+++ b/patches/november_2012/update_delivered_billed_percentage_for_pos.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 def execute():
 	import webnotes
 	from webnotes.model.code import get_obj
diff --git a/patches/october_2012/company_fiscal_year_docstatus_patch.py b/patches/october_2012/company_fiscal_year_docstatus_patch.py
index 34ec274..0a3cf27 100644
--- a/patches/october_2012/company_fiscal_year_docstatus_patch.py
+++ b/patches/october_2012/company_fiscal_year_docstatus_patch.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 def execute():
 	webnotes.conn.sql("""update `tabCompany` set docstatus = 0
diff --git a/patches/october_2012/custom_script_delete_permission.py b/patches/october_2012/custom_script_delete_permission.py
index efcb059..b87a49c 100644
--- a/patches/october_2012/custom_script_delete_permission.py
+++ b/patches/october_2012/custom_script_delete_permission.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 def execute():
 	webnotes.reload_doc("core", "doctype", "docperm")
diff --git a/patches/october_2012/fix_cancelled_gl_entries.py b/patches/october_2012/fix_cancelled_gl_entries.py
index 5c23ce8..b610985 100644
--- a/patches/october_2012/fix_cancelled_gl_entries.py
+++ b/patches/october_2012/fix_cancelled_gl_entries.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 def execute():
 	import webnotes
 	entries = webnotes.conn.sql("""select voucher_type, voucher_no 
diff --git a/patches/october_2012/fix_wrong_vouchers.py b/patches/october_2012/fix_wrong_vouchers.py
index 3b0a1dd..85bf2ab 100644
--- a/patches/october_2012/fix_wrong_vouchers.py
+++ b/patches/october_2012/fix_wrong_vouchers.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 def execute():
 	import webnotes
 	from webnotes.utils import flt
diff --git a/patches/october_2012/update_account_property.py b/patches/october_2012/update_account_property.py
index a9d365f..cc7d005 100644
--- a/patches/october_2012/update_account_property.py
+++ b/patches/october_2012/update_account_property.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 def execute():
 	import webnotes
 	from webnotes.utils.nestedset import rebuild_tree
diff --git a/patches/october_2012/update_permission.py b/patches/october_2012/update_permission.py
index 5686a8e..04f5d07 100644
--- a/patches/october_2012/update_permission.py
+++ b/patches/october_2012/update_permission.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 def execute():
diff --git a/patches/patch_list.py b/patches/patch_list.py
index b20fcfd..235d914 100644
--- a/patches/patch_list.py
+++ b/patches/patch_list.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 patch_list = [
@@ -265,4 +252,5 @@
 	"patches.july_2013.p11_update_price_list_currency",
 	"execute:webnotes.bean('Selling Settings').save() #2013-07-29",
 	"patches.august_2013.p01_perpetual_accounting_patch",
+	"patches.august_2013.p01_hr_settings",
 ]
\ No newline at end of file
diff --git a/patches/september_2012/add_stock_ledger_entry_index.py b/patches/september_2012/add_stock_ledger_entry_index.py
index add0e94..dc3ed96 100644
--- a/patches/september_2012/add_stock_ledger_entry_index.py
+++ b/patches/september_2012/add_stock_ledger_entry_index.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 import webnotes
 
diff --git a/patches/september_2012/all_permissions_patch.py b/patches/september_2012/all_permissions_patch.py
index 8373d8a..bc318ba 100644
--- a/patches/september_2012/all_permissions_patch.py
+++ b/patches/september_2012/all_permissions_patch.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 import webnotes
 def execute():
diff --git a/patches/september_2012/communication_delete_permission.py b/patches/september_2012/communication_delete_permission.py
index a1a7f66..ef4d02e 100644
--- a/patches/september_2012/communication_delete_permission.py
+++ b/patches/september_2012/communication_delete_permission.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 def execute():
 	import webnotes
diff --git a/patches/september_2012/customer_permission_patch.py b/patches/september_2012/customer_permission_patch.py
index a820cbe..8334156 100644
--- a/patches/september_2012/customer_permission_patch.py
+++ b/patches/september_2012/customer_permission_patch.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 def execute():
 	from webnotes.model.doc import Document
diff --git a/patches/september_2012/deprecate_account_balance.py b/patches/september_2012/deprecate_account_balance.py
index b8c454d..c7e5a8c 100644
--- a/patches/september_2012/deprecate_account_balance.py
+++ b/patches/september_2012/deprecate_account_balance.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 import webnotes
 from webnotes.model import delete_doc
diff --git a/patches/september_2012/event_permission.py b/patches/september_2012/event_permission.py
index 1e2c5f5..ad965e5 100644
--- a/patches/september_2012/event_permission.py
+++ b/patches/september_2012/event_permission.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 import webnotes
 from webnotes.model.code import get_obj
diff --git a/patches/september_2012/plot_patch.py b/patches/september_2012/plot_patch.py
index 802cbcd..e801a99 100644
--- a/patches/september_2012/plot_patch.py
+++ b/patches/september_2012/plot_patch.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 import webnotes
 def execute():
diff --git a/patches/september_2012/profile_delete_permission.py b/patches/september_2012/profile_delete_permission.py
index 2f72431..cf6f8ec 100644
--- a/patches/september_2012/profile_delete_permission.py
+++ b/patches/september_2012/profile_delete_permission.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 import webnotes
 def execute():
diff --git a/patches/september_2012/rebuild_trees.py b/patches/september_2012/rebuild_trees.py
index 5143f54..380100b 100644
--- a/patches/september_2012/rebuild_trees.py
+++ b/patches/september_2012/rebuild_trees.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 def execute():
 	from webnotes.utils.nestedset import rebuild_tree
diff --git a/patches/september_2012/repost_stock.py b/patches/september_2012/repost_stock.py
index deb2186..28ad703 100644
--- a/patches/september_2012/repost_stock.py
+++ b/patches/september_2012/repost_stock.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 def execute():
diff --git a/patches/september_2012/stock_report_permissions_for_accounts.py b/patches/september_2012/stock_report_permissions_for_accounts.py
index 07efc46..7dd614c 100644
--- a/patches/september_2012/stock_report_permissions_for_accounts.py
+++ b/patches/september_2012/stock_report_permissions_for_accounts.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 def execute():
 	import webnotes
diff --git a/projects/doctype/activity_type/activity_type.py b/projects/doctype/activity_type/activity_type.py
index 7f48feb..26d0f76 100644
--- a/projects/doctype/activity_type/activity_type.py
+++ b/projects/doctype/activity_type/activity_type.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/projects/doctype/activity_type/test_activity_type.py b/projects/doctype/activity_type/test_activity_type.py
index 77ef7b3..b68a458 100644
--- a/projects/doctype/activity_type/test_activity_type.py
+++ b/projects/doctype/activity_type/test_activity_type.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 test_records = [
 	[{"activity_type":"_Test Activity Type"}],
 	[{"activity_type":"_Test Activity Type 1"}],
diff --git a/projects/doctype/project/project.js b/projects/doctype/project/project.js
index 9d04477..74cfa45 100644
--- a/projects/doctype/project/project.js
+++ b/projects/doctype/project/project.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 // show tasks
 cur_frm.cscript.refresh = function(doc) {
diff --git a/projects/doctype/project/project.py b/projects/doctype/project/project.py
index d9bb7c0..067ffef 100644
--- a/projects/doctype/project/project.py
+++ b/projects/doctype/project/project.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.	If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/projects/doctype/project/test_project.py b/projects/doctype/project/test_project.py
index bd7460d..475dc68 100644
--- a/projects/doctype/project/test_project.py
+++ b/projects/doctype/project/test_project.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 test_records = [[{
 	"project_name": "_Test Project",
 	"status": "Open"
diff --git a/projects/doctype/project_milestone/project_milestone.py b/projects/doctype/project_milestone/project_milestone.py
index 7f48feb..26d0f76 100644
--- a/projects/doctype/project_milestone/project_milestone.py
+++ b/projects/doctype/project_milestone/project_milestone.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/projects/doctype/task/task.js b/projects/doctype/task/task.js
index 7ecb224..c043807 100644
--- a/projects/doctype/task/task.js
+++ b/projects/doctype/task/task.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 wn.provide("erpnext.projects");
 
diff --git a/projects/doctype/task/task.py b/projects/doctype/task/task.py
index 0ea9eea..6cd1ba8 100644
--- a/projects/doctype/task/task.py
+++ b/projects/doctype/task/task.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes, json
diff --git a/projects/doctype/task/task_calendar.js b/projects/doctype/task/task_calendar.js
index 94d7cc5..7772855 100644
--- a/projects/doctype/task/task_calendar.js
+++ b/projects/doctype/task/task_calendar.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 wn.views.calendar["Task"] = {
 	field_map: {
 		"start": "exp_start_date",
diff --git a/projects/doctype/task/test_task.py b/projects/doctype/task/test_task.py
index 2e95806..d6c8e98 100644
--- a/projects/doctype/task/test_task.py
+++ b/projects/doctype/task/test_task.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 test_records = [
 	[{"subject": "_Test Task", "project":"_Test Project", "status":"Open"}],
 	[{"subject": "_Test Task 1", "status":"Open"}],
diff --git a/projects/doctype/time_log/test_time_log.py b/projects/doctype/time_log/test_time_log.py
index 8f1848f..ec8c781 100644
--- a/projects/doctype/time_log/test_time_log.py
+++ b/projects/doctype/time_log/test_time_log.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 import unittest
 
diff --git a/projects/doctype/time_log/time_log.js b/projects/doctype/time_log/time_log.js
index 26d2398..7a03955 100644
--- a/projects/doctype/time_log/time_log.js
+++ b/projects/doctype/time_log/time_log.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 wn.provide("erpnext.projects");
 
 erpnext.projects.TimeLog = wn.ui.form.Controller.extend({
diff --git a/projects/doctype/time_log/time_log.py b/projects/doctype/time_log/time_log.py
index 0a5adba..57a0b00 100644
--- a/projects/doctype/time_log/time_log.py
+++ b/projects/doctype/time_log/time_log.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 # For license information, please see license.txt
 
 from __future__ import unicode_literals
diff --git a/projects/doctype/time_log/time_log_calendar.js b/projects/doctype/time_log/time_log_calendar.js
index 52338a9..a4f22db 100644
--- a/projects/doctype/time_log/time_log_calendar.js
+++ b/projects/doctype/time_log/time_log_calendar.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 wn.views.calendar["Time Log"] = {
 	field_map: {
 		"start": "from_time",
diff --git a/projects/doctype/time_log/time_log_list.js b/projects/doctype/time_log/time_log_list.js
index 85c9b2a..7a35cda 100644
--- a/projects/doctype/time_log/time_log_list.js
+++ b/projects/doctype/time_log/time_log_list.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 // render
 wn.listview_settings['Time Log'] = {
 	add_fields: ["`tabTime Log`.`status`", "`tabTime Log`.`billable`", "`tabTime Log`.`activity_type`"],
diff --git a/projects/doctype/time_log_batch/test_time_log_batch.py b/projects/doctype/time_log_batch/test_time_log_batch.py
index 54195c2..34a0cc0 100644
--- a/projects/doctype/time_log_batch/test_time_log_batch.py
+++ b/projects/doctype/time_log_batch/test_time_log_batch.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes, unittest
 
 class TimeLogBatchTest(unittest.TestCase):
diff --git a/projects/doctype/time_log_batch/time_log_batch.js b/projects/doctype/time_log_batch/time_log_batch.js
index 6e5165b..96f7c22 100644
--- a/projects/doctype/time_log_batch/time_log_batch.js
+++ b/projects/doctype/time_log_batch/time_log_batch.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 cur_frm.add_fetch("time_log", "activity_type", "activity_type");
 cur_frm.add_fetch("time_log", "owner", "created_by");
 cur_frm.add_fetch("time_log", "hours", "hours");
diff --git a/projects/doctype/time_log_batch/time_log_batch.py b/projects/doctype/time_log_batch/time_log_batch.py
index 6ec0e5b..41c0f6d 100644
--- a/projects/doctype/time_log_batch/time_log_batch.py
+++ b/projects/doctype/time_log_batch/time_log_batch.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 # For license information, please see license.txt
 
 from __future__ import unicode_literals
diff --git a/projects/doctype/time_log_batch_detail/time_log_batch_detail.py b/projects/doctype/time_log_batch_detail/time_log_batch_detail.py
index 928aa9f..784339d 100644
--- a/projects/doctype/time_log_batch_detail/time_log_batch_detail.py
+++ b/projects/doctype/time_log_batch_detail/time_log_batch_detail.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 # For license information, please see license.txt
 
 from __future__ import unicode_literals
diff --git a/projects/page/projects_home/projects_home.js b/projects/page/projects_home/projects_home.js
index ea078e8..f958f74 100644
--- a/projects/page/projects_home/projects_home.js
+++ b/projects/page/projects_home/projects_home.js
@@ -1,5 +1,5 @@
-// ERPNext: Copyright 2013 Web Notes Technologies Pvt Ltd
-// GNU General Public License. See "license.txt"
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt"
 
 wn.module_page["Projects"] = [
 	{
diff --git a/projects/report/daily_time_log_summary/daily_time_log_summary.js b/projects/report/daily_time_log_summary/daily_time_log_summary.js
index ba87d0d..6bb1117 100644
--- a/projects/report/daily_time_log_summary/daily_time_log_summary.js
+++ b/projects/report/daily_time_log_summary/daily_time_log_summary.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 wn.query_reports["Daily Time Log Summary"] = {
 	"filters": [
 		{
diff --git a/projects/report/daily_time_log_summary/daily_time_log_summary.py b/projects/report/daily_time_log_summary/daily_time_log_summary.py
index 8c1e266..a710c8c 100644
--- a/projects/report/daily_time_log_summary/daily_time_log_summary.py
+++ b/projects/report/daily_time_log_summary/daily_time_log_summary.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 import webnotes
 from webnotes.utils import flt
diff --git a/projects/report/project_wise_stock_tracking/project_wise_stock_tracking.py b/projects/report/project_wise_stock_tracking/project_wise_stock_tracking.py
index 7c702e4..5d126f5 100644
--- a/projects/report/project_wise_stock_tracking/project_wise_stock_tracking.py
+++ b/projects/report/project_wise_stock_tracking/project_wise_stock_tracking.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 import webnotes 
 
diff --git a/projects/utils.py b/projects/utils.py
index e37a21c..3271e89 100644
--- a/projects/utils.py
+++ b/projects/utils.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 # For license information, please see license.txt
 
 from __future__ import unicode_literals
diff --git a/public/js/account_tree_grid.js b/public/js/account_tree_grid.js
index a893a52..02ea389 100644
--- a/public/js/account_tree_grid.js
+++ b/public/js/account_tree_grid.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 // This program is free software: you can redistribute it and/or modify
 // it under the terms of the GNU General Public License as published by
 // the Free Software Foundation, either version 3 of the License, or
diff --git a/public/js/complete_setup.js b/public/js/complete_setup.js
index 3a6bad5..b661e02 100644
--- a/public/js/complete_setup.js
+++ b/public/js/complete_setup.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 // complete my company registration
 // --------------------------------
diff --git a/public/js/conf.js b/public/js/conf.js
index 330a2be..033b251 100644
--- a/public/js/conf.js
+++ b/public/js/conf.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 wn.provide('erpnext');
 erpnext.set_about = function() {
 	wn.provide('wn.app');
diff --git a/public/js/controllers/stock_controller.js b/public/js/controllers/stock_controller.js
index d5c2073..f90317e 100644
--- a/public/js/controllers/stock_controller.js
+++ b/public/js/controllers/stock_controller.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 wn.provide("erpnext.stock");
 
diff --git a/public/js/feature_setup.js b/public/js/feature_setup.js
index 4ce50f0..31f81be 100644
--- a/public/js/feature_setup.js
+++ b/public/js/feature_setup.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 /* features setup "Dictionary", "Script"
 Dictionary Format
diff --git a/public/js/purchase_trends_filters.js b/public/js/purchase_trends_filters.js
index 400fb03..5a13066 100644
--- a/public/js/purchase_trends_filters.js
+++ b/public/js/purchase_trends_filters.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 var get_filters = function(){
 	return [
 		{
diff --git a/public/js/queries.js b/public/js/queries.js
index 090c393..fbd2947 100644
--- a/public/js/queries.js
+++ b/public/js/queries.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 // searches for enabled profiles
 wn.provide("erpnext.queries");
diff --git a/public/js/sales_trends_filters.js b/public/js/sales_trends_filters.js
index 91f2805..63f6e63 100644
--- a/public/js/sales_trends_filters.js
+++ b/public/js/sales_trends_filters.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 var get_filters = function(){
  	return[
 		{
diff --git a/public/js/startup.js b/public/js/startup.js
index eadfa1b..000e1b5 100644
--- a/public/js/startup.js
+++ b/public/js/startup.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 var current_module;
 
diff --git a/public/js/stock_analytics.js b/public/js/stock_analytics.js
index 91384f6..a349b6e 100644
--- a/public/js/stock_analytics.js
+++ b/public/js/stock_analytics.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 wn.require("app/js/stock_grid_report.js");
 
diff --git a/public/js/stock_grid_report.js b/public/js/stock_grid_report.js
index 173eb21..8b79b5e 100644
--- a/public/js/stock_grid_report.js
+++ b/public/js/stock_grid_report.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 erpnext.StockGridReport = wn.views.TreeGridReport.extend({
 	get_item_warehouse: function(warehouse, item) {
diff --git a/public/js/toolbar.js b/public/js/toolbar.js
index f549969..d2ca512 100644
--- a/public/js/toolbar.js
+++ b/public/js/toolbar.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 /* toolbar settings */
 wn.provide('erpnext.toolbar');
diff --git a/public/js/transaction.js b/public/js/transaction.js
index 4a647ad..7a1dc0c 100644
--- a/public/js/transaction.js
+++ b/public/js/transaction.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 wn.provide("erpnext");
 wn.require("app/js/controllers/stock_controller.js");
@@ -53,22 +40,6 @@
 		this.set_dynamic_labels();
 	},
 	
-	onload_post_render: function() {
-		if(this.frm.doc.__islocal && this.frm.doc.company) {
-			var me = this;
-			return this.frm.call({
-				doc: this.frm.doc,
-				method: "onload_post_render",
-				freeze: true,
-				callback: function(r) {
-					// remove this call when using client side mapper
-					me.set_default_values();
-					me.frm.refresh();
-				}
-			});
-		}
-	},
-	
 	validate: function() {
 		this.calculate_taxes_and_totals();
 	},
@@ -195,6 +166,7 @@
 		var company_currency = this.get_company_currency();
 		this.change_form_labels(company_currency);
 		this.change_grid_labels(company_currency);
+		this.frm.refresh_fields();
 	},
 	
 	recalculate: function() {
@@ -314,15 +286,15 @@
 						var tax_rate = tax_data[0] == null ? "" : (flt(tax_data[0], tax_rate_precision) + "%"),
 							tax_amount = format_currency(flt(tax_data[1], tax_amount_precision), company_currency);
 						
-						item_tax[item_code][tax.account_head] = [tax_rate, tax_amount];
+						item_tax[item_code][tax.name] = [tax_rate, tax_amount];
 					} else {
-						item_tax[item_code][tax.account_head] = [flt(tax_data, tax_rate_precision) + "%", ""];
+						item_tax[item_code][tax.name] = [flt(tax_data, tax_rate_precision) + "%", ""];
 					}
 				});
-			tax_accounts.push(tax.account_head);
+			tax_accounts.push([tax.name, tax.account_head]);
 		});
 		
-		var headings = $.map([wn._("Item Name")].concat(tax_accounts), 
+		var headings = $.map([wn._("Item Name")].concat($.map(tax_accounts, function(head) { return head[1]; })), 
 			function(head) { return '<th style="min-width: 100px;">' + (head || "") + "</th>" }).join("\n");
 		
 		var rows = $.map(this.get_item_doclist(), function(item) {
@@ -331,8 +303,8 @@
 			return repl("<tr><td>%(item_name)s</td>%(taxes)s</tr>", {
 				item_name: item.item_name,
 				taxes: $.map(tax_accounts, function(head) {
-					return item_tax_record[head] ?
-						"<td>(" + item_tax_record[head][0] + ") " + item_tax_record[head][1] + "</td>" :
+					return item_tax_record[head[0]] ?
+						"<td>(" + item_tax_record[head[0]][0] + ") " + item_tax_record[head[0]][1] + "</td>" :
 						"<td></td>";
 				}).join("\n")
 			});
@@ -345,17 +317,6 @@
 		</table></div>';
 	},
 	
-	set_default_values: function() {
-		$.each(wn.model.get_doclist(this.frm.doctype, this.frm.docname), function(i, doc) {
-			var updated = wn.model.set_default_values(doc);
-			if(doc.parentfield) {
-				refresh_field(doc.parentfield);
-			} else {
-				refresh_field(updated);
-			}
-		});
-	},
-	
 	_validate_before_fetch: function(fieldname) {
 		var me = this;
 		if(!me.frm.doc[fieldname]) {
diff --git a/public/js/utils.js b/public/js/utils.js
index 96b312f..aee55ba 100644
--- a/public/js/utils.js
+++ b/public/js/utils.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 wn.provide("erpnext");
 
 $.extend(erpnext, {
diff --git a/public/js/website_utils.js b/public/js/website_utils.js
index f034be2..95cae1b 100644
--- a/public/js/website_utils.js
+++ b/public/js/website_utils.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 
 var erpnext = {};
 var wn = {};
diff --git a/selling/doctype/campaign/campaign.js b/selling/doctype/campaign/campaign.js
index 3cad944..e8c3c69 100644
--- a/selling/doctype/campaign/campaign.js
+++ b/selling/doctype/campaign/campaign.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
  
 
diff --git a/selling/doctype/campaign/campaign.py b/selling/doctype/campaign/campaign.py
index 6c41e4f..8bb44ee 100644
--- a/selling/doctype/campaign/campaign.py
+++ b/selling/doctype/campaign/campaign.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/selling/doctype/campaign/test_campaign.py b/selling/doctype/campaign/test_campaign.py
index 4783fff..20641a2 100644
--- a/selling/doctype/campaign/test_campaign.py
+++ b/selling/doctype/campaign/test_campaign.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 test_records = [
 	[{"doctype":"Campaign", "campaign_name":"_Test Campaign"}],
 	[{"doctype":"Campaign", "campaign_name":"_Test Campaign 1"}],
diff --git a/selling/doctype/customer/customer.js b/selling/doctype/customer/customer.js
index 935afb0..4e2f42c 100644
--- a/selling/doctype/customer/customer.js
+++ b/selling/doctype/customer/customer.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 wn.require('app/setup/doctype/contact_control/contact_control.js');
 
diff --git a/selling/doctype/customer/customer.py b/selling/doctype/customer/customer.py
index 9022cb5..f516ef2 100644
--- a/selling/doctype/customer/customer.py
+++ b/selling/doctype/customer/customer.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/selling/doctype/customer/test_customer.py b/selling/doctype/customer/test_customer.py
index 806585f..9ed821a 100644
--- a/selling/doctype/customer/test_customer.py
+++ b/selling/doctype/customer/test_customer.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 
 import webnotes
diff --git a/selling/doctype/customer_discount/customer_discount.py b/selling/doctype/customer_discount/customer_discount.py
index 928aa9f..784339d 100644
--- a/selling/doctype/customer_discount/customer_discount.py
+++ b/selling/doctype/customer_discount/customer_discount.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 # For license information, please see license.txt
 
 from __future__ import unicode_literals
diff --git a/selling/doctype/industry_type/industry_type.js b/selling/doctype/industry_type/industry_type.js
index 3cad944..e8c3c69 100644
--- a/selling/doctype/industry_type/industry_type.js
+++ b/selling/doctype/industry_type/industry_type.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
  
 
diff --git a/selling/doctype/industry_type/industry_type.py b/selling/doctype/industry_type/industry_type.py
index 6c41e4f..8bb44ee 100644
--- a/selling/doctype/industry_type/industry_type.py
+++ b/selling/doctype/industry_type/industry_type.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/selling/doctype/industry_type/test_industry_type.py b/selling/doctype/industry_type/test_industry_type.py
index 3440807..84ca31e 100644
--- a/selling/doctype/industry_type/test_industry_type.py
+++ b/selling/doctype/industry_type/test_industry_type.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 test_records = [
 	[{"doctype":"Industry Type", "industry":"_Test Industry"}],
 	[{"doctype":"Industry Type", "industry":"_Test Industry 1"}],
diff --git a/selling/doctype/installation_note/installation_note.js b/selling/doctype/installation_note/installation_note.js
index b6f094f..4476c95 100644
--- a/selling/doctype/installation_note/installation_note.js
+++ b/selling/doctype/installation_note/installation_note.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.	If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 cur_frm.cscript.tname = "Installation Note Item";
 cur_frm.cscript.fname = "installed_item_details";
diff --git a/selling/doctype/installation_note/installation_note.py b/selling/doctype/installation_note/installation_note.py
index fd85443..93a1bc1 100644
--- a/selling/doctype/installation_note/installation_note.py
+++ b/selling/doctype/installation_note/installation_note.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.	If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/selling/doctype/installation_note_item/installation_note_item.py b/selling/doctype/installation_note_item/installation_note_item.py
index 7f48feb..26d0f76 100644
--- a/selling/doctype/installation_note_item/installation_note_item.py
+++ b/selling/doctype/installation_note_item/installation_note_item.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/selling/doctype/lead/get_leads.py b/selling/doctype/lead/get_leads.py
index 892bfd9..c376f45 100644
--- a/selling/doctype/lead/get_leads.py
+++ b/selling/doctype/lead/get_leads.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/selling/doctype/lead/lead.js b/selling/doctype/lead/lead.js
index a20b331..4088739 100644
--- a/selling/doctype/lead/lead.js
+++ b/selling/doctype/lead/lead.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.	If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 wn.require('app/utilities/doctype/sms_control/sms_control.js');
 wn.require('app/setup/doctype/contact_control/contact_control.js');
diff --git a/selling/doctype/lead/lead.py b/selling/doctype/lead/lead.py
index 4ec213c..b2016aa 100644
--- a/selling/doctype/lead/lead.py
+++ b/selling/doctype/lead/lead.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.	If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/selling/doctype/lead/test_lead.py b/selling/doctype/lead/test_lead.py
index 3893a3f..3be3ada 100644
--- a/selling/doctype/lead/test_lead.py
+++ b/selling/doctype/lead/test_lead.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 
 test_records = [
diff --git a/selling/doctype/opportunity/opportunity.js b/selling/doctype/opportunity/opportunity.js
index fb5bae5..1ec3f3f 100644
--- a/selling/doctype/opportunity/opportunity.js
+++ b/selling/doctype/opportunity/opportunity.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 wn.require('app/utilities/doctype/sms_control/sms_control.js');
 
diff --git a/selling/doctype/opportunity/opportunity.py b/selling/doctype/opportunity/opportunity.py
index e48fff9..906e547 100644
--- a/selling/doctype/opportunity/opportunity.py
+++ b/selling/doctype/opportunity/opportunity.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.	If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/selling/doctype/opportunity_item/opportunity_item.py b/selling/doctype/opportunity_item/opportunity_item.py
index 7f48feb..26d0f76 100644
--- a/selling/doctype/opportunity_item/opportunity_item.py
+++ b/selling/doctype/opportunity_item/opportunity_item.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/selling/doctype/quotation/quotation.js b/selling/doctype/quotation/quotation.js
index 08ec6ab..fcebe35 100644
--- a/selling/doctype/quotation/quotation.js
+++ b/selling/doctype/quotation/quotation.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 // Module CRM
 // =====================================================================================
diff --git a/selling/doctype/quotation/quotation.py b/selling/doctype/quotation/quotation.py
index abb1a1c..b6ff1d7 100644
--- a/selling/doctype/quotation/quotation.py
+++ b/selling/doctype/quotation/quotation.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
@@ -253,8 +240,7 @@
 				"doctype": "Sales Order Item", 
 				"field_map": {
 					"parent": "prevdoc_docname"
-				}, 
-				"add_if_empty": True
+				}
 			}, 
 			"Sales Taxes and Charges": {
 				"doctype": "Sales Taxes and Charges",
diff --git a/selling/doctype/quotation/test_quotation.py b/selling/doctype/quotation/test_quotation.py
index 49fa736..41d50e7 100644
--- a/selling/doctype/quotation/test_quotation.py
+++ b/selling/doctype/quotation/test_quotation.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes, json
 from webnotes.utils import flt
 import unittest
diff --git a/selling/doctype/quotation_item/quotation_item.py b/selling/doctype/quotation_item/quotation_item.py
index 7f48feb..26d0f76 100644
--- a/selling/doctype/quotation_item/quotation_item.py
+++ b/selling/doctype/quotation_item/quotation_item.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/selling/doctype/sales_bom/sales_bom.js b/selling/doctype/sales_bom/sales_bom.js
index b67050c..80e66b8 100644
--- a/selling/doctype/sales_bom/sales_bom.js
+++ b/selling/doctype/sales_bom/sales_bom.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 cur_frm.cscript.refresh = function(doc, cdt, cdn) {
 	cur_frm.toggle_enable('new_item_code', doc.__islocal);
diff --git a/selling/doctype/sales_bom/sales_bom.py b/selling/doctype/sales_bom/sales_bom.py
index 43ab040..a6b123a 100644
--- a/selling/doctype/sales_bom/sales_bom.py
+++ b/selling/doctype/sales_bom/sales_bom.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.	If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
@@ -92,7 +79,7 @@
 
 	return webnotes.conn.sql("""select name, description from tabItem 
 		where is_stock_item="No" and is_sales_item="Yes"
-		and name not in (select name from `tabSales BOM`) and %s like "%s" 
+		and name not in (select name from `tabSales BOM`) and %s like %s
 		%s limit %s, %s""" % (searchfield, "%s", 
 		get_match_cond(doctype, searchfield),"%s", "%s"), 
 		("%%%s%%" % txt, start, page_len))
\ No newline at end of file
diff --git a/selling/doctype/sales_bom/test_sales_bom.py b/selling/doctype/sales_bom/test_sales_bom.py
index 850616f..7d273a9 100644
--- a/selling/doctype/sales_bom/test_sales_bom.py
+++ b/selling/doctype/sales_bom/test_sales_bom.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 test_records = [
 	[
 		{
diff --git a/selling/doctype/sales_bom_item/sales_bom_item.py b/selling/doctype/sales_bom_item/sales_bom_item.py
index 7f48feb..26d0f76 100644
--- a/selling/doctype/sales_bom_item/sales_bom_item.py
+++ b/selling/doctype/sales_bom_item/sales_bom_item.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/selling/doctype/sales_common/sales_common.js b/selling/doctype/sales_common/sales_common.js
index e59a747..0c4edd4 100644
--- a/selling/doctype/sales_common/sales_common.js
+++ b/selling/doctype/sales_common/sales_common.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 // Preset
 // ------
@@ -29,6 +16,7 @@
 		this._super();
 		this.toggle_rounded_total();
 		this.setup_queries();
+		this.toggle_editable_price_list_rate();
 	},
 	
 	setup_queries: function() {
@@ -317,6 +305,15 @@
 		}
 	},
 	
+	toggle_editable_price_list_rate: function() {
+		var df = wn.meta.get_docfield(this.tname, "ref_rate", this.frm.doc.name);
+		var editable_price_list_rate = cint(wn.defaults.get_default("editable_price_list_rate"));
+		
+		if(df && editable_price_list_rate) {
+			df.read_only = 0;
+		}
+	},
+	
 	calculate_taxes_and_totals: function() {
 		this._super();
 		this.calculate_total_advance("Sales Invoice", "advance_adjustment_details");
@@ -595,7 +592,10 @@
 		
 		// toggle columns
 		var item_grid = this.frm.fields_dict[this.fname].grid;
-		var show = this.frm.doc.currency != company_currency;
+		var show = (this.frm.doc.currency != company_currency) || 
+			(wn.model.get_doclist(cur_frm.doctype, cur_frm.docname, 
+				{parentfield: "other_charges", included_in_print_rate: 1}).length);
+		
 		$.each(["basic_rate", "base_ref_rate", "amount"], function(i, fname) {
 			if(wn.meta.get_docfield(item_grid.doctype, fname))
 				item_grid.set_column_disp(fname, show);
@@ -604,7 +604,9 @@
 		// set labels
 		var $wrapper = $(this.frm.wrapper);
 		$.each(field_label_map, function(fname, label) {
-			$wrapper.find('[data-grid-fieldname="'+fname+'"]').text(label);
+			fname = fname.split("-");
+			var df = wn.meta.get_docfield(fname[0], fname[1], me.frm.doc.name);
+			if(df) df.label = label;
 		});
 	},
 	
diff --git a/selling/doctype/sales_common/sales_common.py b/selling/doctype/sales_common/sales_common.py
index ef14054..728eda8 100644
--- a/selling/doctype/sales_common/sales_common.py
+++ b/selling/doctype/sales_common/sales_common.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/selling/doctype/sales_order/sales_order.js b/selling/doctype/sales_order/sales_order.js
index 8c1c2d2..33699f0 100644
--- a/selling/doctype/sales_order/sales_order.js
+++ b/selling/doctype/sales_order/sales_order.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 // Module CRM
 
diff --git a/selling/doctype/sales_order/sales_order.py b/selling/doctype/sales_order/sales_order.py
index d578a43..a9bb7a2 100644
--- a/selling/doctype/sales_order/sales_order.py
+++ b/selling/doctype/sales_order/sales_order.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
@@ -139,11 +126,8 @@
 		self.validate_mandatory()
 		self.validate_proj_cust()
 		self.validate_po()
-		self.validate_uom_is_integer("stock_uom", "qty")
-		
-		if self.doc.docstatus == 1:
-			self.validate_for_items()
-		
+		self.validate_uom_is_integer("stock_uom", "qty")		
+		self.validate_for_items()
 		sales_com_obj = get_obj(dt = 'Sales Common')
 		sales_com_obj.check_active_sales_items(self)
 		sales_com_obj.check_conversion_rate(self)
@@ -503,4 +487,4 @@
 			}
 		}, target_doclist)
 	
-		return [d.fields for d in doclist]
\ No newline at end of file
+		return [d.fields for d in doclist]
diff --git a/selling/doctype/sales_order/test_sales_order.py b/selling/doctype/sales_order/test_sales_order.py
index 95f4be0..aa632a3 100644
--- a/selling/doctype/sales_order/test_sales_order.py
+++ b/selling/doctype/sales_order/test_sales_order.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes
 from webnotes.utils import flt
 import unittest
diff --git a/selling/doctype/sales_order_item/sales_order_item.py b/selling/doctype/sales_order_item/sales_order_item.py
index 7f48feb..26d0f76 100644
--- a/selling/doctype/sales_order_item/sales_order_item.py
+++ b/selling/doctype/sales_order_item/sales_order_item.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/selling/doctype/sales_team/sales_team.py b/selling/doctype/sales_team/sales_team.py
index 7f48feb..26d0f76 100644
--- a/selling/doctype/sales_team/sales_team.py
+++ b/selling/doctype/sales_team/sales_team.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/selling/doctype/selling_settings/selling_settings.py b/selling/doctype/selling_settings/selling_settings.py
index febf375..225c221 100644
--- a/selling/doctype/selling_settings/selling_settings.py
+++ b/selling/doctype/selling_settings/selling_settings.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 # For license information, please see license.txt
 
 from __future__ import unicode_literals
@@ -8,5 +11,6 @@
 		self.doc, self.doclist = d, dl
 		
 	def validate(self):
-		for key in ["cust_master_name", "customer_group", "territory", "maintain_same_sales_rate"]:
-			webnotes.conn.set_default(key, self.doc.fields.get(key, ""))
+		for key in ["cust_master_name", "customer_group", "territory", "maintain_same_sales_rate",
+			"editable_price_list_rate"]:
+				webnotes.conn.set_default(key, self.doc.fields.get(key, ""))
diff --git a/selling/doctype/selling_settings/selling_settings.txt b/selling/doctype/selling_settings/selling_settings.txt
index 934cd41..97a339a 100644
--- a/selling/doctype/selling_settings/selling_settings.txt
+++ b/selling/doctype/selling_settings/selling_settings.txt
@@ -2,7 +2,7 @@
  {
   "creation": "2013-06-25 10:25:16", 
   "docstatus": 0, 
-  "modified": "2013-07-18 12:03:39", 
+  "modified": "2013-08-02 12:09:20", 
   "modified_by": "Administrator", 
   "owner": "Administrator"
  }, 
@@ -95,6 +95,12 @@
   "label": "Maintain Same Rate Throughout Sales Cycle"
  }, 
  {
+  "doctype": "DocField", 
+  "fieldname": "editable_price_list_rate", 
+  "fieldtype": "Check", 
+  "label": "Allow user to edit Price List Rate in transactions"
+ }, 
+ {
   "doctype": "DocPerm"
  }
 ]
\ No newline at end of file
diff --git a/selling/doctype/sms_center/sms_center.py b/selling/doctype/sms_center/sms_center.py
index e834042..29e793c 100644
--- a/selling/doctype/sms_center/sms_center.py
+++ b/selling/doctype/sms_center/sms_center.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/selling/page/sales_analytics/sales_analytics.js b/selling/page/sales_analytics/sales_analytics.js
index 8f09197f..0159ae0 100644
--- a/selling/page/sales_analytics/sales_analytics.js
+++ b/selling/page/sales_analytics/sales_analytics.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 wn.pages['sales-analytics'].onload = function(wrapper) { 
 	wn.ui.make_app_page({
diff --git a/selling/page/sales_browser/sales_browser.js b/selling/page/sales_browser/sales_browser.js
index a1578cf..53df188 100644
--- a/selling/page/sales_browser/sales_browser.js
+++ b/selling/page/sales_browser/sales_browser.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 pscript['onload_Sales Browser'] = function(wrapper){
 	wn.ui.make_app_page({
diff --git a/selling/page/sales_browser/sales_browser.py b/selling/page/sales_browser/sales_browser.py
index 6693fe5..6ee80fe 100644
--- a/selling/page/sales_browser/sales_browser.py
+++ b/selling/page/sales_browser/sales_browser.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 import webnotes
 
diff --git a/selling/page/selling_home/selling_home.js b/selling/page/selling_home/selling_home.js
index ffd8912..4860d42 100644
--- a/selling/page/selling_home/selling_home.js
+++ b/selling/page/selling_home/selling_home.js
@@ -1,5 +1,5 @@
-// ERPNext: Copyright 2013 Web Notes Technologies Pvt Ltd
-// GNU General Public License. See "license.txt"
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt"
 
 wn.module_page["Selling"] = [
 	{
diff --git a/selling/report/available_stock_for_packing_items/available_stock_for_packing_items.py b/selling/report/available_stock_for_packing_items/available_stock_for_packing_items.py
index 171c3bb..ec09c18 100644
--- a/selling/report/available_stock_for_packing_items/available_stock_for_packing_items.py
+++ b/selling/report/available_stock_for_packing_items/available_stock_for_packing_items.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/selling/report/customers_not_buying_since_long_time/customers_not_buying_since_long_time.js b/selling/report/customers_not_buying_since_long_time/customers_not_buying_since_long_time.js
index 65d6348..d527b34 100644
--- a/selling/report/customers_not_buying_since_long_time/customers_not_buying_since_long_time.js
+++ b/selling/report/customers_not_buying_since_long_time/customers_not_buying_since_long_time.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 wn.query_reports["Customers Not Buying Since Long Time"] = {
 	"filters": [
 		{
diff --git a/selling/report/customers_not_buying_since_long_time/customers_not_buying_since_long_time.py b/selling/report/customers_not_buying_since_long_time/customers_not_buying_since_long_time.py
index 08809a7..fbe1bb8 100644
--- a/selling/report/customers_not_buying_since_long_time/customers_not_buying_since_long_time.py
+++ b/selling/report/customers_not_buying_since_long_time/customers_not_buying_since_long_time.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/selling/report/quotation_trends/quotation_trends.js b/selling/report/quotation_trends/quotation_trends.js
index 2f9f236..df8bd49 100644
--- a/selling/report/quotation_trends/quotation_trends.js
+++ b/selling/report/quotation_trends/quotation_trends.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 wn.require("app/js/sales_trends_filters.js");
 
 wn.query_reports["Quotation Trends"] = {
diff --git a/selling/report/quotation_trends/quotation_trends.py b/selling/report/quotation_trends/quotation_trends.py
index 29f9ef8..6eae949 100644
--- a/selling/report/quotation_trends/quotation_trends.py
+++ b/selling/report/quotation_trends/quotation_trends.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/selling/report/sales_order_trends/sales_order_trends.js b/selling/report/sales_order_trends/sales_order_trends.js
index 458fee6..8cab413 100644
--- a/selling/report/sales_order_trends/sales_order_trends.js
+++ b/selling/report/sales_order_trends/sales_order_trends.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 wn.require("app/js/sales_trends_filters.js");
 
 wn.query_reports["Sales Order Trends"] = {
diff --git a/selling/report/sales_order_trends/sales_order_trends.py b/selling/report/sales_order_trends/sales_order_trends.py
index ac7c3ab..7e42a71 100644
--- a/selling/report/sales_order_trends/sales_order_trends.py
+++ b/selling/report/sales_order_trends/sales_order_trends.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/selling/report/sales_person_target_variance_item_group_wise/sales_person_target_variance_item_group_wise.js b/selling/report/sales_person_target_variance_item_group_wise/sales_person_target_variance_item_group_wise.js
index c7a5d66..5f2b89c 100644
--- a/selling/report/sales_person_target_variance_item_group_wise/sales_person_target_variance_item_group_wise.js
+++ b/selling/report/sales_person_target_variance_item_group_wise/sales_person_target_variance_item_group_wise.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 wn.query_reports["Sales Person Target Variance Item Group-Wise"] = {
 	"filters": [
 		{
diff --git a/selling/report/sales_person_target_variance_item_group_wise/sales_person_target_variance_item_group_wise.py b/selling/report/sales_person_target_variance_item_group_wise/sales_person_target_variance_item_group_wise.py
index ae3819c..96c147f 100644
--- a/selling/report/sales_person_target_variance_item_group_wise/sales_person_target_variance_item_group_wise.py
+++ b/selling/report/sales_person_target_variance_item_group_wise/sales_person_target_variance_item_group_wise.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/selling/report/sales_person_wise_transaction_summary/sales_person_wise_transaction_summary.js b/selling/report/sales_person_wise_transaction_summary/sales_person_wise_transaction_summary.js
index f85f699..6ddb5f9 100644
--- a/selling/report/sales_person_wise_transaction_summary/sales_person_wise_transaction_summary.js
+++ b/selling/report/sales_person_wise_transaction_summary/sales_person_wise_transaction_summary.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 wn.query_reports["Sales Person-wise Transaction Summary"] = {
 	"filters": [
 		{
diff --git a/selling/report/sales_person_wise_transaction_summary/sales_person_wise_transaction_summary.py b/selling/report/sales_person_wise_transaction_summary/sales_person_wise_transaction_summary.py
index 8ec3a18..45e893e 100644
--- a/selling/report/sales_person_wise_transaction_summary/sales_person_wise_transaction_summary.py
+++ b/selling/report/sales_person_wise_transaction_summary/sales_person_wise_transaction_summary.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/selling/report/territory_target_variance_item_group_wise/territory_target_variance_item_group_wise.js b/selling/report/territory_target_variance_item_group_wise/territory_target_variance_item_group_wise.js
index 146b17d..882cdb6 100644
--- a/selling/report/territory_target_variance_item_group_wise/territory_target_variance_item_group_wise.js
+++ b/selling/report/territory_target_variance_item_group_wise/territory_target_variance_item_group_wise.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 wn.query_reports["Territory Target Variance Item Group-Wise"] = {
 	"filters": [
 		{
diff --git a/selling/report/territory_target_variance_item_group_wise/territory_target_variance_item_group_wise.py b/selling/report/territory_target_variance_item_group_wise/territory_target_variance_item_group_wise.py
index 109acbd..4a8cc7c 100644
--- a/selling/report/territory_target_variance_item_group_wise/territory_target_variance_item_group_wise.py
+++ b/selling/report/territory_target_variance_item_group_wise/territory_target_variance_item_group_wise.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/selling/utils.py b/selling/utils.py
index 43a5ad8..2d4fcc4 100644
--- a/selling/utils.py
+++ b/selling/utils.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/setup/doctype/authorization_control/authorization_control.py b/setup/doctype/authorization_control/authorization_control.py
index 33687c7..ddf0791 100644
--- a/setup/doctype/authorization_control/authorization_control.py
+++ b/setup/doctype/authorization_control/authorization_control.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/setup/doctype/authorization_rule/authorization_rule.js b/setup/doctype/authorization_rule/authorization_rule.js
index fce0497..02747a0 100644
--- a/setup/doctype/authorization_rule/authorization_rule.js
+++ b/setup/doctype/authorization_rule/authorization_rule.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
  
 
diff --git a/setup/doctype/authorization_rule/authorization_rule.py b/setup/doctype/authorization_rule/authorization_rule.py
index 9f19701..3d2de47 100644
--- a/setup/doctype/authorization_rule/authorization_rule.py
+++ b/setup/doctype/authorization_rule/authorization_rule.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.	If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/setup/doctype/backup_manager/backup_dropbox.py b/setup/doctype/backup_manager/backup_dropbox.py
index 054d2b2..8d16353 100644
--- a/setup/doctype/backup_manager/backup_dropbox.py
+++ b/setup/doctype/backup_manager/backup_dropbox.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 # SETUP:
 # install pip install --upgrade dropbox
 #
diff --git a/setup/doctype/backup_manager/backup_googledrive.py b/setup/doctype/backup_manager/backup_googledrive.py
index 533b37d..5d7b6ad 100644
--- a/setup/doctype/backup_manager/backup_googledrive.py
+++ b/setup/doctype/backup_manager/backup_googledrive.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 # SETUP:
 # install pip install --upgrade google-api-python-client
 #
diff --git a/setup/doctype/backup_manager/backup_manager.js b/setup/doctype/backup_manager/backup_manager.js
index 870922e..f2de49c 100644
--- a/setup/doctype/backup_manager/backup_manager.js
+++ b/setup/doctype/backup_manager/backup_manager.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 $.extend(cur_frm.cscript, {
 	refresh: function() {
 		cur_frm.disable_save();
diff --git a/setup/doctype/backup_manager/backup_manager.py b/setup/doctype/backup_manager/backup_manager.py
index c91cf11..aaf17f5 100644
--- a/setup/doctype/backup_manager/backup_manager.py
+++ b/setup/doctype/backup_manager/backup_manager.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 # For license information, please see license.txt
 
 from __future__ import unicode_literals
diff --git a/setup/doctype/brand/brand.js b/setup/doctype/brand/brand.js
index 3cad944..e8c3c69 100644
--- a/setup/doctype/brand/brand.js
+++ b/setup/doctype/brand/brand.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
  
 
diff --git a/setup/doctype/brand/brand.py b/setup/doctype/brand/brand.py
index 7794430..8002652 100644
--- a/setup/doctype/brand/brand.py
+++ b/setup/doctype/brand/brand.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/setup/doctype/brand/test_brand.py b/setup/doctype/brand/test_brand.py
index 7a18c2e..b97f6b0 100644
--- a/setup/doctype/brand/test_brand.py
+++ b/setup/doctype/brand/test_brand.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 test_records = [
 	[{
 		"doctype": "Brand",
diff --git a/setup/doctype/company/charts/import_from_openerp.py b/setup/doctype/company/charts/import_from_openerp.py
index ebf8d0d..894c2d7 100644
--- a/setup/doctype/company/charts/import_from_openerp.py
+++ b/setup/doctype/company/charts/import_from_openerp.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 """
 Import chart of accounts from OpenERP sources
 """
diff --git a/setup/doctype/company/company.js b/setup/doctype/company/company.js
index 1d3aa5f..40e314c 100644
--- a/setup/doctype/company/company.js
+++ b/setup/doctype/company/company.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 cur_frm.cscript.refresh = function(doc, cdt, cdn) {
 	if(doc.abbr && !doc.__islocal)
diff --git a/setup/doctype/company/company.py b/setup/doctype/company/company.py
index ee432c0..66c83d6 100644
--- a/setup/doctype/company/company.py
+++ b/setup/doctype/company/company.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/setup/doctype/company/company.txt b/setup/doctype/company/company.txt
index d698624..e147843 100644
--- a/setup/doctype/company/company.txt
+++ b/setup/doctype/company/company.txt
@@ -164,15 +164,7 @@
   "width": "50%"
  }, 
  {
-  "depends_on": "eval:!doc.__islocal", 
-  "doctype": "DocField", 
-  "fieldname": "cost_center", 
-  "fieldtype": "Link", 
-  "label": "Cost Center", 
-  "no_copy": 1, 
-  "options": "Cost Center"
- }, 
- {
+  "description": "To enable more currencies go to Setup > Currency", 
   "doctype": "DocField", 
   "fieldname": "default_currency", 
   "fieldtype": "Link", 
@@ -184,6 +176,15 @@
  {
   "depends_on": "eval:!doc.__islocal", 
   "doctype": "DocField", 
+  "fieldname": "cost_center", 
+  "fieldtype": "Link", 
+  "label": "Cost Center", 
+  "no_copy": 1, 
+  "options": "Cost Center"
+ }, 
+ {
+  "depends_on": "eval:!doc.__islocal", 
+  "doctype": "DocField", 
   "fieldname": "credit_days", 
   "fieldtype": "Int", 
   "label": "Credit Days", 
diff --git a/setup/doctype/company/test_company.py b/setup/doctype/company/test_company.py
index e89731f..915657c 100644
--- a/setup/doctype/company/test_company.py
+++ b/setup/doctype/company/test_company.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 test_ignore = ["Account", "Cost Center"]
 
 test_records = [
diff --git a/setup/doctype/contact_control/contact_control.js b/setup/doctype/contact_control/contact_control.js
index 5c8e571..6c3f17d 100755
--- a/setup/doctype/contact_control/contact_control.js
+++ b/setup/doctype/contact_control/contact_control.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 // common partner functions
 // =========================
 
diff --git a/setup/doctype/contact_control/contact_control.py b/setup/doctype/contact_control/contact_control.py
index 54a2fcc..409c663 100644
--- a/setup/doctype/contact_control/contact_control.py
+++ b/setup/doctype/contact_control/contact_control.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 import webnotes
 
diff --git a/setup/doctype/country/country.py b/setup/doctype/country/country.py
index 7794430..8002652 100644
--- a/setup/doctype/country/country.py
+++ b/setup/doctype/country/country.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/setup/doctype/country/test_country.py b/setup/doctype/country/test_country.py
index c42e80f..c2caa3c 100644
--- a/setup/doctype/country/test_country.py
+++ b/setup/doctype/country/test_country.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 test_records = [
 	[{
 		"doctype": "Country",
diff --git a/setup/doctype/currency/currency.js b/setup/doctype/currency/currency.js
index cc0aeb6..58697b0 100644
--- a/setup/doctype/currency/currency.js
+++ b/setup/doctype/currency/currency.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 cur_frm.cscript.refresh = function(doc) {
 	cur_frm.set_intro("");
 	if(!cur_frm.doc.enabled) {
diff --git a/setup/doctype/currency/currency.py b/setup/doctype/currency/currency.py
index 7f48feb..26d0f76 100644
--- a/setup/doctype/currency/currency.py
+++ b/setup/doctype/currency/currency.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/setup/doctype/currency/test_currency.py b/setup/doctype/currency/test_currency.py
index 71963f9..a7ae97b 100644
--- a/setup/doctype/currency/test_currency.py
+++ b/setup/doctype/currency/test_currency.py
@@ -1,2 +1,5 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 # pre loaded
 test_records = []
\ No newline at end of file
diff --git a/setup/doctype/currency_exchange/currency_exchange.js b/setup/doctype/currency_exchange/currency_exchange.js
index f10bdf0..5fd4305 100644
--- a/setup/doctype/currency_exchange/currency_exchange.js
+++ b/setup/doctype/currency_exchange/currency_exchange.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 $.extend(cur_frm.cscript, {
 	onload: function() {
diff --git a/setup/doctype/currency_exchange/currency_exchange.py b/setup/doctype/currency_exchange/currency_exchange.py
index f1ff49e..2a53017 100644
--- a/setup/doctype/currency_exchange/currency_exchange.py
+++ b/setup/doctype/currency_exchange/currency_exchange.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 # For license information, please see license.txt
 
 from __future__ import unicode_literals
diff --git a/setup/doctype/currency_exchange/test_currency_exchange.py b/setup/doctype/currency_exchange/test_currency_exchange.py
index 542b6af..ea851b4 100644
--- a/setup/doctype/currency_exchange/test_currency_exchange.py
+++ b/setup/doctype/currency_exchange/test_currency_exchange.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 test_records = [
 	[{
 		"doctype": "Currency Exchange",
diff --git a/setup/doctype/customer_group/customer_group.js b/setup/doctype/customer_group/customer_group.js
index e865860..2953de5 100644
--- a/setup/doctype/customer_group/customer_group.js
+++ b/setup/doctype/customer_group/customer_group.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
  
 cur_frm.cscript.refresh = function(doc, cdt, cdn) {
 	cur_frm.cscript.set_root_readonly(doc);
diff --git a/setup/doctype/customer_group/customer_group.py b/setup/doctype/customer_group/customer_group.py
index de0042e..0940e1f 100644
--- a/setup/doctype/customer_group/customer_group.py
+++ b/setup/doctype/customer_group/customer_group.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
@@ -37,6 +24,7 @@
 	def on_update(self):
 		self.validate_name_with_customer()
 		super(DocType, self).on_update()
+		self.validate_one_root()
 		
 	def validate_name_with_customer(self):
 		if webnotes.conn.exists("Customer", self.doc.name):
diff --git a/setup/doctype/customer_group/customer_group.txt b/setup/doctype/customer_group/customer_group.txt
index 6a13500..4f9acc6 100644
--- a/setup/doctype/customer_group/customer_group.txt
+++ b/setup/doctype/customer_group/customer_group.txt
@@ -2,7 +2,7 @@
  {
   "creation": "2013-01-10 16:34:23", 
   "docstatus": 0, 
-  "modified": "2013-07-05 14:34:20", 
+  "modified": "2013-08-05 18:12:57", 
   "modified_by": "Administrator", 
   "owner": "Administrator"
  }, 
@@ -69,7 +69,7 @@
   "oldfieldname": "parent_customer_group", 
   "oldfieldtype": "Link", 
   "options": "Customer Group", 
-  "reqd": 1
+  "reqd": 0
  }, 
  {
   "description": "Only leaf nodes are allowed in transaction", 
diff --git a/setup/doctype/customer_group/test_customer_group.py b/setup/doctype/customer_group/test_customer_group.py
index 7670824..14233af 100644
--- a/setup/doctype/customer_group/test_customer_group.py
+++ b/setup/doctype/customer_group/test_customer_group.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 test_records = [
 	[{
 		"doctype": "Customer Group",
diff --git a/setup/doctype/email_digest/email_digest.js b/setup/doctype/email_digest/email_digest.js
index 011718f..5521092 100644
--- a/setup/doctype/email_digest/email_digest.js
+++ b/setup/doctype/email_digest/email_digest.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 cur_frm.cscript.refresh = function(doc, dt, dn) {
 	doc = locals[dt][dn];
diff --git a/setup/doctype/email_digest/email_digest.py b/setup/doctype/email_digest/email_digest.py
index 0354b50..39e377a 100644
--- a/setup/doctype/email_digest/email_digest.py
+++ b/setup/doctype/email_digest/email_digest.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/setup/doctype/email_settings/email_settings.py b/setup/doctype/email_settings/email_settings.py
index b9880d2..219501e 100644
--- a/setup/doctype/email_settings/email_settings.py
+++ b/setup/doctype/email_settings/email_settings.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/setup/doctype/features_setup/features_setup.py b/setup/doctype/features_setup/features_setup.py
index 50b2535..3ecefca 100644
--- a/setup/doctype/features_setup/features_setup.py
+++ b/setup/doctype/features_setup/features_setup.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 class DocType:
diff --git a/setup/doctype/for_territory/for_territory.py b/setup/doctype/for_territory/for_territory.py
index 928aa9f..784339d 100644
--- a/setup/doctype/for_territory/for_territory.py
+++ b/setup/doctype/for_territory/for_territory.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 # For license information, please see license.txt
 
 from __future__ import unicode_literals
diff --git a/setup/doctype/global_defaults/global_defaults.js b/setup/doctype/global_defaults/global_defaults.js
index f629ee0..3999979 100644
--- a/setup/doctype/global_defaults/global_defaults.js
+++ b/setup/doctype/global_defaults/global_defaults.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 // Validate
 cur_frm.cscript.validate = function(doc, cdt, cdn) {
diff --git a/setup/doctype/global_defaults/global_defaults.py b/setup/doctype/global_defaults/global_defaults.py
index 7b0c277..1b1d50c 100644
--- a/setup/doctype/global_defaults/global_defaults.py
+++ b/setup/doctype/global_defaults/global_defaults.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 """Global Defaults"""
diff --git a/setup/doctype/global_defaults/global_defaults.txt b/setup/doctype/global_defaults/global_defaults.txt
index b59ca94..fbfa8ca 100644
--- a/setup/doctype/global_defaults/global_defaults.txt
+++ b/setup/doctype/global_defaults/global_defaults.txt
@@ -2,7 +2,7 @@
  {
   "creation": "2013-05-02 17:53:24", 
   "docstatus": 0, 
-  "modified": "2013-07-15 15:03:01", 
+  "modified": "2013-08-06 11:22:22", 
   "modified_by": "Administrator", 
   "owner": "Administrator"
  }, 
@@ -71,7 +71,8 @@
   "read_only": 0
  }, 
  {
-  "description": "Precision for Float fields (quantities, discounts, percentages etc) only for display. Floats will still be calculated up to 6 decimals.", 
+  "default": "3", 
+  "description": "Precision for Float fields (quantities, discounts, percentages etc). Floats will be rounded up to specified decimals. Default = 3", 
   "doctype": "DocField", 
   "fieldname": "float_precision", 
   "fieldtype": "Select", 
@@ -182,15 +183,6 @@
   "read_only": 0
  }, 
  {
-  "description": "Employee record is created using selected field. ", 
-  "doctype": "DocField", 
-  "fieldname": "emp_created_by", 
-  "fieldtype": "Select", 
-  "label": "Employee Records to be created by ", 
-  "options": "Naming Series\nEmployee Number", 
-  "read_only": 0
- }, 
- {
   "doctype": "DocPerm"
  }
 ]
\ No newline at end of file
diff --git a/setup/doctype/item_group/item_group.js b/setup/doctype/item_group/item_group.js
index f672e7a..31edef2 100644
--- a/setup/doctype/item_group/item_group.js
+++ b/setup/doctype/item_group/item_group.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 
 cur_frm.cscript.refresh = function(doc, cdt, cdn) {
diff --git a/setup/doctype/item_group/item_group.py b/setup/doctype/item_group/item_group.py
index ef3c408..81f6903 100644
--- a/setup/doctype/item_group/item_group.py
+++ b/setup/doctype/item_group/item_group.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.	If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
@@ -33,7 +20,6 @@
 		
 		from website.helpers.product import invalidate_cache_for
 		
-		
 		if self.doc.show_in_website:
 			from webnotes.webutils import update_page_name
 			# webpage updates
@@ -51,6 +37,8 @@
 			
 			webnotes.conn.set(self.doc, "page_name", None)
 		
+		self.validate_one_root()
+		
 	def validate_name_with_item(self):
 		if webnotes.conn.exists("Item", self.doc.name):
 			webnotes.msgprint("An item exists with same name (%s), please change the \
diff --git a/setup/doctype/item_group/item_group.txt b/setup/doctype/item_group/item_group.txt
index 6e7edf9..f573110 100644
--- a/setup/doctype/item_group/item_group.txt
+++ b/setup/doctype/item_group/item_group.txt
@@ -2,7 +2,7 @@
  {
   "creation": "2013-03-28 10:35:29", 
   "docstatus": 0, 
-  "modified": "2013-07-23 12:00:14", 
+  "modified": "2013-08-05 17:21:14", 
   "modified_by": "Administrator", 
   "owner": "Administrator"
  }, 
@@ -75,7 +75,7 @@
   "oldfieldname": "parent_item_group", 
   "oldfieldtype": "Link", 
   "options": "Item Group", 
-  "reqd": 1, 
+  "reqd": 0, 
   "search_index": 0
  }, 
  {
diff --git a/setup/doctype/item_group/test_item_group.py b/setup/doctype/item_group/test_item_group.py
index 924b367..7d7452e 100644
--- a/setup/doctype/item_group/test_item_group.py
+++ b/setup/doctype/item_group/test_item_group.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 test_records = [
 	[{
 		"doctype": "Item Group",
diff --git a/setup/doctype/jobs_email_settings/jobs_email_settings.js b/setup/doctype/jobs_email_settings/jobs_email_settings.js
index 0a75b89..b970c96 100644
--- a/setup/doctype/jobs_email_settings/jobs_email_settings.js
+++ b/setup/doctype/jobs_email_settings/jobs_email_settings.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 // For license information, please see license.txt
 
 cur_frm.cscript = {
diff --git a/setup/doctype/jobs_email_settings/jobs_email_settings.py b/setup/doctype/jobs_email_settings/jobs_email_settings.py
index b09cefd..87ed621 100644
--- a/setup/doctype/jobs_email_settings/jobs_email_settings.py
+++ b/setup/doctype/jobs_email_settings/jobs_email_settings.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 # For license information, please see license.txt
 
 from __future__ import unicode_literals
diff --git a/setup/doctype/naming_series/naming_series.js b/setup/doctype/naming_series/naming_series.js
index 663b08f..885b5ed 100644
--- a/setup/doctype/naming_series/naming_series.js
+++ b/setup/doctype/naming_series/naming_series.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.	If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 // Settings
 cur_frm.cscript.onload_post_render = function(doc, cdt, cdn){
diff --git a/setup/doctype/naming_series/naming_series.py b/setup/doctype/naming_series/naming_series.py
index eb293f2..c9604fc 100644
--- a/setup/doctype/naming_series/naming_series.py
+++ b/setup/doctype/naming_series/naming_series.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/setup/doctype/notification_control/notification_control.js b/setup/doctype/notification_control/notification_control.js
index 279f5b4..3e16421 100644
--- a/setup/doctype/notification_control/notification_control.js
+++ b/setup/doctype/notification_control/notification_control.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 cur_frm.cscript.select_transaction = function(doc, cdt, cdn) {
   if(doc.select_transaction) {
diff --git a/setup/doctype/notification_control/notification_control.py b/setup/doctype/notification_control/notification_control.py
index d6792f9..6133d9b 100644
--- a/setup/doctype/notification_control/notification_control.py
+++ b/setup/doctype/notification_control/notification_control.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/setup/doctype/price_list/price_list.js b/setup/doctype/price_list/price_list.js
index 26c9854..d11c4ba 100644
--- a/setup/doctype/price_list/price_list.js
+++ b/setup/doctype/price_list/price_list.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 $.extend(cur_frm.cscript, {
 	onload: function() {
diff --git a/setup/doctype/price_list/price_list.py b/setup/doctype/price_list/price_list.py
index 051f54a..2a44e7b 100644
--- a/setup/doctype/price_list/price_list.py
+++ b/setup/doctype/price_list/price_list.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/setup/doctype/price_list/test_price_list.py b/setup/doctype/price_list/test_price_list.py
index c3633e7..bfa64ec 100644
--- a/setup/doctype/price_list/test_price_list.py
+++ b/setup/doctype/price_list/test_price_list.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 test_records = [
 	[
 		{
diff --git a/setup/doctype/print_heading/print_heading.js b/setup/doctype/print_heading/print_heading.js
index 3cad944..e8c3c69 100644
--- a/setup/doctype/print_heading/print_heading.js
+++ b/setup/doctype/print_heading/print_heading.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
  
 
diff --git a/setup/doctype/print_heading/print_heading.py b/setup/doctype/print_heading/print_heading.py
index d856eb4..ba7114a 100644
--- a/setup/doctype/print_heading/print_heading.py
+++ b/setup/doctype/print_heading/print_heading.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/setup/doctype/print_heading/test_print_heading.py b/setup/doctype/print_heading/test_print_heading.py
index d2ef7c3..927ac66 100644
--- a/setup/doctype/print_heading/test_print_heading.py
+++ b/setup/doctype/print_heading/test_print_heading.py
@@ -1 +1,4 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 test_records = [[{"print_heading": "_Test Print Heading"}]]
\ No newline at end of file
diff --git a/setup/doctype/quotation_lost_reason/quotation_lost_reason.js b/setup/doctype/quotation_lost_reason/quotation_lost_reason.js
index 3cad944..e8c3c69 100644
--- a/setup/doctype/quotation_lost_reason/quotation_lost_reason.js
+++ b/setup/doctype/quotation_lost_reason/quotation_lost_reason.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
  
 
diff --git a/setup/doctype/quotation_lost_reason/quotation_lost_reason.py b/setup/doctype/quotation_lost_reason/quotation_lost_reason.py
index 7794430..8002652 100644
--- a/setup/doctype/quotation_lost_reason/quotation_lost_reason.py
+++ b/setup/doctype/quotation_lost_reason/quotation_lost_reason.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/setup/doctype/quotation_lost_reason/test_quotation_lost_reason.py b/setup/doctype/quotation_lost_reason/test_quotation_lost_reason.py
index 9e98204..4b2bc17 100644
--- a/setup/doctype/quotation_lost_reason/test_quotation_lost_reason.py
+++ b/setup/doctype/quotation_lost_reason/test_quotation_lost_reason.py
@@ -1 +1,4 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 test_records = [[{"doctype":"Quotation Lost Reason", "order_lost_reason": "_Test Quotation Lost Reason"}]]
\ No newline at end of file
diff --git a/setup/doctype/sales_email_settings/sales_email_settings.js b/setup/doctype/sales_email_settings/sales_email_settings.js
index 0a75b89..b970c96 100644
--- a/setup/doctype/sales_email_settings/sales_email_settings.js
+++ b/setup/doctype/sales_email_settings/sales_email_settings.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 // For license information, please see license.txt
 
 cur_frm.cscript = {
diff --git a/setup/doctype/sales_email_settings/sales_email_settings.py b/setup/doctype/sales_email_settings/sales_email_settings.py
index b09cefd..87ed621 100644
--- a/setup/doctype/sales_email_settings/sales_email_settings.py
+++ b/setup/doctype/sales_email_settings/sales_email_settings.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 # For license information, please see license.txt
 
 from __future__ import unicode_literals
diff --git a/setup/doctype/sales_partner/sales_partner.js b/setup/doctype/sales_partner/sales_partner.js
index acf6b31..86b7712 100644
--- a/setup/doctype/sales_partner/sales_partner.js
+++ b/setup/doctype/sales_partner/sales_partner.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 wn.require('app/setup/doctype/contact_control/contact_control.js');
 
diff --git a/setup/doctype/sales_partner/sales_partner.py b/setup/doctype/sales_partner/sales_partner.py
index dc46b20..2c39e67 100644
--- a/setup/doctype/sales_partner/sales_partner.py
+++ b/setup/doctype/sales_partner/sales_partner.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.	If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/setup/doctype/sales_partner/test_sales_partner.py b/setup/doctype/sales_partner/test_sales_partner.py
index 3afb472..7ac835d 100644
--- a/setup/doctype/sales_partner/test_sales_partner.py
+++ b/setup/doctype/sales_partner/test_sales_partner.py
@@ -1 +1,4 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 test_records = []
\ No newline at end of file
diff --git a/setup/doctype/sales_person/sales_person.js b/setup/doctype/sales_person/sales_person.js
index fd03a44..34f267e 100644
--- a/setup/doctype/sales_person/sales_person.js
+++ b/setup/doctype/sales_person/sales_person.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 cur_frm.cscript.refresh = function(doc, cdt, cdn) {
 	cur_frm.cscript.set_root_readonly(doc);
diff --git a/setup/doctype/sales_person/sales_person.py b/setup/doctype/sales_person/sales_person.py
index 2fe08fa..6161706 100644
--- a/setup/doctype/sales_person/sales_person.py
+++ b/setup/doctype/sales_person/sales_person.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
@@ -34,6 +21,10 @@
 				webnotes.msgprint("Either target qty or target amount is mandatory.")
 				raise Exception
 	
+	def on_update(self):
+		super(DocType, self).on_update()
+		self.validate_one_root()
+	
 	def get_email_id(self):
 		profile = webnotes.conn.get_value("Employee", self.doc.employee, "user_id")
 		if not profile:
diff --git a/setup/doctype/sales_person/sales_person.txt b/setup/doctype/sales_person/sales_person.txt
index 56c6397..77ba6af 100644
--- a/setup/doctype/sales_person/sales_person.txt
+++ b/setup/doctype/sales_person/sales_person.txt
@@ -2,7 +2,7 @@
  {
   "creation": "2013-01-10 16:34:24", 
   "docstatus": 0, 
-  "modified": "2013-07-10 12:51:58", 
+  "modified": "2013-08-05 18:11:22", 
   "modified_by": "Administrator", 
   "owner": "Administrator"
  }, 
@@ -69,7 +69,7 @@
   "oldfieldname": "parent_sales_person", 
   "oldfieldtype": "Link", 
   "options": "Sales Person", 
-  "reqd": 1
+  "reqd": 0
  }, 
  {
   "doctype": "DocField", 
diff --git a/setup/doctype/sales_person/test_sales_person.py b/setup/doctype/sales_person/test_sales_person.py
index 86a268f..d00736b 100644
--- a/setup/doctype/sales_person/test_sales_person.py
+++ b/setup/doctype/sales_person/test_sales_person.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 test_dependencies = ["Employee"]
 test_records = [
 	[{
diff --git a/setup/doctype/setup_control/setup_control.py b/setup/doctype/setup_control/setup_control.py
index 32b7638..2dd1646 100644
--- a/setup/doctype/setup_control/setup_control.py
+++ b/setup/doctype/setup_control/setup_control.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/setup/doctype/sms_parameter/sms_parameter.py b/setup/doctype/sms_parameter/sms_parameter.py
index 7f48feb..26d0f76 100644
--- a/setup/doctype/sms_parameter/sms_parameter.py
+++ b/setup/doctype/sms_parameter/sms_parameter.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/setup/doctype/sms_settings/sms_settings.py b/setup/doctype/sms_settings/sms_settings.py
index 7f48feb..26d0f76 100644
--- a/setup/doctype/sms_settings/sms_settings.py
+++ b/setup/doctype/sms_settings/sms_settings.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/setup/doctype/supplier_type/supplier_type.js b/setup/doctype/supplier_type/supplier_type.js
index 945dec0..b65f67c 100644
--- a/setup/doctype/supplier_type/supplier_type.js
+++ b/setup/doctype/supplier_type/supplier_type.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 cur_frm.cscript.refresh = function(doc) {
 	cur_frm.set_intro(doc.__islocal ? "" : "There is nothing to edit.")
diff --git a/setup/doctype/supplier_type/supplier_type.py b/setup/doctype/supplier_type/supplier_type.py
index 7794430..8002652 100644
--- a/setup/doctype/supplier_type/supplier_type.py
+++ b/setup/doctype/supplier_type/supplier_type.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/setup/doctype/supplier_type/test_supplier_type.py b/setup/doctype/supplier_type/test_supplier_type.py
index 74dde97..cb6a8b7 100644
--- a/setup/doctype/supplier_type/test_supplier_type.py
+++ b/setup/doctype/supplier_type/test_supplier_type.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 test_records = [
 	[{
 		"doctype": "Supplier Type",
diff --git a/setup/doctype/target_detail/target_detail.py b/setup/doctype/target_detail/target_detail.py
index 7f48feb..26d0f76 100644
--- a/setup/doctype/target_detail/target_detail.py
+++ b/setup/doctype/target_detail/target_detail.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/setup/doctype/terms_and_conditions/terms_and_conditions.js b/setup/doctype/terms_and_conditions/terms_and_conditions.js
index 3cad944..e8c3c69 100644
--- a/setup/doctype/terms_and_conditions/terms_and_conditions.js
+++ b/setup/doctype/terms_and_conditions/terms_and_conditions.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
  
 
diff --git a/setup/doctype/terms_and_conditions/terms_and_conditions.py b/setup/doctype/terms_and_conditions/terms_and_conditions.py
index 7f48feb..26d0f76 100644
--- a/setup/doctype/terms_and_conditions/terms_and_conditions.py
+++ b/setup/doctype/terms_and_conditions/terms_and_conditions.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/setup/doctype/terms_and_conditions/test_terms_and_conditions.py b/setup/doctype/terms_and_conditions/test_terms_and_conditions.py
index b0d1fee..268e9e0 100644
--- a/setup/doctype/terms_and_conditions/test_terms_and_conditions.py
+++ b/setup/doctype/terms_and_conditions/test_terms_and_conditions.py
@@ -1 +1,4 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 test_records = [[{"title": "_Test Terms and Conditions", "terms": "_Test Terms"}]]
\ No newline at end of file
diff --git a/setup/doctype/territory/territory.js b/setup/doctype/territory/territory.js
index 7fdfee5..7561816 100644
--- a/setup/doctype/territory/territory.js
+++ b/setup/doctype/territory/territory.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 cur_frm.cscript.refresh = function(doc, cdt, cdn) {
 	cur_frm.cscript.set_root_readonly(doc);
diff --git a/setup/doctype/territory/territory.py b/setup/doctype/territory/territory.py
index 896d5c7..13498fc 100644
--- a/setup/doctype/territory/territory.py
+++ b/setup/doctype/territory/territory.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.	If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
@@ -33,4 +20,7 @@
 			if not flt(d.target_qty) and not flt(d.target_amount):
 				msgprint("Either target qty or target amount is mandatory.")
 				raise Exception
-				
\ No newline at end of file
+
+	def on_update(self):
+		super(DocType, self).on_update()
+		self.validate_one_root()
diff --git a/setup/doctype/territory/territory.txt b/setup/doctype/territory/territory.txt
index bba7e3e..b647e7b 100644
--- a/setup/doctype/territory/territory.txt
+++ b/setup/doctype/territory/territory.txt
@@ -2,7 +2,7 @@
  {
   "creation": "2013-01-10 16:34:24", 
   "docstatus": 0, 
-  "modified": "2013-07-05 14:58:15", 
+  "modified": "2013-08-05 18:12:29", 
   "modified_by": "Administrator", 
   "owner": "Administrator"
  }, 
@@ -71,7 +71,7 @@
   "oldfieldname": "parent_territory", 
   "oldfieldtype": "Link", 
   "options": "Territory", 
-  "reqd": 1
+  "reqd": 0
  }, 
  {
   "description": "Only leaf nodes are allowed in transaction", 
diff --git a/setup/doctype/territory/test_territory.py b/setup/doctype/territory/test_territory.py
index 75003f2..1ebcc1e 100644
--- a/setup/doctype/territory/test_territory.py
+++ b/setup/doctype/territory/test_territory.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 test_records = [
 	[{
 		"doctype": "Territory",
diff --git a/setup/doctype/uom/test_uom.py b/setup/doctype/uom/test_uom.py
index 7dbb28c..044cc11 100644
--- a/setup/doctype/uom/test_uom.py
+++ b/setup/doctype/uom/test_uom.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 test_records = [
 	[{
 		"doctype": "UOM",
diff --git a/setup/doctype/uom/uom.js b/setup/doctype/uom/uom.js
index 3cad944..e8c3c69 100644
--- a/setup/doctype/uom/uom.js
+++ b/setup/doctype/uom/uom.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
  
 
diff --git a/setup/doctype/uom/uom.py b/setup/doctype/uom/uom.py
index 7794430..8002652 100644
--- a/setup/doctype/uom/uom.py
+++ b/setup/doctype/uom/uom.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/setup/page/setup/setup.js b/setup/page/setup/setup.js
index 40b67d8..c9532e2 100644
--- a/setup/page/setup/setup.js
+++ b/setup/page/setup/setup.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 wn.pages['Setup'].onload = function(wrapper) { 
 	if(msg_dialog && msg_dialog.display) msg_dialog.hide();
 	wn.ui.make_app_page({
diff --git a/setup/page/setup/setup.py b/setup/page/setup/setup.py
index 4bb1a20..6e6be31 100644
--- a/setup/page/setup/setup.py
+++ b/setup/page/setup/setup.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 import webnotes
 
diff --git a/setup/utils.py b/setup/utils.py
index adfa4f7..b0aa889 100644
--- a/setup/utils.py
+++ b/setup/utils.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/startup/boot.py b/startup/boot.py
index a75c78a..79f0a7b 100644
--- a/startup/boot.py
+++ b/startup/boot.py
@@ -1,5 +1,5 @@
-# ERPNext: Copyright 2013 Web Notes Technologies Pvt Ltd
-# GNU General Public License. See "license.txt"
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt"
 
 
 from __future__ import unicode_literals
diff --git a/startup/event_handlers.py b/startup/event_handlers.py
index d19f9e6..e807797 100644
--- a/startup/event_handlers.py
+++ b/startup/event_handlers.py
@@ -1,5 +1,5 @@
-# ERPNext: Copyright 2013 Web Notes Technologies Pvt Ltd
-# GNU General Public License. See "license.txt"
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt"
 
 
 from __future__ import unicode_literals
diff --git a/startup/install.py b/startup/install.py
index 9408c61..0824c6c 100644
--- a/startup/install.py
+++ b/startup/install.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 
 import webnotes
diff --git a/startup/observers.py b/startup/observers.py
index 89980e4..df827da 100644
--- a/startup/observers.py
+++ b/startup/observers.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 observer_map = {
 	"*:on_update": "home.update_feed",
diff --git a/startup/open_count.py b/startup/open_count.py
index 04e0029..431ced9 100644
--- a/startup/open_count.py
+++ b/startup/open_count.py
@@ -1,5 +1,5 @@
-# ERPNext: Copyright 2013 Web Notes Technologies Pvt Ltd
-# GNU General Public Licnese. See "license.txt"
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/startup/query_handlers.py b/startup/query_handlers.py
index eb5f99e..56c995e 100644
--- a/startup/query_handlers.py
+++ b/startup/query_handlers.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 from __future__ import unicode_literals
 
 standard_queries = {
diff --git a/startup/report_data_map.py b/startup/report_data_map.py
index c3a5dd2..0f6d4fe 100644
--- a/startup/report_data_map.py
+++ b/startup/report_data_map.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 
diff --git a/startup/schedule_handlers.py b/startup/schedule_handlers.py
index 28ff2ae..15bedd2 100644
--- a/startup/schedule_handlers.py
+++ b/startup/schedule_handlers.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 """will be called by scheduler"""
diff --git a/startup/webutils.py b/startup/webutils.py
index 87d12e4..eab4948 100644
--- a/startup/webutils.py
+++ b/startup/webutils.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes, conf, os
 from webnotes.utils import cint, cstr, encode
 
diff --git a/stock/doctype/batch/batch.js b/stock/doctype/batch/batch.js
index 8b26d54..ac83b71 100644
--- a/stock/doctype/batch/batch.js
+++ b/stock/doctype/batch/batch.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 cur_frm.fields_dict['item'].get_query = function(doc, cdt, cdn) {
 	return {
diff --git a/stock/doctype/batch/batch.py b/stock/doctype/batch/batch.py
index 7f48feb..26d0f76 100644
--- a/stock/doctype/batch/batch.py
+++ b/stock/doctype/batch/batch.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/stock/doctype/bin/bin.py b/stock/doctype/bin/bin.py
index cf30c5a..146191f 100644
--- a/stock/doctype/bin/bin.py
+++ b/stock/doctype/bin/bin.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/stock/doctype/delivery_note/delivery_note.js b/stock/doctype/delivery_note/delivery_note.js
index ca0d8c8..eaaf9ea 100644
--- a/stock/doctype/delivery_note/delivery_note.js
+++ b/stock/doctype/delivery_note/delivery_note.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 // Module Material Management
 cur_frm.cscript.tname = "Delivery Note Item";
diff --git a/stock/doctype/delivery_note/delivery_note.py b/stock/doctype/delivery_note/delivery_note.py
index d55f622..71d3ad6 100644
--- a/stock/doctype/delivery_note/delivery_note.py
+++ b/stock/doctype/delivery_note/delivery_note.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
@@ -85,7 +72,7 @@
 
 	def so_required(self):
 		"""check in manage account if sales order required or not"""
-		if webnotes.conn.get_single_value("Selling Settings", 'so_required') == 'Yes':
+		if webnotes.conn.get_value("Selling Settings", None, 'so_required') == '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)
@@ -301,6 +288,9 @@
 					and d.warehouse:
 				if d['reserved_qty'] < 0 :
 					# Reduce reserved qty from reserved warehouse mentioned in so
+					if not d["reserved_warehouse"]:
+						webnotes.throw(_("Reserved Warehouse is missing in Sales Order"))
+						
 					args = {
 						"item_code": d['item_code'],
 						"voucher_type": self.doc.doctype,
diff --git a/stock/doctype/delivery_note/test_delivery_note.py b/stock/doctype/delivery_note/test_delivery_note.py
index e1b1775..3f7c753 100644
--- a/stock/doctype/delivery_note/test_delivery_note.py
+++ b/stock/doctype/delivery_note/test_delivery_note.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 
 from __future__ import unicode_literals
diff --git a/stock/doctype/delivery_note_item/delivery_note_item.py b/stock/doctype/delivery_note_item/delivery_note_item.py
index 7f48feb..26d0f76 100644
--- a/stock/doctype/delivery_note_item/delivery_note_item.py
+++ b/stock/doctype/delivery_note_item/delivery_note_item.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/stock/doctype/delivery_note_packing_item/delivery_note_packing_item.py b/stock/doctype/delivery_note_packing_item/delivery_note_packing_item.py
index 7f48feb..26d0f76 100644
--- a/stock/doctype/delivery_note_packing_item/delivery_note_packing_item.py
+++ b/stock/doctype/delivery_note_packing_item/delivery_note_packing_item.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/stock/doctype/item/item.js b/stock/doctype/item/item.js
index a8401c4..7f43380 100644
--- a/stock/doctype/item/item.js
+++ b/stock/doctype/item/item.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 wn.provide("erpnext.stock");
 
diff --git a/stock/doctype/item/item.py b/stock/doctype/item/item.py
index 4a4cd89..cd70117 100644
--- a/stock/doctype/item/item.py
+++ b/stock/doctype/item/item.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/stock/doctype/item/item.txt b/stock/doctype/item/item.txt
index 3e41101..acaed7e 100644
--- a/stock/doctype/item/item.txt
+++ b/stock/doctype/item/item.txt
@@ -2,7 +2,7 @@
  {
   "creation": "2013-05-03 10:45:46", 
   "docstatus": 0, 
-  "modified": "2013-07-26 16:26:15", 
+  "modified": "2013-08-05 18:23:47", 
   "modified_by": "Administrator", 
   "owner": "Administrator"
  }, 
@@ -35,9 +35,7 @@
   "parentfield": "permissions", 
   "parenttype": "DocType", 
   "permlevel": 0, 
-  "read": 1, 
-  "report": 1, 
-  "submit": 0
+  "read": 1
  }, 
  {
   "doctype": "DocType", 
@@ -596,17 +594,6 @@
  {
   "depends_on": "eval:doc.is_sales_item==\"Yes\"", 
   "doctype": "DocField", 
-  "fieldname": "sales_rate", 
-  "fieldtype": "Float", 
-  "hidden": 1, 
-  "label": "Sales Rate", 
-  "oldfieldname": "sales_rate", 
-  "oldfieldtype": "Currency", 
-  "read_only": 0
- }, 
- {
-  "depends_on": "eval:doc.is_sales_item==\"Yes\"", 
-  "doctype": "DocField", 
   "fieldname": "column_break3", 
   "fieldtype": "Column Break", 
   "oldfieldtype": "Column Break", 
@@ -883,7 +870,9 @@
   "cancel": 1, 
   "create": 1, 
   "doctype": "DocPerm", 
+  "report": 1, 
   "role": "Material Master Manager", 
+  "submit": 0, 
   "write": 1
  }, 
  {
@@ -891,7 +880,9 @@
   "cancel": 0, 
   "create": 0, 
   "doctype": "DocPerm", 
+  "report": 1, 
   "role": "Material Manager", 
+  "submit": 0, 
   "write": 0
  }, 
  {
@@ -899,7 +890,21 @@
   "cancel": 0, 
   "create": 0, 
   "doctype": "DocPerm", 
+  "report": 1, 
   "role": "Material User", 
+  "submit": 0, 
   "write": 0
+ }, 
+ {
+  "doctype": "DocPerm", 
+  "role": "Sales User"
+ }, 
+ {
+  "doctype": "DocPerm", 
+  "role": "Purchase User"
+ }, 
+ {
+  "doctype": "DocPerm", 
+  "role": "Accounts User"
  }
 ]
\ No newline at end of file
diff --git a/stock/doctype/item/test_item.py b/stock/doctype/item/test_item.py
index 0ea8a5d..c28ba4f 100644
--- a/stock/doctype/item/test_item.py
+++ b/stock/doctype/item/test_item.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import unittest
diff --git a/stock/doctype/item_customer_detail/item_customer_detail.py b/stock/doctype/item_customer_detail/item_customer_detail.py
index 7f48feb..26d0f76 100644
--- a/stock/doctype/item_customer_detail/item_customer_detail.py
+++ b/stock/doctype/item_customer_detail/item_customer_detail.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/stock/doctype/item_price/item_price.py b/stock/doctype/item_price/item_price.py
index 7f48feb..26d0f76 100644
--- a/stock/doctype/item_price/item_price.py
+++ b/stock/doctype/item_price/item_price.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/stock/doctype/item_quality_inspection_parameter/item_quality_inspection_parameter.py b/stock/doctype/item_quality_inspection_parameter/item_quality_inspection_parameter.py
index 7f48feb..26d0f76 100644
--- a/stock/doctype/item_quality_inspection_parameter/item_quality_inspection_parameter.py
+++ b/stock/doctype/item_quality_inspection_parameter/item_quality_inspection_parameter.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/stock/doctype/item_reorder/item_reorder.py b/stock/doctype/item_reorder/item_reorder.py
index 928aa9f..784339d 100644
--- a/stock/doctype/item_reorder/item_reorder.py
+++ b/stock/doctype/item_reorder/item_reorder.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 # For license information, please see license.txt
 
 from __future__ import unicode_literals
diff --git a/stock/doctype/item_supplier/item_supplier.py b/stock/doctype/item_supplier/item_supplier.py
index 7f48feb..26d0f76 100644
--- a/stock/doctype/item_supplier/item_supplier.py
+++ b/stock/doctype/item_supplier/item_supplier.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/stock/doctype/item_tax/item_tax.py b/stock/doctype/item_tax/item_tax.py
index 7f48feb..26d0f76 100644
--- a/stock/doctype/item_tax/item_tax.py
+++ b/stock/doctype/item_tax/item_tax.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/stock/doctype/item_website_specification/item_website_specification.py b/stock/doctype/item_website_specification/item_website_specification.py
index 928aa9f..784339d 100644
--- a/stock/doctype/item_website_specification/item_website_specification.py
+++ b/stock/doctype/item_website_specification/item_website_specification.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 # For license information, please see license.txt
 
 from __future__ import unicode_literals
diff --git a/stock/doctype/landed_cost_item/landed_cost_item.py b/stock/doctype/landed_cost_item/landed_cost_item.py
index 7f48feb..26d0f76 100644
--- a/stock/doctype/landed_cost_item/landed_cost_item.py
+++ b/stock/doctype/landed_cost_item/landed_cost_item.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/stock/doctype/landed_cost_purchase_receipt/landed_cost_purchase_receipt.py b/stock/doctype/landed_cost_purchase_receipt/landed_cost_purchase_receipt.py
index 7f48feb..26d0f76 100644
--- a/stock/doctype/landed_cost_purchase_receipt/landed_cost_purchase_receipt.py
+++ b/stock/doctype/landed_cost_purchase_receipt/landed_cost_purchase_receipt.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/stock/doctype/landed_cost_wizard/landed_cost_wizard.js b/stock/doctype/landed_cost_wizard/landed_cost_wizard.js
index a093d6f..06f3fd6 100644
--- a/stock/doctype/landed_cost_wizard/landed_cost_wizard.js
+++ b/stock/doctype/landed_cost_wizard/landed_cost_wizard.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 cur_frm.cscript.onload = function(doc, cdt, cdn) {
 if(!doc.currency){doc.currency = sys_defaults.currency;}
diff --git a/stock/doctype/landed_cost_wizard/landed_cost_wizard.py b/stock/doctype/landed_cost_wizard/landed_cost_wizard.py
index e5fd12c..0cdad4d 100644
--- a/stock/doctype/landed_cost_wizard/landed_cost_wizard.py
+++ b/stock/doctype/landed_cost_wizard/landed_cost_wizard.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/stock/doctype/material_request/material_request.js b/stock/doctype/material_request/material_request.js
index fe9af31..6931181 100644
--- a/stock/doctype/material_request/material_request.js
+++ b/stock/doctype/material_request/material_request.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 cur_frm.cscript.tname = "Material Request Item";
 cur_frm.cscript.fname = "indent_details";
diff --git a/stock/doctype/material_request/material_request.py b/stock/doctype/material_request/material_request.py
index 5bcbaf8..4952834 100644
--- a/stock/doctype/material_request/material_request.py
+++ b/stock/doctype/material_request/material_request.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 # ERPNext - web based ERP (http://erpnext.com)
 # For license information, please see license.txt
 
diff --git a/stock/doctype/material_request/test_material_request.py b/stock/doctype/material_request/test_material_request.py
index a6576d0..1040d64 100644
--- a/stock/doctype/material_request/test_material_request.py
+++ b/stock/doctype/material_request/test_material_request.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 # ERPNext - web based ERP (http://erpnext.com)
 # For license information, please see license.txt
 
@@ -84,9 +87,9 @@
 				"parentfield": "mtn_details", 
 				"incoming_rate": 100,
 				"qty": qty1, 
-				"stock_uom": "_Test UOM", 
+				"stock_uom": "_Test UOM 1", 
 				"transfer_qty": qty1, 
-				"uom": "_Test UOM",
+				"uom": "_Test UOM 1",
 				"t_warehouse": "_Test Warehouse 1 - _TC",
 			},
 			{
@@ -96,9 +99,9 @@
 				"parentfield": "mtn_details", 
 				"incoming_rate": 100,
 				"qty": qty2, 
-				"stock_uom": "_Test UOM", 
+				"stock_uom": "_Test UOM 1", 
 				"transfer_qty": qty2, 
-				"uom": "_Test UOM",
+				"uom": "_Test UOM 1",
 				"t_warehouse": "_Test Warehouse 1 - _TC",
 			},
 		])
@@ -316,7 +319,8 @@
 		mr = webnotes.bean(copy=test_records[0])
 		mr.doc.company = "_Test Company 1"
 		self.assertRaises(WrongWarehouseCompany, mr.insert)
-		
+
+test_dependencies = ["Currency Exchange"]
 test_records = [
 	[
 		{
@@ -335,7 +339,7 @@
 			"parentfield": "indent_details", 
 			"qty": 54.0, 
 			"schedule_date": "2013-02-18", 
-			"uom": "_Test UOM",
+			"uom": "_Test UOM 1",
 			"warehouse": "_Test Warehouse - _TC"
 		}, 
 		{
@@ -346,7 +350,7 @@
 			"parentfield": "indent_details", 
 			"qty": 3.0, 
 			"schedule_date": "2013-02-19", 
-			"uom": "_Test UOM",
+			"uom": "_Test UOM 1",
 			"warehouse": "_Test Warehouse - _TC"
 		}
 	],
diff --git a/stock/doctype/material_request_item/material_request_item.py b/stock/doctype/material_request_item/material_request_item.py
index 928aa9f..784339d 100644
--- a/stock/doctype/material_request_item/material_request_item.py
+++ b/stock/doctype/material_request_item/material_request_item.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 # For license information, please see license.txt
 
 from __future__ import unicode_literals
diff --git a/stock/doctype/packing_slip/packing_slip.js b/stock/doctype/packing_slip/packing_slip.js
index d86d64b..f3634f6 100644
--- a/stock/doctype/packing_slip/packing_slip.js
+++ b/stock/doctype/packing_slip/packing_slip.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 cur_frm.fields_dict['delivery_note'].get_query = function(doc, cdt, cdn) {
 	return{
diff --git a/stock/doctype/packing_slip/packing_slip.py b/stock/doctype/packing_slip/packing_slip.py
index 9a0da82..50cdab9 100644
--- a/stock/doctype/packing_slip/packing_slip.py
+++ b/stock/doctype/packing_slip/packing_slip.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/stock/doctype/packing_slip_item/packing_slip_item.py b/stock/doctype/packing_slip_item/packing_slip_item.py
index 928aa9f..784339d 100644
--- a/stock/doctype/packing_slip_item/packing_slip_item.py
+++ b/stock/doctype/packing_slip_item/packing_slip_item.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 # For license information, please see license.txt
 
 from __future__ import unicode_literals
diff --git a/stock/doctype/purchase_receipt/purchase_receipt.js b/stock/doctype/purchase_receipt/purchase_receipt.js
index b393907..bdf50ee 100644
--- a/stock/doctype/purchase_receipt/purchase_receipt.js
+++ b/stock/doctype/purchase_receipt/purchase_receipt.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 cur_frm.cscript.tname = "Purchase Receipt Item";
 cur_frm.cscript.fname = "purchase_receipt_details";
diff --git a/stock/doctype/purchase_receipt/purchase_receipt.py b/stock/doctype/purchase_receipt/purchase_receipt.py
index 95682b5..a50802d 100644
--- a/stock/doctype/purchase_receipt/purchase_receipt.py
+++ b/stock/doctype/purchase_receipt/purchase_receipt.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
@@ -118,7 +105,7 @@
 			
 
 	def po_required(self):
-		if webnotes.conn.get_single_value("Buying Settings", "po_required") == 'Yes':
+		if webnotes.conn.get_value("Buying Settings", None, "po_required") == 'Yes':
 			 for d in getlist(self.doclist,'purchase_receipt_details'):
 				 if not d.prevdoc_docname:
 					 msgprint("Purchse Order No. required against item %s"%d.item_code)
diff --git a/stock/doctype/purchase_receipt/purchase_receipt_list.js b/stock/doctype/purchase_receipt/purchase_receipt_list.js
index c80f6ae..bc0c9f6 100644
--- a/stock/doctype/purchase_receipt/purchase_receipt_list.js
+++ b/stock/doctype/purchase_receipt/purchase_receipt_list.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 // render
 wn.listview_settings['Purchase Receipt'] = {
 	add_fields: ["group_concat(`tabPurchase Receipt Item`.prevdoc_docname) \
diff --git a/stock/doctype/purchase_receipt/test_purchase_receipt.py b/stock/doctype/purchase_receipt/test_purchase_receipt.py
index eb2ae54..987389f 100644
--- a/stock/doctype/purchase_receipt/test_purchase_receipt.py
+++ b/stock/doctype/purchase_receipt/test_purchase_receipt.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 
 from __future__ import unicode_literals
diff --git a/stock/doctype/purchase_receipt_item/purchase_receipt_item.py b/stock/doctype/purchase_receipt_item/purchase_receipt_item.py
index 7f48feb..26d0f76 100644
--- a/stock/doctype/purchase_receipt_item/purchase_receipt_item.py
+++ b/stock/doctype/purchase_receipt_item/purchase_receipt_item.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/stock/doctype/serial_no/serial_no.js b/stock/doctype/serial_no/serial_no.js
index 8e833d7..8d2f210 100644
--- a/stock/doctype/serial_no/serial_no.js
+++ b/stock/doctype/serial_no/serial_no.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.	If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 cur_frm.cscript.onload = function(doc, cdt, cdn) {
 	if(!doc.status) set_multiple(cdt, cdn, {status:'In Store'});
diff --git a/stock/doctype/serial_no/serial_no.py b/stock/doctype/serial_no/serial_no.py
index 0170c82..1fdb58a 100644
--- a/stock/doctype/serial_no/serial_no.py
+++ b/stock/doctype/serial_no/serial_no.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
@@ -155,4 +142,4 @@
 			from accounts.general_ledger import make_gl_entries
 			make_gl_entries(gl_entries, cancel)
 			self.sync_stock_account_balance([self.doc.warehouse], self.doc.cost_center, 
-				posting_date)
\ No newline at end of file
+				posting_date)
diff --git a/stock/doctype/serial_no/test_serial_no.py b/stock/doctype/serial_no/test_serial_no.py
index 837e337..4657ff2 100644
--- a/stock/doctype/serial_no/test_serial_no.py
+++ b/stock/doctype/serial_no/test_serial_no.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 # ERPNext - web based ERP (http://erpnext.com)
 # For license information, please see license.txt
 
diff --git a/stock/doctype/stock_entry/stock_entry.js b/stock/doctype/stock_entry/stock_entry.js
index efdbf32..21829b9 100644
--- a/stock/doctype/stock_entry/stock_entry.js
+++ b/stock/doctype/stock_entry/stock_entry.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.	If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 wn.require("public/app/js/controllers/stock_controller.js");
 wn.provide("erpnext.stock");
diff --git a/stock/doctype/stock_entry/stock_entry.py b/stock/doctype/stock_entry/stock_entry.py
index 84cb0ea..d739c3f 100644
--- a/stock/doctype/stock_entry/stock_entry.py
+++ b/stock/doctype/stock_entry/stock_entry.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
@@ -472,6 +459,7 @@
 	def get_items(self):
 		self.doclist = self.doc.clear_table(self.doclist, 'mtn_details', 1)
 		
+		pro_obj = None
 		if self.doc.production_order:
 			# common validations
 			pro_obj = get_obj('Production Order', self.doc.production_order)
@@ -490,7 +478,8 @@
 				else:
 					item_dict = self.get_bom_raw_materials(self.doc.fg_completed_qty)
 					for item in item_dict.values():
-						item["from_warehouse"] = pro_obj.doc.wip_warehouse
+						if pro_obj:
+							item["from_warehouse"] = pro_obj.doc.wip_warehouse
 						item["to_warehouse"] = ""
 
 				# add raw materials to Stock Entry Detail table
@@ -515,8 +504,12 @@
 				item = webnotes.conn.sql("""select item, description, uom from `tabBOM`
 					where name=%s""", (self.doc.bom_no,), as_dict=1)
 				self.add_to_stock_entry_detail({
-					item[0]["item"] :
-						[self.doc.fg_completed_qty, item[0]["description"], item[0]["uom"]]
+					item[0]["item"] : {
+						"qty": self.doc.fg_completed_qty,
+						"description": item[0]["description"],
+						"stock_uom": item[0]["uom"],
+						"from_warehouse": ""
+					}
 				}, bom_no=self.doc.bom_no)
 		
 		self.get_stock_and_rate()
@@ -638,7 +631,7 @@
 		for d in item_dict:
 			se_child = addchild(self.doc, 'mtn_details', 'Stock Entry Detail', 
 				self.doclist)
-			se_child.s_warehouse = item_dict[d].get("from_warehouse", self.doc.from_warehouse) 
+			se_child.s_warehouse = item_dict[d].get("from_warehouse", self.doc.from_warehouse)
 			se_child.t_warehouse = item_dict[d].get("to_warehouse", self.doc.to_warehouse)
 			se_child.item_code = cstr(d)
 			se_child.description = item_dict[d]["description"]
diff --git a/stock/doctype/stock_entry/stock_entry.txt b/stock/doctype/stock_entry/stock_entry.txt
index 7c9e4f9..49f4765 100644
--- a/stock/doctype/stock_entry/stock_entry.txt
+++ b/stock/doctype/stock_entry/stock_entry.txt
@@ -306,11 +306,11 @@
   "read_only": 0
  }, 
  {
-  "depends_on": "eval:(doc.purpose!==\"Sales Return\" || doc.purpose!==\"Purchase Return\")", 
+  "depends_on": "eval:(doc.purpose!==\"Sales Return\" && doc.purpose!==\"Purchase Return\")", 
   "doctype": "DocField", 
   "fieldname": "sb1", 
   "fieldtype": "Section Break", 
-  "label": "Reference", 
+  "label": "From Bill of Materials", 
   "read_only": 0
  }, 
  {
diff --git a/stock/doctype/stock_entry/test_stock_entry.py b/stock/doctype/stock_entry/test_stock_entry.py
index 870f026..93f76c3 100644
--- a/stock/doctype/stock_entry/test_stock_entry.py
+++ b/stock/doctype/stock_entry/test_stock_entry.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 # ERPNext - web based ERP (http://erpnext.com)
 # For license information, please see license.txt
 
diff --git a/stock/doctype/stock_entry_detail/stock_entry_detail.py b/stock/doctype/stock_entry_detail/stock_entry_detail.py
index 7f48feb..26d0f76 100644
--- a/stock/doctype/stock_entry_detail/stock_entry_detail.py
+++ b/stock/doctype/stock_entry_detail/stock_entry_detail.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/stock/doctype/stock_ledger/stock_ledger.py b/stock/doctype/stock_ledger/stock_ledger.py
index ea38364..77ec060 100644
--- a/stock/doctype/stock_ledger/stock_ledger.py
+++ b/stock/doctype/stock_ledger/stock_ledger.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/stock/doctype/stock_ledger_entry/stock_ledger_entry.py b/stock/doctype/stock_ledger_entry/stock_ledger_entry.py
index 664ead2..4a78421 100644
--- a/stock/doctype/stock_ledger_entry/stock_ledger_entry.py
+++ b/stock/doctype/stock_ledger_entry/stock_ledger_entry.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/stock/doctype/stock_reconciliation/stock_reconciliation.js b/stock/doctype/stock_reconciliation/stock_reconciliation.js
index e43ddf4..4a66c3c 100644
--- a/stock/doctype/stock_reconciliation/stock_reconciliation.js
+++ b/stock/doctype/stock_reconciliation/stock_reconciliation.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 wn.require("public/app/js/controllers/stock_controller.js");
 wn.provide("erpnext.stock");
diff --git a/stock/doctype/stock_reconciliation/stock_reconciliation.py b/stock/doctype/stock_reconciliation/stock_reconciliation.py
index 279856b..ecf0cbc 100644
--- a/stock/doctype/stock_reconciliation/stock_reconciliation.py
+++ b/stock/doctype/stock_reconciliation/stock_reconciliation.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/stock/doctype/stock_reconciliation/test_stock_reconciliation.py b/stock/doctype/stock_reconciliation/test_stock_reconciliation.py
index 3eb8fe7..79fc14e 100644
--- a/stock/doctype/stock_reconciliation/test_stock_reconciliation.py
+++ b/stock/doctype/stock_reconciliation/test_stock_reconciliation.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 # ERPNext - web based ERP (http://erpnext.com)
 # For license information, please see license.txt
 
diff --git a/stock/doctype/stock_settings/stock_settings.py b/stock/doctype/stock_settings/stock_settings.py
index f19c8fc..bc7dcba 100644
--- a/stock/doctype/stock_settings/stock_settings.py
+++ b/stock/doctype/stock_settings/stock_settings.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 # For license information, please see license.txt
 
 from __future__ import unicode_literals
diff --git a/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.js b/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.js
index 86f5bff..65e10dd 100644
--- a/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.js
+++ b/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 $.extend(cur_frm.cscript, {
 	onload: function() {
diff --git a/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.py b/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.py
index 7e5d972..4e69a37 100644
--- a/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.py
+++ b/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.	If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/stock/doctype/uom_conversion_detail/uom_conversion_detail.py b/stock/doctype/uom_conversion_detail/uom_conversion_detail.py
index 7f48feb..26d0f76 100644
--- a/stock/doctype/uom_conversion_detail/uom_conversion_detail.py
+++ b/stock/doctype/uom_conversion_detail/uom_conversion_detail.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/stock/doctype/warehouse/test_warehouse.py b/stock/doctype/warehouse/test_warehouse.py
index d1b4491..a4dadf3 100644
--- a/stock/doctype/warehouse/test_warehouse.py
+++ b/stock/doctype/warehouse/test_warehouse.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 test_records = [
 	[{
 		"doctype": "Warehouse",
diff --git a/stock/doctype/warehouse/warehouse.js b/stock/doctype/warehouse/warehouse.js
index 8d768db..3451863 100644
--- a/stock/doctype/warehouse/warehouse.js
+++ b/stock/doctype/warehouse/warehouse.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 cur_frm.cscript.refresh = function(doc) {
 	cur_frm.toggle_display('warehouse_name', doc.__islocal);
@@ -39,4 +26,4 @@
 			'group_or_ledger': "Ledger"
 		}
 	}
-})
\ No newline at end of file
+})
diff --git a/stock/doctype/warehouse/warehouse.py b/stock/doctype/warehouse/warehouse.py
index 69d9d06..0de27fe 100644
--- a/stock/doctype/warehouse/warehouse.py
+++ b/stock/doctype/warehouse/warehouse.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/stock/doctype/warehouse_user/warehouse_user.py b/stock/doctype/warehouse_user/warehouse_user.py
index 928aa9f..784339d 100644
--- a/stock/doctype/warehouse_user/warehouse_user.py
+++ b/stock/doctype/warehouse_user/warehouse_user.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 # For license information, please see license.txt
 
 from __future__ import unicode_literals
diff --git a/stock/page/stock_ageing/stock_ageing.js b/stock/page/stock_ageing/stock_ageing.js
index b9b4c80..fe2c0d6 100644
--- a/stock/page/stock_ageing/stock_ageing.js
+++ b/stock/page/stock_ageing/stock_ageing.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 
 wn.pages['stock-ageing'].onload = function(wrapper) { 
diff --git a/stock/page/stock_analytics/stock_analytics.js b/stock/page/stock_analytics/stock_analytics.js
index a52cb7d..547f5ac 100644
--- a/stock/page/stock_analytics/stock_analytics.js
+++ b/stock/page/stock_analytics/stock_analytics.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 
 wn.pages['stock-analytics'].onload = function(wrapper) { 
diff --git a/stock/page/stock_balance/stock_balance.js b/stock/page/stock_balance/stock_balance.js
index 4abd533..17f9b8d 100644
--- a/stock/page/stock_balance/stock_balance.js
+++ b/stock/page/stock_balance/stock_balance.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 wn.require("app/js/stock_analytics.js");
 
diff --git a/stock/page/stock_home/stock_home.js b/stock/page/stock_home/stock_home.js
index 5c85c69..580c2dc 100644
--- a/stock/page/stock_home/stock_home.js
+++ b/stock/page/stock_home/stock_home.js
@@ -1,5 +1,5 @@
-// ERPNext: Copyright 2013 Web Notes Technologies Pvt Ltd
-// GNU General Public License. See "license.txt"
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt"
 
 wn.module_page["Stock"] = [
 	{
diff --git a/stock/page/stock_ledger/stock_ledger.js b/stock/page/stock_ledger/stock_ledger.js
index 3ca27c5..33bceeb 100644
--- a/stock/page/stock_ledger/stock_ledger.js
+++ b/stock/page/stock_ledger/stock_ledger.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 wn.pages['stock-ledger'].onload = function(wrapper) { 
 	wn.ui.make_app_page({
diff --git a/stock/page/stock_level/stock_level.js b/stock/page/stock_level/stock_level.js
index 5f129c3..0699b7d 100644
--- a/stock/page/stock_level/stock_level.js
+++ b/stock/page/stock_level/stock_level.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 wn.pages['stock-level'].onload = function(wrapper) { 
 	wn.ui.make_app_page({
diff --git a/stock/report/batch_wise_balance_history/batch_wise_balance_history.js b/stock/report/batch_wise_balance_history/batch_wise_balance_history.js
index 98293e4..a9d6477 100644
--- a/stock/report/batch_wise_balance_history/batch_wise_balance_history.js
+++ b/stock/report/batch_wise_balance_history/batch_wise_balance_history.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 wn.query_reports["Batch-Wise Balance History"] = {
 	"filters": [
 		{
diff --git a/stock/report/batch_wise_balance_history/batch_wise_balance_history.py b/stock/report/batch_wise_balance_history/batch_wise_balance_history.py
index 530465e..e198b8e 100644
--- a/stock/report/batch_wise_balance_history/batch_wise_balance_history.py
+++ b/stock/report/batch_wise_balance_history/batch_wise_balance_history.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/stock/report/delivered_items_to_be_billed/delivered_items_to_be_billed.txt b/stock/report/delivered_items_to_be_billed/delivered_items_to_be_billed.txt
deleted file mode 100644
index 920d00d..0000000
--- a/stock/report/delivered_items_to_be_billed/delivered_items_to_be_billed.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-[
- {
-  "creation": "2013-07-30 17:28:49", 
-  "docstatus": 0, 
-  "modified": "2013-07-31 11:46:34", 
-  "modified_by": "Administrator", 
-  "owner": "Administrator"
- }, 
- {
-  "doctype": "Report", 
-  "is_standard": "Yes", 
-  "name": "__common__", 
-  "query": "select\n    `tabDelivery Note`.`name` as \"Delivery Note:Link/Delivery Note:120\",\n\t`tabDelivery Note`.`customer` as \"Customer:Link/Customer:120\",\n\t`tabDelivery Note`.`posting_date` as \"Date:Date\",\n\t`tabDelivery Note`.`project_name` as \"Project\",\n\t`tabDelivery Note Item`.`item_code` as \"Item:Link/Item:120\",\n\t(`tabDelivery Note Item`.`qty` - ifnull((select sum(qty) from `tabSales Invoice Item` \n\t    where `tabSales Invoice Item`.delivery_note = `tabDelivery Note`.name and\n\t        `tabSales Invoice Item`.dn_detail = `tabDelivery Note Item`.name), 0))\n\t\tas \"Qty:Float:110\",\n\t(`tabDelivery Note Item`.`amount` - ifnull((select sum(amount) from `tabSales Invoice Item` \n        where `tabSales Invoice Item`.delivery_note = `tabDelivery Note`.name and\n            `tabSales Invoice Item`.dn_detail = `tabDelivery Note Item`.name), 0))\n\t\tas \"Amount:Currency:110\",\n\t`tabDelivery Note Item`.`item_name` as \"Item Name::150\",\n\t`tabDelivery Note Item`.`description` as \"Description::200\"\nfrom `tabDelivery Note`, `tabDelivery Note Item`\nwhere\n    `tabDelivery Note`.docstatus = 1 and\n\t`tabDelivery Note`.`status` != \"Stopped\" and\n    `tabDelivery Note`.name = `tabDelivery Note Item`.parent and\n    (`tabDelivery Note Item`.qty > ifnull((select sum(qty) from `tabSales Invoice Item` \n        where `tabSales Invoice Item`.delivery_note = `tabDelivery Note`.name and\n            `tabSales Invoice Item`.dn_detail = `tabDelivery Note Item`.name), 0))\norder by `tabDelivery Note`.`name` desc", 
-  "ref_doctype": "Delivery Note", 
-  "report_name": "Delivered Items To Be Billed", 
-  "report_type": "Query Report"
- }, 
- {
-  "doctype": "Report", 
-  "name": "Delivered Items To Be Billed"
- }
-]
\ No newline at end of file
diff --git a/stock/report/delivery_note_trends/delivery_note_trends.js b/stock/report/delivery_note_trends/delivery_note_trends.js
index 3ec5e59..46e5106 100644
--- a/stock/report/delivery_note_trends/delivery_note_trends.js
+++ b/stock/report/delivery_note_trends/delivery_note_trends.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 wn.require("app/js/sales_trends_filters.js");
 
 wn.query_reports["Delivery Note Trends"] = {
diff --git a/stock/report/delivery_note_trends/delivery_note_trends.py b/stock/report/delivery_note_trends/delivery_note_trends.py
index e5b2cd0..f66ad29 100644
--- a/stock/report/delivery_note_trends/delivery_note_trends.py
+++ b/stock/report/delivery_note_trends/delivery_note_trends.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/stock/report/item_prices/item_prices.py b/stock/report/item_prices/item_prices.py
index fb69086..fbeba7c 100644
--- a/stock/report/item_prices/item_prices.py
+++ b/stock/report/item_prices/item_prices.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/stock/report/itemwise_recommended_reorder_level/itemwise_recommended_reorder_level.js b/stock/report/itemwise_recommended_reorder_level/itemwise_recommended_reorder_level.js
index b8aa378..410feab 100644
--- a/stock/report/itemwise_recommended_reorder_level/itemwise_recommended_reorder_level.js
+++ b/stock/report/itemwise_recommended_reorder_level/itemwise_recommended_reorder_level.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 wn.query_reports["Itemwise Recommended Reorder Level"] = {
 	"filters": [
 		{
diff --git a/stock/report/itemwise_recommended_reorder_level/itemwise_recommended_reorder_level.py b/stock/report/itemwise_recommended_reorder_level/itemwise_recommended_reorder_level.py
index 588132f..dda2176 100644
--- a/stock/report/itemwise_recommended_reorder_level/itemwise_recommended_reorder_level.py
+++ b/stock/report/itemwise_recommended_reorder_level/itemwise_recommended_reorder_level.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 import webnotes
 from webnotes.utils import getdate, flt
diff --git a/stock/report/purchase_receipt_trends/purchase_receipt_trends.js b/stock/report/purchase_receipt_trends/purchase_receipt_trends.js
index ecfa5a4..3637ea3 100644
--- a/stock/report/purchase_receipt_trends/purchase_receipt_trends.js
+++ b/stock/report/purchase_receipt_trends/purchase_receipt_trends.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 wn.require("app/js/purchase_trends_filters.js");
 
 wn.query_reports["Purchase Receipt Trends"] = {
diff --git a/stock/report/purchase_receipt_trends/purchase_receipt_trends.py b/stock/report/purchase_receipt_trends/purchase_receipt_trends.py
index b41ce28..395c426 100644
--- a/stock/report/purchase_receipt_trends/purchase_receipt_trends.py
+++ b/stock/report/purchase_receipt_trends/purchase_receipt_trends.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/stock/report/warehouse_wise_stock_balance/warehouse_wise_stock_balance.js b/stock/report/warehouse_wise_stock_balance/warehouse_wise_stock_balance.js
index 2ce5b4b..942b465 100644
--- a/stock/report/warehouse_wise_stock_balance/warehouse_wise_stock_balance.js
+++ b/stock/report/warehouse_wise_stock_balance/warehouse_wise_stock_balance.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 wn.query_reports["Warehouse-Wise Stock Balance"] = {
 	"filters": [
 		{
diff --git a/stock/report/warehouse_wise_stock_balance/warehouse_wise_stock_balance.py b/stock/report/warehouse_wise_stock_balance/warehouse_wise_stock_balance.py
index 4389aa5..4d42c22 100644
--- a/stock/report/warehouse_wise_stock_balance/warehouse_wise_stock_balance.py
+++ b/stock/report/warehouse_wise_stock_balance/warehouse_wise_stock_balance.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
@@ -42,8 +29,8 @@
 	"""return columns based on filters"""
 	
 	columns = ["Item:Link/Item:100", "Item Name::150", "Description::150", \
-	"Warehouse:Link/Warehouse:100", "Opening Qty::90", \
-	"In Qty::80", "Out Qty::80", "Balance Qty::90", "Company:Link/Company:100"]
+	"Warehouse:Link/Warehouse:100", "Opening Qty:Float:90", \
+	"In Qty:Float:80", "Out Qty:Float:80", "Balance Qty:Float:90", "Company:Link/Company:100"]
 
 	return columns
 
diff --git a/stock/stock_ledger.py b/stock/stock_ledger.py
index 10e490c..4dcca67 100644
--- a/stock/stock_ledger.py
+++ b/stock/stock_ledger.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 import webnotes
 from webnotes import msgprint
diff --git a/stock/utils.py b/stock/utils.py
index 5d5c872..29c7ed0 100644
--- a/stock/utils.py
+++ b/stock/utils.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 import webnotes
 from webnotes import msgprint, _
diff --git a/support/doctype/customer_issue/customer_issue.js b/support/doctype/customer_issue/customer_issue.js
index 9535fba..5b670d4 100644
--- a/support/doctype/customer_issue/customer_issue.js
+++ b/support/doctype/customer_issue/customer_issue.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.	If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 wn.provide("erpnext.support");
 // TODO commonify this code
diff --git a/support/doctype/customer_issue/customer_issue.py b/support/doctype/customer_issue/customer_issue.py
index 60887f9..910e9b8 100644
--- a/support/doctype/customer_issue/customer_issue.py
+++ b/support/doctype/customer_issue/customer_issue.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.	If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 
 from __future__ import unicode_literals
diff --git a/support/doctype/maintenance_schedule/maintenance_schedule.js b/support/doctype/maintenance_schedule/maintenance_schedule.js
index 436caba..6b69343 100644
--- a/support/doctype/maintenance_schedule/maintenance_schedule.js
+++ b/support/doctype/maintenance_schedule/maintenance_schedule.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 wn.provide("erpnext.support");
 // TODO commonify this code
diff --git a/support/doctype/maintenance_schedule/maintenance_schedule.py b/support/doctype/maintenance_schedule/maintenance_schedule.py
index 0e2d1f9..8659b9f 100644
--- a/support/doctype/maintenance_schedule/maintenance_schedule.py
+++ b/support/doctype/maintenance_schedule/maintenance_schedule.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.	If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/support/doctype/maintenance_schedule_detail/maintenance_schedule_detail.py b/support/doctype/maintenance_schedule_detail/maintenance_schedule_detail.py
index 7f48feb..26d0f76 100644
--- a/support/doctype/maintenance_schedule_detail/maintenance_schedule_detail.py
+++ b/support/doctype/maintenance_schedule_detail/maintenance_schedule_detail.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/support/doctype/maintenance_schedule_item/maintenance_schedule_item.py b/support/doctype/maintenance_schedule_item/maintenance_schedule_item.py
index 7f48feb..26d0f76 100644
--- a/support/doctype/maintenance_schedule_item/maintenance_schedule_item.py
+++ b/support/doctype/maintenance_schedule_item/maintenance_schedule_item.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/support/doctype/maintenance_visit/maintenance_visit.js b/support/doctype/maintenance_visit/maintenance_visit.js
index 4257afa..ef6f110 100644
--- a/support/doctype/maintenance_visit/maintenance_visit.js
+++ b/support/doctype/maintenance_visit/maintenance_visit.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.	If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 wn.provide("erpnext.support");
 // TODO commonify this code
diff --git a/support/doctype/maintenance_visit/maintenance_visit.py b/support/doctype/maintenance_visit/maintenance_visit.py
index e5f7280..bf8767b 100644
--- a/support/doctype/maintenance_visit/maintenance_visit.py
+++ b/support/doctype/maintenance_visit/maintenance_visit.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.	If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/support/doctype/maintenance_visit_purpose/maintenance_visit_purpose.py b/support/doctype/maintenance_visit_purpose/maintenance_visit_purpose.py
index 7f48feb..26d0f76 100644
--- a/support/doctype/maintenance_visit_purpose/maintenance_visit_purpose.py
+++ b/support/doctype/maintenance_visit_purpose/maintenance_visit_purpose.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/support/doctype/newsletter/newsletter.js b/support/doctype/newsletter/newsletter.js
index 5842acc..8cbf8fc 100644
--- a/support/doctype/newsletter/newsletter.js
+++ b/support/doctype/newsletter/newsletter.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 cur_frm.cscript.refresh = function(doc) {
 	erpnext.hide_naming_series();
diff --git a/support/doctype/newsletter/newsletter.py b/support/doctype/newsletter/newsletter.py
index e654470..cdfd370 100644
--- a/support/doctype/newsletter/newsletter.py
+++ b/support/doctype/newsletter/newsletter.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 
diff --git a/support/doctype/newsletter/test_newsletter.py b/support/doctype/newsletter/test_newsletter.py
index 0813cfe..fae3e40 100644
--- a/support/doctype/newsletter/test_newsletter.py
+++ b/support/doctype/newsletter/test_newsletter.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes, unittest
 
 class TestNewsletter(unittest.TestCase):
diff --git a/support/doctype/support_ticket/get_support_mails.py b/support/doctype/support_ticket/get_support_mails.py
index fd3d3ea..7e09846 100644
--- a/support/doctype/support_ticket/get_support_mails.py
+++ b/support/doctype/support_ticket/get_support_mails.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/support/doctype/support_ticket/support_ticket.js b/support/doctype/support_ticket/support_ticket.js
index 4b39631..2c1f332 100644
--- a/support/doctype/support_ticket/support_ticket.js
+++ b/support/doctype/support_ticket/support_ticket.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 cur_frm.fields_dict.customer.get_query = function(doc,cdt,cdn) {
 	return{	query:"controllers.queries.customer_query" } }
diff --git a/support/doctype/support_ticket/support_ticket.py b/support/doctype/support_ticket/support_ticket.py
index 2da6fca..2b8fe85 100644
--- a/support/doctype/support_ticket/support_ticket.py
+++ b/support/doctype/support_ticket/support_ticket.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/support/page/support_analytics/support_analytics.js b/support/page/support_analytics/support_analytics.js
index 9b46e6d..7e44917 100644
--- a/support/page/support_analytics/support_analytics.js
+++ b/support/page/support_analytics/support_analytics.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 wn.pages['support-analytics'].onload = function(wrapper) { 
 	wn.ui.make_app_page({
 		parent: wrapper,
diff --git a/support/page/support_home/support_home.js b/support/page/support_home/support_home.js
index ea8474c..0ae1b8b 100644
--- a/support/page/support_home/support_home.js
+++ b/support/page/support_home/support_home.js
@@ -1,5 +1,5 @@
-// ERPNext: Copyright 2013 Web Notes Technologies Pvt Ltd
-// GNU General Public License. See "license.txt"
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt"
 
 wn.module_page["Support"] = [
 	{
diff --git a/translations/de.csv b/translations/de.csv
index 106ccd3..c3e9a76 100644
--- a/translations/de.csv
+++ b/translations/de.csv
@@ -1,28 +1,32 @@
  (Half Day),(Halber Tag)
+ against sales order,gegen Kundenauftrag
  against same operation,gegen dieselbe Operation
- already marked,شهدت بالفعل
+ already marked,bereits markierten
  and year: ,und Jahr:
  at warehouse: ,im Warenlager:
- by Role ,von Rolle
+ by Role ,von Role
+ can not be made.,nicht vorgenommen werden.
  cannot be 0,nicht 0 sein kann
- cannot be deleted.,لا يمكن حذف.
- does not belong to the company,لا تنتمي إلى الشركة
+ cannot be deleted.,kann nicht gelöscht werden.
+ does not belong to the company,nicht dem Unternehmen gehören
  has already been submitted.,wurde bereits eingereicht.
+ has been freezed. ,wurde eingefroren.
  has been freezed. \				Only Accounts Manager can do transaction against this account,Wurde eingefroren. \ Nur Accounts Manager kann Transaktion gegen dieses Konto zu tun
 " is less than equals to zero in the system, \						valuation rate is mandatory for this item",weniger als gleich im System Null ist \ Wertansatz für diesen Artikel zwingend
  is mandatory,zwingend
  is mandatory for GL Entry,ist für GL Eintrag zwingend
  is not a ledger,ist nicht ein Ledger
  is not active,nicht aktiv
- is not set,لم يتم تعيين
+ is not set,nicht gesetzt
  is now the default Fiscal Year. \			Please refresh your browser for the change to take effect.,"Ist nun der Standard Geschäftsjahr. \ Bitte Ihren Browser aktualisieren, damit die Änderungen wirksam werden."
- is present in one or many Active BOMs,موجود في BOMs واحد أو العديد من بالموقع
- not active or does not exists in the system,غير نشطة أو لا موجود في نظام
+ is present in one or many Active BOMs,ist in einer oder mehreren Active BOMs
+ not active or does not exists in the system,nicht aktiv oder existiert nicht im System
  not submitted,nicht vorgelegt
  or the BOM is cancelled or inactive,oder das BOM wird abgebrochen oder inaktiv
  should be 'Yes'. As Item: ,sollte &quot;Ja&quot;. Als Item:
  should be same as that in ,sollte dieselbe wie die in
  was on leave on ,war im Urlaub aus
+ will be ,wird
  will be over-billed against mentioned ,wird gegen erwähnt überrepräsentiert in Rechnung gestellt werden
  will become ,werden
 """Company History""",Firmengeschichte
@@ -30,26 +34,26 @@
 %  Delivered,% Lieferung
 % Amount Billed,% Rechnungsbetrag
 % Billed,% Billed
-% Completed,٪ مكتمل
+% Completed,% Abgeschlossen
 % Installed,% Installierte
 % Received,% Erhaltene
 % of materials billed against this Purchase Order.,% Der Materialien gegen diese Bestellung in Rechnung gestellt.
 % of materials billed against this Sales Order,% Der Materialien gegen diesen Kundenauftrag abgerechnet
 % of materials delivered against this Delivery Note,% Der Materialien gegen diese Lieferschein
 % of materials delivered against this Sales Order,% Der Materialien gegen diesen Kundenauftrag geliefert
-% of materials ordered against this Material Request,٪ من المواد المطلوبة ضد هذه المادة طلب
+% of materials ordered against this Material Request,% Der bestellten Materialien gegen diesen Werkstoff anfordern
 % of materials received against this Purchase Order,% Der Materialien erhalten gegen diese Bestellung
-"' can not be managed using Stock Reconciliation.\					You can add/delete Serial No directly, \					to modify stock of this item.",&#39;لا يمكن إدارتها باستخدام المصالحة المالية. \ يمكنك إضافة / حذف رقم المسلسل مباشرة، \ لتعديل الأوراق المالية من هذا البند.
+"' can not be managed using Stock Reconciliation.\					You can add/delete Serial No directly, \					to modify stock of this item.",&#39;Kann nicht verwaltet mit Lager Versöhnung werden. \ Sie können hinzufügen / löschen Seriennummer direkt \ to stock dieses Artikels ändern.
 ' in Company: ,&#39;In Unternehmen:
-'To Case No.' cannot be less than 'From Case No.',&#39;بالقضية رقم&#39; لا يمكن أن يكون أقل من &#39;من القضية رقم&#39;
+'To Case No.' cannot be less than 'From Case No.',&#39;To Fall Nr.&#39; kann nicht kleiner sein als &quot;Von Fall Nr. &#39;
 * Will be calculated in the transaction.,* Wird in der Transaktion berechnet werden.
 "**Budget Distribution** helps you distribute your budget across months if you have seasonality in your business.To distribute a budget using this distribution, set this **Budget Distribution** in the **Cost Center**","** Budget Verteilung ** hilft Ihnen verteilen Sie Ihr Budget über Monate, wenn Sie Saisonalität in Ihrem business.To vertreiben ein Budget Verwendung dieser Verteilung, setzen Sie diesen ** Budget Verteilung ** in der ** Cost Center ** haben"
 **Currency** Master,** Währung ** Meister
 **Fiscal Year** represents a Financial Year. All accounting entries and other major transactions are tracked against **Fiscal Year**.,** Geschäftsjahr ** ein Geschäftsjahr. Alle Buchungen und anderen wichtigen Transaktionen gegen ** Geschäftsjahr ** verfolgt.
-. Outstanding cannot be less than zero. \				 	Please match exact outstanding.,. المعلقة لا يمكن أن يكون أقل من الصفر. \ الرجاء تطابق تام المعلقة.
-. Please set status of the employee as 'Left',. يرجى تغيير الحالة للموظف ب &quot;الزمن&quot;
-. You can not mark his attendance as 'Present',. لا يمكنك وضع علامة حضوره ك &#39;هدية&#39;
-"000 is black, fff is white",000 سوداء، بيضاء FFF
+. Outstanding cannot be less than zero. \				 	Please match exact outstanding.,. Herausragende kann nicht kleiner als Null ist. \ Bitte Exakte hervorragend.
+. Please set status of the employee as 'Left',. Bitte setzen Sie den Status des Mitarbeiters als &quot;links&quot;
+. You can not mark his attendance as 'Present',. Sie können nicht markieren seine Teilnahme als &quot;Gegenwart&quot;
+"000 is black, fff is white","000 ist schwarz, weiß fff"
 1 Currency = [?] FractionFor e.g. 1 USD = 100 Cent,1 Währung = [?] FractionFor beispielsweise 1 USD = 100 Cent
 1. To maintain the customer wise item code and to make them searchable based on their code use this option,Ein. Um den Kunden kluge Artikel Code zu pflegen und um sie durchsuchbar basierend auf ihren Code um diese Option
 12px,12px
@@ -64,10 +68,10 @@
 "<a href=""#!Sales Browser/Customer Group"">To manage Customer Groups, click here</a>","<a href=""#!Sales Browser/Customer Group""> Kundengruppen zu verwalten, klicken Sie hier </ a>"
 "<a href=""#!Sales Browser/Item Group"">Manage Item Groups</a>","<a href=""#!Sales Browser/Item Group""> Artikel Gruppen verwalten </ a>"
 "<a href=""#!Sales Browser/Territory"">To manage Territory, click here</a>","<a href=""#!Sales Browser/Territory""> Um Territory zu verwalten, klicken Sie hier </ a>"
-"<a href=""#Sales Browser/Customer Group"">Manage Customer Groups</a>","<a href=""#Sales Browser/Customer Group"">إدارة مجموعات العملاء</a>"
+"<a href=""#Sales Browser/Customer Group"">Manage Customer Groups</a>","<a href=""#Sales Browser/Customer Group"">Verwalten von Kunden-Gruppen</a>"
 "<a href=""#Sales Browser/Customer Group"">To manage Territory, click here</a>","<a href=""#Sales Browser/Customer Group""> Um Territory zu verwalten, klicken Sie hier </ a>"
-"<a href=""#Sales Browser/Item Group"">Manage Item Groups</a>","<a href=""#Sales Browser/Item Group"">إدارة مجموعات السلعة</a>"
-"<a href=""#Sales Browser/Territory"">Territory</a>","<a href=""#Sales Browser/Territory"">إقليم</a>"
+"<a href=""#Sales Browser/Item Group"">Manage Item Groups</a>","<a href=""#Sales Browser/Item Group"">Artikel verwalten Gruppen</a>"
+"<a href=""#Sales Browser/Territory"">Territory</a>","<a href=""#Sales Browser/Territory"">Bereich</a>"
 "<a href=""#Sales Browser/Territory"">To manage Territory, click here</a>","<a href=""#Sales Browser/Territory""> Um Territory zu verwalten, klicken Sie hier </ a>"
 "<a onclick=""msgprint('<ol>\<li><b>field:[fieldname]</b> - By Field\<li><b>naming_series:</b> - By Naming Series (field called naming_series must be present\<li><b>eval:[expression]</b> - Evaluate an expression in python (self is doc)\<li><b>Prompt</b> - Prompt user for a name\<li><b>[series]</b> - Series by prefix (separated by a dot); for example PRE.#####\</ol>')"">Naming Options</a>","<A onclick = ""msgprint ('<ol> \ <li> <b> Feld: [Feldname] </ b> - Durch Feld \ <li> <b> naming_series: </ b> - durch die Benennung Series (Feld namens naming_series muss vorhanden sein \ <li> <b> eval: [Ausdruck] </ b> - Bewerten Sie einen Ausdruck in python (Selbst ist doc) \ <li> <b> Prompt </ b> - Benutzer nach einem Namen \ <li> <b> [Serie] </ b> - Series by Prefix (getrennt durch einen Punkt);. zum Beispiel PRE # # # # # \ </ ol> ') ""> Naming Optionen </ a>"
 <b>Cancel</b> allows you change Submitted documents by cancelling them and amending them.,<b> Abbrechen </ b> können Sie ändern eingereichten Unterlagen durch Vernichtung von ihnen und zur Änderung ihnen.
@@ -76,7 +80,7 @@
 A Lead with this email id should exist,Ein Lead mit dieser E-Mail-ID sollte vorhanden sein
 "A Product or a Service that is bought, sold or kept in stock.","Ein Produkt oder eine Dienstleistung, die gekauft, verkauft oder gehalten auf Lager."
 A Supplier exists with same name,Ein Lieferant existiert mit dem gleichen Namen
-A condition for a Shipping Rule,وهناك شرط للشحن قاعدة
+A condition for a Shipping Rule,Eine Bedingung für einen Versand Rule
 A logical Warehouse against which stock entries are made.,Eine logische Warehouse gegen die Lager-Einträge vorgenommen werden.
 A new popup will open that will ask you to select further conditions.,"Ein neues Pop-up öffnet das wird Sie bitten, weitere Bedingungen zu wählen."
 A symbol for this currency. For e.g. $,Ein Symbol für diese Währung. Für z.B. $
@@ -105,18 +109,19 @@
 Account Id,Konto-ID
 Account Name,Account Name
 Account Type,Kontotyp
-Accounting,المحاسبة
-Accounting Year.,السنة المحاسبية.
-"Accounting entry frozen up to this date, nobody can do / modify entry except role specified below.",قيد محاسبي المجمدة تصل إلى هذا التاريخ، لا أحد يمكن أن تفعل / تعديل إدخال باستثناء دور المحددة أدناه.
+Account for this ,Konto für diese
+Accounting,Buchhaltung
+Accounting Year.,Rechnungsjahres.
+"Accounting entry frozen up to this date, nobody can do / modify entry except role specified below.","Buchhaltungseingaben bis zu diesem Zeitpunkt eingefroren, kann niemand / nicht ändern Eintrag außer Rolle unten angegebenen."
 Accounting journal entries.,Accounting Journaleinträge.
 Accounts,Konten
 Accounts Frozen Upto,Konten Bis gefroren
 Accounts Payable,Kreditorenbuchhaltung
 Accounts Receivable,Debitorenbuchhaltung
-Accounts Settings,إعدادات الحسابات
+Accounts Settings,Konten-Einstellungen
 Action,Aktion
 Active,Aktiv
-Active: Will extract emails from ,Aktiv: Werden E-Mails extrahieren
+Active: Will extract emails from ,Aktive: Wird E-Mails zu extrahieren
 Activity,Aktivität
 Activity Log,Activity Log
 Activity Type,Art der Tätigkeit
@@ -125,8 +130,8 @@
 Actual Completion Date,Tatsächliche Datum der Fertigstellung
 Actual Date,Aktuelles Datum
 Actual End Date,Actual End Datum
-Actual Invoice Date,الفعلي تاريخ الفاتورة
-Actual Posting Date,تاريخ النشر الفعلي
+Actual Invoice Date,Tag der Rechnungslegung
+Actual Posting Date,Tatsächliche Buchungsdatum
 Actual Qty,Tatsächliche Menge
 Actual Qty (at source/target),Tatsächliche Menge (an der Quelle / Ziel)
 Actual Qty After Transaction,Tatsächliche Menge Nach Transaction
@@ -140,28 +145,28 @@
 Add Bookmark,Lesezeichen hinzufügen
 Add CSS,Fügen Sie CSS
 Add Column,Spalte hinzufügen
-Add Comment,إضافة تعليق
-Add Google Analytics ID: eg. UA-89XXX57-1. Please search help on Google Analytics for more information.,إضافة خدمة Google Analytics ID: على سبيل المثال. UA-89XXX57-1. الرجاء بحث المساعدة على تحليلات جوجل لمزيد من المعلومات.
+Add Comment,Kommentar hinzufügen
+Add Google Analytics ID: eg. UA-89XXX57-1. Please search help on Google Analytics for more information.,In Google Analytics ID: zB. UA-89XXX57-1. Bitte suchen Sie Hilfe zu Google Analytics für weitere Informationen.
 Add Message,Nachricht hinzufügen
 Add New Permission Rule,Add New Permission Rule
 Add Reply,Fügen Sie Antworten
-Add Terms and Conditions for the Material Request. You can also prepare a Terms and Conditions Master and use the Template,إضافة بنود وشروط لطلب المواد. يمكنك أيضا إعداد الشروط والأحكام الماجستير واستخدام القالب
+Add Terms and Conditions for the Material Request. You can also prepare a Terms and Conditions Master and use the Template,In Allgemeinen Geschäftsbedingungen für das Material-Request. Sie können auch ein Master-AGB und verwenden Sie die Vorlage
 Add Terms and Conditions for the Purchase Receipt. You can also prepare a Terms and Conditions Master and use the Template.,Hinzufügen Geschäftsbedingungen für den Kaufbeleg. Sie können auch eine AGB-Master und verwenden Sie die Vorlage.
 "Add Terms and Conditions for the Quotation like Payment Terms, Validity of Offer etc. You can also prepare a Terms and Conditions Master and use the Template","Fügen AGB für das Angebot wie Zahlungsbedingungen, Gültigkeit des Angebots etc. Sie können auch ein AGB-Master und verwenden Sie die Vorlage"
-Add Total Row,إضافة صف الإجمالي
-Add a banner to the site. (small banners are usually good),إضافة لافتة إلى الموقع. (لافتات صغيرة عادة ما تكون جيدة)
-Add attachment,إضافة المرفقات
+Add Total Row,In insgesamt Row
+Add a banner to the site. (small banners are usually good),Hinzufügen einen Banner auf der Website. (Kleine Banner sind in der Regel gut)
+Add attachment,Anhang hinzufügen
 Add code as &lt;script&gt;,Fügen Sie Code wie <script>
-Add new row,إضافة صف جديد
+Add new row,In neue Zeile
 Add or Deduct,Hinzufügen oder abziehen
 Add rows to set annual budgets on Accounts.,Fügen Sie Zeilen hinzu jährlichen Budgets für Konten festgelegt.
-"Add the name of <a href=""http://google.com/webfonts"" target=""_blank"">Google Web Font</a> e.g. ""Open Sans""","إضافة اسم <a href=""http://google.com/webfonts"" target=""_blank"">جوجل خط ويب</a> على سبيل المثال &quot;بلا فتح&quot;"
+"Add the name of <a href=""http://google.com/webfonts"" target=""_blank"">Google Web Font</a> e.g. ""Open Sans""","Fügen Sie den Namen <a href=""http://google.com/webfonts"" target=""_blank"">Google Web Font</a> zB &quot;Offene Sans&quot;"
 Add to To Do,In den To Do
 Add to To Do List of,In den Um-Liste von Do
 Add/Remove Recipients,Hinzufügen / Entfernen von Empfängern
 Additional Info,Zusätzliche Informationen
 Address,Adresse
-Address & Contact,معالجة والاتصال
+Address & Contact,Adresse &amp; Kontakt
 Address & Contacts,Adresse und Kontakte
 Address Desc,Adresse Desc
 Address Details,Adressdaten
@@ -210,12 +215,12 @@
 All Sales Person,Alle Sales Person
 All Sales Transactions can be tagged against multiple **Sales Persons** so that you can set and monitor targets.,"Alle Verkäufe Transaktionen können gegen mehrere ** Umsatz Personen **, so dass Sie und überwachen Ziele können markiert werden."
 All Supplier Contact,Alle Lieferanten Kontakt
-"All account columns should be after \							standard columns and on the right.							If you entered it properly, next probable reason \							could be wrong account name.							Please rectify it in the file and try again.",يجب أن تكون جميع الأعمدة حساب بعد \ الأعمدة القياسية وعلى اليمين. إذا كنت دخلت بشكل صحيح، يمكن أن المقبل من المحتمل السبب \ يكون اسم حساب خاطئ. يرجى تصحيح ذلك في ملف وحاول مرة أخرى.
+"All account columns should be after \							standard columns and on the right.							If you entered it properly, next probable reason \							could be wrong account name.							Please rectify it in the file and try again.","Alle Spalten Konto sollte nach \ standard Säulen und auf der rechten Seite. Wenn Sie es richtig eingegeben, könnte nächste wahrscheinliche Grund \ falsche Konto-Name sein. Bitte berichtigen in der Datei und versuchen Sie es erneut."
 "All export related fields like currency, conversion rate, export total, export grand total etc are available in <br>Delivery Note, POS, Quotation, Sales Invoice, Sales Order etc.","Alle Export-verwandten Bereichen wie Währung, Conversion-Rate, Export Insgesamt Export Gesamtsumme etc sind in <br> Lieferschein, POS, Angebot, Sales Invoice, Auftragsabwicklung, etc."
 "All import related fields like currency, conversion rate, import total, import grand total etc are available in <br>Purchase Receipt, Supplier Quotation, Purchase Invoice, Purchase Order etc.","Alle Import-verwandten Bereichen wie Währung, Conversion-Rate, Import Insgesamt sind Import Gesamtsumme etc in <br> Kaufbeleg Lieferant Angebot, Auftragsbestätigung, Bestellung etc. zur Verfügung"
 All items have already been transferred \				for this Production Order.,Alle Elemente wurden bereits \ für diesen Fertigungsauftrag übertragen.
 "All possible Workflow States and roles of the workflow. <br>Docstatus Options: 0 is""Saved"", 1 is ""Submitted"" and 2 is ""Cancelled""","Alle möglichen Workflow-Status und Rollen des Workflows. <br> DocStatus Optionen: 0 wird ""Gespeichert"" wird ein ""Eingereicht"" und 2 ""Cancelled"""
-All posts by,عن المشاركات التي كتبها
+All posts by,Alle Beiträge
 Allocate,Zuweisen
 Allocate leaves for the year.,Weisen Blätter für das Jahr.
 Allocated Amount,Zugeteilten Betrag
@@ -223,11 +228,11 @@
 Allocated amount,Zugeteilten Betrag
 Allow Attach,Lassen Befestigen
 Allow Bill of Materials,Lassen Bill of Materials
-Allow Dropbox Access,تسمح قطاف الدخول
-Allow Editing of Frozen Accounts For,السماح بتحرير الحسابات المجمدة لل
-Allow Google Drive Access,تسمح جوجل محرك الوصول
-Allow Import,تسمح استيراد
-Allow Import via Data Import Tool,تسمح استيراد عبر أداة استيراد البيانات
+Allow Dropbox Access,Erlauben Dropbox-Zugang
+Allow Editing of Frozen Accounts For,Erlauben Bearbeiten von eingefrorenen Konten für
+Allow Google Drive Access,Erlauben Sie Google Drive Zugang
+Allow Import,Erlauben Sie importieren
+Allow Import via Data Import Tool,Erlauben Import via Datenimport-Werkzeug
 Allow Negative Balance,Lassen Negative Bilanz
 Allow Negative Stock,Lassen Negative Lager
 Allow Production Order,Lassen Fertigungsauftrag
@@ -236,24 +241,25 @@
 Allow User,Benutzer zulassen
 Allow Users,Ermöglichen
 Allow on Submit,Lassen Sie auf Absenden
-Allow the following users to approve Leave Applications for block days.,تسمح للمستخدمين التالية للموافقة على طلبات الحصول على إجازة أيام بلوك.
+Allow the following users to approve Leave Applications for block days.,Lassen Sie die folgenden Benutzer zu verlassen Anwendungen für Block Tage genehmigen.
+Allow user to edit Price List Rate in transactions,Benutzer zulassen Preis List in Transaktionen bearbeiten
 Allow user to login only after this hour (0-24),"Lassen Sie Benutzer nur anmelden, nach dieser Stunde (0-24)"
 Allow user to login only before this hour (0-24),"Lassen Sie Benutzer nur anmelden, bevor dieser Stunde (0-24)"
 Allowance Percent,Allowance Prozent
 Allowed,Erlaubt
-Already Registered,مسجل بالفعل
-Always use Login Id as sender,دائما استخدام معرف تسجيل الدخول ومرسل
+Already Registered,Bereits angemeldete
+Always use Login Id as sender,Immer Login ID als Absender
 Amend,Ändern
 Amended From,Geändert von
 Amount,Menge
-Amount (Company Currency),المبلغ (عملة الشركة)
+Amount (Company Currency),Betrag (Gesellschaft Währung)
 Amount <=,Betrag <=
 Amount >=,Betrag> =
 "An icon file with .ico extension. Should be 16 x 16 px. Generated using a favicon generator. [<a href=""http://favicon-generator.org/"" target=""_blank"">favicon-generator.org</a>]","Ein Symbol-Datei mit. Ico. Sollte 16 x 16 px sein. Erzeugt mit ein Favicon-Generator. [<a Href=""http://favicon-generator.org/"" target=""_blank""> favicon-generator.org </ a>]"
 Analytics,Analytics
-Annual Cost To Company,التكلفة السنوية للشركة
-Annual Cost To Company can not be less than 12 months of Total Earning,التكلفة السنوية للشركة لا يمكن أن يكون أقل من 12 شهرا من إجمالي الدخل
-Another Salary Structure '%s' is active for employee '%s'. 				Please make its status 'Inactive' to proceed.,هيكل راتب آخر &#39;٪ s&#39; غير النشطة للموظف &#39;٪ S&#39;. يرجى التأكد مكانتها &quot;غير نشطة&quot; والمضي قدما.
+Annual Cost To Company,Jährlichen Kosten für die Gesellschaft
+Annual Cost To Company can not be less than 12 months of Total Earning,Jährlichen Kosten für die Gesellschaft nicht weniger als 12 Monaten nach Erwerb insgesamt sein
+Another Salary Structure '%s' is active for employee '%s'. 				Please make its status 'Inactive' to proceed.,"Another Gehaltsstruktur &#39;% s&#39; ist für Mitarbeiter &#39;% s&#39; aktiv. Bitte stellen Sie den Status &quot;inaktiv&quot;, um fortzufahren."
 "Any other comments, noteworthy effort that should go in the records.","Weitere Kommentare, bemerkenswerte Anstrengungen, die in den Aufzeichnungen gehen sollte."
 Applicable Holiday List,Anwendbar Ferienwohnung Liste
 Applicable To (Designation),Für (Bezeichnung)
@@ -262,12 +268,12 @@
 Applicable To (User),Anwendbar auf (User)
 Applicant Name,Name des Antragstellers
 Applicant for a Job,Antragsteller für einen Job
-Applicant for a Job.,المتقدم للحصول على الوظيفة.
+Applicant for a Job.,Antragsteller für einen Job.
 Applications for leave.,Bei Anträgen auf Urlaub.
 Applies to Company,Gilt für Unternehmen
 Apply / Approve Leaves,Übernehmen / Genehmigen Leaves
-Apply Shipping Rule,تنطبق الشحن القاعدة
-Apply Taxes and Charges Master,تطبيق الضرائب والرسوم ماجستير
+Apply Shipping Rule,Bewerben Versand Rule
+Apply Taxes and Charges Master,Bewerben Steuern und Gebühren Meister
 Appraisal,Bewertung
 Appraisal Goal,Bewertung Goal
 Appraisal Goals,Bewertung Details
@@ -283,21 +289,21 @@
 Arial,Arial
 Arrear Amount,Nachträglich Betrag
 "As a best practice, do not assign the same set of permission rule to different Roles instead set multiple Roles to the User","Als Best Practice, nicht die gleiche Menge von Berechtigungen Vorschrift auf unterschiedliche Rollen stattdessen mehrere Rollen für den Benutzer"
-As existing qty for item: ,Da sich die bestehenden Menge für Artikel:
+As existing qty for item: ,Als bestehende Menge für Artikel:
 As per Stock UOM,Wie pro Lagerbestand UOM
-"As there are existing stock transactions for this \							item, you can not change the values of 'Has Serial No', \							'Is Stock Item' and 'Valuation Method'",كما أن هناك معاملات المخزون الحالي لهذا \ البند، لا يمكنك تغيير قيم &quot;لقد المسلسل لا &#39;، \&#39; هو المخزون السلعة&quot; و &quot;أسلوب التقييم&quot;
+"As there are existing stock transactions for this \							item, you can not change the values of 'Has Serial No', \							'Is Stock Item' and 'Valuation Method'","Da es Bestand Transaktionen dieser \ item sind, können Sie nicht ändern, die Werte von &#39;Hat Seriennummer&#39;, &#39;Ist Lager Item&#39; \ und &quot;Valuation Method &#39;"
 Ascending,Aufsteigend
 Assign To,Zuordnen zu
 Assigned By,Zugewiesen von
-Assignment,مهمة
-Assignments,تعيينات
+Assignment,Zuordnung
+Assignments,Zuordnungen
 Associate a DocType to the Print Format,Zuordnen eines DocType der Print Format
 Atleast one warehouse is mandatory,Mindestens eines Lagers ist obligatorisch
 Attach,Befestigen
 Attach Document Print,Anhängen Dokument drucken
-Attached To DocType,تعلق على DOCTYPE
-Attached To Name,تعلق على اسم
-Attachment,التعلق
+Attached To DocType,Hinzugefügt zu DOCTYPE
+Attached To Name,An den Dateinamen
+Attachment,Anhang
 Attachments,Zubehör
 Attempted to Contact,"Versucht, Kontakt"
 Attendance,Teilnahme
@@ -305,25 +311,25 @@
 Attendance Details,Teilnahme Einzelheiten
 Attendance From Date,Teilnahme ab-Datum
 Attendance To Date,Teilnahme To Date
-Attendance can not be marked for future dates,لا يمكن أن تكون علامة لحضور تواريخ مستقبلية
+Attendance can not be marked for future dates,Die Teilnahme kann nicht für zukünftige Termine markiert werden
 Attendance for the employee: ,Die Teilnahme für die Mitarbeiter:
 Attendance record.,Zuschauerrekord.
 Attributions,Zuschreibungen
 Authorization Control,Authorization Control
 Authorization Rule,Autorisierungsregel
 Auto Email Id,Auto Email Id
-Auto Inventory Accounting,المحاسبة الجرد السيارات
-Auto Inventory Accounting Settings,إعدادات المحاسبة الجرد السيارات
-Auto Material Request,السيارات مادة طلب
+Auto Inventory Accounting,Auto Vorratsbuchhaltung
+Auto Inventory Accounting Settings,Auto Vorratsbuchhaltung Einstellungen
+Auto Material Request,Auto Werkstoff anfordern
 Auto Name,Auto Name
 Auto generated,Auto generiert
-Auto-raise Material Request if quantity goes below re-order level in a warehouse,لصناعة السيارات في رفع طلب المواد إذا كمية يذهب دون مستوى إعادة الطلب في مستودع
+Auto-raise Material Request if quantity goes below re-order level in a warehouse,"Auto-Raise Werkstoff anfordern, wenn Quantität geht unten re-order-Ebene in einer Lagerhalle"
 Automatically updated via Stock Entry of type Manufacture/Repack,Automatisch über Lager Eintrag vom Typ Manufacture / Repack aktualisiert
 Autoreply when a new mail is received,Autoreply wenn eine neue E-Mail empfangen
 Available Qty at Warehouse,Verfügbare Menge bei Warehouse
-Available Stock for Packing Items,الأسهم المتاحة للتعبئة وحدات
+Available Stock for Packing Items,Lagerbestand für Packstücke
 "Available in BOM, Delivery Note, Purchase Invoice, Production Order, Purchase Order, Purchase Receipt, Sales Invoice, Sales Order, Stock Entry, Timesheet","Erhältlich in Stücklisten, Lieferschein, Bestellung, Fertigungsauftrag, Bestellung, Kaufbeleg, Sales Invoice, Sales Order, Stock Entry, Timesheet"
-Avatar,الصورة الرمزية
+Avatar,Avatar
 Average Discount,Durchschnittliche Discount
 B+,B +
 B-,B-
@@ -341,43 +347,43 @@
 BOM replaced,BOM ersetzt
 Background Color,Hintergrundfarbe
 Background Image,Background Image
-Backup Manager,مدير النسخ الاحتياطي
-Backup Right Now,النسخ الاحتياطي الحق الآن
-Backups will be uploaded to,وسيتم تحميلها النسخ الاحتياطي إلى
-"Balances of Accounts of type ""Bank or Cash""",أرصدة الحسابات من نوع &quot;البنك أو نقدا&quot;
+Backup Manager,Backup Manager
+Backup Right Now,Sichern Right Now
+Backups will be uploaded to,"Backups werden, die hochgeladen werden"
+"Balances of Accounts of type ""Bank or Cash""",Kontostände vom Typ &quot;Bank-oder Cash&quot;
 Bank,Bank
 Bank A/C No.,Bank A / C Nr.
 Bank Account,Bankkonto
 Bank Account No.,Bank Konto-Nr
-Bank Clearance Summary,بنك ملخص التخليص
+Bank Clearance Summary,Bank-Ausverkauf Zusammenfassung
 Bank Name,Name der Bank
 Bank Reconciliation,Kontenabstimmung
 Bank Reconciliation Detail,Kontenabstimmung Details
-Bank Reconciliation Statement,بيان التسويات المصرفية
+Bank Reconciliation Statement,Kontenabstimmung Statement
 Bank Voucher,Bankgutschein
 Bank or Cash,Bank oder Bargeld
-Bank/Cash Balance,بنك / النقد وما في حكمه
+Bank/Cash Balance,Banken / Cash Balance
 Banner,Banner
 Banner HTML,Banner HTML
-Banner Image,راية صورة
-Banner is above the Top Menu Bar.,راية فوق أعلى شريط القوائم.
+Banner Image,Banner Bild
+Banner is above the Top Menu Bar.,Banner über der oberen Menüleiste.
 Barcode,Strichcode
 Based On,Basierend auf
 Basic Info,Basic Info
 Basic Information,Grundlegende Informationen
 Basic Rate,Basic Rate
-Basic Rate (Company Currency),المعدل الأساسي (عملة الشركة)
+Basic Rate (Company Currency),Basic Rate (Gesellschaft Währung)
 Batch,Stapel
 Batch (lot) of an Item.,Batch (Los) eines Item.
 Batch Finished Date,Batch Beendet Datum
 Batch ID,Batch ID
 Batch No,Batch No
 Batch Started Date,Batch gestartet Datum
-Batch Time Logs for Billing.,سجلات ترتبط بفترات زمنية لإعداد الفواتير.
-Batch Time Logs for billing.,سجلات ترتبط بفترات زمنية لإعداد الفواتير.
-Batch-Wise Balance History,دفعة الحكيم التاريخ الرصيد
-Batched for Billing,دفعات عن الفواتير
-Be the first one to comment,كن أول واحد للتعليق
+Batch Time Logs for Billing.,Batch Zeit Protokolle für Billing.
+Batch Time Logs for billing.,Batch Zeit Logs für die Abrechnung.
+Batch-Wise Balance History,Batch-Wise Gleichgewicht History
+Batched for Billing,Batch für Billing
+Be the first one to comment,"Seien Sie der Erste, der einen Kommentar"
 Begin this page with a slideshow of images,Beginnen Sie diese Seite mit einer Diashow von Bildern
 Better Prospects,Bessere Aussichten
 Bill Date,Bill Datum
@@ -385,32 +391,32 @@
 Bill of Material to be considered for manufacturing,"Bill of Material, um für die Fertigung berücksichtigt werden"
 Bill of Materials,Bill of Materials
 Bill of Materials (BOM),Bill of Materials (BOM)
-Billable,فوترة
+Billable,Billable
 Billed,Angekündigt
 Billed Amt,Billed Amt
-Billing,الفواتير
-Billing Address,عنوان الفواتير
-Billing Address Name,الفواتير اسم العنوان
+Billing,Billing
+Billing Address,Rechnungsadresse
+Billing Address Name,Rechnungsadresse Name
 Billing Status,Billing-Status
 Bills raised by Suppliers.,Bills erhöht durch den Lieferanten.
 Bills raised to Customers.,"Bills angehoben, um Kunden."
 Bin,Kasten
 Bio,Bio
-Bio will be displayed in blog section etc.,سيتم عرض الحيوي في بلوق القسم الخ
+Bio will be displayed in blog section etc.,Bio wird in Blog-Bereich usw. angezeigt werden
 Birth Date,Geburtsdatum
 Blob,Klecks
 Block Date,Blockieren Datum
 Block Days,Block Tage
 Block Holidays on important days.,Blockieren Urlaub auf wichtige Tage.
 Block leave applications by department.,Block verlassen Anwendungen nach Abteilung.
-Blog Category,بلوق التصنيف
-Blog Intro,بلوق مقدمة
-Blog Introduction,بلوق مقدمة
-Blog Post,بلوق وظيفة
-Blog Settings,إعدادات بلوق
+Blog Category,Blog Kategorie
+Blog Intro,Blog Intro
+Blog Introduction,Blog Einführung
+Blog Post,Blog Post
+Blog Settings,Blog-Einstellungen
 Blog Subscriber,Blog Subscriber
-Blog Title,بلوق العنوان
-Blogger,مدون
+Blog Title,Blog Titel
+Blogger,Blogger
 Blood Group,Blutgruppe
 Bookmarks,Bookmarks
 Branch,Zweig
@@ -429,19 +435,20 @@
 Budget Distribution,Budget Verteilung
 Budget Distribution Detail,Budget Verteilung Detailansicht
 Budget Distribution Details,Budget Ausschüttungsinformationen
-Budget Variance Report,تقرير الفرق الميزانية
-Build Modules,بناء وحدات
-Build Pages,بناء الصفحات
-Build Server API,بناء API ملقم
-Build Sitemap,بناء خريطة الموقع
+Budget Variance Report,Budget Variance melden
+Build Modules,Bauen Module
+Build Pages,Bauen Seiten
+Build Server API,Build-Server API
+Build Sitemap,Bauen Sitemap
 Bulk Email,Bulk Email
 Bulk Email records.,Bulk Email Datensätze.
+Bummer! There are more holidays than working days this month.,Bummer! Es gibt mehr Feiertage als Arbeitstage in diesem Monat.
 Bundle items at time of sale.,Bundle Artikel zum Zeitpunkt des Verkaufs.
 Button,Taste
 Buyer of Goods and Services.,Käufer von Waren und Dienstleistungen.
 Buying,Kauf
-Buying Amount,شراء المبلغ
-Buying Settings,شراء إعدادات
+Buying Amount,Einkaufsführer Betrag
+Buying Settings,Einkaufsführer Einstellungen
 By,Durch
 C-FORM/,C-FORM /
 C-Form,C-Form
@@ -453,7 +460,7 @@
 CSS,CSS
 CUST,CUST
 CUSTMUM,CUSTMUM
-Calculate Based On,حساب الربح بناء على
+Calculate Based On,Berechnen Basierend auf
 Calculate Total Score,Berechnen Gesamtpunktzahl
 Calendar,Kalender
 Calendar Events,Kalendereintrag
@@ -465,22 +472,22 @@
 Cancel permission also allows the user to delete a document (if it is not linked to any other document).,"Abbrechen Erlaubnis ermöglicht dem Benutzer auch, um ein Dokument (wenn sie nicht auf irgendeine andere Dokument verknüpft) zu löschen."
 Cancelled,Abgesagt
 Cannot ,Kann nicht
-Cannot approve leave as you are not authorized to approve leaves on Block Dates.,لا يمكن الموافقة على ترك كما لا يحق لك الموافقة الأوراق في تواريخ بلوك.
-Cannot change from,لا يمكن تغيير من
-Cannot continue.,لا يمكن أن يستمر.
-Cannot have two prices for same Price List,لا يمكن أن يكون سعرين لنفس قائمة الأسعار
+Cannot approve leave as you are not authorized to approve leaves on Block Dates.,"Kann nicht genehmigen lassen, wie Sie sind nicht berechtigt, Blätter auf Block-Termine genehmigen."
+Cannot change from,Kann nicht ändern
+Cannot continue.,Kann nicht fortgesetzt werden.
+Cannot have two prices for same Price List,Kann nicht zwei Preise für das gleiche Preisliste
 Cannot map because following condition fails: ,"Kann nicht zuordnen, da folgende Bedingung nicht:"
 Capacity,Kapazität
 Capacity Units,Capacity Units
 Carry Forward,Vortragen
 Carry Forwarded Leaves,Carry Weitergeleitete Leaves
-Case No(s) already in use. Please rectify and try again.				Recommended <b>From Case No. = %s</b>,القضية رقم (ق) قيد الاستخدام بالفعل. يرجى تصحيح وحاول مرة أخرى. الموصى بها <b>من القضية رقم =٪ S</b>
+Case No(s) already in use. Please rectify and try again.				Recommended <b>From Case No. = %s</b>,Fall Nr. (n) bereits im Einsatz. Bitte korrigieren und versuchen Sie es erneut. Empfohlen <b>von Fall Nr. =% s</b>
 Cash,Bargeld
 Cash Voucher,Cash Gutschein
 Cash/Bank Account,Cash / Bank Account
-Categorize blog posts.,تصنيف بلوق وظيفة.
+Categorize blog posts.,Kategorisieren Blog-Posts.
 Category,Kategorie
-Category Name,اسم التصنيف
+Category Name,Kategorie Name
 Category of customer as entered in Customer master,"Kategorie von Kunden, wie in Customer Master eingetragen"
 Cell Number,Cell Number
 Center,Zentrum
@@ -501,8 +508,9 @@
 "Check if you need automatic recurring invoices. After submitting any sales invoice, Recurring section will be visible.","Überprüfen Sie, ob Sie die automatische wiederkehrende Rechnungen benötigen. Nach dem Absenden eine Rechnung über den Verkauf wird Recurring Abschnitt sichtbar sein."
 Check if you want to send salary slip in mail to each employee while submitting salary slip,"Überprüfen Sie, ob Sie Gehaltsabrechnung in Mail an jeden Mitarbeiter wollen, während Einreichung Gehaltsabrechnung"
 Check this if you want to force the user to select a series before saving. There will be no default if you check this.,"Aktivieren Sie diese Option, wenn Sie den Benutzer zwingen, eine Reihe vor dem Speichern auswählen möchten. Es wird kein Standard sein, wenn Sie dies zu überprüfen."
-Check this if you want to send emails as this id only (in case of restriction by your email provider).,الاختيار هذا إذا كنت تريد أن ترسل رسائل البريد الإلكتروني في هذا المعرف فقط (في حالة تقييد من قبل مزود البريد الإلكتروني الخاص بك).
+Check this if you want to send emails as this id only (in case of restriction by your email provider).,"Aktivieren Sie diese Option, wenn Sie E-Mails, da diese id nur (im Falle von Beschränkungen durch Ihre E-Mail-Provider) gesendet werden soll."
 Check this if you want to show in website,"Aktivieren Sie diese Option, wenn Sie in der Website zeigen wollen"
+Check this to disallow fractions. (for Nos),Aktivieren Sie diese verbieten Fraktionen. (Für Nos)
 Check this to make this the default letter head in all prints,"Aktivieren Sie diese Option, um es als Standard-Briefkopf in allen Ausdrucke"
 Check this to pull emails from your mailbox,"Aktivieren Sie diese Option, um E-Mails aus Ihrer Mailbox ziehen"
 Check to activate,Überprüfen Sie aktivieren
@@ -516,19 +524,19 @@
 City,City
 City/Town,Stadt / Ort
 Claim Amount,Schadenhöhe
-Claims for company expense.,مطالبات لحساب الشركة.
+Claims for company expense.,Ansprüche für Unternehmen Kosten.
 Class / Percentage,Klasse / Anteil
-Classic,كلاسيكي
+Classic,Klassische
 Classification of Customers by region,Klassifizierung der Kunden nach Regionen
 Clear Cache & Refresh,Clear Cache & Refresh
 Clear Table,Tabelle löschen
 Clearance Date,Clearance Datum
-"Click on ""Get Latest Updates""",انقر على &quot;الحصول على آخر التحديثات&quot;
-Click on 'Make Sales Invoice' button to create a new Sales Invoice.,انقر على &#39;جعل مبيعات الفاتورة &quot;الزر لإنشاء فاتورة مبيعات جديدة.
+"Click on ""Get Latest Updates""",Klicken Sie auf &quot;Get Latest Updates&quot;
+Click on 'Make Sales Invoice' button to create a new Sales Invoice.,"Klicken Sie auf &quot;Als Sales Invoice&quot;, um einen neuen Sales Invoice erstellen."
 Click on button in the 'Condition' column and select the option 'User is the creator of the document',"Klicken Sie auf die Schaltfläche in der 'Bedingung' Spalte und wählen Sie die Option ""Benutzer ist der Schöpfer des Dokuments"""
 Click to Expand / Collapse,Klicken Sie auf Erweitern / Reduzieren
 Client,Auftraggeber
-Close,أغلق
+Close,Schließen
 Closed,Geschlossen
 Closing Account Head,Konto schließen Leiter
 Closing Date,Einsendeschluss
@@ -561,26 +569,27 @@
 Company History Heading,Unternehmensgeschichte Überschrift
 Company Info,Firmeninfo
 Company Introduction,Vorstellung der Gesellschaft
-Company Master.,ماجستير الشركة.
+Company Master.,Firma Meister.
 Company Name,Firmenname
-Company Settings,إعدادات الشركة
+Company Settings,Gesellschaft Einstellungen
 Company branches.,Unternehmen Niederlassungen.
 Company departments.,Abteilungen des Unternehmens.
-Company is missing or entered incorrect value,شركة مفقود أو دخلت قيمة غير صحيحة
-Company mismatch for Warehouse,عدم تطابق الشركة للمستودع
+Company is missing or entered incorrect value,Unternehmen fehlt oder falsch eingegeben Wert
+Company mismatch for Warehouse,Unternehmen Mismatch für Warehouse
 Company registration numbers for your reference. Example: VAT Registration Numbers etc.,Handelsregisternummer für Ihre Referenz. Beispiel: Umsatzsteuer-Identifikationsnummern usw.
 Company registration numbers for your reference. Tax numbers etc.,Handelsregisternummer für Ihre Referenz. MwSt.-Nummern etc.
 Complaint,Beschwerde
+Complete,Vervollständigen
 Complete By,Complete von
 Completed,Fertiggestellt
-Completed Qty,الكمية الانتهاء
+Completed Qty,Abgeschlossene Menge
 Completion Date,Datum der Fertigstellung
 Completion Status,Completion Status
 Confirmed orders from Customers.,Bestätigte Bestellungen von Kunden.
 Consider Tax or Charge for,Betrachten Sie Steuern oder Gebühren für die
 "Consider this Price List for fetching rate. (only which have ""For Buying"" as checked)","Betrachten Sie diese Preisliste für das Abrufen bewerten. (Nur die haben ""für den Kauf"", wie geprüft)"
-Considered as Opening Balance,يعتبر الرصيد الافتتاحي
-Considered as an Opening Balance,يعتبر رصيد أول المدة
+Considered as Opening Balance,Er gilt als Eröffnungsbilanz
+Considered as an Opening Balance,Er gilt als einer Eröffnungsbilanz
 Consultant,Berater
 Consumed Qty,Verbrauchte Menge
 Contact,Kontakt
@@ -605,22 +614,22 @@
 Content web page.,Inhalt Web-Seite.
 Contra Voucher,Contra Gutschein
 Contract End Date,Contract End Date
-Contribution (%),مساهمة (٪)
-Contribution to Net Total,المساهمة في صافي إجمالي
+Contribution (%),Anteil (%)
+Contribution to Net Total,Beitrag zum Net Total
 Control Panel,Control Panel
 Conversion Factor,Umrechnungsfaktor
 Conversion Rate,Conversion Rate
 Convert into Recurring Invoice,Konvertieren in Wiederkehrende Rechnung
 Converted,Umgerechnet
-Copy,نسخ
-Copy From Item Group,نسخة من المجموعة السلعة
+Copy,Kopieren
+Copy From Item Group,Kopieren von Artikel-Gruppe
 Copyright,Copyright
 Core,Kern
 Cost Center,Kostenstellenrechnung
 Cost Center Details,Kosten Center Details
 Cost Center Name,Kosten Center Name
 Cost Center is mandatory for item: ,Kostenstelle ist obligatorisch für Artikel:
-Cost Center must be specified for PL Account: ,Kostenstelle muss für PL Konto angegeben werden:
+Cost Center must be specified for PL Account: ,Cost Center muss für PL Konto angegeben werden:
 Cost to Company,Kosten Unternehmen
 Costing,Kalkulation
 Country,Land
@@ -630,17 +639,17 @@
 Create Production Orders,Erstellen Fertigungsaufträge
 Create Receiver List,Erstellen Receiver Liste
 Create Salary Slip,Erstellen Gehaltsabrechnung
-Create Stock Ledger Entries when you submit a Sales Invoice,إنشاء ألبوم ليدجر مقالات عند إرسال فاتورة المبيعات
+Create Stock Ledger Entries when you submit a Sales Invoice,"Neues Lager Ledger Einträge, wenn Sie einen Sales Invoice vorlegen"
 "Create a price list from Price List master and enter standard ref rates against each of them. On selection of a price list in Quotation, Sales Order or Delivery Note, corresponding ref rate will be fetched for this item.","Erstellen Sie eine Preisliste von Preisliste Master und geben Sie Standard-ref Preise gegen jeden von ihnen. Bei Auswahl einer Preisliste Angebot, Auftrag oder Lieferschein, werden entsprechende ref für dieser Artikel abgeholt werden."
 Create and Send Newsletters,Erstellen und Senden Newsletters
-Created Account Head: ,Erstellt Konto Kopf:
-Created By,التي أنشأتها
+Created Account Head: ,Erstellt Konto Head:
+Created By,Erstellt von
 Created Customer Issue,Erstellt Kunde Ausgabe
 Created Group ,Erstellt Gruppe
 Created Opportunity,Erstellt Chance
 Created Support Ticket,Erstellt Support Ticket
 Creates salary slip for above mentioned criteria.,Erstellt Gehaltsabrechnung für die oben genannten Kriterien.
-Credentials,أوراق اعتماد
+Credentials,Referenzen
 Credit,Kredit
 Credit Amt,Kredit-Amt
 Credit Card Voucher,Credit Card Gutschein
@@ -651,12 +660,12 @@
 Credit To,Kredite an
 Cross Listing of Item in multiple groups,Überqueren Auflistung der Artikel in mehreren Gruppen
 Currency,Währung
-Currency Exchange,تحويل العملات
+Currency Exchange,Geldwechsel
 Currency Format,Währung Format
 Currency Name,Währung Name
-Currency Settings,إعدادات العملة
-Currency and Price List,العملة وقائمة الأسعار
-Currency does not match Price List Currency for Price List,العملة لا يطابق قائمة الأسعار العملات لقائمة الأسعار
+Currency Settings,Währung Einstellungen
+Currency and Price List,Währungs-und Preisliste
+Currency does not match Price List Currency for Price List,Währung nicht mit Preisliste Währung für Preisliste
 Current Accommodation Type,Aktuelle Unterkunftstyp
 Current Address,Aktuelle Adresse
 Current BOM,Aktuelle Stückliste
@@ -675,9 +684,10 @@
 Custom Startup Code,Benutzerdefinierte Startup Code
 Custom?,Custom?
 Customer,Kunde
+Customer (Receivable) Account,Kunde (Forderungen) Konto
 Customer / Item Name,Kunde / Item Name
 Customer Account,Kundenkonto
-Customer Account Head,رئيس حساب العملاء
+Customer Account Head,Kundenkonto Kopf
 Customer Address,Kundenadresse
 Customer Addresses And Contacts,Kundenadressen und Kontakte
 Customer Code,Customer Code
@@ -690,20 +700,20 @@
 Customer Group Name,Kunden Group Name
 Customer Intro,Kunden Intro
 Customer Issue,Das Anliegen des Kunden
-Customer Issue against Serial No.,العدد العملاء ضد الرقم التسلسلي
+Customer Issue against Serial No.,Das Anliegen des Kunden gegen Seriennummer
 Customer Name,Name des Kunden
-Customer Naming By,العملاء تسمية بواسطة
+Customer Naming By,Kunden Benennen von
 Customer Type,Kundentyp
 Customer classification tree.,Einteilung der Kunden Baum.
 Customer database.,Kunden-Datenbank.
 Customer's Currency,Kunden Währung
 Customer's Item Code,Kunden Item Code
-Customer's Purchase Order Date,طلب شراء الزبون التسجيل
-Customer's Purchase Order No,الزبون أمر الشراء لا
+Customer's Purchase Order Date,Bestellung des Kunden Datum
+Customer's Purchase Order No,Bestellung des Kunden keine
 Customer's Vendor,Kunden Hersteller
 Customer's currency,Kunden Währung
 "Customer's currency - If you want to select a currency that is not the default currency, then you must also specify the Currency Conversion Rate.","Kunden Währung - Wenn Sie eine Währung, die nicht die Standard-Währung auswählen wollen, dann müssen Sie auch die Currency Conversion Rate."
-Customers Not Buying Since Long Time,الزبائن لا يشترون منذ وقت طويل
+Customers Not Buying Since Long Time,Kunden Kaufen nicht seit langer Zeit
 Customerwise Discount,Customerwise Discount
 Customize,Anpassen
 Customize Form,Formular anpassen
@@ -714,19 +724,20 @@
 DN,DN
 DN Detail,DN Detailansicht
 Daily,Täglich
-Daily Time Log Summary,الوقت الملخص اليومي دخول
+Daily Event Digest is sent for Calendar Events where reminders are set.,Täglich Termin Digest ist für Kalendereintrag wo Erinnerungen eingestellt gesendet.
+Daily Time Log Summary,Täglich Log Zusammenfassung
 Danger,Gefahr
 Data,Daten
-Data missing in table,البيانات الناقصة في الجدول
+Data missing in table,Fehlende Daten in der Tabelle
 Database,Datenbank
-Database Folder ID,ID مجلد قاعدة البيانات
+Database Folder ID,Database Folder ID
 Database of potential customers.,Datenbank von potentiellen Kunden.
 Date,Datum
 Date Format,Datumsformat
 Date Of Retirement,Datum der Pensionierung
-Date and Number Settings,إعدادات التاريخ وعدد
+Date and Number Settings,Datum und Anzahl Einstellungen
 Date is repeated,Datum wird wiederholt
-Date must be in format,يجب أن يكون التاريخ في شكل
+Date must be in format,Datum muss im Format
 Date of Birth,Geburtsdatum
 Date of Issue,Datum der Ausgabe
 Date of Joining,Datum der Verbindungstechnik
@@ -753,7 +764,7 @@
 Default BOM,Standard BOM
 Default Bank / Cash account will be automatically updated in POS Invoice when this mode is selected.,"Standard Bank / Cash-Konto werden automatisch in POS Rechnung aktualisiert werden, wenn dieser Modus ausgewählt ist."
 Default Bank Account,Standard Bank Account
-Default Cash Account,الحساب النقدي الافتراضي
+Default Cash Account,Standard Cashkonto
 Default Commission Rate,Standard Kommission bewerten
 Default Company,Standard Unternehmen
 Default Cost Center,Standard Kostenstelle
@@ -772,24 +783,26 @@
 Default Settings,Default Settings
 Default Source Warehouse,Default Source Warehouse
 Default Stock UOM,Standard Lager UOM
+Default Supplier,Standard Lieferant
 Default Supplier Type,Standard Lieferant Typ
 Default Target Warehouse,Standard Ziel Warehouse
 Default Territory,Standard Territory
 Default Unit of Measure,Standard-Maßeinheit
 Default Valuation Method,Standard Valuation Method
 Default Value,Default Value
-Default Warehouse,النماذج الافتراضية
-Default Warehouse is mandatory for Stock Item.,النماذج الافتراضية هي إلزامية لالبند الأسهم.
-Default settings for Shopping Cart,الإعدادات الافتراضية لسلة التسوق
-"Default: ""Contact Us""",الافتراضي: &quot;اتصل بنا&quot;
+Default Warehouse,Standard Warehouse
+Default Warehouse is mandatory for Stock Item.,Standard Warehouse ist obligatorisch für Lagerware.
+Default settings for Shopping Cart,Standardeinstellungen für Einkaufswagen
+"Default: ""Contact Us""",Default: &quot;Kontaktieren Sie uns&quot;
 DefaultValue,DefaultValue
 Defaults,Defaults
 "Define Budget for this Cost Center. To set budget action, see <a href=""#!List/Company"">Company Master</a>","Definieren Budget für diese Kostenstelle. Um Budget Aktion finden Sie unter <a href=""#!List/Company""> Firma Master </ a>"
 Defines actions on states and the next step and allowed roles.,Definiert Aktionen auf Staaten und den nächsten Schritt und erlaubt Rollen.
 Defines workflow states and rules for a document.,Definiert Workflow-Status und Regeln für ein Dokument.
 Delete,Löschen
-Delete Row,حذف صف
+Delete Row,Zeile löschen
 Delivered,Lieferung
+Delivered Items To Be Billed,Liefergegenstände in Rechnung gestellt werden
 Delivered Qty,Geliefert Menge
 Delivery Address,Lieferanschrift
 Delivery Date,Liefertermin
@@ -803,10 +816,10 @@
 Delivery Note No,Lieferschein Nein
 Delivery Note Packing Item,Lieferschein Verpackung Artikel
 Delivery Note Required,Lieferschein erforderlich
-Delivery Note Trends,ملاحظة اتجاهات التسليم
+Delivery Note Trends,Lieferschein Trends
 Delivery Status,Lieferstatus
 Delivery Time,Lieferzeit
-Delivery To,التسليم إلى
+Delivery To,Liefern nach
 Department,Abteilung
 Depend on LWP,Verlassen Sie sich auf LWP
 Depends On,Depends On
@@ -814,22 +827,22 @@
 Descending,Absteigend
 Description,Beschreibung
 Description HTML,Beschreibung HTML
-"Description for listing page, in plain text, only a couple of lines. (max 140 characters)",وصف لصفحة القائمة، في نص عادي، فقط بضعة أسطر. (حد أقصى 140 حرف)
-Description for page header.,وصف لرأس الصفحة.
+"Description for listing page, in plain text, only a couple of lines. (max 140 characters)","Beschreibung für die Auflistung Seite, im Klartext, nur ein paar Zeilen. (Max 140 Zeichen)"
+Description for page header.,Beschreibung für Seitenkopf.
 Description of a Job Opening,Beschreibung eines Job Opening
 Designation,Bezeichnung
 Desktop,Desktop
 Detailed Breakup of the totals,Detaillierte Breakup der Gesamtsummen
 Details,Details
-Deutsch,الرغبات
+Deutsch,Deutsch
 Did not add.,Haben Sie nicht hinzuzufügen.
 Did not cancel,Haben Sie nicht abbrechen
 Did not save,Nicht speichern
 Difference,Unterschied
 "Different ""States"" this document can exist in. Like ""Open"", ""Pending Approval"" etc.","Different ""Staaten"" in diesem Dokument existieren kann in. Gefällt mir ""Open"", ""Pending Approval"" etc."
-Disable Customer Signup link in Login page,تعطيل الرابط اشترك العملاء في صفحة تسجيل الدخول
-Disable Rounded Total,تعطيل إجمالي مدور
-Disable Signup,تعطيل الاشتراك
+Disable Customer Signup link in Login page,Deaktivieren Kunde anmelden Link in Login-Seite
+Disable Rounded Total,Deaktivieren Abgerundete insgesamt
+Disable Signup,Deaktivieren Anmelden
 Disabled,Behindert
 Discount  %,Discount%
 Discount %,Discount%
@@ -841,7 +854,7 @@
 Display all the individual items delivered with the main items,Alle anzeigen die einzelnen Punkte mit den wichtigsten Liefergegenstände
 Distinct unit of an Item,Separate Einheit eines Elements
 Distribute transport overhead across items.,Verteilen Transport-Overhead auf Gegenstände.
-Distribution,التوزيع
+Distribution,Aufteilung
 Distribution Id,Verteilung Id
 Distribution Name,Namen der Distribution
 Distributor,Verteiler
@@ -863,22 +876,22 @@
 Document Type,Document Type
 Document is only editable by users of role,Dokument ist nur editierbar Nutzer Rolle
 Documentation,Dokumentation
-Documentation Generator Console,وثائق وحدة التحكم مولد
-Documentation Tool,أداة التوثيق
+Documentation Generator Console,Documentation Generator Console
+Documentation Tool,Documentation Tool
 Documents,Unterlagen
-Domain,مجال
+Domain,Domain
 Download Backup,Download von Backup
 Download Materials Required,Herunterladen benötigte Materialien
 Download Template,Vorlage herunterladen
 Download a report containing all raw materials with their latest inventory status,Laden Sie einen Bericht mit allen Rohstoffen mit ihren neuesten Inventar Status
-"Download the Template, fill appropriate data and attach the modified file.All dates and employee combination in the selected period will come in the template, with existing attendance records",تحميل قالب، وملء البيانات المناسبة وإرفاق تواريخ file.All تعديل والجمع بين الموظف في الفترة الزمنية المحددة وسوف يأتي في القالب، مع سجلات الحضور القائمة
+"Download the Template, fill appropriate data and attach the modified file.All dates and employee combination in the selected period will come in the template, with existing attendance records","Laden Sie die Vorlage, füllen entsprechenden Daten und befestigen Sie die modifizierte file.All Termine und Mitarbeiter Kombination in der gewählten Zeit wird in der Vorlage zu kommen, mit den bestehenden Anwesenheitslisten"
 Draft,Entwurf
 Drafts,Dame
 Drag to sort columns,Ziehen Sie Spalten sortieren
-Dropbox,المربع المنسدل
-Dropbox Access Allowed,دروببوإكس الدخول الأليفة
-Dropbox Access Key,دروببوإكس مفتاح الوصول
-Dropbox Access Secret,دروببوإكس الدخول السرية
+Dropbox,Dropbox
+Dropbox Access Allowed,Dropbox-Zugang erlaubt
+Dropbox Access Key,Dropbox Access Key
+Dropbox Access Secret,Dropbox Zugang Geheimnis
 Due Date,Due Date
 EMP/,EMP /
 ESIC CARD No,ESIC CARD Nein
@@ -909,27 +922,27 @@
 Email Signature,E-Mail Signatur
 Email Use SSL,E-Mail verwenden SSL
 "Email addresses, separted by commas",E-Mail-Adressen durch Komma separted
-Email ids separated by commas.,معرفات البريد الإلكتروني مفصولة بفواصل.
+Email ids separated by commas.,E-Mail-IDs durch Komma getrennt.
 "Email settings for jobs email id ""jobs@example.com""","E-Mail-Einstellungen für Jobs email id ""jobs@example.com"""
 "Email settings to extract Leads from sales email id e.g. ""sales@example.com""","E-Mail-Einstellungen zu extrahieren Leads aus dem Verkauf email id zB ""Sales@example.com"""
-Email...,البريد الإلكتروني ...
+Email...,E-Mail ...
 Embed image slideshows in website pages.,Einbetten Bild Diashows in Web-Seiten.
 Emergency Contact Details,Notfall Kontakt
 Emergency Phone Number,Notrufnummer
 Employee,Mitarbeiter
-Employee Birthday,عيد ميلاد موظف
+Employee Birthday,Angestellter Geburtstag
 Employee Designation.,Mitarbeiter Bezeichnung.
 Employee Details,Mitarbeiterdetails
 Employee Education,Mitarbeiterschulung
 Employee External Work History,Mitarbeiter Externe Arbeit Geschichte
-Employee Information,معلومات الموظف
+Employee Information,Employee Information
 Employee Internal Work History,Mitarbeiter Interner Arbeitsbereich Geschichte
 Employee Internal Work Historys,Mitarbeiter Interner Arbeitsbereich Historys
-Employee Leave Approver,الموظف إجازة الموافق
-Employee Leave Balance,الموظف اترك الرصيد
+Employee Leave Approver,Mitarbeiter Leave Approver
+Employee Leave Balance,Mitarbeiter Leave Bilanz
 Employee Name,Name des Mitarbeiters
 Employee Number,Mitarbeiternummer
-Employee Records to be created by ,Mitarbeiter Records erstellt werden
+Employee Records to be created by,Mitarbeiter Records erstellt werden
 Employee Setup,Mitarbeiter-Setup
 Employee Type,Arbeitnehmertyp
 Employee grades,Mitarbeiter-Typen
@@ -939,8 +952,8 @@
 Employees Email Id,Mitarbeiter Email Id
 Employment Details,Beschäftigung Einzelheiten
 Employment Type,Beschäftigungsart
-Enable Auto Inventory Accounting,تمكين المحاسبة الجرد السيارات
-Enable Shopping Cart,تمكين سلة التسوق
+Enable Auto Inventory Accounting,Enable Auto Vorratsbuchhaltung
+Enable Shopping Cart,Aktivieren Einkaufswagen
 Enabled,Aktiviert
 Enables <b>More Info.</b> in all documents,Ermöglicht <b> Mehr Info. </ B> in alle Dokumente
 Encashment Date,Inkasso Datum
@@ -951,7 +964,7 @@
 Enter Email Id to receive Error Report sent by users.E.g.: support@iwebnotes.com,Ihre Email-Id Fehler Bericht users.Eg geschickt bekommen: support@iwebnotes.com
 Enter Form Type,Geben Formulartyp
 Enter Row,Geben Row
-Enter Verification Code,أدخل رمز التحقق
+Enter Verification Code,Sicherheitscode eingeben
 Enter campaign name if the source of lead is campaign.,"Geben Sie Namen der Kampagne, wenn die Quelle von Blei-Kampagne."
 "Enter default value fields (keys) and values. If you add multiple values for a field, the first one will be picked. These defaults are also used to set ""match"" permission rules. To see list of fields, go to <a href=""#Form/Customize Form/Customize Form"">Customize Form</a>.","Geben Standardwert Felder (keys) und Werten. Wenn Sie mehrere Werte für ein Feld hinzufügen, wird die erste abgeholt werden. Diese Standardwerte werden auch verwendet, um ""match"" permission Regeln. Um eine Liste der Felder zu sehen, <a gehen href=""#Form/Customize Form/Customize Form""> Formular anpassen </ a>."
 Enter department to which this Contact belongs,"Geben Abteilung, auf die diese Kontakt gehört"
@@ -967,17 +980,23 @@
 Entries,Einträge
 Entries are not allowed against this Fiscal Year if the year is closed.,"Die Einträge sind nicht gegen diese Geschäftsjahr zulässig, wenn die Jahre geschlossen ist."
 Error,Fehler
-Error for,خطأ لل
-Error: Document has been modified after you have opened it,تم تعديل الوثيقة بعد أن كنت قد فتحه: خطأ
+Error for,Fehler für
+Error: Document has been modified after you have opened it,"Fehler: Dokument wurde geändert, nachdem Sie es geöffnet haben"
 Estimated Material Cost,Geschätzter Materialkalkulationen
 Event,Veranstaltung
+Event End must be after Start,Termin Ende muss nach Anfang sein
 Event Individuals,Event Personen
 Event Role,Event Rolle
 Event Roles,Event Rollen
 Event Type,Ereignistyp
 Event User,Ereignis Benutzer
-Everyone can read,يمكن أن يقرأها الجميع
-Example:,على سبيل المثال:
+Events In Today's Calendar,Events in der heutigen Kalender
+Every Day,Every Day
+Every Month,Jeden Monat
+Every Week,Jede Woche
+Every Year,Jährlich
+Everyone can read,Jeder kann lesen
+Example:,Beispiel:
 Exchange Rate,Wechselkurs
 Excise Page Number,Excise Page Number
 Excise Voucher,Excise Gutschein
@@ -991,7 +1010,7 @@
 Expected End Date,Erwartete Enddatum
 Expected Start Date,Frühestes Eintrittsdatum
 Expense Account,Expense Konto
-Expense Account is mandatory,حساب المصاريف إلزامي
+Expense Account is mandatory,Expense Konto ist obligatorisch
 Expense Claim,Expense Anspruch
 Expense Claim Approved,Expense Anspruch Genehmigt
 Expense Claim Approved Message,Expense Anspruch Genehmigt Nachricht
@@ -1004,10 +1023,10 @@
 Expense Details,Expense Einzelheiten
 Expense Head,Expense Leiter
 Expense account is mandatory for item: ,Expense Konto ist verpflichtend für Artikel:
-Expense/Adjustment Account,حساب المصاريف / تعديل
+Expense/Adjustment Account,Aufwand / Adjustment Konto
 Expenses Booked,Aufwand gebucht
-Expenses Included In Valuation,وشملت النفقات في التقييم
-Expenses booked for the digest period,نفقات حجزها لفترة هضم
+Expenses Included In Valuation,Aufwendungen enthalten In Bewertungstag
+Expenses booked for the digest period,Aufwendungen für den gebuchten Zeitraum Digest
 Expiry Date,Verfallsdatum
 Export,Exportieren
 Exports,Ausfuhr
@@ -1015,7 +1034,7 @@
 Extract Emails,Auszug Emails
 FCFS Rate,FCFS Rate
 FIFO,FIFO
-Facebook Share,الفيسبوك شارك
+Facebook Share,Facebook
 Failed: ,Failed:
 Family Background,Familiärer Hintergrund
 FavIcon,FavIcon
@@ -1034,19 +1053,19 @@
 Fieldname,Fieldname
 Fields,Felder
 "Fields separated by comma (,) will be included in the<br /><b>Search By</b> list of Search dialog box","Felder durch ein Komma (,) getrennt werden in der <br /> Suche aufgenommen werden </ b> Liste der Such-Dialogfeld"
-File,ملف
+File,Datei
 File Data,File Data
 File Name,File Name
-File Size,حجم الملف
+File Size,Dateigröße
 File URL,File URL
-File size exceeded the maximum allowed size,حجم الملف تجاوز الحجم الأقصى المسموح به
-Files Folder ID,ملفات ID المجلد
+File size exceeded the maximum allowed size,Dateigröße überschritten die maximal zulässige Größe
+Files Folder ID,Dateien Ordner-ID
 Filing in Additional Information about the Opportunity will help you analyze your data better.,"Die Einreichung in Weitere Informationen über die Möglichkeit wird Ihnen helfen, Ihre Daten analysieren besser."
 Filing in Additional Information about the Purchase Receipt will help you analyze your data better.,"Die Einreichung in Zusätzliche Informationen über den Kaufbeleg wird Ihnen helfen, Ihre Daten analysieren besser."
 Filling in Additional Information about the Delivery Note will help you analyze your data better.,"Ausfüllen Zusätzliche Informationen über den Lieferschein wird Ihnen helfen, Ihre Daten analysieren besser."
 Filling in additional information about the Quotation will help you analyze your data better.,"Ausfüllen zusätzliche Informationen über das Angebot wird Ihnen helfen, Ihre Daten analysieren besser."
 Filling in additional information about the Sales Order will help you analyze your data better.,"Ausfüllen zusätzliche Informationen über das Sales Order wird Ihnen helfen, Ihre Daten analysieren besser."
-Filter,تحديد
+Filter,Filtern
 Filter By Amount,Filtern nach Betrag
 Filter By Date,Nach Datum filtern
 Filter based on customer,Filtern basierend auf Kunden-
@@ -1060,13 +1079,13 @@
 Fixed Asset Account,Fixed Asset Konto
 Float,Schweben
 Float Precision,Gleitkommatgenauigkeit
-Follow via Email,متابعة عبر البريد الإلكتروني
-Following Journal Vouchers have been created automatically,تم إنشاؤها في أعقاب قسائم مجلة تلقائيا
+Follow via Email,Folgen Sie via E-Mail
+Following Journal Vouchers have been created automatically,Nach Journal Gutscheine wurden automatisch erstellt
 "Following table will show values if items are sub - contracted. These values will be fetched from the master of ""Bill of Materials"" of sub - contracted items.","Folgende Tabelle zeigt Werte, wenn Artikel sub sind - vergeben werden. Vertragsgegenständen - Diese Werte werden vom Meister der ""Bill of Materials"" von Sub geholt werden."
-Font (Heading),الخط (العنوان)
-Font (Text),الخط (نص)
-Font Size (Text),حجم الخط (نص)
-Fonts,الخطوط
+Font (Heading),Font (Überschrift)
+Font (Text),Font (Text)
+Font Size (Text),Schriftgröße (Text)
+Fonts,Fonts
 Footer,Fußzeile
 Footer Items,Footer Artikel
 For All Users,Für alle Benutzer
@@ -1077,9 +1096,10 @@
 "For Links, enter the DocType as rangeFor Select, enter list of Options separated by comma","Für Links, geben Sie die DocType als rangeFor Select, geben Liste der Optionen durch Komma getrennt"
 For Production,For Production
 For Reference Only.,Nur als Referenz.
-For Sales Invoice,لفاتورة المبيعات
-For Server Side Print Formats,لتنسيقات طباعة جانب الملقم
-For Territory,من أجل الأرض
+For Sales Invoice,Für Sales Invoice
+For Server Side Print Formats,Für Server Side Druckformate
+For Territory,Für Territory
+For UOM,Für Verpackung
 For Warehouse,Für Warehouse
 "For comparative filters, start with","Für vergleichende Filter, mit zu beginnen"
 "For e.g. 2012, 2012-13","Für z.B. 2012, 2012-13"
@@ -1089,39 +1109,39 @@
 For ranges,Für Bereiche
 For reference,Als Referenz
 For reference only.,Nur als Referenz.
-For row,لصف
+For row,Für Zeile
 "For the convenience of customers, these codes can be used in print formats like Invoices and Delivery Notes","Für die Bequemlichkeit der Kunden, können diese Codes in Druckformate wie Rechnungen und Lieferscheine werden"
 Form,Form
 Format: hh:mm example for one hour expiry set as 01:00. Max expiry will be 72 hours. Default is 24 hours,Format: hh: mm Beispiel für 1 Stunde Ablauf als 1.00 eingestellt. Max Ablauf wird 72 Stunden. Standardwert ist 24 Stunden
 Forum,Forum
 Fraction,Bruchteil
 Fraction Units,Fraction Units
-Freeze Stock Entries,تجميد مقالات المالية
+Freeze Stock Entries,Frieren Lager Einträge
 Friday,Freitag
-From,من
+From,Von
 From Company,Von Unternehmen
-From Currency,من العملات
-From Currency and To Currency cannot be same,من العملة لعملة ولا يمكن أن يكون نفس
+From Currency,Von Währung
+From Currency and To Currency cannot be same,Von Währung und To Währung dürfen nicht identisch sein
 From Customer,Von Kunden
 From Date,Von Datum
 From Date must be before To Date,Von Datum muss vor dem Laufenden bleiben
-From Delivery Note,من التسليم ملاحظة
+From Delivery Note,Von Lieferschein
 From Employee,Von Mitarbeiter
 From Lead,Von Blei
 From PR Date,Von PR Datum
 From Package No.,Von Package No
-From Purchase Order,من أمر الشراء
-From Purchase Receipt,من إيصال الشراء
-From Sales Order,من ترتيب المبيعات
-From Time,من وقت
-From Value,من القيمة
-From Value should be less than To Value,من القيمة يجب أن تكون أقل من أن القيمة
+From Purchase Order,Von Bestellung
+From Purchase Receipt,Von Kaufbeleg
+From Sales Order,Von Sales Order
+From Time,From Time
+From Value,Von Wert
+From Value should be less than To Value,Von Wert sollte weniger als To Value
 Frozen,Eingefroren
-Fulfilled,الوفاء
+Fulfilled,Erfüllte
 Full Name,Vollständiger Name
 Fully Completed,Vollständig ausgefüllte
 GL Entry,GL Eintrag
-GL Entry: Debit or Credit amount is mandatory for ,GL Eintrag: Debit-oder Kreditkarten Betrag ist obligatorisch für
+GL Entry: Debit or Credit amount is mandatory for ,GL Entry: Debit-oder Kreditkarten Betrag ist verpflichtend für
 GRN,GRN
 Gantt Chart,Gantt Chart
 Gantt chart of all tasks.,Gantt-Diagramm aller Aufgaben.
@@ -1135,7 +1155,7 @@
 "Generate packing slips for packages to be delivered. Used to notify package number, package contents and its weight.","Generieren Packzettel für Pakete geliefert werden. Verwendet, um Paket-Nummer, der Lieferumfang und sein Gewicht zu benachrichtigen."
 Generates HTML to include selected image in the description,Erzeugt HTML ausgewählte Bild sind in der Beschreibung
 Georgia,Georgia
-Get,الحصول على
+Get,Holen Sie sich
 Get Advances Paid,Holen Geleistete
 Get Advances Received,Holen Erhaltene Anzahlungen
 Get Current Stock,Holen Aktuelle Stock
@@ -1152,23 +1172,23 @@
 Get Terms and Conditions,Holen AGB
 Get Weekly Off Dates,Holen Weekly Off Dates
 "Get valuation rate and available stock at source/target warehouse on mentioned posting date-time. If serialized item, please press this button after entering serial nos.","Holen Bewertungskurs und verfügbaren Bestand an der Quelle / Ziel-Warehouse am genannten Buchungsdatum-Zeit. Wenn serialisierten Objekt, drücken Sie bitte diese Taste nach Eingabe der Seriennummern nos."
-Give additional details about the indent.,إعطاء تفاصيل إضافية حول المسافة البادئة.
+Give additional details about the indent.,Geben Sie weitere Details zu dem Gedankenstrich.
 Global Defaults,Globale Defaults
 Go back to home,Zurück nach Hause
 Go to Setup > <a href='#user-properties'>User Properties</a> to set \			'territory' for diffent Users.,"Gehe zu> <a Richten href='#user-properties'> User Properties </ a> \ Gebiet ""für diffent Benutzer eingestellt."""
 Goal,Ziel
 Goals,Ziele
 Goods received from Suppliers.,Wareneingang vom Lieferanten.
-Google Analytics ID,جوجل تحليلات ID
-Google Drive,محرك جوجل
-Google Drive Access Allowed,جوجل محرك الوصول الأليفة
-Google Plus One,جوجل زائد واحد
-Google Web Font (Heading),Google ويب الخط (العنوان)
-Google Web Font (Text),Google ويب الخط (نص)
+Google Analytics ID,Google Analytics ID
+Google Drive,Google Drive
+Google Drive Access Allowed,Google Drive Zugang erlaubt
+Google Plus One,Google Plus One
+Google Web Font (Heading),Google Web Font (Überschrift)
+Google Web Font (Text),Google Web Font (Text)
 Grade,Klasse
 Graduate,Absolvent
 Grand Total,Grand Total
-Grand Total (Company Currency),المجموع الكلي (العملات شركة)
+Grand Total (Company Currency),Grand Total (Gesellschaft Währung)
 Gratuity LIC ID,Gratuity LIC ID
 Gross Margin %,Gross Margin%
 Gross Margin Value,Gross Margin Wert
@@ -1182,6 +1202,7 @@
 Group or Ledger,Gruppe oder Ledger
 Groups,Gruppen
 HR,HR
+HR Settings,HR-Einstellungen
 HTML,HTML
 HTML / Banner that will show on the top of product list.,"HTML / Banner, die auf der Oberseite des Produkt-Liste zeigen."
 Half Day,Half Day
@@ -1192,20 +1213,21 @@
 Has Serial No,Hat Serial No
 Header,Kopfzeile
 Heading,Überschrift
-Heading Text As,عنوان النص
+Heading Text As,Unterwegs Text As
 Heads (or groups) against which Accounting Entries are made and balances are maintained.,"Heads (oder Gruppen), gegen die Accounting-Einträge und sind Guthaben gehalten werden."
 Health Concerns,Gesundheitliche Bedenken
 Health Details,Gesundheit Details
 Held On,Hielt
 Help,Hilfe
 Help HTML,Helfen Sie HTML
-"Help: To link to another record in the system, use ""#Form/Note/[Note Name]"" as the Link URL. (don't use ""http://"")",مساعدة: لربط إلى سجل آخر في النظام، استخدم &quot;# نموذج / ملاحظة / [اسم ملاحظة]&quot;، كما URL رابط. (لا تستخدم &quot;الإلكتروني http://&quot;)
+"Help: To link to another record in the system, use ""#Form/Note/[Note Name]"" as the Link URL. (don't use ""http://"")","Hilfe: Um zu einem anderen Datensatz im System zu verknüpfen, verwenden Sie &quot;# Form / Note / [Anmerkung Name]&quot;, wie der Link URL. (Verwenden Sie nicht &quot;http://&quot;)"
 Helvetica Neue,Helvetica Neue
 "Hence, maximum allowed Manufacturing Quantity",Daher maximal erlaubte Menge Fertigung
 "Here you can maintain family details like name and occupation of parent, spouse and children","Hier können Sie pflegen Familie Details wie Name und Beruf der Eltern, Ehepartner und Kinder"
 "Here you can maintain height, weight, allergies, medical concerns etc","Hier können Sie pflegen Größe, Gewicht, Allergien, medizinischen Bedenken etc"
 Hey there! You need to put at least one item in \				the item table.,Hey there! Sie müssen mindestens ein Element in \ dem Punkt Tisch zu legen.
-Hey! There should remain at least one System Manager,مهلا! هناك ينبغي أن تظل إدارة نظام واحد على الأقل
+Hey! All these items have already been invoiced.,Hey! Alle diese Elemente sind bereits in Rechnung gestellt.
+Hey! There should remain at least one System Manager,Hey! Es sollte mindestens eine System-Manager bleiben
 Hidden,Versteckt
 Hide Actions,Ausblenden Aktionen
 Hide Copy,Ausblenden kopieren
@@ -1216,7 +1238,7 @@
 Hide Toolbar,Symbolleiste ausblenden
 High,Hoch
 Highlight,Hervorheben
-History,تاريخ
+History,Geschichte
 History In Company,Geschichte Im Unternehmen
 Hold,Halten
 Holiday,Urlaub
@@ -1249,25 +1271,26 @@
 IN,IN
 INV,INV
 INV/10-11/,INV/10-11 /
-ITEM,البند
+ITEM,ITEM
 IV,IV
 Icon,Symbol
 Icon will appear on the button,Icon wird auf der Schaltfläche angezeigt
 Id of the profile will be the email.,Id des Profils wird die E-Mail.
 Identification of the package for the delivery (for print),Identifikation des Pakets für die Lieferung (für den Druck)
-If Income or Expense,إذا دخل أو مصروف
+If Income or Expense,Wenn Ertrags-oder Aufwandsposten
 If Monthly Budget Exceeded,Wenn Monthly Budget überschritten
 "If Sale BOM is defined, the actual BOM of the Pack is displayed as table.Available in Delivery Note and Sales Order","Wenn Sale Stücklisten definiert ist, wird die tatsächliche Stückliste des Pack als table.Available in Lieferschein und Sales Order angezeigt"
 "If Supplier Part Number exists for given Item, it gets stored here","Wenn der Lieferant Teilenummer existiert für bestimmte Artikel, wird es hier gespeichert"
 If Yearly Budget Exceeded,Wenn Jahresbudget überschritten
 "If a User does not have access at Level 0, then higher levels are meaningless","Wenn ein Benutzer keinen Zugriff auf Level 0, dann höheren Ebenen sind bedeutungslos"
 "If checked, BOM for sub-assembly items will be considered for getting raw materials. Otherwise, all sub-assembly items will be treated as a raw material.","Wenn aktiviert, wird Stückliste Baugruppe Artikel für immer Rohstoff betrachtet werden. Andernfalls werden alle Unterbaugruppe Elemente als Ausgangsmaterial behandelt werden."
+"If checked, Total no. of Working Days will include holidays, and this will reduce the value of Salary Per Day","Wenn aktiviert, insgesamt nicht. der Arbeitstage zählen Ferien, und dies wird den Wert der Gehalt pro Tag zu reduzieren"
 "If checked, all other workflows become inactive.","Wenn aktiviert, werden alle anderen Workflows inaktiv."
-"If checked, an email with an attached HTML format will be added to part of the EMail body as well as attachment. To only send as attachment, uncheck this.",إذا تم، ستضاف رسالة بالبريد الالكتروني مع تنسيق HTML المرفقة لجزء من الجسم البريد الإلكتروني، فضلا المرفق. لإرسال كمرفق فقط، قم بإلغاء تحديد هذا.
+"If checked, an email with an attached HTML format will be added to part of the EMail body as well as attachment. To only send as attachment, uncheck this.","Wenn aktiviert, wird eine E-Mail mit einer angehängten HTML-Format, einen Teil der EMail Körper sowie Anhang hinzugefügt werden. Um nur als Anhang zu senden, deaktivieren Sie diese."
 "If checked, the Home page will be the default Item Group for the website.","Wenn aktiviert, wird die Startseite der Standard Artikel-Gruppe für die Website."
 "If checked, the tax amount will be considered as already included in the Print Rate / Print Amount","Wenn aktiviert, wird der Steuerbetrag als bereits in der Print Rate / Print Menge aufgenommen werden"
-"If disable, 'Rounded Total' field will not be visible in any transaction",إذا تعطيل، &#39;مدور المشاركات &quot;سيتم الميدان لا تكون مرئية في أي صفقة
-"If enabled, the system will post accounting entries for inventory automatically.",إذا مكن، سيقوم النظام إضافة القيود المحاسبية للمخزون تلقائيا.
+"If disable, 'Rounded Total' field will not be visible in any transaction",Wenn deaktivieren &#39;Abgerundete Total&#39; Feld nicht in einer Transaktion sichtbar
+"If enabled, the system will post accounting entries for inventory automatically.","Wenn aktiviert, wird das System Buchungsposten für Inventar automatisch erstellen."
 "If image is selected, color will be ignored (attach first)","Wenn das Bild ausgewählt ist, wird die Farbe ignoriert (legen zuerst) werden"
 If more than one package of the same type (for print),Wenn mehr als ein Paket des gleichen Typs (print)
 If non standard port (e.g. 587),Wenn Nicht-Standard-Port (zum Beispiel 587)
@@ -1288,23 +1311,24 @@
 Ignore,Ignorieren
 Ignored: ,Ignoriert:
 Image,Bild
-Image Link,رابط الصورة
+Image Link,Link zum Bild
 Image View,Bild anzeigen
 Implementation Partner,Implementation Partner
 Import,Importieren
-Import Attendance,الحضور الاستيراد
+Import Attendance,Import Teilnahme
 Import Log,Import-Logbuch
 Important dates and commitments in your project life cycle,Wichtige Termine und Verpflichtungen in Ihrem Projekt-Lebenszyklus
 Imports,Imports
 In Dialog,Im Dialog
 In Filter,In Filter
-In Hours,في ساعات
+In Hours,In Stunden
 In List View,In Listenansicht
 In Process,In Process
 In Report Filter,Im Berichts-Filter
+In Row,In Row
 In Store,In Store
 In Words,In Worte
-In Words (Company Currency),في كلمات (عملة الشركة)
+In Words (Company Currency),In Words (Gesellschaft Währung)
 In Words (Export) will be visible once you save the Delivery Note.,"In Words (Export) werden sichtbar, sobald Sie den Lieferschein zu speichern."
 In Words will be visible once you save the Delivery Note.,"In Worte sichtbar sein wird, sobald Sie den Lieferschein zu speichern."
 In Words will be visible once you save the Purchase Invoice.,"In Worte sichtbar sein wird, wenn Sie den Kaufbeleg speichern."
@@ -1317,13 +1341,14 @@
 "In the Permission Manager, click on the button in the 'Condition' column for the Role you want to restrict.","In der Permission Manager, auf die Schaltfläche in der 'Bedingung' Spalte für die Rolle, die Sie einschränken möchten."
 Incentives,Incentives
 Incharge Name,InCharge Namen
-Income / Expense,الدخل / المصاريف
+Include holidays in Total no. of Working Days,Fügen Sie Urlaub in Summe nicht. der Arbeitstage
+Income / Expense,Erträge / Aufwendungen
 Income Account,Income Konto
-Income Booked,حجز الدخل
+Income Booked,Erträge gebucht
 Income Year to Date,Income Jahr bis Datum
-Income booked for the digest period,حجزت الدخل للفترة هضم
+Income booked for the digest period,Erträge gebucht für die Auszugsperiodeninformation
 Incoming,Eingehende
-Incoming / Support Mail Setting,واردة / دعم إعداد البريد
+Incoming / Support Mail Setting,Incoming / Support Mail Setting
 Incoming Rate,Incoming Rate
 Incoming Time,Eingehende Zeit
 Incoming quality inspection.,Eingehende Qualitätskontrolle.
@@ -1336,7 +1361,7 @@
 Info,Info
 Insert After,Einfügen nach
 Insert Code,Code einfügen
-Insert Row,إدراج صف
+Insert Row,Zeile einfügen
 Insert Style,Legen Stil
 Inspected By,Geprüft von
 Inspection Criteria,Prüfkriterien
@@ -1351,16 +1376,16 @@
 Installed Qty,Installierte Anzahl
 Instructions,Anleitung
 Int,Int
-Integrations,التكاملات
+Integrations,Integrations
 Interested,Interessiert
 Internal,Intern
 Introduce your company to the website visitor.,Präsentieren Sie Ihr Unternehmen auf der Website Besucher.
 Introduction,Einführung
 Introductory information for the Contact Us Page,Einführende Informationen für den Kontakt Seite
-Invalid Delivery Note. Delivery Note should exist and should be in 				draft state. Please rectify and try again.,غير صالح للمنازل ملاحظة. تسليم ملاحظة يجب أن تكون موجودة ويجب أن يكون في مشروع الدولة. يرجى تصحيح وحاول مرة أخرى.
-Invalid Email,البريد الإلكتروني غير صحيح
+Invalid Delivery Note. Delivery Note should exist and should be in 				draft state. Please rectify and try again.,Ungültige Lieferschein. Lieferschein sollte vorhanden sein und sollte im Entwurf Zustand sein. Bitte korrigieren und versuchen Sie es erneut.
+Invalid Email,Ungültige E-Mail
 Invalid Email Address,Ungültige E-Mail-Adresse
-Invalid Leave Approver,صالح ترك الموافق
+Invalid Leave Approver,Ungültige Lassen Approver
 Inventory,Inventar
 Inverse,Umgekehrt
 Invoice Date,Rechnungsdatum
@@ -1379,7 +1404,7 @@
 Is LWP,Ist LWP
 Is Mandatory Field,Ist Pflichtfeld
 Is Opening,Eröffnet
-Is Opening Entry,تم افتتاح الدخول
+Is Opening Entry,Öffnet Eintrag
 Is PL Account,Ist PL Konto
 Is POS,Ist POS
 Is Primary Contact,Ist Hauptansprechpartner
@@ -1397,16 +1422,16 @@
 Issue,Ausgabe
 Issue Date,Issue Date
 Issue Details,Issue Details
-Issued Items Against Production Order,الأصناف التي صدرت بحق أمر الإنتاج
-It is needed to fetch Item Details.,وهناك حاجة لجلب السلعة.
-It was raised because the (actual + ordered + indented - reserved) 						quantity reaches re-order level when the following record was created,تم رفعه لأن (الفعلي + + أمر بادئة - محفوظة) كمية تصل إلى مستوى إعادة الطلب عندما تم إنشاء السجل التالي
+Issued Items Against Production Order,Ausgestellt Titel Against Fertigungsauftrag
+It is needed to fetch Item Details.,"Es wird benötigt, um Einzelteil-Details zu holen."
+It was raised because the (actual + ordered + indented - reserved) 						quantity reaches re-order level when the following record was created,"Es wurde erhoben, weil die (tatsächliche + Bestellung + eingerückt - reserviert) Menge erreicht re-order-Ebene, wenn die folgenden Datensatz erstellt wurde"
 Item,Artikel
 Item Advanced,Erweiterte Artikel
 Item Barcode,Barcode Artikel
 Item Batch Nos,In Batch Artikel
 Item Classification,Artikel Klassifizierung
 Item Code,Item Code
-Item Code (item_code) is mandatory because Item naming is not sequential.,رمز المدينة (item_code) إلزامي لأن التسمية ليس مادة متسلسلة.
+Item Code (item_code) is mandatory because Item naming is not sequential.,"Item Code (item_code) ist zwingend erforderlich, da Artikel Nennung ist nicht sequentiell."
 Item Customer Detail,Artikel Kundenrezensionen
 Item Description,Artikelbeschreibung
 Item Desription,Artikel Desription
@@ -1416,7 +1441,7 @@
 Item Groups in Details,Details Gruppen in Artikel
 Item Image (if not slideshow),Item Image (wenn nicht Diashow)
 Item Name,Item Name
-Item Naming By,البند تسمية بواسطة
+Item Naming By,Artikel Benennen von
 Item Price,Artikel Preis
 Item Prices,Produkt Preise
 Item Quality Inspection Parameter,Qualitätsprüfung Artikel Parameter
@@ -1433,22 +1458,22 @@
 Item UOM,Artikel UOM
 Item Website Specification,Artikelbeschreibung Webseite
 Item Website Specifications,Artikel Spezifikationen Webseite
-Item Wise Tax Detail ,Artikel Wise UST Details
+Item Wise Tax Detail ,Artikel Wise MwSt. Details
 Item classification.,Artikel Klassifizierung.
 Item to be manufactured or repacked,Artikel hergestellt oder umgepackt werden
 Item will be saved by this name in the data base.,Einzelteil wird mit diesem Namen in der Datenbank gespeichert werden.
 "Item, Warranty, AMC (Annual Maintenance Contract) details will be automatically fetched when Serial Number is selected.","Artikel, Garantie, wird AMC (Annual Maintenance Contract) Details werden automatisch abgerufen Wenn Serial Number ausgewählt ist."
 Item-Wise Price List,Item-Wise Preisliste
-Item-wise Last Purchase Rate,البند الحكيم آخر سعر الشراء
-Item-wise Purchase History,البند الحكيم تاريخ الشراء
-Item-wise Purchase Register,البند من الحكمة الشراء تسجيل
-Item-wise Sales History,البند الحكيم تاريخ المبيعات
-Item-wise Sales Register,مبيعات البند الحكيم سجل
+Item-wise Last Purchase Rate,Artikel-wise Letzte Purchase Rate
+Item-wise Purchase History,Artikel-wise Kauf-Historie
+Item-wise Purchase Register,Artikel-wise Kauf Register
+Item-wise Sales History,Artikel-wise Vertrieb Geschichte
+Item-wise Sales Register,Artikel-wise Vertrieb Registrieren
 Items,Artikel
 "Items to be requested which are ""Out of Stock"" considering all warehouses based on projected qty and minimum order qty","Welche Gegenstände werden gebeten, sich ""Out of Stock"" unter Berücksichtigung aller Hallen auf projizierte minimale Bestellmenge und Menge der Basis"
 Items which do not exist in Item master can also be entered on customer's request,"Gegenstände, die nicht in Artikelstammdaten nicht existieren kann auch auf Wunsch des Kunden eingegeben werden"
 Itemwise Discount,Discount Itemwise
-Itemwise Recommended Reorder Level,يوصى به Itemwise إعادة ترتيب مستوى
+Itemwise Recommended Reorder Level,Itemwise Empfohlene Meldebestand
 JSON,JSON
 JV,JV
 Javascript,Javascript
@@ -1461,7 +1486,7 @@
 Jobs Email Settings,Jobs per E-Mail Einstellungen
 Journal Entries,Journal Entries
 Journal Entry,Journal Entry
-Journal Entry for inventory that is received but not yet invoiced,إدخال دفتر اليومية عن المخزون التي تم تلقيها حتى الآن ولكن ليس فواتير
+Journal Entry for inventory that is received but not yet invoiced,"Journal Entry für die Inventur, die empfangen, aber noch nicht in Rechnung gestellt"
 Journal Voucher,Journal Gutschein
 Journal Voucher Detail,Journal Voucher Detail
 Journal Voucher Detail No,In Journal Voucher Detail
@@ -1509,8 +1534,8 @@
 Leave Allocation Tool,Lassen Allocation-Tool
 Leave Application,Lassen Anwendung
 Leave Approver,Lassen Approver
-Leave Approver can be one of,ترك الموافق يمكن أن تكون واحدة من
-Leave Approvers,ترك الموافقون
+Leave Approver can be one of,Lassen Approver kann einen der
+Leave Approvers,Lassen genehmigende
 Leave Balance Before Application,Lassen Vor Saldo Anwendung
 Leave Block List,Lassen Block List
 Leave Block List Allow,Lassen Lassen Block List
@@ -1532,6 +1557,7 @@
 Leave blank if considered for all designations,"Freilassen, wenn für alle Bezeichnungen betrachtet"
 Leave blank if considered for all employee types,"Freilassen, wenn für alle Mitarbeiter Typen betrachtet"
 Leave blank if considered for all grades,"Freilassen, wenn für alle Typen gilt als"
+Leave blank if you have not decided the end date.,"Leer lassen, wenn Sie noch nicht entschieden haben, das Enddatum."
 Leave by,Lassen Sie von
 "Leave can be approved by users with Role, ""Leave Approver""","Kann von Benutzern mit Role zugelassen zu verlassen, ""Leave Approver"""
 Ledger,Hauptbuch
@@ -1545,26 +1571,26 @@
 Lft,Lft
 Link,Link
 Link to other pages in the side bar and next section,Link zu anderen Seiten in der Seitenleiste und im nächsten Abschnitt
-Linked In Share,ترتبط في حصة
+Linked In Share,Linked In Teilen
 Linked With,Verbunden mit
 List,Liste
 List items that form the package.,Diese Liste Artikel bilden das Paket.
 List of holidays.,Liste der Feiertage.
 List of patches executed,Liste der Patches ausgeführt
 List of records in which this document is linked,Welche Liste der Datensätze in diesem Dokument verknüpft ist
-List of users who can edit a particular Note,قائمة المستخدمين الذين يمكن تعديل معين ملاحظة
+List of users who can edit a particular Note,"Liste der Benutzer, die eine besondere Note bearbeiten können"
 List this Item in multiple groups on the website.,Liste Diesen Artikel in mehrere Gruppen auf der Website.
 Live Chat,Live-Chat
 Load Print View on opening of an existing form,Legen Druckansicht beim Öffnen eines vorhandenen Formulars
 Loading,Laden
 Loading Report,Loading
-Log,سجل
-"Log of Activities performed by users against Tasks that can be used for tracking time, billing.",تسجيل الدخول من الأنشطة التي يقوم بها المستخدمين من المهام التي يمكن استخدامها لتتبع الوقت، والفواتير.
+Log,Anmelden
+"Log of Activities performed by users against Tasks that can be used for tracking time, billing.","Protokoll der Aktivitäten von Nutzern gegen Aufgaben, die zur Zeiterfassung, Abrechnung verwendet werden können durchgeführt werden."
 Log of Scheduler Errors,Melden von Fehlern Scheduler
 Login After,Nach dem Login
 Login Before,Login vor
 Login Id,Login ID
-Logo,شعار
+Logo,Logo
 Logout,Ausloggen
 Long Text,Langtext
 Lost Reason,Verlorene Reason
@@ -1588,7 +1614,7 @@
 Maintenance Schedule,Wartungsplan
 Maintenance Schedule Detail,Wartungsplan Details
 Maintenance Schedule Item,Wartungsplan Artikel
-Maintenance Schedules,جداول الصيانة
+Maintenance Schedules,Wartungspläne
 Maintenance Status,Wartungsstatus
 Maintenance Time,Wartung Zeit
 Maintenance Type,Wartung Type
@@ -1597,14 +1623,14 @@
 Major/Optional Subjects,Major / Wahlfächer
 Make Bank Voucher,Machen Bankgutschein
 Make Difference Entry,Machen Difference Eintrag
-Make Time Log Batch,جعل الوقت الدفعة دخول
+Make Time Log Batch,Nehmen Sie sich Zeit Log Batch
 Make a new,Machen Sie einen neuen
 Make sure that the transactions you want to restrict have a Link field 'territory' that maps to a 'Territory' master.,"Stellen Sie sicher, dass die Transaktionen, die Sie möchten, um die Link-Feld zu beschränken ""Gebiet"" haben, dass die Karten auf den ""Territory"" Master."
 Male,Männlich
 Manage cost of operations,Verwalten Kosten der Operationen
-Manage exchange rates for currency conversion,إدارة سعر صرف العملة لتحويل العملات
+Manage exchange rates for currency conversion,Verwalten Wechselkurse für die Währungsumrechnung
 Mandatory,Verpflichtend
-"Mandatory if Stock Item is ""Yes"". Also the default warehouse where reserved quantity is set from Sales Order.",إلزامية إذا البند الأسهم هو &quot;نعم&quot;. أيضا المستودع الافتراضي حيث يتم تعيين الكمية المحجوزة من ترتيب المبيعات.
+"Mandatory if Stock Item is ""Yes"". Also the default warehouse where reserved quantity is set from Sales Order.","Obligatorisch, wenn Lager Artikel ist &quot;Ja&quot;. Auch die Standard-Lager, wo reservierte Menge von Sales Order eingestellt ist."
 Manufacture against Sales Order,Herstellung gegen Sales Order
 Manufacture/Repack,Herstellung / Repack
 Manufactured Qty,Hergestellt Menge
@@ -1634,23 +1660,23 @@
 Material Request Items,Material anfordern Artikel
 Material Request No,Material anfordern On
 Material Request Type,Material Request Type
-Material Request used to make this Stock Entry,طلب المواد المستخدمة لجعل هذا المقال الاوراق المالية
+Material Request used to make this Stock Entry,"Material anfordern verwendet, um dieses Lager Eintrag machen"
 Material Transfer,Material Transfer
 Materials,Materialien
 Materials Required (Exploded),Benötigte Materialien (Explosionszeichnung)
 Materials Requirement Planning (MRP),Materialien Requirement Planning (MRP)
-Max 500 rows only.,ماكس 500 الصفوف فقط.
+Max 500 rows only.,Max 500 Zeilen nur.
 Max Attachments,Max Attachments
 Max Days Leave Allowed,Max Leave Tage erlaubt
 Max Discount (%),Discount Max (%)
 "Meaning of Submit, Cancel, Amend","Bedeutung Absenden, Abbrechen, Amend"
 Medium,Medium
-"Menu items in the Top Bar. For setting the color of the Top Bar, go to <a href=""#Form/Style Settings"">Style Settings</a>","عناصر القائمة في الشريط العلوي. لتحديد لون الشريط العلوي، انتقل إلى <a href=""#Form/Style Settings"">إعدادات نمط</a>"
+"Menu items in the Top Bar. For setting the color of the Top Bar, go to <a href=""#Form/Style Settings"">Style Settings</a>","Menüpunkte in der oberen Leiste. Zum Einstellen der Farbe der Top Bar, zu gehen <a href=""#Form/Style Settings"">Style Einstellungen</a>"
 Merge,Verschmelzen
-Merge Into,الاندماج في
+Merge Into,Verschmelzen zu
 Merge Warehouses,Merge Warehouses
-Merging is only possible between Group-to-Group or 					Ledger-to-Ledger,دمج ممكن فقط بين مجموعة مجموعة إلى مجموعة أو ليدجر إلى ليدجر
-"Merging is only possible if following \					properties are same in both records.					Group or Ledger, Debit or Credit, Is PL Account",دمج غير ممكن إلا إذا عقب \ الخصائص هي نفسها في كل السجلات. مجموعة أو ليدجر، الخصم أو الائتمان، هل الحساب PL
+Merging is only possible between Group-to-Group or 					Ledger-to-Ledger,"Merging ist nur möglich, zwischen Gruppe-zu-Gruppe oder Ledger-to-Ledger"
+"Merging is only possible if following \					properties are same in both records.					Group or Ledger, Debit or Credit, Is PL Account","Merging ist nur möglich, wenn nach \ Eigenschaften sind in beiden Datensätzen gleich. Gruppen-oder Ledger, Debit-oder Kreditkarten, PL Konto"
 Message,Nachricht
 Message Parameter,Nachricht Parameter
 Message greater than 160 character will be splitted into multiple mesage,Größer als 160 Zeichen Nachricht in mehrere mesage aufgeteilt werden
@@ -1672,7 +1698,7 @@
 Mobile No,In Mobile
 Mobile No.,Handy Nr.
 Mode of Payment,Zahlungsweise
-Modern,حديث
+Modern,Moderne
 Modified Amount,Geändert Betrag
 Modified by,Geändert von
 Module,Modul
@@ -1682,8 +1708,8 @@
 Monday,Montag
 Month,Monat
 Monthly,Monatlich
-Monthly Attendance Sheet,ورقة الحضور الشهرية
-Monthly Salary Register,سجل الراتب الشهري
+Monthly Attendance Sheet,Monatliche Anwesenheitsliste
+Monthly Salary Register,Monatsgehalt Register
 Monthly salary statement.,Monatsgehalt Aussage.
 Monthly salary template.,Monatsgehalt Vorlage.
 More,Mehr
@@ -1696,34 +1722,35 @@
 Ms,Ms
 Multiple Item Prices,Mehrere Artikel Preise
 Mupltiple Item prices.,Artikel Mupltiple Preisen.
-Must have report permission to access this report.,يجب أن يكون لديك إذن للوصول إلى تقرير هذا التقرير.
-Must specify a Query to run,يجب تحديد استعلام لتشغيل
+Must be Whole Number,Muss ganze Zahl sein
+Must have report permission to access this report.,"Muss Bericht Erlaubnis, diesen Bericht zugreifen."
+Must specify a Query to run,Muss eine Abfrage angeben zu laufen
 My Settings,Meine Einstellungen
 NL-,NL-
 Name,Name
 Name Case,Name Gehäuse
-Name and Description,الاسم والوصف
-Name and Employee ID,الاسم والرقم الوظيفي
+Name and Description,Name und Beschreibung
+Name and Employee ID,Name und Employee ID
 Name as entered in Sales Partner master,Eingegebene Name in der Master-Vertriebspartner
-Name is required,مطلوب اسم
+Name is required,Name wird benötigt
 Name of organization from where lead has come,"Name der Organisation, wo Blei hat kommen"
 Name of person or organization that this address belongs to.,"Name der Person oder Organisation, dass diese Adresse gehört."
 Name of the Budget Distribution,Name der Verteilung Budget
-Name of the entity who has requested for the Material Request,اسم الكيان الذي المطلوبة لطلب المواد
+Name of the entity who has requested for the Material Request,"Name der Organisation, die für das Material-Anfrage angefordert hat"
 Naming,Benennung
 Naming Series,Benennen Series
-Naming Series mandatory,تسمية السلسلة إلزامية
-Negative balance is not allowed for account ,Negative Bilanz ist nicht für Konto erlaubt
+Naming Series mandatory,Benennen Series obligatorisch
+Negative balance is not allowed for account ,Negativer Saldo wird nicht für Konto erlaubt
 Net Pay,Net Pay
 Net Pay (in words) will be visible once you save the Salary Slip.,"Net Pay (in Worten) sichtbar sein wird, sobald Sie die Gehaltsabrechnung zu speichern."
 Net Total,Total Net
-Net Total (Company Currency),المجموع الصافي (عملة الشركة)
+Net Total (Company Currency),Net Total (Gesellschaft Währung)
 Net Weight,Nettogewicht
 Net Weight UOM,Nettogewicht UOM
 Net Weight of each Item,Nettogewicht der einzelnen Artikel
-Net pay can not be greater than 1/12th of Annual Cost To Company,صافي الأجر لا يمكن أن تكون أكبر من 1/12th من التكلفة السنوية للشركة
-Net pay can not be negative,صافي الأجر لا يمكن أن تكون سلبية
-Never,أبدا
+Net pay can not be greater than 1/12th of Annual Cost To Company,Net Pay kann nicht größer sein als 1:12 von jährlichen Kosten für Unternehmen
+Net pay can not be negative,Net Pay kann nicht negativ sein
+Never,Nie
 New,Neu
 New BOM,New BOM
 New Communications,New Communications
@@ -1750,7 +1777,7 @@
 Newsletter,Mitteilungsblatt
 Newsletter Content,Newsletter Inhalt
 Newsletter Status,Status Newsletter
-"Newsletters to contacts, leads.",النشرات الإخبارية إلى جهات الاتصال، ويؤدي.
+"Newsletters to contacts, leads.",Newsletters zu Kontakten führt.
 Next Communcation On,Weiter Communcation On
 Next Contact By,Von Next Kontakt
 Next Contact Date,Weiter Kontakt Datum
@@ -1759,32 +1786,32 @@
 Next actions,Nächste Veranstaltungen
 Next email will be sent on:,Weiter E-Mail wird gesendet:
 No,Auf
-"No Account found in csv file, 							May be company abbreviation is not correct",لم يتم العثور على ملف CSV في الحساب، قد يكون اختصار الشركة ليست تصحيح
+"No Account found in csv file, 							May be company abbreviation is not correct","Kein Konto in csv-Datei gefunden wird, kann sein Unternehmen Abkürzung ist nicht richtig"
 No Action,In Aktion
-No Communication tagged with this ,Keine Kommunikation mit diesem getaggt
+No Communication tagged with this ,In dieser Mitteilung getaggt mit
 No Copy,No Copy
-No Customer Accounts found. Customer Accounts are identified based on \			'Master Type' value in account record.,لم يتم العثور على حسابات العملاء. ويتم تحديد حسابات العملاء على أساس القيمة \ &#39;نوع الماجستير في سجل الحساب.
-No Item found with Barcode,البند رقم جدت مع الباركود
-No Items to Pack,أي عناصر لحزمة
-No Leave Approvers. Please assign 'Leave Approver' Role to atleast one user.,لا اترك الموافقون. يرجى تعيين &#39;اترك الموافق&#39; دور أتلست مستخدم واحد.
+No Customer Accounts found. Customer Accounts are identified based on \			'Master Type' value in account record.,Keine Kundenkonten gefunden. Kundenkonten werden basierend auf \ &#39;Master Type&#39; Wert in Kontodatensatz identifiziert.
+No Item found with Barcode,Kein Artikel mit Barcode gefunden
+No Items to Pack,Keine Einträge zu packen
+No Leave Approvers. Please assign 'Leave Approver' Role to atleast one user.,Kein genehmigende hinterlassen. Bitte weisen &#39;Leave Approver&#39; Rolle zu einem Benutzer atleast.
 No Permission,In Permission
-No Permission to ,Keine Berechtigung um
+No Permission to ,In der Erlaubnis zur
 No Permissions set for this criteria.,In die Berechtigungen für diese Kriterien.
-No Report Loaded. Please use query-report/[Report Name] to run a report.,أي تقرير المحملة. الرجاء استخدام استعلام تقرير / [اسم التقرير] لتشغيل التقرير.
-No Supplier Accounts found. Supplier Accounts are identified based on \			'Master Type' value in account record.,لم يتم العثور على مزود الحسابات. ويتم تحديد حسابات المورد على أساس القيمة \ &#39;نوع الماجستير في سجل الحساب.
+No Report Loaded. Please use query-report/[Report Name] to run a report.,"Nein Missbrauch geladen. Bitte verwenden query-Bericht / [Report Name], um einen Bericht auszuführen."
+No Supplier Accounts found. Supplier Accounts are identified based on \			'Master Type' value in account record.,Keine Lieferant Accounts gefunden. Lieferant Accounts basieren auf \ &#39;Master Type&#39; Wert in Kontodatensatz identifiziert.
 No User Properties found.,In der User Properties gefunden.
 No default BOM exists for item: ,Kein Standard BOM existiert für Artikel:
-No further records,لا توجد سجلات أخرى
+No further records,Keine weiteren Datensätze
 No of Requested SMS,Kein SMS Erwünschte
 No of Sent SMS,Kein SMS gesendet
 No of Visits,Anzahl der Besuche
-No one,لا احد
+No one,Keiner
 No permission to write / remove.,Keine Berechtigung zu schreiben / zu entfernen.
-No record found,العثور على أي سجل
+No record found,Kein Eintrag gefunden
 No records tagged.,In den Datensätzen markiert.
 No salary slip found for month: ,Kein Gehaltsabrechnung für den Monat gefunden:
 "No table is created for Single DocTypes, all values are stored in tabSingles as a tuple.","Auf dem Tisch wird für Single doctypes erstellt wurden, werden alle Werte in den tabSingles das Tupel gespeichert."
-None,لا شيء
+None,Keine
 None: End of Workflow,None: End of-Workflow
 Not,Nicht
 Not Active,Nicht aktiv
@@ -1794,18 +1821,18 @@
 Not Found,Nicht gefunden
 Not Linked to any record.,Nicht zu jedem Datensatz verknüpft.
 Not Permitted,Nicht zulässig
-Not allowed for: ,Nicht zugelassen:
+Not allowed for: ,Nicht erlaubt sind:
 Not enough permission to see links.,Nicht genügend Berechtigung Links zu sehen.
 Not in Use,Nicht im Einsatz
 Not interested,Kein Interesse
 Not linked,Nicht verbunden
-Note,لاحظ
-Note User,ملاحظة العضو
-Note is a free page where users can share documents / notes,ملاحظة عبارة عن صفحة الحرة حيث يمكن للمستخدمين تبادل الوثائق / ملاحظات
-"Note: Backups and files are not deleted from Dropbox, you will have to delete them manually.",ملاحظة: لا يتم حذف النسخ الاحتياطية والملفات من قطاف، وسوف تضطر إلى حذف عليها يدويا.
-"Note: Backups and files are not deleted from Google Drive, you will have to delete them manually.",ملاحظة: لا يتم حذف النسخ الاحتياطية والملفات من محرك جوجل، سيكون لديك لحذفها يدويا.
+Note,Hinweis
+Note User,Hinweis: User
+Note is a free page where users can share documents / notes,"Hinweis ist eine kostenlose Seite, wo Nutzer Dokumente / Notizen austauschen können"
+"Note: Backups and files are not deleted from Dropbox, you will have to delete them manually.","Hinweis: Backups und Dateien werden nicht von Dropbox gelöscht wird, müssen Sie sie manuell löschen."
+"Note: Backups and files are not deleted from Google Drive, you will have to delete them manually.","Hinweis: Backups und Dateien nicht von Google Drive gelöscht, müssen Sie sie manuell löschen."
 Note: Email will not be sent to disabled users,Hinweis: E-Mail wird nicht für behinderte Nutzer gesendet werden
-"Note: For best results, images must be of the same size and width must be greater than height.",ملاحظة: للحصول على أفضل النتائج، يجب أن تكون الصور من نفس الحجم والعرض يجب أن تكون أكبر من الارتفاع.
+"Note: For best results, images must be of the same size and width must be greater than height.","Hinweis: Für beste Ergebnisse, Bilder müssen die gleiche Größe und Breite muss größer sein als die Höhe."
 Note: Other permission rules may also apply,Hinweis: Weitere Regeln können die Erlaubnis auch gelten
 Note: You Can Manage Multiple Address or Contacts via Addresses & Contacts,Hinweis: Sie können mehrere Kontakte oder Adresse via Adressen & Kontakte verwalten
 Note: maximum attachment size = 1mb,Hinweis: Die maximale Größe von Anhängen = 1mb
@@ -1815,29 +1842,29 @@
 Notification Control,Meldungssteuervorrichtung
 Notification Email Address,Benachrichtigung per E-Mail-Adresse
 Notify By Email,Benachrichtigen Sie Per E-Mail
-Notify by Email on creation of automatic Material Request,إبلاغ عن طريق البريد الإلكتروني على خلق مادة التلقائي طلب
+Notify by Email on creation of automatic Material Request,Benachrichtigen Sie per E-Mail bei der Erstellung von automatischen Werkstoff anfordern
 Number Format,Number Format
 O+,Die +
 O-,O-
 OPPT,OPPT
-Office,مكتب
+Office,Geschäftsstelle
 Old Parent,Old Eltern
 On,Auf
 On Net Total,On Net Total
 On Previous Row Amount,Auf Previous Row Betrag
 On Previous Row Total,Auf Previous Row insgesamt
 "Once you have set this, the users will only be able access documents with that property.","Sobald Sie dies eingestellt haben, werden die Benutzer nur Zugriff auf Dokumente mit dieser Eigenschaft sein."
-Only Administrator allowed to create Query / Script Reports,المسؤول الوحيد المسموح به لإنشاء تقارير الاستعلام / سكربت
-Only Administrator can save a standard report. Please rename and save.,مسؤول فقط يمكن حفظ تقرير القياسية. الرجاء إعادة تسمية وحفظ.
+Only Administrator allowed to create Query / Script Reports,"Nur Administrator erlaubt, Query / Script Reports erstellen"
+Only Administrator can save a standard report. Please rename and save.,Nur Administrator können eine Standard-Bericht. Bitte benennen und zu speichern.
 Only Allow Edit For,Für nur erlauben bearbeiten
-Only Stock Items are allowed for Stock Entry,ويسمح فقط البنود المالية للدخول الاوراق المالية
+Only Stock Items are allowed for Stock Entry,Nur Lagerware für lizenzfreie Eintrag erlaubt
 Only System Manager can create / edit reports,Nur System-Manager können / Berichte bearbeiten
 Only leaf nodes are allowed in transaction,Nur Blattknoten in Transaktion zulässig
 Open,Öffnen
 Open Sans,Offene Sans
 Open Tickets,Open Tickets
 Opening Date,Eröffnungsdatum
-Opening Entry,فتح دخول
+Opening Entry,Öffnungszeiten Eintrag
 Opening Time,Öffnungszeit
 Opening for a Job.,Öffnung für den Job.
 Operating Cost,Betriebskosten
@@ -1861,21 +1888,21 @@
 Ordered Items To Be Delivered,Bestellte Artikel geliefert werden
 Ordered Quantity,Bestellte Menge
 Orders released for production.,Bestellungen für die Produktion freigegeben.
-Organization Profile,الملف الشخصي المنظمة
+Organization Profile,Organisation Profil
 Original Message,Original Message
 Other,Andere
 Other Details,Weitere Details
-Out,خارج
+Out,Heraus
 Out of AMC,Von AMC
 Out of Warranty,Außerhalb der Garantie
 Outgoing,Abgehend
 Outgoing Mail Server,Postausgangsserver
 Outgoing Mails,Ausgehende Mails
 Outstanding Amount,Ausstehenden Betrag
-Outstanding for Voucher ,Herausragend für Gutschein
+Outstanding for Voucher ,Hervorragend für Gutschein
 Over Heads,Über Heads
 Overhead,Oben
-Overlapping Conditions found between,وجدت الشروط المتداخلة بين
+Overlapping Conditions found between,Überschneidungen zwischen AGB gefunden
 Owned,Besitz
 PAN Number,PAN-Nummer
 PF No.,PF Nr.
@@ -1889,6 +1916,7 @@
 POP3 mail server (e.g. pop.gmail.com),POP3-Mail-Server (pop.gmail.com beispielsweise)
 POP3 server e.g. (pop.gmail.com),POP3-Server beispielsweise (pop.gmail.com)
 POS Setting,POS Setting
+POS View,POS anzeigen
 PR Detail,PR Detailansicht
 PRO,PRO
 PS,PS
@@ -1901,20 +1929,20 @@
 Packing Slip,Packzettel
 Packing Slip Item,Packzettel Artikel
 Packing Slip Items,Packzettel Artikel
-Packing Slip(s) Cancelled,التعبئة زلة (ق) ألغي
+Packing Slip(s) Cancelled,Verpackung Slip (s) Gelöscht
 Page,Seite
-Page Background,خلفية الصفحة
-Page Border,حد الصفحة
+Page Background,Seite Hintergrund
+Page Border,Seite Border
 Page Break,Seitenwechsel
 Page HTML,HTML-Seite
-Page Headings,عناوين الصفحة
-Page Links,الصفحة روابط
+Page Headings,Seite Rubriken
+Page Links,Diese Seite Links
 Page Name,Page Name
 Page Role,Seite Role
-Page Text,نص الصفحة
+Page Text,Seite Text
 Page content,Seiteninhalt
 Page not found,Seite nicht gefunden
-Page text and background is same color. Please change.,نص الصفحة والخلفية هي نفس اللون. الرجاء تغيير.
+Page text and background is same color. Please change.,Text und Hintergrund ist die gleiche Farbe. Bitte ändern.
 Page to show on the website,Seite auf der Webseite zeigen
 "Page url name (auto-generated) (add "".html"")","Seite url Namen (automatisch generierte) (zus. ""Html"")"
 Paid Amount,Gezahlten Betrag
@@ -1928,16 +1956,16 @@
 Parent Label,Eltern Etikett
 Parent Sales Person,Eltern Sales Person
 Parent Territory,Eltern Territory
-Parent is required.,مطلوب الأصل.
+Parent is required.,Elternteil erforderlich.
 Parenttype,ParentType
 Partially Completed,Teilweise abgeschlossen
 Participants,Die Teilnehmer
 Partly Billed,Teilweise Billed
 Partly Delivered,Teilweise Lieferung
-Partner,Partner
 Partner Target Detail,Partner Zieldetailbericht
 Partner Type,Partner Typ
-Partner's Website,موقع الشريك
+Partner's Website,Partner Website
+Passive,Passive
 Passport Number,Passnummer
 Password,Kennwort
 Password Expires in (days),Kennwort läuft ab in (Tage)
@@ -1946,36 +1974,37 @@
 Pay To / Recd From,Pay To / From RECD
 Payables,Verbindlichkeiten
 Payables Group,Verbindlichkeiten Gruppe
-Payment Collection With Ageing,كوكتيل الدفع مع شيخوخة
+Payment Collection With Ageing,Inkasso Mit Ageing
+Payment Days,Zahltage
 Payment Entries,Payment Einträge
 Payment Entry has been modified after you pulled it. 			Please pull it again.,"Payment Eintrag wurde geändert, nachdem Sie ihn gezogen. Bitte ziehen Sie es erneut."
-Payment Made With Ageing,دفع يجعل مع شيخوخة
+Payment Made With Ageing,Zahlung Mit Ageing Gemacht
 Payment Reconciliation,Payment Versöhnung
 Payment Terms,Zahlungsbedingungen
-Payment days,Payment Tag
 Payment to Invoice Matching Tool,Zahlung an Rechnung Matching-Tool
 Payment to Invoice Matching Tool Detail,Zahlung an Rechnung Matching Werkzeug-Detail
 Payments,Zahlungen
-Payments Made,المبالغ المدفوعة
-Payments Received,الدفعات المستلمة
-Payments made during the digest period,المبالغ المدفوعة خلال الفترة دايجست
-Payments received during the digest period,المبالغ التي وردت خلال الفترة دايجست
+Payments Made,Zahlungen
+Payments Received,Erhaltene Anzahlungen
+Payments made during the digest period,Zahlungen während der Auszugsperiodeninformation gemacht
+Payments received during the digest period,Einzahlungen während der Auszugsperiodeninformation
 Payroll Setup,Payroll-Setup
 Pending,Schwebend
 Pending Review,Bis Bewertung
-Pending SO Items For Purchase Request,العناصر المعلقة وذلك لطلب الشراء
+Pending SO Items For Purchase Request,Ausstehend SO Artikel zum Kauf anfordern
 Percent,Prozent
 Percent Complete,Percent Complete
 Percentage Allocation,Prozentuale Aufteilung
+Percentage Allocation should be equal to ,Prozentuale Aufteilung sollte gleich
 Percentage variation in quantity to be allowed while receiving or delivering this item.,Prozentuale Veränderung in der Menge zu dürfen während des Empfangs oder der Lieferung diesen Artikel werden.
-Percentage you are allowed to receive or deliver more against the quantity ordered. For example: If you have ordered 100 units. and your Allowance is 10% then you are allowed to receive 110 units.,النسبة المئوية يسمح لك لتلقي أو تقديم المزيد من ضد الكمية المطلوبة. على سبيل المثال: إذا كنت قد أمرت 100 وحدة. و10٪ ثم يسمح بدل الخاص بك لتلقي 110 وحدة.
+Percentage you are allowed to receive or deliver more against the quantity ordered. For example: If you have ordered 100 units. and your Allowance is 10% then you are allowed to receive 110 units.,"Prozentual Sie erlaubt zu empfangen oder zu liefern, mehr gegen die Menge bestellt werden. Zum Beispiel: Wenn Sie 100 Einheiten bestellt. und Ihre Allowance ist 10%, dann dürfen Sie 110 Einheiten erhalten."
 Performance appraisal.,Leistungsbeurteilung.
 Period Closing Voucher,Periodenverschiebung Gutschein
 Periodicity,Periodizität
 Perm Level,Perm Stufe
 Permanent Accommodation Type,Permanent Art der Unterkunft
 Permanent Address,Permanent Address
-Permission,إذن
+Permission,Permission
 Permission Level,Berechtigungsstufe
 Permission Levels,Berechtigungsstufen
 Permission Manager,Permission Manager
@@ -1989,7 +2018,7 @@
 Permissions translate to Users based on what Role they are assigned,"Berechtigungen für Benutzer auf, welche Rolle sie zugeordnet sind, basiert übersetzen"
 Person,Person
 Person To Be Contacted,Person kontaktiert werden
-Personal,الشخصية
+Personal,Persönliche
 Personal Details,Persönliche Details
 Personal Email,Persönliche E-Mail
 Phone,Telefon
@@ -1998,65 +2027,66 @@
 Pick Columns,Wählen Sie Spalten
 Pincode,Pincode
 Place of Issue,Ausstellungsort
-Plan for maintenance visits.,خطة للزيارات الصيانة.
+Plan for maintenance visits.,Plan für die Wartung Besuche.
 Planned Qty,Geplante Menge
 Planned Quantity,Geplante Menge
-Plant,مصنع
+Plant,Pflanze
 Please Enter Abbreviation or Short Name properly as it will be added as Suffix to all Account Heads.,Bitte geben Abkürzung oder das Kurzer Name enquiry.c es auf alle Suffix Konto Heads hinzugefügt werden.
-Please Update Stock UOM with the help of Stock UOM Replace Utility.,يرجى تحديث UOM الأسهم مع مساعدة من الأسهم UOM المرافق استبدال.
-Please attach a file first.,يرجى إرفاق ملف الأول.
-Please attach a file or set a URL,يرجى إرفاق ملف أو تعيين URL
+Please Update Stock UOM with the help of Stock UOM Replace Utility.,Bitte aktualisiere Lager Verpackung mit Hilfe von Auf UOM ersetzen Dienstprogramm.
+Please attach a file first.,Bitte fügen Sie eine Datei zuerst.
+Please attach a file or set a URL,Bitte fügen Sie eine Datei oder stellen Sie eine URL
 Please check,Bitte überprüfen Sie
-Please enter Default Unit of Measure,الرجاء إدخال حدة القياس الافتراضية
-Please enter Delivery Note No or Sales Invoice No to proceed,الرجاء إدخال التسليم ملاحظة لا أو فاتورة المبيعات لا للمضي قدما
-Please enter Expense Account,الرجاء إدخال حساب المصاريف
-Please enter Expense/Adjustment Account,الرجاء إدخال حساب المصاريف / تعديل
-Please enter Purchase Receipt No to proceed,الرجاء إدخال شراء الإيصال لا على المضي قدما
+Please enter Default Unit of Measure,Bitte geben Sie Standard Maßeinheit
+Please enter Delivery Note No or Sales Invoice No to proceed,"Bitte geben Sie Lieferschein oder No Sales Invoice Nein, um fortzufahren"
+Please enter Expense Account,Bitte geben Sie Expense Konto
+Please enter Expense/Adjustment Account,Bitte geben Sie Aufwand / Adjustment Konto
+Please enter Purchase Receipt No to proceed,"Bitte geben Kaufbeleg Nein, um fortzufahren"
 Please enter valid,Bitte geben Sie eine gültige
 Please enter valid ,Bitte geben Sie eine gültige
-Please install dropbox python module,الرجاء تثبيت قطاف بيثون وحدة
-Please make sure that there are no empty columns in the file.,يرجى التأكد من أنه لا توجد أعمدة فارغة في الملف.
-Please mention default value for ',يرجى ذكر القيمة الافتراضية ل&#39;
-Please refresh to get the latest document.,يرجى تحديث للحصول على أحدث وثيقة.
+Please install dropbox python module,Bitte installieren Sie Dropbox Python-Modul
+Please make sure that there are no empty columns in the file.,"Bitte stellen Sie sicher, dass es keine leeren Spalten in der Datei."
+Please mention default value for ',Bitte erwähnen Standardwert für &#39;
+Please reduce qty.,Bitte reduzieren Menge.
+Please refresh to get the latest document.,Bitte aktualisieren Sie das neueste Dokument zu erhalten.
 Please save the Newsletter before sending.,Bitte bewahren Sie den Newsletter vor dem Versenden.
-Please select Bank Account,الرجاء اختيار حساب البنك
+Please select Bank Account,Bitte wählen Sie Bank Account
 Please select Carry Forward if you also want to include previous fiscal year's balance leaves to this fiscal year,Bitte wählen Sie Carry Forward Auch wenn Sie zum vorherigen Geschäftsjahr die Blätter aufnehmen möchten zum Ausgleich in diesem Geschäftsjahr
-Please select Date on which you want to run the report,يرجى تحديد التاريخ الذي تريد تشغيل التقرير
-Please select Time Logs.,الرجاء اختيار التوقيت السجلات.
-Please select a,الرجاء تحديد
-Please select a csv file,يرجى تحديد ملف CSV
-Please select a file or url,يرجى تحديد ملف أو URL
-Please select a service item or change the order type to Sales.,يرجى تحديد عنصر الخدمة أو تغيير نوع النظام في المبيعات.
-Please select a sub-contracted item or do not sub-contract the transaction.,يرجى تحديد عنصر التعاقد من الباطن أو لا التعاقد من الباطن على الصفقة.
-Please select a valid csv file with data.,يرجى تحديد ملف CSV صالح مع البيانات.
-Please select month and year,الرجاء اختيار الشهر والسنة
-Please select the document type first,الرجاء اختيار نوع الوثيقة الأولى
+Please select Date on which you want to run the report,"Bitte wählen Sie Datum, an dem Sie den Bericht ausführen"
+Please select Time Logs.,Bitte wählen Sie Zeit Logs.
+Please select a,Bitte wählen Sie eine
+Please select a csv file,Bitte wählen Sie eine CSV-Datei
+Please select a file or url,Bitte wählen Sie eine Datei oder URL
+Please select a service item or change the order type to Sales.,"Bitte wählen Sie einen Dienst Artikel oder die Reihenfolge ändern, Typ Sales."
+Please select a sub-contracted item or do not sub-contract the transaction.,Bitte wählen Sie einen Artikel Unteraufträge vergeben werden oder nicht sub-contract die Transaktion.
+Please select a valid csv file with data.,Bitte wählen Sie eine gültige CSV-Datei mit Daten.
+Please select month and year,Bitte wählen Sie Monat und Jahr
+Please select the document type first,Bitte wählen Sie den Dokumententyp ersten
 Please select: ,Bitte wählen Sie:
-Please set Dropbox access keys in,الرجاء تعيين مفاتيح الوصول دروببوإكس في
-Please set Google Drive access keys in,يرجى تعيين مفاتيح الوصول إلى محرك جوجل في
-Please specify,يرجى تحديد
-Please specify Company,يرجى تحديد شركة
-Please specify Company to proceed,يرجى تحديد الشركة للمضي قدما
+Please set Dropbox access keys in,Bitte setzen Dropbox Access Keys in
+Please set Google Drive access keys in,Bitte setzen Google Drive Access Keys in
+Please specify,Bitte geben Sie
+Please specify Company,Bitte geben Unternehmen
+Please specify Company to proceed,"Bitte geben Sie Unternehmen, um fortzufahren"
 Please specify Default Currency in Company Master \			and Global Defaults,Bitte geben Sie Standardwährung in Company Master \ Global and Defaults
 Please specify a,Bitte geben Sie eine
-Please specify a Price List which is valid for Territory,الرجاء تحديد قائمة الأسعار التي هي صالحة للأراضي
+Please specify a Price List which is valid for Territory,Bitte geben Sie einen gültigen Preisliste für Territory ist
 Please specify a valid,Bitte geben Sie eine gültige
-Please specify a valid 'From Case No.',الرجاء تحديد صالح &#39;من القضية رقم&#39;
-Please specify currency in Company,يرجى تحديد العملة في شركة
+Please specify a valid 'From Case No.',Bitte geben Sie eine gültige &quot;Von Fall Nr. &#39;
+Please specify currency in Company,Bitte geben Sie die Währung in Unternehmen
 Point of Sale,Point of Sale
 Point-of-Sale Setting,Point-of-Sale-Einstellung
 Post Graduate,Post Graduate
 Post Topic,Beitrag Thema
-Postal,بريدي
+Postal,Postal
 Posting Date,Buchungsdatum
-Posting Date Time cannot be before,تاريخ النشر التوقيت لا يمكن أن يكون قبل
+Posting Date Time cannot be before,"Buchungsdatum Zeit kann nicht sein, bevor"
 Posting Time,Posting Zeit
-Posts,المشاركات
+Posts,Beiträge
 Potential Sales Deal,Sales Potential Deal
 Potential opportunities for selling.,Potenzielle Chancen für den Verkauf.
 "Precision for Float fields (quantities, discounts, percentages etc) only for display. Floats will still be calculated up to 6 decimals.","Präzision ist Float Felder (quantities, Rabatte, Prozente etc) nur zur Anzeige. Floats noch bis zu 6 Dezimalstellen berechnet werden."
-Preferred Billing Address,يفضل عنوان الفواتير
-Preferred Shipping Address,النقل البحري المفضل العنوان
+Preferred Billing Address,Bevorzugte Rechnungsadresse
+Preferred Shipping Address,Bevorzugte Lieferadresse
 Prefix,Präfix
 Present,Präsentieren
 Prevdoc DocType,Prevdoc DocType
@@ -2071,20 +2101,20 @@
 Price List Master,Meister Preisliste
 Price List Name,Preis Name
 Price List Rate,Preis List
-Price List Rate (Company Currency),قائمة الأسعار معدل (عملة الشركة)
+Price List Rate (Company Currency),Preisliste Rate (Gesellschaft Währung)
 Price Lists and Rates,Preislisten und Preise
 Primary,Primär
 Print Format,Drucken Format
-Print Format Style,طباعة شكل ستايل
-Print Format Type,طباعة نوع تنسيق
+Print Format Style,Druckformat Stil
+Print Format Type,Drucken Format Type
 Print Heading,Unterwegs drucken
 Print Hide,Drucken ausblenden
 Print Width,Druckbreite
 Print Without Amount,Drucken ohne Amount
-Print...,طباعة ...
+Print...,Drucken ...
 Priority,Priorität
 Private,Privat
-Proceed to Setup,المضي قدما في الإعداد
+Proceed to Setup,Gehen Sie auf Setup
 Process,Prozess
 Process Payroll,Payroll-Prozess
 Produced Quantity,Produziert Menge
@@ -2100,8 +2130,8 @@
 Profile,Profil
 Profile Defaults,Profil Defaults
 Profile Represents a User in the system.,Stellt ein Benutzerprofil im System.
-Profile of a Blogger,الملف الشخصي من مدون
-Profile of a blog writer.,الملف الشخصي للكاتب بلوق.
+Profile of a Blogger,Profil eines Blogger
+Profile of a blog writer.,Profil eines Blog-Schreiber.
 Project,Projekt
 Project Costing,Projektkalkulation
 Project Details,Project Details
@@ -2114,7 +2144,7 @@
 Project activity / task.,Projektaktivität / Aufgabe.
 Project master.,Projekt Meister.
 Project will get saved and will be searchable with project name given,Projekt wird gespeichert und erhalten werden durchsuchbare mit Projekt-Namen
-Project wise Stock Tracking,مشروع تتبع حركة الأسهم الحكمة
+Project wise Stock Tracking,Projekt weise Rohteilnachführung
 Projected Qty,Prognostizierte Anzahl
 Projects,Projekte
 Prompt for Email on Submission of,Eingabeaufforderung für E-Mail auf Vorlage von
@@ -2126,7 +2156,7 @@
 Provide email id registered in company,Bieten E-Mail-ID in Unternehmen registriert
 Public,Öffentlichkeit
 Published,Veröffentlicht
-Published On,نشرت يوم
+Published On,Veröffentlicht am
 Pull Emails from the Inbox and attach them as Communication records (for known contacts).,Ziehen Sie Emails aus dem Posteingang und bringen Sie die Kommunikation Them zeichnet (für bekannte Kontakte).
 Pull Payment Entries,Ziehen Sie Payment Einträge
 Pull items from Sales Order mentioned in the above table.,Ziehen Sie Elemente aus Sales Order in der obigen Tabelle erwähnt.
@@ -2139,12 +2169,12 @@
 Purchase Discounts,Kauf Rabatte
 Purchase Document No,Die Kaufdokument
 Purchase Document Type,Kauf Document Type
-Purchase In Transit,شراء في العبور
+Purchase In Transit,Erwerben In Transit
 Purchase Invoice,Kaufrechnung
 Purchase Invoice Advance,Advance Purchase Rechnung
 Purchase Invoice Advances,Kaufrechnung Advances
 Purchase Invoice Item,Kaufrechnung Artikel
-Purchase Invoice Trends,شراء اتجاهات الفاتورة
+Purchase Invoice Trends,Kauf Rechnung Trends
 Purchase Order,Auftragsbestätigung
 Purchase Order Date,Bestelldatum
 Purchase Order Item,Bestellposition
@@ -2152,11 +2182,11 @@
 Purchase Order Item Supplied,Bestellposition geliefert
 Purchase Order Items,Bestellpositionen
 Purchase Order Items Supplied,Bestellung Lieferumfang
-Purchase Order Items To Be Billed,أمر الشراء البنود لتكون وصفت
+Purchase Order Items To Be Billed,Bestellpositionen in Rechnung gestellt werden
 Purchase Order Items To Be Received,Bestellpositionen empfangen werden
 Purchase Order Message,Purchase Order Nachricht
 Purchase Order Required,Bestellung erforderlich
-Purchase Order Trends,شراء اتجاهات ترتيب
+Purchase Order Trends,Purchase Order Trends
 Purchase Order sent by customer,Bestellung durch den Kunden geschickt
 Purchase Orders given to Suppliers.,Bestellungen Angesichts zu Lieferanten.
 Purchase Receipt,Kaufbeleg
@@ -2167,15 +2197,15 @@
 Purchase Receipt Message,Kaufbeleg Nachricht
 Purchase Receipt No,Kaufbeleg
 Purchase Receipt Required,Kaufbeleg erforderlich
-Purchase Receipt Trends,شراء اتجاهات الإيصال
-Purchase Register,سجل شراء
+Purchase Receipt Trends,Kaufbeleg Trends
+Purchase Register,Erwerben Registrieren
 Purchase Return,Kauf zurückgeben
 Purchase Returned,Kehrte Kauf
 Purchase Taxes and Charges,Purchase Steuern und Abgaben
 Purchase Taxes and Charges Master,Steuern und Gebühren Meister Kauf
 Purpose,Zweck
-Purpose must be one of ,Zweck muss einer sein
-Python Module Name,بيثون اسم وحدة
+Purpose must be one of ,Zweck muss einer der
+Python Module Name,Python Module Name
 QA Inspection,QA Inspection
 QAI/11-12/,QAI/11-12 /
 QTN,QTN
@@ -2192,16 +2222,17 @@
 Quantity,Menge
 Quantity Requested for Purchase,Beantragten Menge für Kauf
 Quantity already manufactured,Bereits Menge hergestellt
-Quantity and Rate,كمية وقيم
-Quantity and Warehouse,الكمية والنماذج
+Quantity and Rate,Menge und Preis
+Quantity and Warehouse,Menge und Warehouse
+Quantity cannot be a fraction.,Menge kann nicht ein Bruchteil sein.
 Quantity of item obtained after manufacturing / repacking from given quantities of raw materials,Anzahl der Artikel nach der Herstellung / Umpacken vom Angesichts quantities von Rohstoffen Erhalten
-Quantity should be equal to Manufacturing Quantity. ,Menge sollte gleich zum Verarbeitenden Menge.
+Quantity should be equal to Manufacturing Quantity. ,Sollte gleich Menge Menge Manufacturing.
 Quarter,Quartal
 Quarterly,Vierteljährlich
 Query,Abfrage
 Query Options,Abfrageoptionen
 Query Report,Query Report
-Query must be a SELECT,يجب أن يكون الاستعلام SELECT
+Query must be a SELECT,Abfrage muss ein SELECT sein
 Quick Help for Setting Permissions,Schnelle Hilfe für Festlegen von Berechtigungen
 Quick Help for User Properties,Schnelle Hilfe für User Properties
 Quotation,Zitat
@@ -2213,8 +2244,8 @@
 Quotation Sent,Gesendete Quotation
 Quotation Series,Zitat Series
 Quotation To,Um Angebot
-Quotation Trend,تريند الاقتباس
-Quotations received from Suppliers.,الاقتباسات الواردة من الموردين.
+Quotation Trend,Zitat Trend
+Quotations received from Suppliers.,Zitate von Lieferanten erhalten.
 Quotes to Leads or Customers.,Zitate oder Leads zu Kunden.
 Raise Material Request,Heben Material anfordern
 Raise Material Request when stock reaches re-order level,"Heben Anfrage Material erreicht, wenn der Vorrat re-order-Ebene"
@@ -2225,9 +2256,9 @@
 Range,Reichweite
 Rate,Rate
 Rate ,Rate
-Rate (Company Currency),معدل (عملة الشركة)
+Rate (Company Currency),Rate (Gesellschaft Währung)
 Rate Of Materials Based On,Rate Of Materialien auf Basis von
-Rate and Amount,معدل والمبلغ
+Rate and Amount,Geschwindigkeit und Menge
 Rate at which Customer Currency is converted to customer's base currency,"Kunden Rate, mit der Währung wird nach Kundenwunsch Basiswährung umgerechnet"
 Rate at which Price list currency is converted to company's base currency,"Geschwindigkeit, mit der Währung der Preisliste zu Unternehmen der Basiswährung umgewandelt wird"
 Rate at which Price list currency is converted to customer's base currency,"Geschwindigkeit, mit der Währung der Preisliste des Kunden Basiswährung umgewandelt wird"
@@ -2235,7 +2266,7 @@
 Rate at which supplier's currency is converted to company's base currency,"Geschwindigkeit, mit der Lieferanten Währung Unternehmens Basiswährung umgewandelt wird"
 Rate at which this tax is applied,"Geschwindigkeit, mit der dieser Steuer an"
 Raw Material Item Code,Artikel Raw Material Code
-Raw Materials Supplied,المواد الخام الموردة
+Raw Materials Supplied,Rohstoffe verfügbar
 Raw Materials Supplied Cost,Kostengünstige Rohstoffe geliefert
 Re-Order Level,Re-Order Stufe
 Re-Order Qty,Re-Order Menge
@@ -2258,13 +2289,14 @@
 Reason for Leaving,Grund für das Verlassen
 Reason for Resignation,Grund zur Resignation
 Recd Quantity,Menge RECD
-Receivable / Payable account will be identified based on the field Master Type,وسوف يتم تحديد حساب القبض / الدفع على أساس نوع ماستر الميدان
+Receivable / Payable account will be identified based on the field Master Type,Forderungen / Verbindlichkeiten Konto wird basierend auf dem Feld Meister Typ identifiziert werden
 Receivables,Forderungen
-Receivables / Payables,الذمم المدينة / الدائنة
+Receivables / Payables,Forderungen / Verbindlichkeiten
 Receivables Group,Forderungen Gruppe
 Received Date,Datum empfangen
+Received Items To Be Billed,Empfangene Nachrichten in Rechnung gestellt werden
 Received Qty,Erhaltene Menge
-Received and Accepted,تلقت ومقبول
+Received and Accepted,Erhalten und angenommen
 Receiver List,Receiver Liste
 Receiver Parameter,Empfänger Parameter
 Recipient,Empfänger
@@ -2272,12 +2304,12 @@
 Reconciliation Data,Datenabgleich
 Reconciliation HTML,HTML Versöhnung
 Reconciliation JSON,Überleitung JSON
-Record item movement.,تسجيل حركة البند.
+Record item movement.,Notieren Sie Artikel Bewegung.
 Recurring Id,Wiederkehrende Id
 Recurring Invoice,Wiederkehrende Rechnung
 Recurring Type,Wiederkehrende Typ
 Ref Code,Ref Code
-Ref Date is Mandatory if Ref Number is specified,المرجع التسجيل إلزامي إذا تم تحديد المرجع رقم
+Ref Date is Mandatory if Ref Number is specified,"Ref Datum ist obligatorisch, wenn Ref-Nummer angegeben ist"
 Ref DocType,Ref DocType
 Ref Name,Ref Namen
 Ref Rate,Ref Rate
@@ -2289,9 +2321,9 @@
 Reference Number,Reference Number
 Reference Type,Referenztyp
 Refresh,Erfrischen
-Registered but disabled.,سجل لكن تعطيل.
+Registered but disabled.,"Registriert, aber deaktiviert."
 Registration Details,Registrierung Details
-Registration Details Emailed.,تفاصيل التسجيل عبر البريد الالكتروني.
+Registration Details Emailed.,Details zur Anmeldung zugeschickt.
 Registration Info,Registrierung Info
 Rejected,Abgelehnt
 Rejected Quantity,Abgelehnt Menge
@@ -2303,22 +2335,25 @@
 Remark,Bemerkung
 Remarks,Bemerkungen
 Remove Bookmark,Lesezeichen entfernen
-Rename Log,إعادة تسمية الدخول
+Rename Log,Benennen Anmelden
 Rename Tool,Umbenennen-Tool
-Rename...,إعادة تسمية ...
+Rename...,Benennen Sie ...
 Rented,Gemietet
+Repeat On,Wiederholen On
+Repeat Till,Wiederholen Bis
 Repeat on Day of Month,Wiederholen Sie auf Tag des Monats
+Repeat this Event,Wiederholen Sie diesen Termin
 Replace,Ersetzen
 Replace Item / BOM in all BOMs,Ersetzen Item / BOM in allen Stücklisten
 "Replace a particular BOM in all other BOMs where it is used. It will replace the old BOM link, update cost and regenerate ""BOM Explosion Item"" table as per new BOM","Ersetzen Sie die insbesondere gut in allen anderen Stücklisten, wo sie verwendet wird. Es wird die alte BOM Link zu ersetzen, aktualisieren kosten und regenerieren ""Explosion Stücklistenposition"" Tabelle pro neuen GOOD"
 Replied,Beantwortet
 Report,Bericht
-Report Builder,تقرير منشئ
-Report Builder reports are managed directly by the report builder. Nothing to do.,تدار تقارير منشئ التقرير مباشرة بواسطة منشئ التقرير. لا شيء للقيام به.
+Report Builder,Report Builder
+Report Builder reports are managed directly by the report builder. Nothing to do.,Report Builder-Berichte werden direkt vom Report Builder verwaltet. Nichts zu tun.
 Report Date,Report Date
 Report Hide,Ausblenden Bericht
 Report Name,Report Name
-Report Type,نوع التقرير
+Report Type,Melden Typ
 Report was not saved (there were errors),Bericht wurde nicht gespeichert (es gab Fehler)
 Reports,Reports
 Reports to,Berichte an
@@ -2329,9 +2364,9 @@
 Request for Information,Request for Information
 Request for purchase.,Ankaufsgesuch.
 Requested By,Angefordert von
-Requested Items To Be Ordered,البنود المطلوبة إلى أن يؤمر
-Requested Items To Be Transferred,العناصر المطلوبة على أن يتم تحويلها
-Requests for items.,طلبات البنود.
+Requested Items To Be Ordered,Erwünschte Artikel bestellt werden
+Requested Items To Be Transferred,Erwünschte Objekte übertragen werden
+Requests for items.,Anfragen für Einzelteile.
 Required By,Erforderliche By
 Required Date,Erforderlich Datum
 Required Qty,Erwünschte Stückzahl
@@ -2348,30 +2383,30 @@
 Restrict IP,Beschränken IP
 Restrict user from this IP address only. Multiple IP addresses can be added by separating with commas. Also accepts partial IP addresses like (111.111.111),Beschränken Sie Benutzer aus dieser IP-Adresse nur. Mehrere IP-Adressen können durch Trennung mit einem Komma hinzugefügt werden. Nimmt auch Teil einer IP-Adressen wie (111.111.111)
 Restricting By User,Durch Einschränken von Benutzerrechten
-Retail,بيع بالتجزئة
+Retail,Einzelhandel
 Retailer,Einzelhändler
 Review Date,Bewerten Datum
 Rgt,Rgt
 Right,Rechts
 Role,Rolle
-Role Allowed to edit frozen stock,دور الأليفة لتحرير الأسهم المجمدة
+Role Allowed to edit frozen stock,Rolle erlaubt den gefrorenen bearbeiten
 Role Name,Rolle Name
-Role that is allowed to submit transactions that exceed credit limits set.,الدور الذي يسمح بتقديم المعاملات التي تتجاوز حدود الائتمان تعيين.
+Role that is allowed to submit transactions that exceed credit limits set.,"Rolle, die erlaubt, Transaktionen, die Kreditlimiten gesetzt überschreiten vorlegen wird."
 Roles,Rollen
 Roles Assigned,Assigned Roles
 Roles Assigned To User,Zugewiesenen Rollen Benutzer
 Roles HTML,Rollen HTML
 Root ,Wurzel
-Root cannot have a parent cost center,الجذر لا يمكن أن يكون مركز تكلفة الأصل
+Root cannot have a parent cost center,Wurzel kann kein übergeordnetes Kostenstelle
 Rounded Total,Abgerundete insgesamt
-Rounded Total (Company Currency),المشاركات تقريب (العملة الشركة)
+Rounded Total (Company Currency),Abgerundete Total (Gesellschaft Währung)
 Row,Reihe
 Row ,Reihe
 Row #,Zeile #
 Row # ,Zeile #
 Rules defining transition of state in the workflow.,Regeln definieren Zustandsübergang im Workflow.
 "Rules for how states are transitions, like next state and which role is allowed to change state etc.","Regeln für die Staaten sind Übergänge, wie neben Staat und welche Rolle darf Staates usw. ändern"
-Rules to calculate shipping amount for a sale,قواعد لحساب كمية الشحن لبيع
+Rules to calculate shipping amount for a sale,Regeln zum Versand Betrag für einen Verkauf berechnen
 SLE Exists,SLE Exists
 SMS,SMS
 SMS Center,SMS Center
@@ -2419,10 +2454,10 @@
 Sales Invoice,Sales Invoice
 Sales Invoice Advance,Sales Invoice Geleistete
 Sales Invoice Item,Sales Invoice Artikel
-Sales Invoice Items,فاتورة مبيعات وحدات
+Sales Invoice Items,Sales Invoice Artikel
 Sales Invoice Message,Sales Invoice Nachricht
 Sales Invoice No,Sales Invoice In
-Sales Invoice Trends,اتجاهات فاتورة المبيعات
+Sales Invoice Trends,Sales Invoice Trends
 Sales Order,Sales Order
 Sales Order Date,Sales Order Datum
 Sales Order Item,Auftragsposition
@@ -2430,19 +2465,19 @@
 Sales Order Message,Sales Order Nachricht
 Sales Order No,In Sales Order
 Sales Order Required,Sales Order erforderlich
-Sales Order Trend,ترتيب مبيعات تريند
+Sales Order Trend,Sales Order Trend
 Sales Partner,Vertriebspartner
 Sales Partner Name,Sales Partner Name
 Sales Partner Target,Partner Sales Target
-Sales Partners Commission,مبيعات اللجنة الشركاء
+Sales Partners Commission,Vertriebspartner Kommission
 Sales Person,Sales Person
-Sales Person Incharge,شخص المبيعات Incharge
+Sales Person Incharge,Sales Person Incharge
 Sales Person Name,Sales Person Vorname
-Sales Person Target Variance (Item Group-Wise),مبيعات الشخص المستهدف الفرق (البند المجموعة الحكيم)
+Sales Person Target Variance (Item Group-Wise),Sales Person Ziel Variance (Artikel-Nr. Gruppe-Wise)
 Sales Person Targets,Sales Person Targets
-Sales Person-wise Transaction Summary,الشخص الحكيم مبيعات ملخص عملية
+Sales Person-wise Transaction Summary,Sales Person-wise Transaction Zusammenfassung
 Sales Rate,Vertrieb bewerten
-Sales Register,سجل مبيعات
+Sales Register,Verkäufe registrieren
 Sales Return,Umsatzrendite
 Sales Taxes and Charges,Vertrieb Steuern und Abgaben
 Sales Taxes and Charges Master,Vertrieb Steuern und Abgaben Meister
@@ -2455,13 +2490,13 @@
 Sales taxes template.,Umsatzsteuer-Vorlage.
 Sales territories.,Vertriebsgebieten.
 Salutation,Gruß
-Same file has already been attached to the record,وقد تم بالفعل تعلق نفس الملف إلى السجل
+Same file has already been attached to the record,Gleiche Datei bereits auf den Rekordwert angebracht
 Sample Size,Stichprobenumfang
 Sanctioned Amount,Sanktioniert Betrag
 Saturday,Samstag
 Save,Sparen
 Schedule,Planen
-Schedule Details,جدول تفاصيل
+Schedule Details,Termine Details
 Scheduled,Geplant
 Scheduled Confirmation Date,Voraussichtlicher Bestätigung
 Scheduled Date,Voraussichtlicher
@@ -2471,7 +2506,7 @@
 Score Earned,Ergebnis Bekommen
 Scrap %,Scrap%
 Script,Skript
-Script Report,تقرير النصي
+Script Report,Script melden
 Script Type,Script Type
 Script to attach to all web pages.,Script auf alle Webseiten zu befestigen.
 Search,Suchen
@@ -2479,7 +2514,7 @@
 Seasonality for setting budgets.,Saisonalität setzt Budgets.
 Section Break,Section Break
 Security Settings,Security Settings
-"See ""Rate Of Materials Based On"" in Costing Section",انظر &quot;نسبة المواد على أساس&quot; التكلفة في القسم
+"See ""Rate Of Materials Based On"" in Costing Section",Siehe &quot;Rate Of Materials Based On&quot; in der Kalkulation Abschnitt
 Select,Wählen
 "Select ""Yes"" for sub - contracting items","Wählen Sie ""Ja"" für - Zulieferer Artikel"
 "Select ""Yes"" if this item is to be sent to a customer or received from a supplier as a sample. Delivery notes and Purchase Receipts will update stock levels but there will be no invoice against this item.","Wählen Sie ""Ja"", wenn dieser Punkt ist es, an den Kunden gesendet oder empfangen werden vom Lieferanten auf die Probe. Lieferscheine und Kaufbelege werden aktualisiert Lagerbestände, aber es wird auf der Rechnung vor diesem Element sein."
@@ -2504,17 +2539,17 @@
 Select Sales Orders,Wählen Sie Kundenaufträge
 Select Sales Orders from which you want to create Production Orders.,Wählen Sie Aufträge aus der Sie Fertigungsaufträge erstellen.
 Select Terms and Conditions,Wählen AGB
-Select Time Logs and Submit to create a new Sales Invoice.,حدد وقت السجلات وتقديمها إلى إنشاء فاتورة مبيعات جديدة.
+Select Time Logs and Submit to create a new Sales Invoice.,"Wählen Sie Zeit Logs und abschicken, um einen neuen Sales Invoice erstellen."
 Select Transaction,Wählen Sie Transaction
 Select Type,Typ wählen
 Select User or Property to start.,Wählen Sie Benutzer-oder Property zu starten.
-Select a Banner Image first.,تحديد صورة بانر الأول.
+Select a Banner Image first.,Wählen Sie ein Banner Bild zuerst.
 Select account head of the bank where cheque was deposited.,"Wählen Sie den Kopf des Bankkontos, wo Kontrolle abgelagert wurde."
-Select an image of approx width 150px with a transparent background for best results.,اختر صورة من تقريبا عرض 150px مع خلفية شفافة للحصول على أفضل النتائج.
+Select an image of approx width 150px with a transparent background for best results.,Wählen Sie ein Bild von ca. 150px Breite mit einem transparenten Hintergrund für beste Ergebnisse.
 Select company name first.,Wählen Firmennamen erste.
-Select dates to create a new ,"Wählen Sie ihre Reisedaten, um eine neue zu erstellen"
+Select dates to create a new ,"Wählen Sie ihre Reisedaten, um eine neue"
 Select name of Customer to whom project belongs,"Wählen Sie den Namen des Kunden, dem gehört Projekts"
-Select or drag across time slots to create a new event.,حدد أو اسحب عبر فتحات الوقت لإنشاء حدث جديد.
+Select or drag across time slots to create a new event.,Wählen oder ziehen in Zeitfenstern um ein neues Ereignis zu erstellen.
 Select template from which you want to get the Goals,"Wählen Sie aus, welche Vorlage Sie die Ziele erhalten möchten"
 Select the Employee for whom you are creating the Appraisal.,"Wählen Sie den Mitarbeiter, für den Sie erstellen Appraisal."
 Select the currency in which price list is maintained,"Wählen Sie die Währung, in der Preisliste wird beibehalten"
@@ -2530,18 +2565,19 @@
 "Selecting ""Yes"" will allow you to make a Production Order for this item.","Wählen Sie ""Ja"" ermöglicht es Ihnen, einen Fertigungsauftrag für diesen Artikel machen."
 "Selecting ""Yes"" will give a unique identity to each entity of this item which can be viewed in the Serial No master.","Wählen Sie ""Ja"" wird eine einzigartige Identität zu jeder Einheit dieses Artikels, die in der Serial No Master eingesehen werden kann geben."
 Selling,Verkauf
-Selling Settings,بيع إعدادات
+Selling Settings,Verkauf Einstellungen
 Send,Senden
 Send Autoreply,Senden Autoreply
 Send Email,E-Mail senden
 Send From,Senden Von
 Send Invite Email,Senden Sie E-Mail einladen
 Send Me A Copy,Senden Sie mir eine Kopie
-Send Notifications To,إرسال إشعارات إلى
-Send Print in Body and Attachment,إرسال طباعة في الجسم والتعلق
+Send Notifications To,Benachrichtigungen an
+Send Print in Body and Attachment,Senden Drucker in Körper und Anhang
 Send SMS,Senden Sie eine SMS
 Send To,Send To
 Send To Type,Send To Geben
+Send an email reminder in the morning,Senden Sie eine E-Mail-Erinnerung in den Morgen
 Send automatic emails to Contacts on Submitting transactions.,Senden Sie automatische E-Mails an Kontakte auf Einreichen Transaktionen.
 Send mass SMS to your contacts,Senden Sie Massen-SMS an Ihre Kontakte
 Send regular summary reports via Email.,Senden regelmäßige zusammenfassende Berichte per E-Mail.
@@ -2563,13 +2599,12 @@
 Series List for this Transaction,Serien-Liste für diese Transaktion
 Server,Server
 Service Address,Service Adresse
-Services,الخدمات
+Services,Dienstleistungen
 Session Expired. Logging you out,Session abgelaufen. Sie werden abgemeldet
 Session Expires in (time),Läuft in Session (Zeit)
 Session Expiry,Session Verfall
 Session Expiry in Hours e.g. 06:00,Session Verfall z. B. in Stunden 06.00
-Set Banner from Image,تعيين راية من الصورة
-Set From Image,Set Von Image
+Set Banner from Image,Set Banner von Image
 Set Item Group-wise budgets on this Territory. You can also include seasonality by setting the Distribution.,"Set Artikel gruppenweise Budgets auf diesem Gebiet. Sie können Saisonalität auch gehören, indem Sie die Distribution."
 Set Login and Password if authentication is required.,"Stellen Sie Login und Passwort, wenn eine Authentifizierung erforderlich ist."
 Set New Password,Set New Password
@@ -2580,51 +2615,51 @@
 "Set your background color, font and image (tiled)","Stellen Sie Ihre Hintergrundfarbe, Schrift und Bild (Kachel)"
 "Set your outgoing mail SMTP settings here. All system generated notifications, emails will go from this mail server. If you are not sure, leave this blank to use ERPNext servers (emails will still be sent from your email id) or contact your email provider.","Stellen Sie Ihre ausgehende Mail SMTP-Einstellungen hier. Alle System generierten Meldungen werden E-Mails von diesen Mail-Server gehen. Wenn Sie sich nicht sicher sind, lassen Sie dieses Feld leer, um ERPNext Server (E-Mails werden immer noch von Ihrer E-Mail-ID gesendet werden) verwenden oder kontaktieren Sie Ihren E-Mail-Provider."
 Setting Account Type helps in selecting this Account in transactions.,Einstellung Kontotyp hilft bei der Auswahl der Transaktionen in diesem Konto.
-Settings,إعدادات
+Settings,Einstellungen
 Settings for About Us Page.,Einstellungen für Über uns Seite.
-Settings for Accounts,إعدادات الحسابات
-Settings for Buying Module,إعدادات لشراء وحدة
+Settings for Accounts,Einstellungen für Konten
+Settings for Buying Module,Einstellungen für den Kauf Module
 Settings for Contact Us Page,Einstellungen für Kontakt Seite
 Settings for Contact Us Page.,Einstellungen für Kontakt-Seite.
-Settings for Selling Module,إعدادات لبيع وحدة
+Settings for Selling Module,Einstellungen für den Verkauf Module
 Settings for the About Us Page,Einstellungen für die Über uns Seite
 "Settings to extract Job Applicants from a mailbox e.g. ""jobs@example.com""","Einstellungen für Bewerber aus einer Mailbox zB ""jobs@example.com"" extrahieren"
 Setup,Setup
 Setup Control,Setup Control
 Setup Series,Setup-Series
-Setup of Shopping Cart.,الإعداد لسلة التسوق.
+Setup of Shopping Cart.,Aufbau Einkaufswagen.
 Setup of fonts and background.,Setup von Schriftarten und Hintergrund.
 "Setup of top navigation bar, footer and logo.","Setup der oberen Navigationsleiste, Fußzeile und Logo."
 Setup to pull emails from support email account,Richten Sie E-Mails von E-Mail-Account-Support ziehen
-Share,حصة
-Share With,مشاركة مع
-Shipments to customers.,الشحنات للعملاء.
-Shipping,الشحن
-Shipping Account,حساب الشحن
+Share,Teilen
+Share With,Anziehen
+Shipments to customers.,Lieferungen an Kunden.
+Shipping,Schifffahrt
+Shipping Account,Liefer-Konto
 Shipping Address,Versandadresse
 Shipping Address Name,Liefer-Adresse Name
-Shipping Amount,الشحن المبلغ
-Shipping Rule,الشحن القاعدة
-Shipping Rule Condition,الشحن القاعدة حالة
-Shipping Rule Conditions,الشحن شروط القاعدة
-Shipping Rule Label,الشحن تسمية القاعدة
-Shipping Rules,قواعد الشحن
-Shop,تسوق
-Shopping Cart,سلة التسوق
-Shopping Cart Price List,عربة التسوق قائمة الأسعار
-Shopping Cart Price Lists,سلة التسوق قوائم الأسعار
-Shopping Cart Settings,إعدادات سلة التسوق
-Shopping Cart Shipping Rule,سلة التسوق الشحن القاعدة
-Shopping Cart Shipping Rules,سلة التسوق قواعد الشحن
-Shopping Cart Taxes and Charges Master,التسوق سلة الضرائب والرسوم ماجستير
-Shopping Cart Taxes and Charges Masters,التسوق سلة الضرائب والرسوم الماجستير
-Short Bio,بيو قصيرة
-Short Name,الاسم المختصر
+Shipping Amount,Liefer-Betrag
+Shipping Rule,Liefer-Regel
+Shipping Rule Condition,Liefer-Rule Condition
+Shipping Rule Conditions,Liefer-Rule AGB
+Shipping Rule Label,Liefer-Rule Etikett
+Shipping Rules,Liefer-Regeln
+Shop,Im Shop
+Shopping Cart,Einkaufswagen
+Shopping Cart Price List,Einkaufswagen Preisliste
+Shopping Cart Price Lists,Einkaufswagen Preislisten
+Shopping Cart Settings,Einkaufswagen Einstellungen
+Shopping Cart Shipping Rule,Einkaufswagen Versandkosten Rule
+Shopping Cart Shipping Rules,Einkaufswagen Versandkosten Rules
+Shopping Cart Taxes and Charges Master,Einkaufswagen Steuern und Gebühren Meister
+Shopping Cart Taxes and Charges Masters,Einkaufswagen Steuern und Gebühren Masters
+Short Bio,Kurzbiografie
+Short Name,Kurzer Name
 Short biography for website and other publications.,Kurzbiographie für die Website und anderen Publikationen.
 Shortcut,Abkürzung
 "Show ""In Stock"" or ""Not in Stock"" based on stock available in this warehouse.","Anzeigen ""Im Lager"" oder ""Nicht auf Lager"", basierend auf verfügbaren Bestand in diesem Lager."
 Show Details,Details anzeigen
-Show In Website,تظهر في الموقع
+Show In Website,Zeigen Sie in der Webseite
 Show Print First,Erste Show Print
 Show a slideshow at the top of the page,Zeige die Slideshow an der Spitze der Seite
 Show in Website,Zeigen Sie im Website
@@ -2634,9 +2669,9 @@
 Signature,Unterschrift
 Signature to be appended at the end of every email,Unterschrift am Ende jeder E-Mail angehängt werden
 Single,Single
-Single Post (article).,مشاركة واحدة (المادة).
+Single Post (article).,Single Post (Artikel).
 Single unit of an Item.,Einzelgerät eines Elements.
-Sitemap Domain,خريطة الموقع المجال
+Sitemap Domain,Sitemap Domain
 Slideshow,Slideshow
 Slideshow Items,Slideshow Artikel
 Slideshow Name,Slideshow Namen
@@ -2646,22 +2681,23 @@
 Sorry we were unable to find what you were looking for.,"Leider waren wir nicht in der Lage zu finden, was Sie suchen."
 Sorry you are not permitted to view this page.,"Leider sind Sie nicht berechtigt, diese Seite anzuzeigen."
 Sorry! We can only allow upto 100 rows for Stock Reconciliation.,Sorry! Wir können nur bis zu 100 Zeilen für Stock Reconciliation ermöglichen.
-Sorry. Companies cannot be merged,آسف. لا يمكن دمج الشركات
-Sorry. Serial Nos. cannot be merged,آسف. لا يمكن دمج الأرقام التسلسلية
+"Sorry! You cannot change company's default currency, because there are existing transactions against it. You will need to cancel those transactions if you want to change the default currency.","Es tut uns leid! Sie können nicht ändern Unternehmens Standard-Währung, weil es bestehende Transaktionen dagegen sind. Sie müssen diese Transaktionen zu stornieren, wenn Sie die Standard-Währung ändern möchten."
+Sorry. Companies cannot be merged,Entschuldigung. Unternehmen können nicht zusammengeführt werden
+Sorry. Serial Nos. cannot be merged,Entschuldigung. Seriennummern können nicht zusammengeführt werden
 Sort By,Sortieren nach
 Source,Quelle
 Source Warehouse,Quelle Warehouse
 Source and Target Warehouse cannot be same,Quelle und Ziel Warehouse kann nicht gleichzeitig
 Source of th,Quelle th
 "Source of the lead. If via a campaign, select ""Campaign""","Quelle der Leitung. Wenn über die Kampagne, wählen Sie ""Kampagne"""
-Spartan,إسبارطي
+Spartan,Spartan
 Special Page Settings,Spezielle Einstellungen Seite
 Specification Details,Ausschreibungstexte
-Specify Exchange Rate to convert one currency into another,تحديد سعر الصرف لتحويل العملة واحد إلى آخر
-"Specify a list of Territories, for which, this Price List is valid",تحديد قائمة الأقاليم، والتي، وهذا قائمة السعر غير صالحة
-"Specify a list of Territories, for which, this Shipping Rule is valid",تحديد قائمة الأقاليم، والتي، وهذا الشحن القاعدة صالحة
-"Specify a list of Territories, for which, this Taxes Master is valid",تحديد قائمة الأقاليم، والتي، وهذا ماستر الضرائب غير صالحة
-Specify conditions to calculate shipping amount,تحديد شروط لحساب كمية الشحن
+Specify Exchange Rate to convert one currency into another,Geben Wechselkurs einer Währung in eine andere umzuwandeln
+"Specify a list of Territories, for which, this Price List is valid","Geben Sie eine Liste der Gebiete, für die ist diese Preisliste gültig"
+"Specify a list of Territories, for which, this Shipping Rule is valid","Geben Sie eine Liste der Gebiete, für die ist diese Regel gültig Versand"
+"Specify a list of Territories, for which, this Taxes Master is valid","Geben Sie eine Liste der Gebiete, für die ist diese Steuern Meister gültig"
+Specify conditions to calculate shipping amount,Geben Sie Bedingungen für die Schifffahrt zu berechnen
 Split Delivery Note into packages.,Aufgeteilt in Pakete Lieferschein.
 Standard,Standard
 Standard Rate,Standardpreis
@@ -2677,33 +2713,33 @@
 States,Staaten
 Static Parameters,Statische Parameter
 Status,Status
-Status must be one of ,Der Status muss einer sein
-Status should be Submitted,وينبغي أن الوضع أحيل
+Status must be one of ,Status muss einer der folgenden sein
+Status should be Submitted,Der Status vorgelegt werden sollte
 Statutory info and other general information about your Supplier,Gesetzliche Informationen und andere allgemeine Informationen über Ihr Lieferant
 Stock,Lager
-Stock Adjustment Account,حساب تسوية الأوراق المالية
-Stock Adjustment Cost Center,أسهم التكيف مركز التكلفة
+Stock Adjustment Account,Auf Adjustment Konto
+Stock Adjustment Cost Center,Auf die Anpassung der Kostenstellenrechnung
 Stock Ageing,Lager Ageing
 Stock Analytics,Lager Analytics
 Stock Balance,Bestandsliste
 Stock Entry,Lager Eintrag
 Stock Entry Detail,Lager Eintrag Details
 Stock Frozen Upto,Lager Bis gefroren
-Stock In Hand Account,الأسهم في حساب اليد
+Stock In Hand Account,Vorrat in der Hand Konto
 Stock Ledger,Lager Ledger
 Stock Ledger Entry,Lager Ledger Eintrag
 Stock Level,Stock Level
 Stock Qty,Lieferbar Menge
 Stock Queue (FIFO),Lager Queue (FIFO)
-Stock Received But Not Billed,الأسهم المتلقى ولكن لا توصف
+Stock Received But Not Billed,"Auf empfangen, aber nicht Angekündigt"
 Stock Reconciliation,Lager Versöhnung
 Stock Reconciliation file not uploaded,Lager Versöhnung Datei nicht hochgeladen
-Stock Settings,إعدادات الأسهم
+Stock Settings,Auf Einstellungen
 Stock UOM,Lager UOM
 Stock UOM Replace Utility,Lager UOM ersetzen Dienstprogramm
 Stock Uom,Lager ME
 Stock Value,Bestandswert
-Stock Value Difference,قيمة الأسهم الفرق
+Stock Value Difference,Auf Wertdifferenz
 Stop,Stoppen
 Stop users from making Leave Applications on following days.,Stoppen Sie den Nutzer von Leave Anwendungen auf folgenden Tagen.
 Stopped,Gestoppt
@@ -2721,32 +2757,33 @@
 Submit Salary Slip,Senden Gehaltsabrechnung
 Submit all salary slips for the above selected criteria,Reichen Sie alle Gehaltsabrechnungen für die oben ausgewählten Kriterien
 Submitted,Eingereicht
-Submitted Record cannot be deleted,لا يمكن حذف سجل المقدمة
-Subsidiary,شركة فرعية
+Submitted Record cannot be deleted,Eingereicht Datensatz kann nicht gelöscht werden
+Subsidiary,Tochtergesellschaft
 Success,Erfolg
 Successful: ,Erfolgreich:
 Suggestion,Vorschlag
 Suggestions,Vorschläge
 Sunday,Sonntag
 Supplier,Lieferant
+Supplier (Payable) Account,Lieferant (zahlbar) Konto
 Supplier (vendor) name as entered in supplier master,Lieferant (Kreditor) Namen wie im Lieferantenstamm eingetragen
-Supplier Account Head,رئيس حساب المورد
+Supplier Account Head,Lieferant Konto Leiter
 Supplier Address,Lieferant Adresse
 Supplier Details,Supplier Details
 Supplier Intro,Lieferant Intro
-Supplier Invoice Date,المورد فاتورة التسجيل
-Supplier Invoice No,المورد الفاتورة لا
+Supplier Invoice Date,Lieferantenrechnung Datum
+Supplier Invoice No,Lieferant Rechnung Nr.
 Supplier Name,Name des Anbieters
-Supplier Naming By,المورد تسمية بواسطة
+Supplier Naming By,Lieferant Benennen von
 Supplier Part Number,Lieferant Teilenummer
 Supplier Quotation,Lieferant Angebot
 Supplier Quotation Item,Lieferant Angebotsposition
 Supplier Reference,Lieferant Reference
-Supplier Shipment Date,شحنة المورد والتسجيل
-Supplier Shipment No,شحنة المورد لا
+Supplier Shipment Date,Lieferant Warensendung Datum
+Supplier Shipment No,Lieferant Versand Keine
 Supplier Type,Lieferant Typ
 Supplier Warehouse,Lieferant Warehouse
-Supplier Warehouse mandatory subcontracted purchase receipt,مستودع المورد إلزامية إيصال الشراء من الباطن
+Supplier Warehouse mandatory subcontracted purchase receipt,Lieferant Warehouse zwingend vergeben Kaufbeleg
 Supplier classification.,Lieferant Klassifizierung.
 Supplier database.,Lieferanten-Datenbank.
 Supplier of Goods or Services.,Lieferant von Waren oder Dienstleistungen.
@@ -2758,18 +2795,18 @@
 Support Email Id,Unterstützt E-Mail-Id
 Support Password,Support Passwort
 Support Ticket,Support Ticket
-Support queries from customers.,دعم الاستفسارات من العملاء.
+Support queries from customers.,Support-Anfragen von Kunden.
 Symbol,Symbol
 Sync Inbox,Sync Posteingang
 Sync Support Mails,Sync Unterstützung Mails
-Sync with Dropbox,مزامنة مع Dropbox
-Sync with Google Drive,متزامنا مع محرك جوجل
+Sync with Dropbox,Sync mit Dropbox
+Sync with Google Drive,Sync mit Google Drive
 System,System
 System Defaults,System Defaults
-System Settings,إعدادات النظام
+System Settings,Systemeinstellungen
 System User,System User
 "System User (login) ID. If set, it will become default for all HR forms.","System User (login) ID. Wenn gesetzt, wird es standardmäßig für alle HR-Formulare werden."
-System for managing Backups,نظام لإدارة النسخ الاحتياطية
+System for managing Backups,System zur Verwaltung von Backups
 System generated mails will be sent from this email id.,System generierten E-Mails werden von dieser E-Mail-ID gesendet werden.
 TL-,TL-
 TLB-,TLB-
@@ -2791,8 +2828,8 @@
 Task Details,Task Details
 Tax,Steuer
 Tax Calculation,Steuerberechnung
-Tax Category can not be 'Valuation' or 'Valuation and Total' 					as all items are non-stock items,ضريبة الفئة لا يمكن أن يكون &#39;التقييم&#39; أو &#39;التقييم وتوتال&#39; كما كل العناصر هي العناصر غير الأسهم
-Tax Master,ماستر الضرائب
+Tax Category can not be 'Valuation' or 'Valuation and Total' 					as all items are non-stock items,"MwSt. Kategorie kann nicht &quot;Bewertungstag&quot; oder &quot;Bewertung und Total &#39;sein, da alle Artikel nicht auf Lager gehalten werden"
+Tax Master,Tax Meister
 Tax Rate,Tax Rate
 Tax Template for Purchase,MwSt. Vorlage für Kauf
 Tax Template for Sales,MwSt. Template für Vertrieb
@@ -2802,12 +2839,12 @@
 Taxes,Steuern
 Taxes and Charges,Steuern und Abgaben
 Taxes and Charges Added,Steuern und Abgaben am
-Taxes and Charges Added (Company Currency),الضرائب والرسوم المضافة (عملة الشركة)
+Taxes and Charges Added (Company Currency),Steuern und Gebühren Added (Gesellschaft Währung)
 Taxes and Charges Calculation,Steuern und Gebühren Berechnung
 Taxes and Charges Deducted,Steuern und Gebühren Abgezogen
-Taxes and Charges Deducted (Company Currency),الضرائب والرسوم مقطوعة (عملة الشركة)
+Taxes and Charges Deducted (Company Currency),Steuern und Gebühren Abzug (Gesellschaft Währung)
 Taxes and Charges Total,Steuern und Gebühren gesamt
-Taxes and Charges Total (Company Currency),الضرائب والرسوم المشاركات (عملة الشركة)
+Taxes and Charges Total (Company Currency),Steuern und Abgaben insgesamt (Gesellschaft Währung)
 Taxes and Charges1,Steuern und Kosten1
 Team Members,Teammitglieder
 Team Members Heading,Teammitglieder Überschrift
@@ -2822,7 +2859,7 @@
 Territory,Gebiet
 Territory Manager,Territory Manager
 Territory Name,Territory Namen
-Territory Target Variance (Item Group-Wise),الأراضي المستهدفة الفرق (البند المجموعة الحكيم)
+Territory Target Variance (Item Group-Wise),Territory Ziel Variance (Artikel-Nr. Gruppe-Wise)
 Territory Targets,Territory Targets
 Test,Test
 Test Email Id,Test Email Id
@@ -2834,13 +2871,12 @@
 "The ""Web Page"" that is the website home page","Die ""Web Page"", die Homepage der Website ist"
 The BOM which will be replaced,"Die Stückliste, die ersetzt werden"
 "The Item that represents the Package. This Item must have ""Is Stock Item"" as ""No"" and ""Is Sales Item"" as ""Yes""","Das Element, das das Paket darstellt. Dieser Artikel muss ""Ist Stock Item"" als ""Nein"" und ""Ist Vertrieb Item"" als ""Ja"""
-The account to which you will pay (have paid) the money to.,"Das Konto, auf die Sie bezahlen (bezahlt) das Geld."
 The date at which current entry is made in system.,"Das Datum, an dem aktuellen Eintrag im System hergestellt wird."
 The date at which current entry will get or has actually executed.,"Das Datum, an dem aktuellen Eintrag zu erhalten oder wird tatsächlich ausgeführt."
 The date on which next invoice will be generated. It is generated on submit.,"Der Tag, an dem nächsten Rechnung generiert werden. Es basiert auf einzureichen generiert."
 The date on which recurring invoice will be stop,"Der Tag, an dem wiederkehrende Rechnung werden aufhören wird"
 "The day of the month on which auto invoice will be generated e.g. 05, 28 etc ","Der Tag des Monats, an dem auto Rechnung zB 05, 28 usw. generiert werden"
-The first Leave Approver in the list will be set as the default Leave Approver,سيتم تعيين أول اترك الموافق في القائمة بوصفها الإجازة الموافق الافتراضي
+The first Leave Approver in the list will be set as the default Leave Approver,Die erste Leave Approver in der Liste wird als Standard-Leave Approver eingestellt werden
 The gross weight of the package. Usually net weight + packaging material weight. (for print),Das Bruttogewicht des Pakets. Normalerweise Eigengewicht + Verpackungsmaterial Gewicht. (Zum Drucken)
 The name of your company / website as you want to appear on browser title bar. All pages will have this as the prefix to the title.,"Der Name Ihrer Firma / Website, wie Sie auf Titelleiste des Browsers angezeigt werden soll. Alle Seiten werden diese als Präfix für den Titel haben."
 The net weight of this package. (calculated automatically as sum of net weight of items),Das Nettogewicht dieses Pakets. (Automatisch als Summe der Netto-Gewicht der Sendungen berechnet)
@@ -2854,35 +2890,35 @@
 These properties will appear as values in forms that contain them.,"Diese Eigenschaften werden als Werte in Formen, die sie enthalten, erscheinen."
 These values will be automatically updated in transactions and also will be useful to restrict permissions for this user on transactions containing these values.,"Diese Werte werden automatisch in Transaktionen aktualisiert werden und wird auch nützlich sein, um Berechtigungen für diesen Benutzer auf Transaktionen mit diesen Werten zu beschränken."
 This Price List will be selected as default for all Customers under this Group.,Diese Preisliste wird als Standard für alle Kunden unter dieser Gruppe ausgewählt werden.
-This Time Log Batch has been billed.,وتوصف هذه الدفعة دخول الوقت.
-This Time Log Batch has been cancelled.,تم إلغاء هذه الدفعة دخول الوقت.
-This Time Log conflicts with,الصراعات دخول هذه المرة مع
-This account will be used to maintain value of available stock,سيتم استخدام هذا الحساب للحفاظ على قيمة الأوراق المالية المتاحة
+This Time Log Batch has been billed.,This Time Log Batch abgerechnet hat.
+This Time Log Batch has been cancelled.,This Time Log Batch wurde abgebrochen.
+This Time Log conflicts with,This Time Log Konflikte mit
+This account will be used to maintain value of available stock,Dieses Konto wird auf den Wert der verfügbaren Bestand zu halten
 This currency will get fetched in Purchase transactions of this supplier,Diese Währung wird in Kauf Transaktionen dieser Lieferanten bekommen geholt
 This currency will get fetched in Sales transactions of this customer,Diese Währung wird in Sales Transaktionen dieser Kunden erhalten geholt
-"This feature is for merging duplicate warehouses. It will replace all the links of this warehouse by ""Merge Into"" warehouse. After merging you can delete this warehouse, as stock level for this warehouse will be zero.",وتعتبر هذه الميزة لدمج المستودعات مكررة. فإنه سيتم استبدال جميع الروابط من هذا المستودع عن طريق &quot;الاندماج في&quot; مستودع. بعد دمج يمكنك حذف هذا المستودع، ومستوى المخزون لهذا المستودع سوف يكون صفرا.
-This feature is only applicable to self hosted instances,هذه الميزة لا ينطبق إلا على الحالات المستضافة ذاتيا
+"This feature is for merging duplicate warehouses. It will replace all the links of this warehouse by ""Merge Into"" warehouse. After merging you can delete this warehouse, as stock level for this warehouse will be zero.","Diese Funktion ist für das Zusammenführen von doppelten Lagern. Es werden alle Links dieses Lager durch warehouse &quot;Into Merge&quot; zu ersetzen. Nach dem Zusammenführen löschen Sie dieses Warehouse, da Lagerbestände für dieses Lager wird gleich Null sein."
+This feature is only applicable to self hosted instances,Diese Funktion ist nur für selbst gehostete Instanzen
 This field will appear only if the fieldname defined here has value OR the rules are true (examples): <br>myfieldeval:doc.myfield=='My Value'<br>eval:doc.age>18,"Dieses Feld wird nur angezeigt, wenn der Feldname hier definierten Wert hat oder die Regeln wahr sind (Beispiele): <br> myfieldeval: doc.myfield == 'My Value' <br> eval: doc.age> 18"
 This goes above the slideshow.,Dies geht über die Diashow.
 This is PERMANENT action and you cannot undo. Continue?,Dies ist PERMANENT Aktion und können nicht rückgängig gemacht werden. Weiter?
-This is an auto generated Material Request.,هذه هي السيارات التي ولدت طلب المواد.
+This is an auto generated Material Request.,Dies ist eine automatische generierte Werkstoff anfordern.
 This is permanent action and you cannot undo. Continue?,Dies ist ständige Aktion und können nicht rückgängig gemacht werden. Weiter?
 This is the number of the last created transaction with this prefix,Dies ist die Nummer des zuletzt erzeugte Transaktion mit diesem Präfix
-This message goes away after you create your first customer.,هذه الرسالة يذهب بعيدا بعد إنشاء أول زبون لديك.
+This message goes away after you create your first customer.,"Diese Meldung geht weg, nachdem Sie Ihre ersten Kunden zu schaffen."
 This tool helps you to update or fix the quantity and valuation of stock in the system. It is typically used to synchronise the system values and what actually exists in your warehouses.,"Dieses Tool hilft Ihnen zu aktualisieren oder zu beheben die Menge und die Bewertung der Aktie im System. Es wird normalerweise verwendet, um das System abzugleichen und was tatsächlich existiert in Ihrem Lager."
 This will be used for setting rule in HR module,Dies wird für die Einstellung der Regel im HR-Modul verwendet werden
 Thread HTML,Themen HTML
 Thursday,Donnerstag
 Time,Zeit
-Time Log,وقت دخول
-Time Log Batch,الوقت الدفعة دخول
-Time Log Batch Detail,وقت دخول دفعة التفاصيل
-Time Log Batch Details,وقت دخول تفاصيل الدفعة
-Time Log Batch status must be 'Submitted',وقت دخول وضع دفعة يجب &#39;المقدمة&#39;
-Time Log Status must be Submitted.,يجب تقديم الوقت حالة السجل.
-Time Log for tasks.,وقت دخول للمهام.
-Time Log is not billable,الوقت السجل غير القابلة للفوترة
-Time Log must have status 'Submitted',يجب أن يكون وقت دخول وضع &#39;نشره&#39;
+Time Log,Log Zeit
+Time Log Batch,Zeit Log Batch
+Time Log Batch Detail,Zeit Log Batch Detailansicht
+Time Log Batch Details,Zeit Log Chargendetails
+Time Log Batch status must be 'Submitted',Zeit Log Batch-Status muss &quot;vorgelegt&quot; werden
+Time Log Status must be Submitted.,Zeit Log-Status vorzulegen.
+Time Log for tasks.,Log Zeit für Aufgaben.
+Time Log is not billable,Log Zeit ist nicht abrechenbar
+Time Log must have status 'Submitted',Log Zeit muss Status &#39;Änderung&#39;
 Time Zone,Zeitzone
 Time Zones,Time Zones
 Time and Budget,Zeit und Budget
@@ -2893,7 +2929,7 @@
 Title Case,Titel Case
 Title Prefix,Title Prefix
 To,Auf
-To Currency,إلى العملات
+To Currency,Um Währung
 To Date,To Date
 To Discuss,Zu diskutieren
 To Do,To Do
@@ -2901,8 +2937,8 @@
 To PR Date,Um PR Datum
 To Package No.,Um Nr. Paket
 To Reply,Um Antworten
-To Time,إلى وقت
-To Value,إلى القيمة
+To Time,Um Zeit
+To Value,To Value
 To Warehouse,Um Warehouse
 "To add a tag, open the document and click on ""Add Tag"" on the sidebar","Um einen Tag hinzuzufügen, öffnen Sie das Dokument und klicken Sie auf ""Add Tag"" in der Seitenleiste"
 "To assign this issue, use the ""Assign"" button in the sidebar.","Um dieses Problem zu zuzuweisen, verwenden Sie die Schaltfläche ""Zuordnen"" in der Seitenleiste."
@@ -2910,29 +2946,28 @@
 "To create an Account Head under a different company, select the company and save customer.","Um ein Konto Kopf unter einem anderen Unternehmen zu erstellen, wählen das Unternehmen und sparen Kunden."
 To enable <b>Point of Sale</b> features,Zum <b> Point of Sale </ b> Funktionen ermöglichen
 "To fetch items again, click on 'Get Items' button \						or update the Quantity manually.","Um Elemente wieder zu holen, auf 'Get Items' Taste \ oder aktualisieren Sie die Menge manuell auf."
-"To format columns, give column labels in the query.",لتنسيق الأعمدة، وإعطاء تسميات الأعمدة في الاستعلام.
+"To format columns, give column labels in the query.","Um Spalten zu formatieren, geben Spaltenbeschriftungen in der Abfrage."
 "To further restrict permissions based on certain values in a document, use the 'Condition' settings.","Um weiter einschränken Berechtigungen für bestimmte Werte in einem Dokument basiert, verwenden Sie die 'Bedingung' Einstellungen."
 To get Item Group in details table,Zu Artikelnummer Gruppe im Detail Tisch zu bekommen
 To manage multiple series please go to Setup > Manage Series,Um mehrere Reihen zu verwalten gehen Sie bitte auf Setup> Verwalten Series
 To restrict a User of a particular Role to documents that are explicitly assigned to them,"Um einen Benutzer einer bestimmten Rolle zu Dokumenten, die ihnen ausdrücklich zugeordnet beschränken"
 To restrict a User of a particular Role to documents that are only self-created.,"Um einen Benutzer einer bestimmten Rolle zu Dokumenten, die nur selbst erstellte sind zu beschränken."
-"To set reorder level, item must be Purchase Item",لضبط مستوى إعادة الطلب، يجب أن يكون بند شراء السلعة
+"To set reorder level, item must be Purchase Item","Um Meldebestand, muss Einzelteil Kaufsache sein"
 "To set user roles, just go to <a href='#List/Profile'>Setup > Users</a> and click on the user to assign roles.","Benutzerrollen, nur um <a gehen href='#List/Profile'> Setup> Benutzer </ a> und klicken Sie auf den Benutzer Rollen zuweisen."
 To track any installation or commissioning related work after sales,Um jegliche Installation oder Inbetriebnahme verwandte Arbeiten After Sales verfolgen
 "To track brand name in the following documents<br>Delivery Note, Enuiry, Material Request, Item, Purchase Order, Purchase Voucher, Purchaser Receipt, Quotation, Sales Invoice, Sales BOM, Sales Order, Serial No","Um Markennamen in den folgenden Dokumenten zu verfolgen <br> Lieferschein, Enuiry, Material anfordern, Artikel, Bestellung, Kauf Voucher, Käufer Receipt, Angebot, Sales Invoice, Sales BOM, Sales Order, Serial No"
 To track item in sales and purchase documents based on their serial nos. This is can also used to track warranty details of the product.,"Um Artikel in Vertrieb und Einkauf Dokumente auf ihrem Werknummern Basis zu verfolgen. Dies wird auch verwendet, um Details zum Thema Gewährleistung des Produktes zu verfolgen."
 To track items in sales and purchase documents with batch nos<br><b>Preferred Industry: Chemicals etc</b>,Um Elemente in An-und Verkauf von Dokumenten mit Batch-nos <br> <b> Preferred Industry verfolgen: Chemicals etc </ b>
 To track items using barcode. You will be able to enter items in Delivery Note and Sales Invoice by scanning barcode of item.,"Um Objekte mit Barcode verfolgen. Sie werden in der Lage sein, um Elemente in Lieferschein und Sales Invoice durch Scannen Barcode einzusteigen."
-"To update your HTML from attachment, click here","Um Ihre HTML von Anhaftung zu aktualisieren, klicken Sie hier"
 ToDo,ToDo
 Tools,Werkzeuge
-Top,أعلى
+Top,Spitze
 Top Bar,Top Bar
 Top Bar Background,Top Bar Hintergrund
 Top Bar Item,Top Bar Artikel
 Top Bar Items,Top Bar Artikel
-Top Bar Text,الشريط العلوي نص
-Top Bar text and background is same color. Please change.,أعلى نص شريط والخلفية هي نفس اللون. الرجاء تغيير.
+Top Bar Text,Top Bar Text
+Top Bar text and background is same color. Please change.,Top Bar Text und Hintergrund ist die gleiche Farbe. Bitte ändern.
 Total,Gesamt
 Total (sum of) points distribution for all goals should be 100.,Total (Summe) Punkte Verteilung für alle Ziele sollten 100 sein.
 Total Advance,Insgesamt Geleistete
@@ -2948,7 +2983,7 @@
 Total Deduction,Insgesamt Abzug
 Total Earning,Insgesamt Earning
 Total Experience,Total Experience
-Total Hours,مجموع ساعات
+Total Hours,Gesamtstunden
 Total Hours (Expected),Total Hours (Erwartete)
 Total Invoiced Amount,Insgesamt Rechnungsbetrag
 Total Leave Days,Insgesamt Leave Tage
@@ -2959,13 +2994,14 @@
 Total SMS Sent,Insgesamt SMS gesendet
 Total Sanctioned Amount,Insgesamt Sanctioned Betrag
 Total Score (Out of 5),Gesamtpunktzahl (von 5)
-Total Tax (Company Currency),مجموع الضرائب (عملة الشركة)
+Total Tax (Company Currency),Total Tax (Gesellschaft Währung)
 Total Taxes and Charges,Insgesamt Steuern und Abgaben
-Total Taxes and Charges (Company Currency),مجموع الضرائب والرسوم (عملة الشركة)
-Total amount of invoices received from suppliers during the digest period,المبلغ الإجمالي للفواتير الواردة من الموردين خلال فترة هضم
-Total amount of invoices sent to the customer during the digest period,المبلغ الإجمالي للفواتير المرسلة إلى العملاء خلال الفترة دايجست
-Total days in month,Insgesamt Tage im Monat
+Total Taxes and Charges (Company Currency),Insgesamt Steuern und Gebühren (Gesellschaft Währung)
+Total Working Days In The Month,Insgesamt Arbeitstagen im Monat
+Total amount of invoices received from suppliers during the digest period,Gesamtbetrag der erhaltenen Rechnungen von Lieferanten während der Auszugsperiodeninformation
+Total amount of invoices sent to the customer during the digest period,Gesamtbetrag der Rechnungen an die Kunden während der Auszugsperiodeninformation
 Total in words,Total in Worten
+Total production order qty for item,Gesamtproduktion Bestellmenge für Artikel
 Totals,Totals
 Track separate Income and Expense for product verticals or divisions.,Verfolgen separaten Erträge und Aufwendungen für die Produktentwicklung Branchen oder Geschäftsbereichen.
 Track this Delivery Note against any Project,Verfolgen Sie diesen Lieferschein gegen Projekt
@@ -2982,11 +3018,11 @@
 Tree of item classification,Tree of Artikelzugehörigkeit
 Trial Balance,Rohbilanz
 Tuesday,Dienstag
-Tweet will be shared via your user account (if specified),وسيتم تقاسم تويت عبر حساب المستخدم الخاص بك (في حالة تحديد)
-Twitter Share,تويتر شارك
-Twitter Share via,Twitter المشاركة عبر
+Tweet will be shared via your user account (if specified),Tweet wird via E-Mail Account geteilt werden (falls angegeben)
+Twitter Share,Twitter
+Twitter Share via,Twitter teilen
 Type,Typ
-Type of document to rename.,نوع الوثيقة إلى إعادة تسمية.
+Type of document to rename.,Art des Dokuments umbenennen.
 Type of employment master.,Art der Beschäftigung Master.
 "Type of leaves like casual, sick etc.","Art der Blätter wie beiläufig, krank usw."
 Types of Expense Claim.,Arten von Expense Anspruch.
@@ -2995,13 +3031,14 @@
 UOM Conversion Detail,UOM Conversion Details
 UOM Conversion Details,UOM Conversion Einzelheiten
 UOM Conversion Factor,UOM Umrechnungsfaktor
+UOM Conversion Factor is mandatory,UOM Umrechnungsfaktor ist obligatorisch
 UOM Details,UOM Einzelheiten
 UOM Name,UOM Namen
 UOM Replace Utility,UOM ersetzen Dienstprogramm
 UPPER CASE,UPPER CASE
-UPPERCASE,أحرف كبيرة
+UPPERCASE,UPPERCASE
 URL,URL
-Unable to complete request: ,Kann Anforderung abzuschließen:
+Unable to complete request: ,Konnte die Anforderung nicht ausführen:
 Under AMC,Unter AMC
 Under Graduate,Unter Graduate
 Under Warranty,Unter Garantie
@@ -3010,10 +3047,11 @@
 Units/Hour,Einheiten / Stunde
 Units/Shifts,Units / Shifts
 Unmatched Amount,Unübertroffene Betrag
-Unpaid,غير مدفوع
+Unpaid,Unbezahlte
 Unread Messages,Ungelesene Nachrichten
 Unscheduled,Außerplanmäßig
 Unsubscribed,Unsubscribed
+Upcoming Events for Today,Die nächsten Termine für heute
 Update,Aktualisieren
 Update Clearance Date,Aktualisieren Restposten Datum
 Update Field,Felder aktualisieren
@@ -3021,22 +3059,23 @@
 Update Series,Update Series
 Update Series Number,Update Series Number
 Update Stock,Aktualisieren Lager
-Update Stock should be checked.,وينبغي التحقق من التحديث الأوراق المالية.
+Update Stock should be checked.,Update-Lager sollte überprüft werden.
 Update Value,Aktualisieren Wert
 "Update allocated amount in the above table and then click ""Allocate"" button","Aktualisieren Zuteilungsbetrag in der obigen Tabelle und klicken Sie dann auf ""Allocate""-Taste"
 Update bank payment dates with journals.,Update Bank Zahlungstermine mit Zeitschriften.
-Update is in progress. This may take some time.,التحديث قيد التقدم. قد يستغرق هذا بعض الوقت.
-Updated,تحديث
+Update is in progress. This may take some time.,Update ist im Gange. Dies kann einige Zeit dauern.
+Updated,Aktualisiert
 Upload Attachment,Anhang hochladen
-Upload Attendance,تحميل الحضور
-Upload Backups to Dropbox,تحميل النسخ الاحتياطي إلى دروببوإكس
-Upload Backups to Google Drive,تحميل النسخ الاحتياطية إلى Google Drive
+Upload Attendance,Hochladen Teilnahme
+Upload Backups to Dropbox,Backups auf Dropbox hochladen
+Upload Backups to Google Drive,Laden Sie Backups auf Google Drive
 Upload HTML,Hochladen HTML
-Upload a .csv file with two columns: the old name and the new name. Max 500 rows.,تحميل ملف CSV مع عمودين:. الاسم القديم والاسم الجديد. ماكس 500 الصفوف.
+Upload a .csv file with two columns: the old name and the new name. Max 500 rows.,Laden Sie eine CSV-Datei mit zwei Spalten:. Den alten Namen und der neue Name. Max 500 Zeilen.
 Upload a file,Hochladen einer Datei
+Upload and Import,Upload und Import
 Upload attendance from a .csv file,Fotogalerie Besuch aus einer. Csv-Datei
 Upload stock balance via csv.,Hochladen Bestandsliste über csv.
-Uploading...,تحميل ...
+Uploading...,Uploading ...
 Upper Income,Obere Income
 Urgent,Dringend
 Use Multi-Level BOM,Verwenden Sie Multi-Level BOM
@@ -3053,26 +3092,26 @@
 User Type,User Type
 User must always select,Der Benutzer muss immer wählen
 User not allowed entry in the Warehouse,Benutzer nicht erlaubt Eintrag in der Warehouse
-User not allowed to delete.,المستخدم لا يسمح لحذفه.
+User not allowed to delete.,"Benutzer nicht erlaubt, zu löschen."
 UserRole,UserRole
 Username,Benutzername
-Users who can approve a specific employee's leave applications,المستخدمين الذين يمكنهم الموافقة على طلبات إجازات الموظف معينة
+Users who can approve a specific employee's leave applications,"Benutzer, die Arbeit eines bestimmten Urlaubs Anwendungen genehmigen können"
 Users with this role are allowed to do / modify accounting entry before frozen date,Benutzer mit dieser Rolle tun dürfen / ändern Verbuchung vor dem gefrorenen Datum
 Utilities,Dienstprogramme
 Utility,Nutzen
-Valid For Territories,صالحة للالأقاليم
+Valid For Territories,Gültig für Territories
 Valid Upto,Gültig Bis
-Valid for Buying or Selling?,صالحة للشراء أو البيع؟
-Valid for Territories,صالحة للالأقاليم
-Validate,التحقق من صحة
+Valid for Buying or Selling?,Gültig für den Kauf oder Verkauf?
+Valid for Territories,Gültig für Territories
+Validate,Bestätigen
 Valuation,Bewertung
 Valuation Method,Valuation Method
 Valuation Rate,Valuation bewerten
 Valuation and Total,Bewertung und insgesamt
 Value,Wert
-Value missing for,قيمة مفقودة لل
-Vehicle Dispatch Date,سيارة الإرسال التسجيل
-Vehicle No,السيارة لا
+Value missing for,Fehlender Wert für
+Vehicle Dispatch Date,Fahrzeug Versanddatum
+Vehicle No,Kein Fahrzeug
 Verdana,Verdana
 Verified By,Verified By
 Visit,Besuchen
@@ -3082,7 +3121,7 @@
 Voucher Import Tool,Gutschein Import Tool
 Voucher No,Gutschein Nein
 Voucher Type,Gutschein Type
-Voucher Type and Date,نوع قسيمة والتسجيل
+Voucher Type and Date,Gutschein Art und Datum
 Waiting for Customer,Warten auf Kunden
 Walk In,Walk In
 Warehouse,Lager
@@ -3091,15 +3130,15 @@
 Warehouse Name,Warehouse Namen
 Warehouse User,Warehouse Benutzer
 Warehouse Users,Warehouse-Benutzer
-Warehouse and Reference,مستودع والمراجع
-Warehouse does not belong to company.,مستودع لا تنتمي إلى الشركة.
+Warehouse and Reference,Warehouse und Referenz
+Warehouse does not belong to company.,Warehouse nicht auf Unternehmen gehören.
 Warehouse where you are maintaining stock of rejected items,"Warehouse, wo Sie erhalten Bestand abgelehnt Elemente werden"
-Warehouse-Wise Stock Balance,مستودع الحكيم رصيد المخزون
+Warehouse-Wise Stock Balance,Warehouse-Wise Bestandsliste
 Warehouse-wise Item Reorder,Warehouse-weise Artikel Reorder
-Warehouses,المستودعات
+Warehouses,Gewerberäume
 Warn,Warnen
 Warning,Warnung
-Warning: Leave application contains following block dates,يحتوي التطبيق اترك التواريخ الكتلة التالية: تحذير
+Warning: Leave application contains following block dates,Achtung: Leave Anwendung enthält folgende Block Termine
 Warranty / AMC Details,Garantie / AMC Einzelheiten
 Warranty / AMC Status,Garantie / AMC-Status
 Warranty Expiry Date,Garantie Ablaufdatum
@@ -3116,6 +3155,7 @@
 Website Settings,Website-Einstellungen
 Website Slideshow,Website Slideshow
 Website Slideshow Item,Website Slideshow Artikel
+Website User,Webseite User
 Website Warehouse,Website Warehouse
 Wednesday,Mittwoch
 Weekly,Wöchentlich
@@ -3123,7 +3163,7 @@
 Weight UOM,Gewicht UOM
 Weightage,Gewichtung
 Weightage (%),Gewichtung (%)
-Welcome,ترحيب
+Welcome,Willkommen
 "When any of the checked transactions are ""Submitted"", an email pop-up automatically opened to send an email to the associated ""Contact"" in that transaction, with the transaction as an attachment. The user may or may not send the email.","Wenn eine der überprüften Transaktionen werden ""Eingereicht"", ein E-Mail-pop-up automatisch geöffnet, um eine E-Mail mit dem zugehörigen ""Kontakt"" in dieser Transaktion zu senden, mit der Transaktion als Anhang. Der Benutzer kann oder nicht-Mail senden."
 "When you <b>Amend</b> a document after cancel and save it, it will get a new number that is a version of the old number.","Wenn Sie <b> Amend </ b> ein Dokument nach abbrechen und speichern Sie es, es wird eine neue Nummer, die eine Version der alten Nummer erhalten."
 Where items are stored.,Wo Elemente gespeichert werden.
@@ -3132,15 +3172,15 @@
 Width,Breite
 Will be calculated automatically when you enter the details,"Wird automatisch berechnet, wenn Sie die Daten eingeben"
 Will be fetched from Customer,Wird vom Kunden abgeholt werden
-Will be updated after Sales Invoice is Submitted.,سيتم تحديث بعد تقديم فاتورة المبيعات.
-Will be updated when batched.,سيتم تحديث عندما دفعات.
-Will be updated when billed.,سيتم تحديث عندما توصف.
-Will be used in url (usually first name).,وسوف تستخدم في رابط (عادة الاسم الأول).
+Will be updated after Sales Invoice is Submitted.,Wird aktualisiert After-Sales-Rechnung vorgelegt werden.
+Will be updated when batched.,"Wird aktualisiert, wenn dosiert werden."
+Will be updated when billed.,"Wird aktualisiert, wenn in Rechnung gestellt."
+Will be used in url (usually first name).,Wird in url (in der Regel zuerst Name) verwendet werden.
 With Operations,Mit Operations
-Work Details,تفاصيل العمل
+Work Details,Werk Details
 Work Done,Arbeit
 Work In Progress,Work In Progress
-Work-in-Progress Warehouse,مستودع العمل قيد التنفيذ
+Work-in-Progress Warehouse,Work-in-Progress Warehouse
 Workflow,Workflow
 Workflow Action,Workflow-Aktion
 Workflow Action Master,Workflow-Aktion Meister
@@ -3166,12 +3206,12 @@
 Write Off Cost Center,Write Off Kostenstellenrechnung
 Write Off Outstanding Amount,Write Off ausstehenden Betrag
 Write Off Voucher,Write Off Gutschein
-Write a Python file in the same folder where this is saved and return column and result.,كتابة ملف بيثون في نفس المجلد حيث تم حفظ هذا العمود والعودة والنتيجة.
-Write a SELECT query. Note result is not paged (all data is sent in one go).,كتابة استعلام SELECT. لم يتم ترحيلها علما نتيجة (يتم إرسال جميع البيانات دفعة واحدة).
-Write sitemap.xml,اكتب sitemap.xml
-Write titles and introductions to your blog.,تكتب العناوين والمقدمات لبلوق الخاص بك.
-Writers Introduction,الكتاب مقدمة
-Wrong Template: Unable to find head row.,قالب الخطأ: تعذر العثور على صف الرأس.
+Write a Python file in the same folder where this is saved and return column and result.,"Schreiben Sie eine Python-Datei im gleichen Ordner, in dem diese gespeichert oder Rückgabebelehrung Spalte und Ergebnis."
+Write a SELECT query. Note result is not paged (all data is sent in one go).,Schreiben Sie eine SELECT-Abfrage. Hinweis Ergebnis nicht ausgelagert (alle Daten in einem Rutsch gesendet).
+Write sitemap.xml,Schreiben sitemap.xml
+Write titles and introductions to your blog.,Schreiben Sie Titel und Einführungen in Ihrem Blog.
+Writers Introduction,Writers Einführung
+Wrong Template: Unable to find head row.,Falsche Vorlage: Kann Kopfzeile zu finden.
 Year,Jahr
 Year Closed,Jahr geschlossen
 Year Name,Jahr Name
@@ -3180,37 +3220,37 @@
 Yearly,Jährlich
 Yes,Ja
 Yesterday,Gestern
-You are not authorized to do/modify back dated entries before ,Sie sind nicht berechtigt / nicht ändern zurück datierte Einträge vor
+You are not authorized to do/modify back dated entries before ,"Sie sind nicht berechtigt, / do ändern zurück datierte Einträge vor"
 You can create more earning and deduction type from Setup --> HR,Sie können mehr verdienen und Deduktion Typ aus Setup -> HR
 You can enter any date manually,Sie können ein beliebiges Datum manuell eingeben
 You can enter the minimum quantity of this item to be ordered.,Sie können die minimale Menge von diesem Artikel bestellt werden.
-You can not enter both Delivery Note No and Sales Invoice No. \					Please enter any one.,لا يمكنك إدخال كل من التسليم ملاحظة لا والمبيعات رقم الفاتورة \ الرجاء إدخال أي واحد.
+You can not enter both Delivery Note No and Sales Invoice No. \					Please enter any one.,Sie können nicht sowohl Lieferschein Nein und Sales Invoice No \ Bitte geben Sie eine beliebige.
 You can set various 'properties' to Users to set default values and apply permission rules based on the value of these properties in various forms.,"Sie können verschiedene ""Eigenschaften"", um Benutzer auf Standardwerte gesetzt und gelten Erlaubnis Vorschriften über den Wert dieser Eigenschaften in verschiedenen Formen."
-You can start by selecting backup frequency and \					granting access for sync,يمكنك أن تبدأ من خلال تحديد تردد النسخ الاحتياطي و\ منح الوصول لمزامنة
+You can start by selecting backup frequency and \					granting access for sync,Sie können durch Auswahl der Backup-Frequenz beginnen und \ Gewährung des Zugangs für die Synchronisation
 You can use <a href='#Form/Customize Form'>Customize Form</a> to set levels on fields.,Sie können <a href='#Form/Customize Form'> Formular anpassen </ a> auf ein Niveau auf den Feldern eingestellt.
 You may need to update: ,Möglicherweise müssen Sie aktualisieren:
 Your Customer's TAX registration numbers (if applicable) or any general information,Ihre Kunden TAX Kennzeichen (falls zutreffend) oder allgemeine Informationen
 "Your download is being built, this may take a few moments...","Ihr Download gebaut wird, kann dies einige Zeit dauern ..."
-Your letter head content in HTML.,Ihr Briefkopf Inhalte in HTML.
+Your letter head content,Ihr Briefkopf Inhalt
 Your sales person who will contact the customer in future,"Ihr Umsatz Person, die die Kunden in Zukunft in Verbindung setzen"
 Your sales person who will contact the lead in future,"Ihr Umsatz Person, die die Führung in der Zukunft an"
 Your sales person will get a reminder on this date to contact the customer,"Ihre Vertriebsmitarbeiter erhalten eine Erinnerung an diesem Tag, um den Kunden an"
 Your sales person will get a reminder on this date to contact the lead,Ihre Vertriebsmitarbeiter erhalten eine Erinnerung an diesem Tag an die Spitze setzen
 Your support email id - must be a valid email - this is where your emails will come!,"Ihre Unterstützung email id - muss eine gültige E-Mail-sein - das ist, wo Ihre E-Mails wird kommen!"
-[Label]:[Field Type]/[Options]:[Width],[تسمية]: [نوع الحقل] / [خيارات]: [العرض]
+[Label]:[Field Type]/[Options]:[Width],[Label]: [Feldtyp] / [Optionen]: [Breite]
 add your own CSS (careful!),fügen Sie Ihre eigenen CSS (Vorsicht!)
 adjust,einstellen
 align-center,align-center
 align-justify,Ausrichtung zu rechtfertigen
 align-left,-links ausrichten
 align-right,align-right
-also be included in Item's rate,أيضا يتم تضمينها في سعر السلعة في
+also be included in Item's rate,auch in Artikelbeschreibung inbegriffen sein
 and,und
 arrow-down,arrow-down
 arrow-left,Pfeil-links
 arrow-right,arrow-right
 arrow-up,arrow-up
-assigned by,يكلفه بها
+assigned by,zugewiesen durch
 asterisk,Sternchen
 backward,rückwärts
 ban-circle,ban-Kreis
@@ -3225,11 +3265,11 @@
 camera,Kamera
 cancel,kündigen
 cannot be 0,nicht 0 sein kann
-cannot be empty,لا يمكن أن تكون فارغة
-cannot be greater than 100,لا يمكن أن تكون أكبر من 100
-cannot be included in Item's rate,لا يمكن متضمنة في سعر السلعة لل
-"cannot have a URL, because it has child item(s)",لا يمكن أن يكون URL، لأنه لديه بند الطفل (ق)
-cannot start with,لا يمكن أن تبدأ مع
+cannot be empty,darf nicht leer sein
+cannot be greater than 100,kann nicht größer sein als 100
+cannot be included in Item's rate,kann nicht in der Artikelbeschreibung enthalten sein
+"cannot have a URL, because it has child item(s)","kann nicht eine URL, weil es Kind item (s) hat"
+cannot start with,kann nicht mit starten
 certificate,Zertifikat
 check,überprüfen
 chevron-down,Chevron-down
@@ -3247,9 +3287,9 @@
 dd/mm/yyyy,dd / mm / yyyy
 deactivate,deaktivieren
 does not belong to BOM: ,nicht auf BOM gehören:
-does not exist,غير موجود
-does not have role 'Leave Approver',ليس لديها دور &#39;اترك الموافق&#39;
-does not match,لا يطابق
+does not exist,nicht vorhanden
+does not have role 'Leave Approver',keine Rolle &#39;Leave Approver&#39;
+does not match,stimmt nicht
 download,Download
 download-alt,Download-alt
 "e.g. Bank, Cash, Credit Card","z.B. Bank, Bargeld, Kreditkarte"
@@ -3260,8 +3300,8 @@
 english,Englisch
 envelope,Umschlag
 español,español
-example: Next Day Shipping,مثال: اليوم التالي شحن
-example: http://help.erpnext.com,مثال: http://help.erpnext.com
+example: Next Day Shipping,Beispiel: Versand am nächsten Tag
+example: http://help.erpnext.com,Beispiel: http://help.erpnext.com
 exclamation-sign,Ausrufezeichen-Zeichen
 eye-close,Auge-Schließ
 eye-open,Augen öffnen
@@ -3287,20 +3327,20 @@
 hand-right,Hand-Rechts
 hand-up,Hand-up
 has been entered atleast twice,wurde atleast zweimal eingegeben
-have a common territory,لديها أراضي مشتركة
-have the same Barcode,لها نفس الباركود
+have a common territory,haben ein gemeinsames Territorium
+have the same Barcode,haben den gleichen Barcode
 hdd,hdd
 headphones,Kopfhörer
 heart,Herz
 home,Zuhause
-icon,رمز
-in,في
+icon,icon
+in,in
 inbox,Posteingang
 indent-left,Gedankenstrich links
 indent-right,indent-Recht
 info-sign,info-Zeichen
 is a cancelled Item,ist ein gestempeltes
-is linked in,ويرتبط في
+is linked in,in Zusammenhang
 is not a Stock Item,ist kein Lagerartikel
 is not allowed.,ist nicht erlaubt.
 italic,kursiv
@@ -3309,7 +3349,7 @@
 list,Liste
 list-alt,list-alt
 lock,sperren
-lowercase,أحرف صغيرة
+lowercase,Kleinbuchstaben
 magnet,Magnet
 map-marker,map-Marker
 minus,minus
@@ -3318,15 +3358,15 @@
 mm/dd/yyyy,mm / dd / yyyy
 move,bewegen
 music,Musik
-must be one of,يجب أن يكون واحدا من
+must be one of,muss einer sein
 nederlands,nederlands
-not a purchase item,ليس شراء مادة
-not a sales item,ليس البند مبيعات
-not a service item.,ليس خدمة المدينة.
-not a sub-contracted item.,ليس البند الفرعي المتعاقد عليها.
-not in,ليس في
+not a purchase item,kein Kaufsache
+not a sales item,kein Verkaufsartikel
+not a service item.,nicht ein service Produkt.
+not a sub-contracted item.,keine Unteraufträge vergeben werden Artikel.
+not in,nicht in
 not within Fiscal Year,nicht innerhalb Geschäftsjahr
-of,من
+of,von
 of type Link,vom Typ Link-
 off,ab
 ok,Ok
@@ -3366,7 +3406,7 @@
 share,Aktie
 share-alt,Aktien-alt
 shopping-cart,Shopping-cart
-should be 100%,يجب أن تكون 100٪
+should be 100%,sollte 100% sein
 signal,signalisieren
 star,Stern
 star-empty,star-empty
@@ -3398,6 +3438,7 @@
 volume-up,Volumen-up
 warning-sign,Warn-Schild
 website page link,Website-Link
+which is greater than sales order qty ,die größer ist als der Umsatz Bestellmenge
 wrench,Schraubenschlüssel
 yyyy-mm-dd,yyyy-mm-dd
 zoom-in,zoom-in
diff --git a/utilities/cleanup_data.py b/utilities/cleanup_data.py
index 3a712ce..fe83ade8 100644
--- a/utilities/cleanup_data.py
+++ b/utilities/cleanup_data.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 #!/usr/bin/python
 
 # This script is for cleaning up of all data from system including 
diff --git a/utilities/demo_docs/Item.csv b/utilities/demo_docs/Item.csv
index e1a797a..57d438d 100644
--- a/utilities/demo_docs/Item.csv
+++ b/utilities/demo_docs/Item.csv
@@ -17,20 +17,20 @@
 Type:,Data (text),Select,Select,Select,Data,Select,Link,Select,Select,Small Text,Select,Select,Select,Link,Select,Select,Select,Data,Link,Link,Float,Link,Select,Select,Select,Select,Int,Float,Float,Data,Link,Float,Link,Link,Small Text,Check,Date,Link,Data,Data,Data,Float,Link,Data,Link,Float,Link,Float,Int,Text Editor,Float
 Info:,,"One of: Yes, No","One of: Yes, No","One of: Yes, No",,"One of: Yes, No",Valid UOM,"One of: Yes, No","One of: Yes, No",,"One of: Yes, No","One of: Yes, No","One of: Yes, No",Valid Item Group,"One of: Yes, No","One of: Yes, No","One of: Yes, No",,Valid Warehouse,Valid Cost Center,,Valid BOM,One of: ITEM,One of: attach_files:,"One of: FIFO, Moving Average",One of: attach_files:,Integer,,,,Valid Cost Center,,Valid Account,Valid Account,,0 or 1,,Valid Warehouse,,,,,Valid Brand,,Valid Website Slideshow,,Valid UOM,,Integer,,
 Start entering data below this line,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-,Wind Turbine,Yes,No,No,Wind Turbine,No,Nos,Yes,Yes,Small Wind Turbine for Home Use,Yes,No,Yes,Products,No,No,No,Wind Turbine,Finished Goods - WP,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-,Wind Mill A Series,Yes,No,No,Wind Mill A Series,No,Nos,Yes,Yes,Wind Mill A Series for Home Use 9ft,Yes,No,Yes,Products,No,Yes,No,Wind Mill A Series,Finished Goods - WP,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-,Wind Mill A Series,Yes,No,No,Wind Mill A Series,No,Nos,Yes,Yes,Wind Mill A Series for Home Use 12ft,Yes,No,Yes,Products,No,Yes,No,Wind Mill A Series,Finished Goods - WP,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-,Wind MIll C Series,Yes,No,No,Wind MIll C Series,No,Nos,Yes,Yes,Wind Mill C Series for Commercial Use 18ft,Yes,No,Yes,Products,No,Yes,No,Wind MIll C Series,Finished Goods - WP,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-,Base Plate,Yes,No,No,Base Plate,No,Nos,Yes,No,3/4 in. x 2 ft. x 4 ft. Pine Plywood,Yes,No,Yes,Raw Material,No,No,No,Base Plate,Stores - WP,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-,Base Bearing Plate,Yes,No,No,Base Bearing Plate,No,Nos,Yes,No,1/4 in. x 6 in. x 6 in. Mild Steel Plate,Yes,No,Yes,Raw Material,No,No,No,Base Bearing Plate,Stores - WP,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-,Bearing Pipe,Yes,No,No,Bearing Pipe,No,Nos,Yes,No,1.5 in. Diameter x 36 in. Mild Steel Tubing,Yes,No,Yes,Raw Material,No,No,No,Bearing Pipe,Stores - WP,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-,Upper Bearing Plate,Yes,No,No,Upper Bearing Plate,No,Nos,Yes,No,3/16 in. x 6 in. x 6 in. Low Carbon Steel Plate,Yes,No,Yes,Raw Material,No,No,No,Upper Bearing Plate,Stores - WP,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-,Bearing Collar,Yes,No,No,Bearing Collar,No,Nos,Yes,No,1 in. x 3 in. x 1 ft. Multipurpose Al Alloy Bar ,Yes,No,Yes,Raw Material,No,No,No,Bearing Collar,Stores - WP,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-,External Disc,Yes,No,No,External Disc,No,Nos,Yes,No,15/32 in. x 4 ft. x 8 ft. 3-Ply Rtd Sheathing ,Yes,No,Yes,Raw Material,No,No,No,External Disc,Stores - WP,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-,Shaft,Yes,No,No,Shaft,No,Nos,Yes,No,1.25 in. Diameter x 6 ft. Mild Steel Tubing,Yes,No,Yes,Raw Material,No,No,No,Shaft,Stores - WP,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-,Internal Disc,Yes,No,No,Internal Disc,No,Nos,Yes,No,For Bearing Collar,Yes,No,Yes,Raw Material,No,No,No,Internal Disc,Stores - WP,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-,Blade Rib,Yes,No,No,Blade Rib,No,Nos,Yes,No,1/2 in. x 2 ft. x 4 ft. Pine Plywood,Yes,No,Yes,Raw Material,No,No,No,Blade Rib,Stores - WP,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-,Wing Sheet,Yes,No,No,Wing Sheet,No,Nos,Yes,No,1/32 in. x 24 in. x 47 in. HDPE Opaque Sheet,Yes,No,Yes,Raw Material,No,No,No,Wing Sheet,Stores - WP,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-,Disc Collars,Yes,No,No,Disc Collars,No,Nos,Yes,No,For Upper Bearing,Yes,No,Yes,Raw Material,No,No,No,Disc Collars,Stores - WP,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-,Bearing Block,Yes,No,No,Bearing Block,No,Nos,Yes,No,"CAST IRON, MCMASTER PART NO. 3710T13",Yes,No,Yes,Raw Material,No,No,No,Bearing Block,Stores - WP,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-,Stand,Yes,No,No,Stand,No,Nos,Yes,No,N/A,Yes,No,Yes,Raw Material,No,No,No,Stand,Stores - WP,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
\ No newline at end of file
+,Wind Turbine,Yes,No,No,Wind Turbine,Yes,Nos,Yes,Yes,Small Wind Turbine for Home Use,Yes,No,Yes,Products,No,No,No,Wind Turbine,Finished Goods - WP,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+,Wind Mill A Series,Yes,No,No,Wind Mill A Series,Yes,Nos,Yes,Yes,Wind Mill A Series for Home Use 9ft,Yes,No,Yes,Products,No,Yes,No,Wind Mill A Series,Finished Goods - WP,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+,Wind Mill A Series,Yes,No,No,Wind Mill A Series,Yes,Nos,Yes,Yes,Wind Mill A Series for Home Use 12ft,Yes,No,Yes,Products,No,Yes,No,Wind Mill A Series,Finished Goods - WP,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+,Wind MIll C Series,Yes,No,No,Wind MIll C Series,Yes,Nos,Yes,Yes,Wind Mill C Series for Commercial Use 18ft,Yes,No,Yes,Products,No,Yes,No,Wind MIll C Series,Finished Goods - WP,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+,Base Plate,Yes,No,No,Base Plate,Yes,Nos,Yes,No,3/4 in. x 2 ft. x 4 ft. Pine Plywood,Yes,No,Yes,Raw Material,No,No,No,Base Plate,Stores - WP,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+,Base Bearing Plate,Yes,No,No,Base Bearing Plate,Yes,Nos,Yes,No,1/4 in. x 6 in. x 6 in. Mild Steel Plate,Yes,No,Yes,Raw Material,No,No,No,Base Bearing Plate,Stores - WP,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+,Bearing Pipe,Yes,No,No,Bearing Pipe,Yes,Nos,Yes,No,1.5 in. Diameter x 36 in. Mild Steel Tubing,Yes,No,Yes,Raw Material,No,No,No,Bearing Pipe,Stores - WP,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+,Upper Bearing Plate,Yes,No,No,Upper Bearing Plate,Yes,Nos,Yes,No,3/16 in. x 6 in. x 6 in. Low Carbon Steel Plate,Yes,No,Yes,Raw Material,No,No,No,Upper Bearing Plate,Stores - WP,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+,Bearing Collar,Yes,No,No,Bearing Collar,Yes,Nos,Yes,No,1 in. x 3 in. x 1 ft. Multipurpose Al Alloy Bar ,Yes,No,Yes,Raw Material,No,No,No,Bearing Collar,Stores - WP,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+,External Disc,Yes,No,No,External Disc,Yes,Nos,Yes,No,15/32 in. x 4 ft. x 8 ft. 3-Ply Rtd Sheathing ,Yes,No,Yes,Raw Material,No,No,No,External Disc,Stores - WP,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+,Shaft,Yes,No,No,Shaft,Yes,Nos,Yes,No,1.25 in. Diameter x 6 ft. Mild Steel Tubing,Yes,No,Yes,Raw Material,No,No,No,Shaft,Stores - WP,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+,Internal Disc,Yes,No,No,Internal Disc,Yes,Nos,Yes,No,For Bearing Collar,Yes,No,Yes,Raw Material,No,No,No,Internal Disc,Stores - WP,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+,Blade Rib,Yes,No,No,Blade Rib,Yes,Nos,Yes,No,1/2 in. x 2 ft. x 4 ft. Pine Plywood,Yes,No,Yes,Raw Material,No,No,No,Blade Rib,Stores - WP,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+,Wing Sheet,Yes,No,No,Wing Sheet,Yes,Nos,Yes,No,1/32 in. x 24 in. x 47 in. HDPE Opaque Sheet,Yes,No,Yes,Raw Material,No,No,No,Wing Sheet,Stores - WP,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+,Disc Collars,Yes,No,No,Disc Collars,Yes,Nos,Yes,No,For Upper Bearing,Yes,No,Yes,Raw Material,No,No,No,Disc Collars,Stores - WP,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+,Bearing Block,Yes,No,No,Bearing Block,Yes,Nos,Yes,No,"CAST IRON, MCMASTER PART NO. 3710T13",Yes,No,Yes,Raw Material,No,No,No,Bearing Block,Stores - WP,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+,Stand,Yes,No,No,Stand,Yes,Nos,Yes,No,N/A,Yes,No,Yes,Raw Material,No,No,No,Stand,Stores - WP,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
\ No newline at end of file
diff --git a/utilities/demo_docs/Lead.csv b/utilities/demo_docs/Lead.csv
index 9471b21..c00ab44 100644
--- a/utilities/demo_docs/Lead.csv
+++ b/utilities/demo_docs/Lead.csv
@@ -29,8 +29,8 @@
 ,,Leo Mikulić,Passive,,Listen Up,LeoMikulic@gustr.com,,,,,,,,,,,,,,,,,,,,,
 ,,Denisa Jarošová,Passive,,I. Magnin,DenisaJarosova@teleworm.us,,,,,,,,,,,,,,,,,,,,,
 ,,Janek Rutkowski,Passive,,First Rate Choice,JanekRutkowski@dayrep.com,,,,,,,,,,,,,,,,,,,,,
-,,美月 宇藤,Passive,,Multi Tech Development,@gustr.com,,,,,,,,,,,,,,,,,,,,,
-,,Даниил Афанасьев,Passive,,National Auto Parts,@einrot.com,,,,,,,,,,,,,,,,,,,,,
+,,美月 宇藤,Passive,,Multi Tech Development,mm@gustr.com,,,,,,,,,,,,,,,,,,,,,
+,,Даниил Афанасьев,Passive,,National Auto Parts,dd@einrot.com,,,,,,,,,,,,,,,,,,,,,
 ,,Zorislav Petković,Passive,,Integra Investment Plan,ZorislavPetkovic@cuvox.de,,,,,,,,,,,,,,,,,,,,,
 ,,Nanao Niwa,Passive,,The Lawn Guru,NanaoNiwa@superrito.com,,,,,,,,,,,,,,,,,,,,,
 ,,Hreiðar Jörundsson,Passive,,Buena Vista Realty Service,HreiarJorundsson@armyspy.com,,,,,,,,,,,,,,,,,,,,,
@@ -60,7 +60,7 @@
 ,,Mekirinzukushitakufu ,Passive,,Choices,Mekirinzukushitakufu@teleworm.us,,,,,,,,,,,,,,,,,,,,,
 ,,Mukharbek Sultanovich,Passive,,Megatronic,MukharbekSultanovich@cuvox.de,,,,,,,,,,,,,,,,,,,,,
 ,,Osman Amanuel,Passive,,Handy Dan,OsmanAmanuel@dayrep.com,,,,,,,,,,,,,,,,,,,,,
-,,幸子 阪部,Passive,,Channel Home Centers,@armyspy.com,,,,,,,,,,,,,,,,,,,,,
+,,幸子 阪部,Passive,,Channel Home Centers,dd@armyspy.com,,,,,,,,,,,,,,,,,,,,,
 ,,Masakazu Kamitani,Passive,,Honest Air Group,MasakazuKamitani@superrito.com,,,,,,,,,,,,,,,,,,,,,
 ,,Omran Sabbagh,Passive,,Pleasures and Pasttimes,OmranNuhaidSabbagh@einrot.com,,,,,,,,,,,,,,,,,,,,,
 ,,Rikako Matsumura,Passive,,Lazysize,RikakoMatsumura@einrot.com,,,,,,,,,,,,,,,,,,,,,
diff --git a/utilities/doctype/address/address.js b/utilities/doctype/address/address.js
index f17f823..d4ed3fb 100644
--- a/utilities/doctype/address/address.js
+++ b/utilities/doctype/address/address.js
@@ -1,17 +1,4 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 wn.require('app/controllers/js/contact_address_common.js');
\ No newline at end of file
diff --git a/utilities/doctype/address/address.py b/utilities/doctype/address/address.py
index bc35c27..7ffb911 100644
--- a/utilities/doctype/address/address.py
+++ b/utilities/doctype/address/address.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/utilities/doctype/address/test_address.py b/utilities/doctype/address/test_address.py
index eddd9c7..1de733f 100644
--- a/utilities/doctype/address/test_address.py
+++ b/utilities/doctype/address/test_address.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 test_records = [
 	[{
 		"doctype": "Address",
diff --git a/utilities/doctype/contact/contact.js b/utilities/doctype/contact/contact.js
index 1dfa454..608b1e7 100644
--- a/utilities/doctype/contact/contact.js
+++ b/utilities/doctype/contact/contact.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 wn.require('app/controllers/js/contact_address_common.js');
 
diff --git a/utilities/doctype/contact/contact.py b/utilities/doctype/contact/contact.py
index a19501f..89cfc8e 100644
--- a/utilities/doctype/contact/contact.py
+++ b/utilities/doctype/contact/contact.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/utilities/doctype/contact/test_contact.py b/utilities/doctype/contact/test_contact.py
index d16e93d..376d3ad 100644
--- a/utilities/doctype/contact/test_contact.py
+++ b/utilities/doctype/contact/test_contact.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 test_records = [
 	[{
 		"doctype": "Contact",
diff --git a/utilities/doctype/note/note.py b/utilities/doctype/note/note.py
index 02862de..befb4c4 100644
--- a/utilities/doctype/note/note.py
+++ b/utilities/doctype/note/note.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 # For license information, please see license.txt
 
 from __future__ import unicode_literals
diff --git a/utilities/doctype/note_user/note_user.py b/utilities/doctype/note_user/note_user.py
index 928aa9f..784339d 100644
--- a/utilities/doctype/note_user/note_user.py
+++ b/utilities/doctype/note_user/note_user.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 # For license information, please see license.txt
 
 from __future__ import unicode_literals
diff --git a/utilities/doctype/rename_tool/rename_tool.js b/utilities/doctype/rename_tool/rename_tool.js
index bba7573..b339b85 100644
--- a/utilities/doctype/rename_tool/rename_tool.js
+++ b/utilities/doctype/rename_tool/rename_tool.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 cur_frm.cscript.refresh = function(doc) {
 	return wn.call({
 		method:"utilities.doctype.rename_tool.rename_tool.get_doctypes",
diff --git a/utilities/doctype/rename_tool/rename_tool.py b/utilities/doctype/rename_tool/rename_tool.py
index 4da3a28..5ccec9a 100644
--- a/utilities/doctype/rename_tool/rename_tool.py
+++ b/utilities/doctype/rename_tool/rename_tool.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 # For license information, please see license.txt
 
 from __future__ import unicode_literals
diff --git a/utilities/doctype/sms_control/sms_control.js b/utilities/doctype/sms_control/sms_control.js
index e6e14f7..2780ad4 100644
--- a/utilities/doctype/sms_control/sms_control.js
+++ b/utilities/doctype/sms_control/sms_control.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 function SMSManager() {
 	var me = this;
diff --git a/utilities/doctype/sms_control/sms_control.py b/utilities/doctype/sms_control/sms_control.py
index f4d90b8..9c2319f 100644
--- a/utilities/doctype/sms_control/sms_control.py
+++ b/utilities/doctype/sms_control/sms_control.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/utilities/doctype/sms_log/sms_log.py b/utilities/doctype/sms_log/sms_log.py
index 7f48feb..26d0f76 100644
--- a/utilities/doctype/sms_log/sms_log.py
+++ b/utilities/doctype/sms_log/sms_log.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/utilities/make_demo.py b/utilities/make_demo.py
index 8328853..a2cdefb 100644
--- a/utilities/make_demo.py
+++ b/utilities/make_demo.py
@@ -1,9 +1,13 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 import webnotes, os
 webnotes.session = webnotes._dict({"user":"Administrator"})
 from core.page.data_import_tool.data_import_tool import upload
 
 def make():
 	webnotes.connect()
+	webnotes.print_messages = True
 	webnotes.mute_emails = True
 	install()
 	complete_setup()
@@ -37,6 +41,9 @@
 	print "Importing Items..."
 	webnotes.uploaded_file = os.path.join(os.path.dirname(__file__), "demo_docs", "Item.csv")
 	upload()
+	print "Importing Item Prices..."
+	webnotes.uploaded_file = os.path.join(os.path.dirname(__file__), "demo_docs", "Item_Price.csv")
+	upload()
 	
 def make_customers_suppliers_contacts():
 	print "Importing Customers..."
diff --git a/utilities/transaction_base.py b/utilities/transaction_base.py
index b688200..ced4531 100644
--- a/utilities/transaction_base.py
+++ b/utilities/transaction_base.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/website/doctype/about_us_settings/about_us_settings.py b/website/doctype/about_us_settings/about_us_settings.py
index 0872015..139abc2 100644
--- a/website/doctype/about_us_settings/about_us_settings.py
+++ b/website/doctype/about_us_settings/about_us_settings.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 # For license information, please see license.txt
 
 from __future__ import unicode_literals
diff --git a/website/doctype/about_us_team_member/about_us_team_member.py b/website/doctype/about_us_team_member/about_us_team_member.py
index 928aa9f..784339d 100644
--- a/website/doctype/about_us_team_member/about_us_team_member.py
+++ b/website/doctype/about_us_team_member/about_us_team_member.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 # For license information, please see license.txt
 
 from __future__ import unicode_literals
diff --git a/website/doctype/blog_category/blog_category.py b/website/doctype/blog_category/blog_category.py
index 41f8fb0..7d99e2a 100644
--- a/website/doctype/blog_category/blog_category.py
+++ b/website/doctype/blog_category/blog_category.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 # For license information, please see license.txt
 
 from __future__ import unicode_literals
diff --git a/website/doctype/blog_post/blog_post.js b/website/doctype/blog_post/blog_post.js
index b0c1ec2..af4dcc9 100644
--- a/website/doctype/blog_post/blog_post.js
+++ b/website/doctype/blog_post/blog_post.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 cur_frm.cscript.refresh = function(doc) {
 	if(!doc.__islocal && doc.published && !doc.email_sent) {
diff --git a/website/doctype/blog_post/blog_post.py b/website/doctype/blog_post/blog_post.py
index f6dfc60..ad8a0b8 100644
--- a/website/doctype/blog_post/blog_post.py
+++ b/website/doctype/blog_post/blog_post.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 
diff --git a/website/doctype/blog_settings/blog_settings.py b/website/doctype/blog_settings/blog_settings.py
index 928aa9f..784339d 100644
--- a/website/doctype/blog_settings/blog_settings.py
+++ b/website/doctype/blog_settings/blog_settings.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 # For license information, please see license.txt
 
 from __future__ import unicode_literals
diff --git a/website/doctype/blogger/blogger.py b/website/doctype/blogger/blogger.py
index a16867d..b35b8ee 100644
--- a/website/doctype/blogger/blogger.py
+++ b/website/doctype/blogger/blogger.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 # For license information, please see license.txt
 
 from __future__ import unicode_literals
diff --git a/website/doctype/company_history/company_history.py b/website/doctype/company_history/company_history.py
index 928aa9f..784339d 100644
--- a/website/doctype/company_history/company_history.py
+++ b/website/doctype/company_history/company_history.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 # For license information, please see license.txt
 
 from __future__ import unicode_literals
diff --git a/website/doctype/contact_us_settings/contact_us_settings.py b/website/doctype/contact_us_settings/contact_us_settings.py
index 37e49a6..37df106 100644
--- a/website/doctype/contact_us_settings/contact_us_settings.py
+++ b/website/doctype/contact_us_settings/contact_us_settings.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 # For license information, please see license.txt
 
 from __future__ import unicode_literals
diff --git a/website/doctype/shopping_cart_price_list/shopping_cart_price_list.py b/website/doctype/shopping_cart_price_list/shopping_cart_price_list.py
index 928aa9f..784339d 100644
--- a/website/doctype/shopping_cart_price_list/shopping_cart_price_list.py
+++ b/website/doctype/shopping_cart_price_list/shopping_cart_price_list.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 # For license information, please see license.txt
 
 from __future__ import unicode_literals
diff --git a/website/doctype/shopping_cart_settings/shopping_cart_settings.js b/website/doctype/shopping_cart_settings/shopping_cart_settings.js
index 74988dc..c38c757 100644
--- a/website/doctype/shopping_cart_settings/shopping_cart_settings.js
+++ b/website/doctype/shopping_cart_settings/shopping_cart_settings.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 $.extend(cur_frm.cscript, {
 	onload: function() {
 		if(cur_frm.doc.__quotation_series) {
diff --git a/website/doctype/shopping_cart_settings/shopping_cart_settings.py b/website/doctype/shopping_cart_settings/shopping_cart_settings.py
index 853eeb4..f06c1f7 100644
--- a/website/doctype/shopping_cart_settings/shopping_cart_settings.py
+++ b/website/doctype/shopping_cart_settings/shopping_cart_settings.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 # For license information, please see license.txt
 
 from __future__ import unicode_literals
diff --git a/website/doctype/shopping_cart_settings/test_shopping_cart_settings.py b/website/doctype/shopping_cart_settings/test_shopping_cart_settings.py
index b4ae6fc..cbba566 100644
--- a/website/doctype/shopping_cart_settings/test_shopping_cart_settings.py
+++ b/website/doctype/shopping_cart_settings/test_shopping_cart_settings.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 # For license information, please see license.txt
 
 from __future__ import unicode_literals
diff --git a/website/doctype/shopping_cart_shipping_rule/shopping_cart_shipping_rule.py b/website/doctype/shopping_cart_shipping_rule/shopping_cart_shipping_rule.py
index 928aa9f..784339d 100644
--- a/website/doctype/shopping_cart_shipping_rule/shopping_cart_shipping_rule.py
+++ b/website/doctype/shopping_cart_shipping_rule/shopping_cart_shipping_rule.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 # For license information, please see license.txt
 
 from __future__ import unicode_literals
diff --git a/website/doctype/shopping_cart_taxes_and_charges_master/shopping_cart_taxes_and_charges_master.py b/website/doctype/shopping_cart_taxes_and_charges_master/shopping_cart_taxes_and_charges_master.py
index 928aa9f..784339d 100644
--- a/website/doctype/shopping_cart_taxes_and_charges_master/shopping_cart_taxes_and_charges_master.py
+++ b/website/doctype/shopping_cart_taxes_and_charges_master/shopping_cart_taxes_and_charges_master.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 # For license information, please see license.txt
 
 from __future__ import unicode_literals
diff --git a/website/doctype/style_settings/style_settings.js b/website/doctype/style_settings/style_settings.js
index 54c4f08..6ecdafa 100644
--- a/website/doctype/style_settings/style_settings.js
+++ b/website/doctype/style_settings/style_settings.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 
 cur_frm.cscript.onload_post_render = function() {
diff --git a/website/doctype/style_settings/style_settings.py b/website/doctype/style_settings/style_settings.py
index f05a8eb..7efe861 100644
--- a/website/doctype/style_settings/style_settings.py
+++ b/website/doctype/style_settings/style_settings.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/website/doctype/top_bar_item/top_bar_item.py b/website/doctype/top_bar_item/top_bar_item.py
index 7f48feb..26d0f76 100644
--- a/website/doctype/top_bar_item/top_bar_item.py
+++ b/website/doctype/top_bar_item/top_bar_item.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/website/doctype/web_page/web_page.js b/website/doctype/web_page/web_page.js
index 274fcab..9e52360 100644
--- a/website/doctype/web_page/web_page.js
+++ b/website/doctype/web_page/web_page.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 $.extend(cur_frm.cscript, {
 	layout: function(doc) {
 		if(!doc.__islocal) {
diff --git a/website/doctype/web_page/web_page.py b/website/doctype/web_page/web_page.py
index 6d0cafa..dbcd68e 100644
--- a/website/doctype/web_page/web_page.py
+++ b/website/doctype/web_page/web_page.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/website/doctype/website_item_group/website_item_group.py b/website/doctype/website_item_group/website_item_group.py
index 928aa9f..784339d 100644
--- a/website/doctype/website_item_group/website_item_group.py
+++ b/website/doctype/website_item_group/website_item_group.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 # For license information, please see license.txt
 
 from __future__ import unicode_literals
diff --git a/website/doctype/website_script/website_script.py b/website/doctype/website_script/website_script.py
index 60403d4..2a5b9e2 100644
--- a/website/doctype/website_script/website_script.py
+++ b/website/doctype/website_script/website_script.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 # For license information, please see license.txt
 
 from __future__ import unicode_literals
diff --git a/website/doctype/website_settings/website_settings.js b/website/doctype/website_settings/website_settings.js
index 2322b7c..0d0dab6 100644
--- a/website/doctype/website_settings/website_settings.js
+++ b/website/doctype/website_settings/website_settings.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 // update parent select
 
diff --git a/website/doctype/website_settings/website_settings.py b/website/doctype/website_settings/website_settings.py
index 182f063..3b27c7c 100644
--- a/website/doctype/website_settings/website_settings.py
+++ b/website/doctype/website_settings/website_settings.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/website/doctype/website_slideshow/website_slideshow.js b/website/doctype/website_slideshow/website_slideshow.js
index bde6d26..a28e1c7 100644
--- a/website/doctype/website_slideshow/website_slideshow.js
+++ b/website/doctype/website_slideshow/website_slideshow.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 cur_frm.cscript.refresh = function(doc) {
 	cur_frm.set_intro("");
 	if(doc.__islocal) {
diff --git a/website/doctype/website_slideshow/website_slideshow.py b/website/doctype/website_slideshow/website_slideshow.py
index 86bd2a0..8bc0447 100644
--- a/website/doctype/website_slideshow/website_slideshow.py
+++ b/website/doctype/website_slideshow/website_slideshow.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 # For license information, please see license.txt
 
 from __future__ import unicode_literals
diff --git a/website/doctype/website_slideshow_item/website_slideshow_item.py b/website/doctype/website_slideshow_item/website_slideshow_item.py
index 928aa9f..784339d 100644
--- a/website/doctype/website_slideshow_item/website_slideshow_item.py
+++ b/website/doctype/website_slideshow_item/website_slideshow_item.py
@@ -1,3 +1,6 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
 # For license information, please see license.txt
 
 from __future__ import unicode_literals
diff --git a/website/helpers/blog.py b/website/helpers/blog.py
index ae52c79..005bdb8 100644
--- a/website/helpers/blog.py
+++ b/website/helpers/blog.py
@@ -1,5 +1,5 @@
-# Copyright (c) 2012 Web Notes Technologies Pvt Ltd.
-# License: GNU General Public License (v3). For more information see license.txt
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/website/helpers/blog_feed.py b/website/helpers/blog_feed.py
index c79c5cc..577cde6 100644
--- a/website/helpers/blog_feed.py
+++ b/website/helpers/blog_feed.py
@@ -1,24 +1,5 @@
-# Copyright (c) 2012 Web Notes Technologies Pvt Ltd (http://erpnext.com)
-# 
-# MIT License (MIT)
-# 
-# Permission is hereby granted, free of charge, to any person obtaining a 
-# copy of this software and associated documentation files (the "Software"), 
-# to deal in the Software without restriction, including without limitation 
-# the rights to use, copy, modify, merge, publish, distribute, sublicense, 
-# and/or sell copies of the Software, and to permit persons to whom the 
-# Software is furnished to do so, subject to the following conditions:
-# 
-# The above copyright notice and this permission notice shall be included in 
-# all copies or substantial portions of the Software.
-# 
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 
-# INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
-# PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 
-# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF 
-# CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE 
-# OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-# 
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt 
 
 from __future__ import unicode_literals
 """
diff --git a/website/helpers/cart.py b/website/helpers/cart.py
index 2149534..e184795 100644
--- a/website/helpers/cart.py
+++ b/website/helpers/cart.py
@@ -1,5 +1,5 @@
-# Copyright (c) 2012 Web Notes Technologies Pvt Ltd.
-# License: GNU General Public License (v3). For more information see license.txt
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/website/helpers/contact.py b/website/helpers/contact.py
index 0042c03..05ae4f7 100644
--- a/website/helpers/contact.py
+++ b/website/helpers/contact.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 
diff --git a/website/helpers/make_web_include_files.py b/website/helpers/make_web_include_files.py
index fe6f05c..7ff3d6a 100644
--- a/website/helpers/make_web_include_files.py
+++ b/website/helpers/make_web_include_files.py
@@ -1,5 +1,5 @@
-# Copyright (c) 2012 Web Notes Technologies Pvt Ltd.
-# License: GNU General Public License (v3). For more information see license.txt
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 import os
 import webnotes
diff --git a/website/helpers/partner.py b/website/helpers/partner.py
index cfe66b9..404894e 100644
--- a/website/helpers/partner.py
+++ b/website/helpers/partner.py
@@ -1,5 +1,5 @@
-# Copyright (c) 2012 Web Notes Technologies Pvt Ltd.
-# License: GNU General Public License (v3). For more information see license.txt
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 import webnotes
diff --git a/website/helpers/product.py b/website/helpers/product.py
index 168c14c..8c3d45c 100644
--- a/website/helpers/product.py
+++ b/website/helpers/product.py
@@ -1,5 +1,5 @@
-# Copyright (c) 2012 Web Notes Technologies Pvt Ltd.
-# License: GNU General Public License (v3). For more information see license.txt
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 
diff --git a/website/helpers/sitemap.py b/website/helpers/sitemap.py
index 3956da1..fb0d070 100644
--- a/website/helpers/sitemap.py
+++ b/website/helpers/sitemap.py
@@ -1,5 +1,5 @@
-# Copyright (c) 2012 Web Notes Technologies Pvt Ltd.
-# License: GNU General Public License (v3). For more information see license.txt
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
 
diff --git a/website/helpers/slideshow.py b/website/helpers/slideshow.py
index 4c64c55..7e3c398 100644
--- a/website/helpers/slideshow.py
+++ b/website/helpers/slideshow.py
@@ -1,18 +1,5 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
 
 import webnotes
 
diff --git a/website/page/website_home/website_home.js b/website/page/website_home/website_home.js
index 11a22d5..a197f69 100644
--- a/website/page/website_home/website_home.js
+++ b/website/page/website_home/website_home.js
@@ -1,5 +1,5 @@
-// ERPNext: Copyright 2013 Web Notes Technologies Pvt Ltd
-// GNU General Public License. See "license.txt"
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt"
 
 wn.module_page["Website"] = [
 	{
diff --git a/website/templates/js/blog.js b/website/templates/js/blog.js
index 2154d47..252df64 100644
--- a/website/templates/js/blog.js
+++ b/website/templates/js/blog.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 // js inside blog page
 
diff --git a/website/templates/js/blog_page.js b/website/templates/js/blog_page.js
index efdd6bc..11656c8 100644
--- a/website/templates/js/blog_page.js
+++ b/website/templates/js/blog_page.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 // js inside blog page
 
diff --git a/website/templates/js/cart.js b/website/templates/js/cart.js
index ffa084a..114f85b 100644
--- a/website/templates/js/cart.js
+++ b/website/templates/js/cart.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 // js inside blog page
 
diff --git a/website/templates/js/contact.js b/website/templates/js/contact.js
index f7310ad..a28abba 100644
--- a/website/templates/js/contact.js
+++ b/website/templates/js/contact.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 $(document).ready(function() { 
 
 	$('.btn-send').click(function() {
diff --git a/website/templates/js/product_list.js b/website/templates/js/product_list.js
index 6873973..801bc80 100644
--- a/website/templates/js/product_list.js
+++ b/website/templates/js/product_list.js
@@ -1,3 +1,6 @@
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
+
 window.get_product_list = function() {
 	$(".more-btn .btn").click(function() {
 		window.get_product_list()
diff --git a/website/templates/js/product_page.js b/website/templates/js/product_page.js
index adfeb5e..b8c65ec 100644
--- a/website/templates/js/product_page.js
+++ b/website/templates/js/product_page.js
@@ -1,18 +1,5 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-// 
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-// 
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+// License: GNU General Public License v3. See license.txt
 
 $(document).ready(function() {
 	var item_code = $('[itemscope] [itemprop="name"]').text().trim();
