Merge branch 'develop'
diff --git a/erpnext/__version__.py b/erpnext/__version__.py
index 4844236..c40beac 100644
--- a/erpnext/__version__.py
+++ b/erpnext/__version__.py
@@ -1,2 +1,2 @@
from __future__ import unicode_literals
-__version__ = '6.15.0'
+__version__ = '6.15.1'
diff --git a/erpnext/buying/doctype/purchase_order/purchase_order.py b/erpnext/buying/doctype/purchase_order/purchase_order.py
index b10b72f..2a6ab88 100644
--- a/erpnext/buying/doctype/purchase_order/purchase_order.py
+++ b/erpnext/buying/doctype/purchase_order/purchase_order.py
@@ -140,7 +140,7 @@
clear_doctype_notifications(self)
def on_submit(self):
- if self.has_drop_ship_item():
+ if self.is_against_so():
self.update_status_updater()
super(PurchaseOrder, self).on_submit()
@@ -157,8 +157,10 @@
purchase_controller.update_last_purchase_rate(self, is_submit = 1)
def on_cancel(self):
- if self.has_drop_ship_item():
+ if self.is_against_so():
self.update_status_updater()
+
+ if self.has_drop_ship_item():
self.update_delivered_qty_in_sales_order()
pc_obj = frappe.get_doc('Purchase Common')
@@ -222,13 +224,10 @@
so.notify_update()
def has_drop_ship_item(self):
- is_drop_ship = False
-
- for item in self.items:
- if item.delivered_by_supplier == 1:
- is_drop_ship = True
-
- return is_drop_ship
+ return any([d.delivered_by_supplier for d in self.items])
+
+ def is_against_so(self):
+ return any([d.prevdoc_doctype for d in self.items if d.prevdoc_doctype=="Sales Order"])
def set_received_qty_for_drop_ship_items(self):
for item in self.items:
diff --git a/erpnext/controllers/item_variant.py b/erpnext/controllers/item_variant.py
index 5890b5d..3508277 100644
--- a/erpnext/controllers/item_variant.py
+++ b/erpnext/controllers/item_variant.py
@@ -12,7 +12,7 @@
class ItemTemplateCannotHaveStock(frappe.ValidationError): pass
@frappe.whitelist()
-def get_variant(item, args):
+def get_variant(template, args, variant=None):
"""Validates Attributes and their Values, then looks for an exactly matching Item Variant
:param item: Template Item
@@ -24,9 +24,9 @@
if not args:
frappe.throw(_("Please specify at least one attribute in the Attributes table"))
- validate_item_variant_attributes(item, args)
+ validate_item_variant_attributes(template, args)
- return find_variant(item, args)
+ return find_variant(template, args, variant)
def validate_item_variant_attributes(item, args):
attribute_values = {}
@@ -65,7 +65,7 @@
frappe.throw(_("Value {0} for Attribute {1} does not exist in the list of valid Item Attribute Values").format(
value, attribute))
-def find_variant(item, args):
+def find_variant(template, args, variant_item_code=None):
conditions = ["""(iv_attribute.attribute="{0}" and iv_attribute.attribute_value="{1}")"""\
.format(frappe.db.escape(key), frappe.db.escape(cstr(value))) for key, value in args.items()]
@@ -79,8 +79,8 @@
where variant_of=%s and exists (
select name from `tabItem Variant Attribute` iv_attribute
where iv_attribute.parent=item.name
- and ({conditions})
- )""".format(conditions=conditions), item)
+ and ({conditions}) and parent != %s
+ )""".format(conditions=conditions), (template, cstr(variant_item_code)))
for variant in possible_variants:
variant = frappe.get_doc("Item", variant)
diff --git a/erpnext/docs/assets/img/articles/$SGrab_223.png b/erpnext/docs/assets/img/articles/$SGrab_223.png
deleted file mode 100644
index 5091620..0000000
--- a/erpnext/docs/assets/img/articles/$SGrab_223.png
+++ /dev/null
Binary files differ
diff --git a/erpnext/docs/assets/img/articles/$SGrab_349.png b/erpnext/docs/assets/img/articles/$SGrab_349.png
deleted file mode 100644
index dec8468..0000000
--- a/erpnext/docs/assets/img/articles/$SGrab_349.png
+++ /dev/null
Binary files differ
diff --git a/erpnext/docs/assets/img/articles/$SGrab_350.png b/erpnext/docs/assets/img/articles/$SGrab_350.png
deleted file mode 100644
index aa5793a..0000000
--- a/erpnext/docs/assets/img/articles/$SGrab_350.png
+++ /dev/null
Binary files differ
diff --git a/erpnext/docs/assets/img/articles/$SGrab_352.png b/erpnext/docs/assets/img/articles/$SGrab_352.png
deleted file mode 100644
index 0c34c11..0000000
--- a/erpnext/docs/assets/img/articles/$SGrab_352.png
+++ /dev/null
Binary files differ
diff --git a/erpnext/docs/assets/img/articles/$SGrab_353.png b/erpnext/docs/assets/img/articles/$SGrab_353.png
deleted file mode 100644
index 159d2e2..0000000
--- a/erpnext/docs/assets/img/articles/$SGrab_353.png
+++ /dev/null
Binary files differ
diff --git a/erpnext/docs/assets/img/articles/$SGrab_384.png b/erpnext/docs/assets/img/articles/$SGrab_384.png
deleted file mode 100644
index d67bcb2..0000000
--- a/erpnext/docs/assets/img/articles/$SGrab_384.png
+++ /dev/null
Binary files differ
diff --git a/erpnext/docs/assets/img/articles/$SGrab_385.png b/erpnext/docs/assets/img/articles/$SGrab_385.png
deleted file mode 100644
index c2cad13..0000000
--- a/erpnext/docs/assets/img/articles/$SGrab_385.png
+++ /dev/null
Binary files differ
diff --git a/erpnext/docs/assets/img/articles/$SGrab_386.png b/erpnext/docs/assets/img/articles/$SGrab_386.png
deleted file mode 100644
index e530064..0000000
--- a/erpnext/docs/assets/img/articles/$SGrab_386.png
+++ /dev/null
Binary files differ
diff --git a/erpnext/docs/assets/img/articles/$SGrab_387.png b/erpnext/docs/assets/img/articles/$SGrab_387.png
deleted file mode 100644
index c7ec59b..0000000
--- a/erpnext/docs/assets/img/articles/$SGrab_387.png
+++ /dev/null
Binary files differ
diff --git a/erpnext/docs/assets/img/articles/$SGrab_393.png b/erpnext/docs/assets/img/articles/$SGrab_393.png
deleted file mode 100644
index 9ba5acf..0000000
--- a/erpnext/docs/assets/img/articles/$SGrab_393.png
+++ /dev/null
Binary files differ
diff --git a/erpnext/docs/assets/img/articles/$SGrab_394.png b/erpnext/docs/assets/img/articles/$SGrab_394.png
deleted file mode 100644
index 222a5dc..0000000
--- a/erpnext/docs/assets/img/articles/$SGrab_394.png
+++ /dev/null
Binary files differ
diff --git a/erpnext/docs/assets/img/articles/Screen Shot 2015-02-26 at 3.52.10 pm.png b/erpnext/docs/assets/img/articles/Screen Shot 2015-02-26 at 3.52.10 pm.png
deleted file mode 100644
index ae9f7fc..0000000
--- a/erpnext/docs/assets/img/articles/Screen Shot 2015-02-26 at 3.52.10 pm.png
+++ /dev/null
Binary files differ
diff --git a/erpnext/docs/assets/img/articles/Screen Shot 2015-02-26 at 3.58.45 pm.png b/erpnext/docs/assets/img/articles/Screen Shot 2015-02-26 at 3.58.45 pm.png
deleted file mode 100644
index cc16776..0000000
--- a/erpnext/docs/assets/img/articles/Screen Shot 2015-02-26 at 3.58.45 pm.png
+++ /dev/null
Binary files differ
diff --git a/erpnext/docs/assets/img/articles/Screen Shot 2015-02-26 at 4.10.37 pm.png b/erpnext/docs/assets/img/articles/Screen Shot 2015-02-26 at 4.10.37 pm.png
deleted file mode 100644
index 186732c..0000000
--- a/erpnext/docs/assets/img/articles/Screen Shot 2015-02-26 at 4.10.37 pm.png
+++ /dev/null
Binary files differ
diff --git a/erpnext/docs/assets/img/articles/Screen Shot 2015-02-26 at 4.20.30 pm.png b/erpnext/docs/assets/img/articles/Screen Shot 2015-02-26 at 4.20.30 pm.png
deleted file mode 100644
index 1095cb5..0000000
--- a/erpnext/docs/assets/img/articles/Screen Shot 2015-02-26 at 4.20.30 pm.png
+++ /dev/null
Binary files differ
diff --git a/erpnext/docs/assets/img/articles/Selection_080.png b/erpnext/docs/assets/img/articles/Selection_080.png
deleted file mode 100644
index a1acd6c..0000000
--- a/erpnext/docs/assets/img/articles/Selection_080.png
+++ /dev/null
Binary files differ
diff --git a/erpnext/docs/assets/img/articles/Selection_084.png b/erpnext/docs/assets/img/articles/Selection_084.png
deleted file mode 100644
index a346a74..0000000
--- a/erpnext/docs/assets/img/articles/Selection_084.png
+++ /dev/null
Binary files differ
diff --git a/erpnext/docs/assets/img/articles/Selection_085.png b/erpnext/docs/assets/img/articles/Selection_085.png
deleted file mode 100644
index d8a5151..0000000
--- a/erpnext/docs/assets/img/articles/Selection_085.png
+++ /dev/null
Binary files differ
diff --git a/erpnext/docs/assets/img/articles/change-parent-1.png b/erpnext/docs/assets/img/articles/change-parent-1.png
new file mode 100644
index 0000000..c1cd86b
--- /dev/null
+++ b/erpnext/docs/assets/img/articles/change-parent-1.png
Binary files differ
diff --git a/erpnext/docs/assets/img/articles/change-parent-2.png b/erpnext/docs/assets/img/articles/change-parent-2.png
new file mode 100644
index 0000000..2ba16e9
--- /dev/null
+++ b/erpnext/docs/assets/img/articles/change-parent-2.png
Binary files differ
diff --git a/erpnext/docs/assets/img/articles/change-parent-3.png b/erpnext/docs/assets/img/articles/change-parent-3.png
new file mode 100644
index 0000000..819e849
--- /dev/null
+++ b/erpnext/docs/assets/img/articles/change-parent-3.png
Binary files differ
diff --git a/erpnext/docs/assets/img/articles/change-parent-account-1.gif b/erpnext/docs/assets/img/articles/change-parent-account-1.gif
new file mode 100644
index 0000000..ad2ef28
--- /dev/null
+++ b/erpnext/docs/assets/img/articles/change-parent-account-1.gif
Binary files differ
diff --git a/erpnext/docs/assets/img/articles/depreciation-1.png b/erpnext/docs/assets/img/articles/depreciation-1.png
new file mode 100644
index 0000000..a161638
--- /dev/null
+++ b/erpnext/docs/assets/img/articles/depreciation-1.png
Binary files differ
diff --git a/erpnext/docs/assets/img/articles/depreciation-2.png b/erpnext/docs/assets/img/articles/depreciation-2.png
new file mode 100644
index 0000000..edc0444
--- /dev/null
+++ b/erpnext/docs/assets/img/articles/depreciation-2.png
Binary files differ
diff --git a/erpnext/docs/assets/img/articles/depreciation-3.png b/erpnext/docs/assets/img/articles/depreciation-3.png
new file mode 100644
index 0000000..dc3a599
--- /dev/null
+++ b/erpnext/docs/assets/img/articles/depreciation-3.png
Binary files differ
diff --git a/erpnext/docs/assets/img/articles/depreciation-4.png b/erpnext/docs/assets/img/articles/depreciation-4.png
new file mode 100644
index 0000000..237a233
--- /dev/null
+++ b/erpnext/docs/assets/img/articles/depreciation-4.png
Binary files differ
diff --git a/erpnext/docs/assets/img/articles/difference-entry-1.png b/erpnext/docs/assets/img/articles/difference-entry-1.png
new file mode 100644
index 0000000..231b331
--- /dev/null
+++ b/erpnext/docs/assets/img/articles/difference-entry-1.png
Binary files differ
diff --git a/erpnext/docs/assets/img/articles/difference-entry-2.gif b/erpnext/docs/assets/img/articles/difference-entry-2.gif
new file mode 100644
index 0000000..74c924f
--- /dev/null
+++ b/erpnext/docs/assets/img/articles/difference-entry-2.gif
Binary files differ
diff --git a/erpnext/docs/assets/img/articles/dynamic-field-1.gif b/erpnext/docs/assets/img/articles/dynamic-field-1.gif
new file mode 100644
index 0000000..53d8d4d
--- /dev/null
+++ b/erpnext/docs/assets/img/articles/dynamic-field-1.gif
Binary files differ
diff --git a/erpnext/docs/assets/img/articles/dynamic-field-2.png b/erpnext/docs/assets/img/articles/dynamic-field-2.png
new file mode 100644
index 0000000..db550fa
--- /dev/null
+++ b/erpnext/docs/assets/img/articles/dynamic-field-2.png
Binary files differ
diff --git a/erpnext/docs/assets/img/articles/dynamic-field-3.gif b/erpnext/docs/assets/img/articles/dynamic-field-3.gif
new file mode 100644
index 0000000..1914495
--- /dev/null
+++ b/erpnext/docs/assets/img/articles/dynamic-field-3.gif
Binary files differ
diff --git a/erpnext/docs/assets/img/articles/dynamic-field-4.gif b/erpnext/docs/assets/img/articles/dynamic-field-4.gif
new file mode 100644
index 0000000..c2b12e0
--- /dev/null
+++ b/erpnext/docs/assets/img/articles/dynamic-field-4.gif
Binary files differ
diff --git a/erpnext/docs/assets/img/articles/fiscal-year-error-1.png b/erpnext/docs/assets/img/articles/fiscal-year-error-1.png
new file mode 100644
index 0000000..9e3b28c
--- /dev/null
+++ b/erpnext/docs/assets/img/articles/fiscal-year-error-1.png
Binary files differ
diff --git a/erpnext/docs/assets/img/articles/fiscal-year-error-2.png b/erpnext/docs/assets/img/articles/fiscal-year-error-2.png
new file mode 100644
index 0000000..73e3895
--- /dev/null
+++ b/erpnext/docs/assets/img/articles/fiscal-year-error-2.png
Binary files differ
diff --git a/erpnext/docs/assets/img/articles/module-visibility-1.gif b/erpnext/docs/assets/img/articles/module-visibility-1.gif
new file mode 100644
index 0000000..4c38cb7
--- /dev/null
+++ b/erpnext/docs/assets/img/articles/module-visibility-1.gif
Binary files differ
diff --git a/erpnext/docs/assets/img/articles/owner-restriction-1.png b/erpnext/docs/assets/img/articles/owner-restriction-1.png
new file mode 100644
index 0000000..048a418
--- /dev/null
+++ b/erpnext/docs/assets/img/articles/owner-restriction-1.png
Binary files differ
diff --git a/erpnext/docs/assets/img/articles/owner-restriction-2.png b/erpnext/docs/assets/img/articles/owner-restriction-2.png
new file mode 100644
index 0000000..38ecb30
--- /dev/null
+++ b/erpnext/docs/assets/img/articles/owner-restriction-2.png
Binary files differ
diff --git a/erpnext/docs/assets/img/articles/precision-1.png b/erpnext/docs/assets/img/articles/precision-1.png
new file mode 100644
index 0000000..bf8e33e
--- /dev/null
+++ b/erpnext/docs/assets/img/articles/precision-1.png
Binary files differ
diff --git a/erpnext/docs/assets/img/articles/precision-2.png b/erpnext/docs/assets/img/articles/precision-2.png
new file mode 100644
index 0000000..ea194d4
--- /dev/null
+++ b/erpnext/docs/assets/img/articles/precision-2.png
Binary files differ
diff --git a/erpnext/docs/assets/img/articles/precision-fieldwise.png b/erpnext/docs/assets/img/articles/precision-fieldwise.png
deleted file mode 100644
index 45ad6c0..0000000
--- a/erpnext/docs/assets/img/articles/precision-fieldwise.png
+++ /dev/null
Binary files differ
diff --git a/erpnext/docs/assets/img/articles/precision-global.png b/erpnext/docs/assets/img/articles/precision-global.png
deleted file mode 100644
index 6a5cbc0..0000000
--- a/erpnext/docs/assets/img/articles/precision-global.png
+++ /dev/null
Binary files differ
diff --git a/erpnext/docs/assets/img/articles/project-cost-center-1.png b/erpnext/docs/assets/img/articles/project-cost-center-1.png
new file mode 100644
index 0000000..1c8e1b2
--- /dev/null
+++ b/erpnext/docs/assets/img/articles/project-cost-center-1.png
Binary files differ
diff --git a/erpnext/docs/assets/img/articles/project-cost-center-2.png b/erpnext/docs/assets/img/articles/project-cost-center-2.png
new file mode 100644
index 0000000..6076601
--- /dev/null
+++ b/erpnext/docs/assets/img/articles/project-cost-center-2.png
Binary files differ
diff --git a/erpnext/docs/assets/img/articles/project-cost-center-3.png b/erpnext/docs/assets/img/articles/project-cost-center-3.png
new file mode 100644
index 0000000..99bfb96
--- /dev/null
+++ b/erpnext/docs/assets/img/articles/project-cost-center-3.png
Binary files differ
diff --git a/erpnext/docs/assets/img/articles/project-cost-center-4.png b/erpnext/docs/assets/img/articles/project-cost-center-4.png
new file mode 100644
index 0000000..973e5d5
--- /dev/null
+++ b/erpnext/docs/assets/img/articles/project-cost-center-4.png
Binary files differ
diff --git a/erpnext/docs/assets/img/articles/project-cost-center-5.png b/erpnext/docs/assets/img/articles/project-cost-center-5.png
new file mode 100644
index 0000000..4312899
--- /dev/null
+++ b/erpnext/docs/assets/img/articles/project-cost-center-5.png
Binary files differ
diff --git a/erpnext/docs/assets/img/articles/project-cost-center-6.png b/erpnext/docs/assets/img/articles/project-cost-center-6.png
new file mode 100644
index 0000000..fa856de
--- /dev/null
+++ b/erpnext/docs/assets/img/articles/project-cost-center-6.png
Binary files differ
diff --git a/erpnext/docs/assets/img/articles/search-by-1.png b/erpnext/docs/assets/img/articles/search-by-1.png
new file mode 100644
index 0000000..044ed2c
--- /dev/null
+++ b/erpnext/docs/assets/img/articles/search-by-1.png
Binary files differ
diff --git a/erpnext/docs/assets/img/articles/search-by-2.png b/erpnext/docs/assets/img/articles/search-by-2.png
new file mode 100644
index 0000000..9a3f60d
--- /dev/null
+++ b/erpnext/docs/assets/img/articles/search-by-2.png
Binary files differ
diff --git a/erpnext/docs/assets/img/articles/set-language-1.gif b/erpnext/docs/assets/img/articles/set-language-1.gif
new file mode 100644
index 0000000..3f1a3ef
--- /dev/null
+++ b/erpnext/docs/assets/img/articles/set-language-1.gif
Binary files differ
diff --git a/erpnext/docs/assets/img/articles/set-language-2.gif b/erpnext/docs/assets/img/articles/set-language-2.gif
new file mode 100644
index 0000000..62d24cf
--- /dev/null
+++ b/erpnext/docs/assets/img/articles/set-language-2.gif
Binary files differ
diff --git a/erpnext/docs/current/index.html b/erpnext/docs/current/index.html
index 4c5fc54..4247622 100644
--- a/erpnext/docs/current/index.html
+++ b/erpnext/docs/current/index.html
@@ -35,7 +35,7 @@
Version
</td>
<td>
- <code>6.14.1</code>
+ <code>6.15.0</code>
</td>
</tr>
</table>
diff --git a/erpnext/docs/current/models/accounts/account.html b/erpnext/docs/current/models/accounts/account.html
index bbc0203..5b3103d 100644
--- a/erpnext/docs/current/models/accounts/account.html
+++ b/erpnext/docs/current/models/accounts/account.html
@@ -946,10 +946,6 @@
-
-
-
-
<li>
diff --git a/erpnext/docs/current/models/accounts/shipping_rule.html b/erpnext/docs/current/models/accounts/shipping_rule.html
index 8f859cb..beadc90 100644
--- a/erpnext/docs/current/models/accounts/shipping_rule.html
+++ b/erpnext/docs/current/models/accounts/shipping_rule.html
@@ -413,15 +413,6 @@
</li>
-
- <li>
-
-
-<a href="https://frappe.github.io/erpnext/current/models/shopping_cart/shopping_cart_shipping_rule">Shopping Cart Shipping Rule</a>
-
-</li>
-
-
</ul>
diff --git a/erpnext/docs/current/models/setup/company.html b/erpnext/docs/current/models/setup/company.html
index 27e2294..bafb019 100644
--- a/erpnext/docs/current/models/setup/company.html
+++ b/erpnext/docs/current/models/setup/company.html
@@ -111,8 +111,7 @@
<pre>Distribution
Manufacturing
Retail
-Services
-Education</pre>
+Services</pre>
</td>
</tr>
diff --git a/erpnext/docs/current/models/stock/price_list.html b/erpnext/docs/current/models/stock/price_list.html
index 28e2cec..60d5b2e 100644
--- a/erpnext/docs/current/models/stock/price_list.html
+++ b/erpnext/docs/current/models/stock/price_list.html
@@ -391,8 +391,6 @@
-
-
<li>
diff --git a/erpnext/docs/current/models/stock/warehouse.html b/erpnext/docs/current/models/stock/warehouse.html
index 2d7108b..c0fa5d3 100644
--- a/erpnext/docs/current/models/stock/warehouse.html
+++ b/erpnext/docs/current/models/stock/warehouse.html
@@ -629,8 +629,6 @@
-
-
<li>
diff --git a/erpnext/docs/user/manual/en/accounts/articles/accounting-for-projects.md b/erpnext/docs/user/manual/en/accounts/articles/accounting-for-projects.md
deleted file mode 100644
index 6eba288..0000000
--- a/erpnext/docs/user/manual/en/accounts/articles/accounting-for-projects.md
+++ /dev/null
@@ -1,72 +0,0 @@
-<h1>Accounting for Projects</h1>
-
-Accounting for the projects is tracked via Cost Center in ERPNext. This will require you creating separate Cost Center for each Project. Separate Cost Center for each Project all allow:<
-
-- Allocating budget against specific Cost Center.
-- Getting Profitability Report for each Project.
-
-Let's check steps on how Project and Cost Center should be linked, and used in the sales and purchase transactions.
-
-### 1. Linking Project and Cost Center
-
-#### 1.1 Create Project
-
-You should first create new Project from:
-
-`Projects > Project > New`
-
-In the Project, you will find field to set default Cost Center for this Project.
-
-#### 1.2 Create Cost Center
-
-Since budgeting and costing for each Project will be managed separately, you should create separate Cost Center for each Project.
-
-To create new Cost Center, go to:
-
-`Accounts > Setup > Cost Center`
-
-[Click here to learn on how to add new Cost Center](https://erpnext.com/user-guide/accounts/cost-centers-and-budgeting).
-
-#### 1.3 Update Cost Center in the Project
-
-After creating Cost Center, come back to Project master, and select Cost Center creating for this Project under Default Cost Center field.
-
-
-
-With this, you will have Cost Center being fetched automatically in the Sales and Purchase transactions based on selection of Cost Center.
-
-Let's check how this setting will affect your sales and purchase entries.
-
-### 2. Selecting Project and Cost Center in the Sales and Purchase Transactions
-
-#### 2.1 Selecting Project in the Sales Transactions
-
-In the sales transactions (which are Sales Order, Delivery Note and Sales Invoice), Project will be selected in the More Info section. On selection of a Project, respective Cost Center will be updated for all the items in that transaction.
-
-
-
-#### 2.2 Selecting Project in the Purchase Cycle Transactions
-
-In the purchase transactions, Project will be define for each item. This is because you can create a consolidated purchase entry of materials for various projects. Just like it works in sales cycle, same way in the purchase transactions, on selection of Project, its default cost center will be fetched automatically.
-
-
-
-### 3. Accounting Report for a Project
-
-#### 3.1 Projectwise Profitability
-
-Since Project's Cost Center has been updated in both sales and purchase entries made for a specific transaction, system will provide you a projectwise profitability report. Profitability for a Project will be derived based on total value income booked minus total value of expense booked where common Cost Center (of a Project) is tagged.
-
-
-
-#### 3.2 Projectwise Budgeting
-
-If you have also define budgets in the Cost Center of a Project, you will get Budget Variance Report for a Cost Center of a Project.
-
-To check Budget Variance report, go to:
-
-`Accounts > Standard Reports > Budget Variance Report`
-
-[Click here for detailed help on how to do budgeting from Cost Center](https://erpnext.com/user-guide/accounts/budgeting).
-
-<!-- markdown -->
diff --git a/erpnext/docs/user/manual/en/accounts/articles/c-form.md b/erpnext/docs/user/manual/en/accounts/articles/c-form.md
index c2f2061..3c6e091 100644
--- a/erpnext/docs/user/manual/en/accounts/articles/c-form.md
+++ b/erpnext/docs/user/manual/en/accounts/articles/c-form.md
@@ -1,4 +1,4 @@
-<h1>C-Form</h1>
+#C-Form
C-Form functionality is only applicable for Indian customers.
diff --git a/erpnext/docs/user/manual/en/accounts/articles/changing-parent-account.md b/erpnext/docs/user/manual/en/accounts/articles/changing-parent-account.md
index 02cbd66..ccb89da 100644
--- a/erpnext/docs/user/manual/en/accounts/articles/changing-parent-account.md
+++ b/erpnext/docs/user/manual/en/accounts/articles/changing-parent-account.md
@@ -1,8 +1,10 @@
-<h1>Changing Parent Account</h1>
+#Changing Parent Account
-Chart of Account has hierarchical structure. This means each account has a parent account defined for it. You will have few ledger preset, and few ledger (like for Customer, Supplier, Warehouse) will be auto-created based on their master record. These ledger will be placed under pre-defined groups in the Chart of Account. If needed you can place specific account under another group by changing its Parent Account.
+Chart of Account has hierarchical structure. Each account has a parent it is listed under.
-Following are the steps to edit Parent for specific Account.
+There are some accounts which are auto-created. For example, Account for Warehouse is auto-created when new Wareouse is added in the system. These accounts are added under pre-defined account ledger. Warehouse Account is always added under Stock Assets, under Current Assets.
+
+If you wish to place specific Account into another parent Account, you can achieve the same as below.
####1. Go to Chart of Account
@@ -12,17 +14,22 @@
####2. Edit Account
-
+<img alt="Project Default Cost Center" class="screenshot" src="{{docs_base_url}}/assets/img/articles/change-parent-2.png">
####3. Change Parent Account
Search and select preferred Parent Account and save.
-
+<img alt="Project Default Cost Center" class="screenshot" src="{{docs_base_url}}/assets/img/articles/change-parent-3.png">
Refresh system from Help menu to experience the change.
-
+<img alt="Project Default Cost Center" class="screenshot" src="{{docs_base_url}}/assets/img/articles/change-parent-4.png">
-<div class="well">Note: Change of Parent Account is not applicable for Root Accounts.</div>
+<div class="well"> Note: Parent cannot be customized for the Root Accounts, like Asset, Liability, Income, Expense, Equity.</div>
+
+#### Quick Help
+
+<img alt="Project Default Cost Center" class="screenshot" src="{{docs_base_url}}/assets/img/articles/change-parent-account-1.gif">
+
<!-- markdown -->
\ No newline at end of file
diff --git a/erpnext/docs/user/manual/en/accounts/articles/customer-for-multiple-company.md b/erpnext/docs/user/manual/en/accounts/articles/customer-for-multiple-company.md
deleted file mode 100644
index 6770fa3..0000000
--- a/erpnext/docs/user/manual/en/accounts/articles/customer-for-multiple-company.md
+++ /dev/null
@@ -1,27 +0,0 @@
-<h1>Customer for Multiple Company</h1>
-
-ERPNext allows you managing multiple companies in one ERPNext account. It is possible that you will have Customer and Supplier which would belong to more than one company of yours. While creating sales and purchase transactions, system shows result of Customer and Suppliers for that Company only.
-
-It means if you have added (say) Wind Mills Limited as a customer for the first company, you will not be able to select it as a customer when creating Sales Order (or any other sales transaction) for another company.
-
-There are two approach to address this scenario.
-
-####Create Another Customer Record
-
-You should create another Customer record for Wind Mills Limited, but for the second company.
-
-If you try adding another customer with exact same name (as Wind Mills Limited), system will throw a validation message that, account already exist for Wind Mills Limited.
-
-
-
->To be able to track customerwise receivables, ERPNext created accounting ledger for each customer in the Chart of Account, under Accounts Receivable group.
-
-As indicated in the error message, since Account Name already exist for the first customer, you should change customer name for second customer a bit (say Wind Mills Pvt. Limited) to bring uniqueness in it. Then you will be able to save Customer correctly.
-
-####Change Company in Existing Customer
-
-Since creating another Customer record for the same party will be over-load in the system, you can change company in the exist Customer master of Wind Mills Limited, and re-save it. On saving customer again, it will create another accounting ledger for Wind Mills in the Chart of Account of second company.
-
-
-
-<!-- markdown -->
\ No newline at end of file
diff --git a/erpnext/docs/user/manual/en/accounts/articles/depreciation-for-fixed-asset-items.md b/erpnext/docs/user/manual/en/accounts/articles/depreciation-for-fixed-asset-items.md
index 026657f..5eae30d 100644
--- a/erpnext/docs/user/manual/en/accounts/articles/depreciation-for-fixed-asset-items.md
+++ b/erpnext/docs/user/manual/en/accounts/articles/depreciation-for-fixed-asset-items.md
@@ -1,30 +1,41 @@
-<h1>Depreciation for Fixed Asset Items</h1>
+#Depreciation for Fixed Asset Items
-Depereciation of fixed asset items.
+Depreciation is when you write off certain value of your assets as an expense. For example, office computer will be used for five years. Hence total value of computer should be booked as expense over the period of five years.
-####Separate Group of Depreciation Account
+As per perpetual inventory valuation system (set by default), you should create Stock Reconciliation for depreciating value of fixed asset items. Check below steps to learn more.
-
+#### Step 1: Depreciation Account
-####Depreciation Entry for Fixed Asset Items
+Depreciation account is auto-created, under Indirect Expenses account.
-Depreciation is when you write off certain value of your assets as an expense. For example if you have a computer that you will use for say 5 years, you can distribute its expense over the period and pass a
-Journal Voucher at the end of each year reducing its value by a certain percentage.
+<img alt="Project Default Cost Center" class="screenshot" src="{{docs_base_url}}/assets/img/articles/depreciation-1.png">
-As per perpetual inventory valuation system (set by default), you should create Stock Reconciliation for depreciating value of fixed asset items. In the Stock Reconciliation template, you should only enter Item's Code, Warehouse and its current value.
+#### Step 2: Stock Reconciliation
-Let's assume current value of our computer is $250, and its purchase value was $320.
+To create new Stock Reconciliation, go to:
-
+`Stock > Setup > Stock Reconciliation > New`
-In this case, depreciation amount of Computer will be $70 ($320-$250). Depreciation Amount will be booked under Difference (expense) Account selected in the stock reconciliation.
+Set Posting Date and Time of Stock Reconciliation will when you wish depreciation entry to be posted in your accounts.
-
+#### Step 3: Item
-Following is how general ledger will be posted for fixed this Stock Reconciliation.
+Select Fixed Asset Items in the item table. Update Warehouse of an item. For item valuation, update post-depreciation value. For example, item value was 100. Depreciation amount is 20. As per this post-depreciation valuation of an item will be 80. Hence 80 should be posted as valuation in the Stock Reconciliation.
-
+<img alt="Project Default Cost Center" class="screenshot" src="{{docs_base_url}}/assets/img/articles/depreciation-2.png">
-Click [here](https://erpnext.com/user-guide/setting-up/stock-reconciliation-for-non-serialized-item) for steps to be followed when making Stock Reconciliation entry.
+#### Step 4: Depreciation Account
+
+Select Depereciation Account in which depereciation amount will be booked.
+
+<img alt="Project Default Cost Center" class="screenshot" src="{{docs_base_url}}/assets/img/articles/depreciation-3.png">
+
+#### Step 5: Submit
+
+On submission of Stock Reconciliation, depreciation will booked for items asset items.
+
+<img alt="Project Default Cost Center" class="screenshot" src="{{docs_base_url}}/assets/img/articles/depreciation-4.png">
+
+Click [here]({{docs_base_url}}/user/manual/en/setting-up/stock-reconciliation-for-non-serialized-item) for steps to be followed when making Stock Reconciliation entry.
<!-- markdown -->
\ No newline at end of file
diff --git a/erpnext/docs/user/manual/en/accounts/articles/difference-entry-button.html b/erpnext/docs/user/manual/en/accounts/articles/difference-entry-button.html
deleted file mode 100644
index 30cae4e..0000000
--- a/erpnext/docs/user/manual/en/accounts/articles/difference-entry-button.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<h1>Difference Entry Button </h1>
-
-As per accounting standards Debit amount must be equal to Credit amount. If these amounts are not equal, then entry will not be executed in system. Also system will through validation message. And difference amount will reflect under Difference (Dr-Cr) field.
-<br>
-<img src="{{docs_base_path}}/assets/img/articles/Selection_002.png"><br>
-When you press 'Make Difference Entry' button, one new Row will be added under Journal Entry Accounts table with difference amount. You can edit that row to select appropriate account.
-<br>
-<img src="{{docs_base_path}}/assets/img/articles/Selection_003.png">
-<br>
-<br>On selecting account under new row, you will be able to submit Journal Entry.
-<br>
-<br>
-<div class="well">If debit and credit amount entered for accounts are already tallying, then you need not click on "Make Difference Entry" button.</div>
-
-
-<!-- markdown -->
\ No newline at end of file
diff --git a/erpnext/docs/user/manual/en/accounts/articles/difference-entry-button.md b/erpnext/docs/user/manual/en/accounts/articles/difference-entry-button.md
new file mode 100644
index 0000000..acac407
--- /dev/null
+++ b/erpnext/docs/user/manual/en/accounts/articles/difference-entry-button.md
@@ -0,0 +1,15 @@
+#Difference Entry
+
+As per accounting standards, debit in a accounting entry must be equal to credit. If not, system does allow submission of accounting transaction, thereby stops ledger posting. In ERPNext, on saving accounting entry, system validates if debit and credit is tallying.
+
+<img alt="Debit Credit Not Equal" class="screenshot" src="{{docs_base_url}}/assets/img/articles/difference-entry-1.png">
+
+To have entry balanced, you should one more row, select another account, and update different amount in it. Or you can add difference amount in one of the Account's row itself.
+
+On clicking 'Make Difference Entry' button, new Row will be added under Journal Entry Accounts table, with difference amount. You can edit that row to select appropriate Account.
+
+<img alt="Debit Credit Not Equal" class="screenshot" src="{{docs_base_url}}/assets/img/articles/difference-entry-2.gif">
+
+On selecting account under new row, debit and credit an entry will be tallying, and you should be able to submit Journal Entri correctly.
+
+<!-- markdown -->
\ No newline at end of file
diff --git a/erpnext/docs/user/manual/en/accounts/articles/fiscal-year-error.md b/erpnext/docs/user/manual/en/accounts/articles/fiscal-year-error.md
index e22a3ef..8da261e 100644
--- a/erpnext/docs/user/manual/en/accounts/articles/fiscal-year-error.md
+++ b/erpnext/docs/user/manual/en/accounts/articles/fiscal-year-error.md
@@ -1,32 +1,32 @@
-<h1>Fixing Fiscal Year's Error</h1>
+# Fixing Fiscal Year Error
-While creating entries in ERPNext, system validates if dates (like Posting Date, Transaction Date etc.) matches with Fiscal Year selected in the entry. If not, system through an error message saying:
+While creating any entry, system validates if dates (like Posting Date, Transaction Date etc.) belongs to Fiscal Year selected. If not, system through an error message saying:
`Date ##-##-#### not in fiscal year`
-You are more likely to receive this error message if your Fiscal Year has changes, but you still have old Fiscal Year updated. To ensure new Fiscal Year is auto updated in the transactions, you should setup your master as instructed below.
+You are more likely to receive this error message if your Fiscal Year has changes, but new Fiscal Year still not set a default. To ensure new Fiscal Year is auto updated in the transactions, you should setup your master as instructed below.
-####Create New Fiscal Year
+#### Create New Fiscal Year
Only User with System Manager's Role Assigned has permission to create new Fiscal Year. To create new Fiscal Year, go to:
`Accounts > Setup > Fiscal Year`
-Click [here](https://erpnext.com/user-guide/accounts/fiscal-year) to learn more about Fiscal Year master.
+Click [here]({{docs_base_url}}/user/manual/en/accounts/setup/fiscal-year) to learn more about Fiscal Year.
-####Set Fiscal Year as Default
+#### Set Fiscal Year as Default
After Fiscal Year is saved, you will find option to set that Fiscal year as Default.
-
+<img alt="Debit Credit Not Equal" class="screenshot" src="{{docs_base_url}}/assets/img/articles/fiscal-year-error-1.png">
Default Fiscal Year will be updated in the Global Default setting as well. You can manually update Default Fiscal Year from:
`Setup > Settings > Global Default`
-
+<img alt="Debit Credit Not Equal" class="screenshot" src="{{docs_base_url}}/assets/img/articles/fiscal-year-error-2.png">
-Then Save Global Default, and refresh browser of your ERPNext account. After this, you will have default Fiscal Year auto-updated in your transactions as well.
+Save Global Default, and Reload your ERPNext account. Then, default Fiscal Year will be auto-updated in your transactions.
-Note: In transactions, you can manually select required Fiscal Year from More Info section. You might have to click on "View Details" button to access View Details section, and edit Fiscal Year.
+Note: In transactions, you can manually select required Fiscal Year, from More Info section.
<!-- markdown -->
\ No newline at end of file
diff --git a/erpnext/docs/user/manual/en/accounts/articles/how-to-freeze-accounting-entries-upto-a-specific-date.html b/erpnext/docs/user/manual/en/accounts/articles/how-to-freeze-accounting-entries-upto-a-specific-date.html
deleted file mode 100644
index 38ecaf5..0000000
--- a/erpnext/docs/user/manual/en/accounts/articles/how-to-freeze-accounting-entries-upto-a-specific-date.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<h1>How to freeze accounting entries upto a specific date?</h1>
-
-To freeze accounting entries upto a certain date, follow these steps:<br><br>1. Go to <b>Accounts -> Setup -> Accounts Settings</b>.<br>2. Set the date in <b>Accounts Frozen Upto</b> field.<br><img src="{{docs_base_path}}/assets/img/articles/freeze-accounting-entry.png" height="302" width="488"><br><br>Now, the system will not allow to make accounting entries before that date. <br><br>But you can allow a specific <b>Role,</b> to make/edit accounting entries before that date. To do that set the desired <b>Role</b>, in <b>Role Allowed to Set Frozen Accounts & Edit Frozen Entries</b> field.<br>
\ No newline at end of file
diff --git a/erpnext/docs/user/manual/en/accounts/articles/how-to-freeze-accounting-entries-upto-a-specific-date.md b/erpnext/docs/user/manual/en/accounts/articles/how-to-freeze-accounting-entries-upto-a-specific-date.md
new file mode 100644
index 0000000..1bc6231
--- /dev/null
+++ b/erpnext/docs/user/manual/en/accounts/articles/how-to-freeze-accounting-entries-upto-a-specific-date.md
@@ -0,0 +1,18 @@
+#How to freeze accounting entries upto a specific date?
+
+To freeze accounting entries upto a certain date, follow these steps:
+
+#### Step 1: Go to
+
+`Accounts > Setup > Accounts Settings
+
+
+#### Step 2: Set the date in:
+
+Accounts Frozen Upto field.
+
+<img src="{{docs_base_path}}/assets/img/articles/freeze-accounting-entry.png" height="302" width="488">
+
+Now, the system will not allow to make accounting entries before that date.
+
+But you can allow a specific Role, to make/edit accounting entries before that date. To do that set the desired **Role**, in Role Allowed to Set Frozen Accounts & Edit Frozen Entries field.
\ No newline at end of file
diff --git a/erpnext/docs/user/manual/en/accounts/articles/how-to-freeze-accounting-ledger.md b/erpnext/docs/user/manual/en/accounts/articles/how-to-freeze-accounting-ledger.md
index d76a331..f21bf2d 100644
--- a/erpnext/docs/user/manual/en/accounts/articles/how-to-freeze-accounting-ledger.md
+++ b/erpnext/docs/user/manual/en/accounts/articles/how-to-freeze-accounting-ledger.md
@@ -1,4 +1,4 @@
-<h1>How To Freeze Accounting Ledger?</h1>
+#How To Freeze Accounting Ledger?
You can freeze any accounting ledger in ERPNext. So that frozen accounting ledger became unsearchable in accounting transaction. Follow below step to understand the process.
diff --git a/erpnext/docs/user/manual/en/accounts/articles/how-to-nullify-balance-from-temporary-accounts.md b/erpnext/docs/user/manual/en/accounts/articles/how-to-nullify-balance-from-temporary-accounts.md
deleted file mode 100644
index 5ba6d17..0000000
--- a/erpnext/docs/user/manual/en/accounts/articles/how-to-nullify-balance-from-temporary-accounts.md
+++ /dev/null
@@ -1,16 +0,0 @@
-<h1>How to Nullify Balance From Temporary Accounts? </h1>
-
-There are two separate temporary accounts in Chart of Accounts. One is Temporary Account (Assets) and other one is Temporary Account (Liabilities). These accounts are available under Application of Funds and Source of Funds in Chart of Accounts respectively.
-
-These temporary accounts only used to update opening balances. [Click here to learn about update Opening balances](https://erpnext.com/kb/accounts/updating-opening-balance-in-accounts-using-temporary-account)
-
-After completing all opening entries against these temporary accounts balances for both accounts will updated. And Debit balance of Temporary Account (Assets) will became equal to Credit balance of Temporary Account (Liabilities).
-
-Since temporary account were used only for balancing purpose, it shall not have any balance in it.
-To nullify balance in these accounts, you should create a new Journal Voucher, where will you update balances against these accounts. To create new Journal Entry go to `Accounts > Documents > Journal Entry
-
-
-
-On submit of this journal entry, balances of these temporary accounts will be set to Zero.
-
-<!-- markdown -->
\ No newline at end of file
diff --git a/erpnext/docs/user/manual/en/accounts/articles/index.txt b/erpnext/docs/user/manual/en/accounts/articles/index.txt
index 08a69e3..0581927 100644
--- a/erpnext/docs/user/manual/en/accounts/articles/index.txt
+++ b/erpnext/docs/user/manual/en/accounts/articles/index.txt
@@ -1,13 +1,11 @@
-accounting-for-projects
+tracking-project-profitability-using-cost-center
c-form
changing-parent-account
-customer-for-multiple-company
depreciation-for-fixed-asset-items
difference-entry-button
fiscal-year-error
how-to-freeze-accounting-entries-upto-a-specific-date
how-to-freeze-accounting-ledger
-how-to-nullify-balance-from-temporary-accounts
manage-foreign-exchange-difference
managing-transactions-in-multiple-currency
new-fiscal-year-auto-create-feature
diff --git a/erpnext/docs/user/manual/en/accounts/articles/manage-foreign-exchange-difference.md b/erpnext/docs/user/manual/en/accounts/articles/manage-foreign-exchange-difference.md
index 6e24f86..054c979 100644
--- a/erpnext/docs/user/manual/en/accounts/articles/manage-foreign-exchange-difference.md
+++ b/erpnext/docs/user/manual/en/accounts/articles/manage-foreign-exchange-difference.md
@@ -1,4 +1,4 @@
-<h1>Manage Foreign Exchange Difference</h1>
+# Manage Foreign Exchange Difference
When you book Sales Invoices and Purchase invoices in multiple currencies, you will have to deal with currency difference while booking payment entry. You can easily manage this in ERPNext in following ways.
diff --git a/erpnext/docs/user/manual/en/accounts/articles/managing-transactions-in-multiple-currency.html b/erpnext/docs/user/manual/en/accounts/articles/managing-transactions-in-multiple-currency.md
similarity index 97%
rename from erpnext/docs/user/manual/en/accounts/articles/managing-transactions-in-multiple-currency.html
rename to erpnext/docs/user/manual/en/accounts/articles/managing-transactions-in-multiple-currency.md
index 3757a69..159402c 100644
--- a/erpnext/docs/user/manual/en/accounts/articles/managing-transactions-in-multiple-currency.html
+++ b/erpnext/docs/user/manual/en/accounts/articles/managing-transactions-in-multiple-currency.md
@@ -1,4 +1,4 @@
-<h1>Managing Transactions In Multiple Currency</h1>
+#Managing Transactions In Multiple Currency
You can make transaction in your base currency as well as in customer or supplier currencies. When you make transaction in your customer or supplier currency, the same currency reflects only in print format of that transaction. And system pass back end
entry in your base currency.
diff --git a/erpnext/docs/user/manual/en/accounts/articles/new-fiscal-year-auto-create-feature.html b/erpnext/docs/user/manual/en/accounts/articles/new-fiscal-year-auto-create-feature.html
deleted file mode 100644
index 5b6c10f..0000000
--- a/erpnext/docs/user/manual/en/accounts/articles/new-fiscal-year-auto-create-feature.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<h1>New Fiscal Year Auto-Create feature</h1>
-
-New Fiscal Year needs to be created each year at the end of the previous fiscal year. This Process however has been automated in ERPNext.<div><br></div><div>3 days prior to the end of the existing fiscal year; the system shall check if the user has created a new fiscal year for the incoming year. If not the system generates a new fiscal year. All fiscal year Companies are also linked with the new fiscal year as in the previous year.<br><br></div><div><img src="{{docs_base_path}}/assets/img/articles/Screen Shot 2014-12-03 at 5.03.10 pm.png"><br></div>
\ No newline at end of file
diff --git a/erpnext/docs/user/manual/en/accounts/articles/new-fiscal-year-auto-create-feature.md b/erpnext/docs/user/manual/en/accounts/articles/new-fiscal-year-auto-create-feature.md
new file mode 100644
index 0000000..ace7c40
--- /dev/null
+++ b/erpnext/docs/user/manual/en/accounts/articles/new-fiscal-year-auto-create-feature.md
@@ -0,0 +1,7 @@
+#New Fiscal Year Auto-Create feature
+
+New Fiscal Year needs to be created each year at the end of the previous fiscal year. This Process however has been automated in ERPNext.
+
+Three days prior to the end of the existing fiscal year; the system shall check if the user has created a new fiscal year for the incoming year. If not the system generates a new fiscal year. All fiscal year Companies are also linked with the new fiscal year as in the previous year.
+
+<img src="{{docs_base_path}}/assets/img/articles/Screen Shot 2014-12-03 at 5.03.10 pm.png"
\ No newline at end of file
diff --git a/erpnext/docs/user/manual/en/accounts/articles/pos-view.html b/erpnext/docs/user/manual/en/accounts/articles/pos-view.html
deleted file mode 100644
index fb3c500..0000000
--- a/erpnext/docs/user/manual/en/accounts/articles/pos-view.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<h1>POS View</h1>
-
-POS view renders form in a different layout, mainly designed for the quick selection of items. This view has primarily been designed for the retail business, who needs to be quick at invoicing.<div><br></div><div><img src="{{docs_base_path}}/assets/img/articles/$SGrab_219.png"><br></div><div><br></div><div>Using POS View, you can make complete Sales Invoice, without switching to standard form view.<br><div><br></div><div><b>Question: Why do I get error message for missing fields when making Purchase Receipt or other sales/purchase transactions from POS View?</b></div></div><div><br></div><div>Though POS View is mainly designed for Sales Invoice, but it is also made available in all the sales and purchase transactions. In other transactions, POS View is only meant for quick selection of items. This view will not provide all the fields which are available in the standard form view. Hence, you shall use POS View in other transactions just for Item selection, and revert to form view for enter values in other mandatory fields.</div>
\ No newline at end of file
diff --git a/erpnext/docs/user/manual/en/accounts/articles/pos-view.md b/erpnext/docs/user/manual/en/accounts/articles/pos-view.md
new file mode 100644
index 0000000..1bf769d
--- /dev/null
+++ b/erpnext/docs/user/manual/en/accounts/articles/pos-view.md
@@ -0,0 +1,11 @@
+#POS View
+
+POS view renders form in a different layout, mainly designed for the quick selection of items. This view has primarily been designed for the retail business, who needs to be quick at invoicing.
+
+<img src="{{docs_base_path}}/assets/img/articles/$SGrab_219.png">
+
+Using POS View, you can make complete Sales Invoice, without switching to standard form view.
+
+**Question:** Why do I get error message for missing fields when making Purchase Receipt or other sales/purchase transactions from POS View?
+
+Though POS View is mainly designed for Sales Invoice, but it is also made available in all the sales and purchase transactions. In other transactions, POS View is only meant for quick selection of items. This view will not provide all the fields which are available in the standard form view. Hence, you shall use POS View in other transactions just for Item selection, and revert to form view for enter values in other mandatory fields.
\ No newline at end of file
diff --git a/erpnext/docs/user/manual/en/accounts/articles/post-dated-cheque-entry.md b/erpnext/docs/user/manual/en/accounts/articles/post-dated-cheque-entry.md
index 12957d9..305fc59 100644
--- a/erpnext/docs/user/manual/en/accounts/articles/post-dated-cheque-entry.md
+++ b/erpnext/docs/user/manual/en/accounts/articles/post-dated-cheque-entry.md
@@ -1,4 +1,4 @@
-<h1>Post Dated Cheque Entry</h1>
+#Post Dated Cheque Entry
Post Dated Cheque is a cheque dated on future date given to another party. This actually works as an advance payment which will could be cleared post cheque date only.
diff --git a/erpnext/docs/user/manual/en/accounts/articles/pricing-rule.md b/erpnext/docs/user/manual/en/accounts/articles/pricing-rule.md
index f1caf62..dbd00e4 100644
--- a/erpnext/docs/user/manual/en/accounts/articles/pricing-rule.md
+++ b/erpnext/docs/user/manual/en/accounts/articles/pricing-rule.md
@@ -1,4 +1,4 @@
-<h1>Pricing Rule</h1>
+#Pricing Rule
Pricing Rule allows you to define rules based on which item's price or discount to be applied is determined.
diff --git a/erpnext/docs/user/manual/en/accounts/articles/recurring-order-and-invoices.html b/erpnext/docs/user/manual/en/accounts/articles/recurring-order-and-invoices.html
deleted file mode 100644
index 6893761..0000000
--- a/erpnext/docs/user/manual/en/accounts/articles/recurring-order-and-invoices.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<h1>Recurring Orders and Invoices</h1>
-
-If you have a contract with a <b>Customer</b> where you bill the Customer on a monthly, quarterly, half-yearly or annual basis, you should use recurring feature in orders and invoices. <br><br><h4>Scenario:</h4><br>Subscription for your hosted ERPNext account requires yearly renewal. We use Sales Order for generating proforma invoices. To automate proforma invoicing for renewal, we set original Sales Order as recurring. Recurring proforma invoice is created automatically just before customer's account is about to expire, and requires renewal. This recurring Proforma Invoice is also emailed automatically to the customer.<br><br>Feature of setting document as recurring is available in Sales Order, Sales Invoice, Purchase Order and Purchase Invoice.<br><br>Option to set document as recurring will be visible only after submission. Recurring is last section in document. Check <b>Is Recurring</b> to set document as recurring.<br><br><img src="{{docs_base_path}}/assets/img/articles/is-recurring.gif"><br><br><b>From Date and To Date: </b>This defines contract period with the customer.<br><br><b>Repeat on the Day of Month: </b>If recurring type is set as Monthly, then it will be day of the month on which recurring invoice will be generated.<br><br><b>End Date:</b> Date after which auto-creation of recurring invoice will be stopped.<br><br><b>Notification Email Address:</b> Email Addresses (separated by comma) on which recurring invoice will be emailed when auto-generated.<br><br><b>Recurring ID: </b>Recurring ID will be original document id which will be linked to all corresponding recurring document. For example, original Sales Invoice's id will be updated into all recurring Sales Invoices.<br><br><b>Recurring Print Format:</b> Select a print format to define document view which should be emailed to customer.<br><br><h4>Exception Handling:</h4><p>In a situation where recurring invoice is not created successfully, user with System Manager role is notified about it via email. Also the document on which recurring event failed, "Is Recurring" field is unchecked for it. This means system doesn't try creating recurring invoice for that document again.</p><p>Failure in creation of recurring invoice could be due to multiple reasons like wrong email id mentioned in the Email Notification field in Recurring section etc.</p><p>On receipt of notification, if cause of failure is fixed (like correcting email id) within 24 hours, then recurring invoice will be generated automatically. If issue is not fixed within the said time, then document should be created for that month/year manually.<br></p>
\ No newline at end of file
diff --git a/erpnext/docs/user/manual/en/accounts/articles/recurring-order-and-invoices.md b/erpnext/docs/user/manual/en/accounts/articles/recurring-order-and-invoices.md
new file mode 100644
index 0000000..5db9940
--- /dev/null
+++ b/erpnext/docs/user/manual/en/accounts/articles/recurring-order-and-invoices.md
@@ -0,0 +1,33 @@
+#Recurring Orders and Invoices
+
+If you have a contract with a **Customer** where you bill the Customer on a monthly, quarterly, half-yearly or annual basis, you should use recurring feature in orders and invoices.
+
+#### Scenario:
+
+Subscription for your hosted ERPNext account requires yearly renewal. We use Sales Order for generating proforma invoices. To automate proforma invoicing for renewal, we set original Sales Order as recurring. Recurring proforma invoice is created automatically just before customer's account is about to expire, and requires renewal. This recurring Proforma Invoice is also emailed automatically to the customer.
+
+Feature of setting document as recurring is available in Sales Order, Sales Invoice, Purchase Order and Purchase Invoice.
+
+Option to set document as recurring will be visible only after submission. Recurring is last section in document. Check **Is Recurring** to set document as recurring.
+
+<img alt="Recurring Invoice" class="screenshot" src="{{docs_base_path}}/assets/img/articles/is-recurring.gif">
+
+**From Date and To Date:** This defines contract period with the customer.
+
+**Repeat on the Day of Month:** If recurring type is set as Monthly, then it will be day of the month on which recurring invoice will be generated.
+
+**End Date:** Date after which auto-creation of recurring invoice will be stopped.
+
+**Notification Email Address:** Email Addresses (separated by comma) on which recurring invoice will be emailed when auto-generated.
+
+**Recurring ID:** Recurring ID will be original document id which will be linked to all corresponding recurring document. For example, original Sales Invoice's id will be updated into all recurring Sales Invoices.
+
+**Recurring Print Format:** Select a print format to define document view which should be emailed to customer.
+
+####Exception Handling:
+
+In a situation where recurring invoice is not created successfully, user with System Manager role is notified about it via email. Also the document on which recurring event failed, "Is Recurring" field is unchecked for it. This means system doesn't try creating recurring invoice for that document again.
+
+Failure in creation of recurring invoice could be due to multiple reasons like wrong email id mentioned in the Email Notification field in Recurring section etc.
+
+On receipt of notification, if cause of failure is fixed (like correcting email id) within 24 hours, then recurring invoice will be generated automatically. If issue is not fixed within the said time, then document should be created for that month/year manually.
\ No newline at end of file
diff --git a/erpnext/docs/user/manual/en/accounts/articles/tracking-project-profitability-using-cost-center.md b/erpnext/docs/user/manual/en/accounts/articles/tracking-project-profitability-using-cost-center.md
new file mode 100644
index 0000000..1129585
--- /dev/null
+++ b/erpnext/docs/user/manual/en/accounts/articles/tracking-project-profitability-using-cost-center.md
@@ -0,0 +1,80 @@
+#Tracking Project Profibitability using Cost Center
+
+To track expenses and profibility for a project, you can use Cost Centers. You should create separate Cost Center for each Project. This will allow you to.
+
+- Allocating budget on expense for Projects.
+- Tracking Profitability of Project.
+
+Let's check steps on how Project and Cost Center should be linked, and used in the sales and purchase transactions.
+
+### 1. Linking Project and Cost Center
+
+#### 1.1 Create Project
+
+To create new Project, go to:
+
+`Projects > Project > New`
+
+<img alt="Project Default Cost Center" class="screenshot" src="{{docs_base_url}}/assets/img/articles/project-cost-center-4.png">
+
+#### 1.2 Create Cost Center
+
+Since budgeting and costing for each Project will be managed separately, you should create separate Cost Center for each Project.
+
+To create new Cost Center, go to:
+
+`Accounts > Setup > Cost Center`
+
+[Click here to learn how to manage Cost Centers.]({{docs_base_url}}/user/manual/en/accounts/setup/cost-center)
+
+#### 1.3 Update Cost Center in the Project
+
+Update Cost Center in the Project master.
+
+<img alt="Project Default Cost Center" class="screenshot" src="{{docs_base_url}}/assets/img/articles/project-cost-center-1.png">
+
+In the sales and purchase transactions, if Project is selected, then Cost Center will fetched from the Project master.
+
+Let's check how this setting will affect your sales and purchase entries.
+
+### 2. Project and Cost Center in Sales & Purchase Transactions
+
+#### 2.1 Project in the Sales Transactions
+
+In the sales transactions (which are Sales Order, Delivery Note and Sales Invoice), Project will be selected in the More Info section. On selection of a Project, respective Cost Center will be updated for all the items in that transaction. Cost Center will be updated on in the transactions which has Cost Center field.
+
+<img alt="Project Default Cost Center" class="screenshot" src="{{docs_base_url}}/assets/img/articles/project-cost-center-2.png">
+
+#### 2.2 Project in the Purchase Transactions
+
+In the purchase transactions, Project is define for each line item. This is because you can create a consolidated purchase entry for various projects. On selection of Project, its default cost center will auto-fetch.
+
+As per perpetual inventory valuation system, expense for the purchased item will be booked when raw-materials are consumed. On consumption of goods, if you are creating Material Issue (stock) entry, then Expense Cost (says Cost of Goods Sold) and Project's Cost Center should be updated in that entry.
+
+<img alt="Project Default Cost Center" class="screenshot" src="{{docs_base_url}}/assets/img/articles/project-cost-center-3.png">
+
+### 3. Accounting Report for a Project
+
+#### 3.1 Projectwise Profitability
+
+Since Project's Cost Center is updated in both sales and purchase entries, you can check Project Profitability based on report on Cost Center.
+
+**Monthly Project Analysis**
+
+<img alt="Project Default Cost Center" class="screenshot" src="{{docs_base_url}}/assets/img/articles/project-cost-center-5.png">
+
+**Overall Profitability**
+
+<img alt="Project Default Cost Center" class="screenshot" src="{{docs_base_url}}/assets/img/articles/project-cost-center-6.png">
+
+#### 3.2 Projectwise Budgeting
+
+If you have also define budgets in the Cost Center of a Project, you will get Budget Variance Report for a Cost Center of a Project.
+
+To check Budget Variance report, go to:
+
+`Accounts > Standard Reports > Budget Variance Report`
+
+[Click here to learn how to do budgeting from Cost Center]({{docs_base_url}}/user/manual/en/accounts/budgeting).
+
+<!-- markdown -->
\ No newline at end of file
diff --git a/erpnext/docs/user/manual/en/accounts/articles/update-stock-option-in-sales-invoice.html b/erpnext/docs/user/manual/en/accounts/articles/update-stock-option-in-sales-invoice.html
deleted file mode 100644
index 106f383..0000000
--- a/erpnext/docs/user/manual/en/accounts/articles/update-stock-option-in-sales-invoice.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<h1>Update Stock Option in Sales Invoice</h1>
-
-The <i>Update Stock</i> check box is available in the <i>Items</i> section within <i>Sales Invoice</i> form.<br><br><img src="{{docs_base_path}}/assets/img/articles/kb_updatestk_field.png" height="221" width="603"><br><br>Usually the Sales Invoice is a voucher specifying the amount to be paid against Quantity delivered/to be delivered as per a particular Sales Order.<br><br>Checking the update Stock option before submitting an Invoice will directly deduct the Stock from the Inventory on submission of the Sales Invoice. In such a case the Sales Invoice also satisfies the function of a Delivery Note.<br>
\ No newline at end of file
diff --git a/erpnext/docs/user/manual/en/accounts/articles/update-stock-option-in-sales-invoice.md b/erpnext/docs/user/manual/en/accounts/articles/update-stock-option-in-sales-invoice.md
new file mode 100644
index 0000000..5cc6104
--- /dev/null
+++ b/erpnext/docs/user/manual/en/accounts/articles/update-stock-option-in-sales-invoice.md
@@ -0,0 +1,9 @@
+#Update Stock Option in Sales Invoice
+
+The <i>Update Stock</i> check box is available in the <i>Items</i> section within <i>Sales Invoice</i> form.
+
+<img src="{{docs_base_path}}/assets/img/articles/kb_updatestk_field.png" height="221" width="603">
+
+Usually the Sales Invoice is a voucher specifying the amount to be paid against Quantity delivered/to be delivered as per a particular Sales Order.
+
+Checking the update Stock option before submitting an Invoice will directly deduct the Stock from the Inventory on submission of the Sales Invoice. In such a case the Sales Invoice also satisfies the function of a Delivery Note.
\ No newline at end of file
diff --git a/erpnext/docs/user/manual/en/accounts/articles/updating-opening-balance-in-accounts-using-temporary-account.md b/erpnext/docs/user/manual/en/accounts/articles/updating-opening-balance-in-accounts-using-temporary-account.md
index 4962b82..d78715c 100644
--- a/erpnext/docs/user/manual/en/accounts/articles/updating-opening-balance-in-accounts-using-temporary-account.md
+++ b/erpnext/docs/user/manual/en/accounts/articles/updating-opening-balance-in-accounts-using-temporary-account.md
@@ -1,4 +1,4 @@
-<h1>Updating Opening Balance in Accounts using Temporary Account</h1>
+# Updating Opening Balance in Accounts using Temporary Account
For updating opening balances in the Accounts, you will need to use temporary adjustment accounts. In the Chart of Account, two adjustment accounts will be created by default.
diff --git a/erpnext/docs/user/manual/en/accounts/articles/what-is-the-differences-of-total-and-valuation-in-tax-and-charges.html b/erpnext/docs/user/manual/en/accounts/articles/what-is-the-differences-of-total-and-valuation-in-tax-and-charges.html
deleted file mode 100644
index 3d1c7db..0000000
--- a/erpnext/docs/user/manual/en/accounts/articles/what-is-the-differences-of-total-and-valuation-in-tax-and-charges.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<h1>Purchase Tax or Charges Categories</h1>
-
-Consider Tax or Charge field in Purchase Taxes and Charges master has three values.<br><br><ol>
- <li>Total</li>
- <li>Valuation</li>
- <li>Total and Valuation<br><br><img src="{{docs_base_path}}/assets/img/articles/Screen Shot 2015-04-15 at 6.04.02 pm.png"><br></li>
-</ol>
-<p>Let's consider an example to understand an effect of value selected in Consider Tax or Charge field.</p>
-<p>We purchase 10 units of item, at the rate of 800, total purchase amount would be 800. Purchased item has 4% VAT tax and INR 100 transportation charges were incurred.
-
-</p><h4>Total:</h4>
-
-<p>An amount of tax/charge categorized Total will be accounted in the total of purchase transactions, but not in the value of purchased item.</p>
-<p>If VAT 4% is applied on item, it will amount to INR 32. Since VAT is the <a href="https://frappe.io/blog/erpnext-features/managing-consumption-tax" target="_blank">consumption tax</a>, its should be added value of Purchase Order/Invoice, since it will
- be included in payable towards supplier, but its should not be added to the value of Purchased item.</p>
-<p>Hence for tax or charge you wish to be added to transaction total but not to the valuation of item, it should be categorized as Total.</p>
-<p>When Purchase Invoice is submitted, value of tax/charge is booked in respective account.
- <br>
-</p>
-<h4>Valuation:</h4>
-<p>An amount of tax/charge categorized as Valuation will be added in the value of purchased item, but will not be added to the value of purchase transaction.</p>
-<p>Transportation charge of INR 100 should be categorized as valuation. With this, the value of purchased item will be increased from 800 to 900. Also, it will be not be added to the total of purchase transaction, because it should not be reflected to supplier,
- as it will be irrelevant for them.
- <br>
-</p>
-<p>When Purchase Invoice is submitted, value of tax/charge is booked in respective account. Transportation expense will be booked
- <br>
-</p>
-<h4>Total and Valuation:</h4>
-<p>An amount of tax/charge categorized as for Total and Valuation will be added in the value of purchase item, as well as will be included in the totals of purchase transactions.</p>
-<p>Let's assume that transporter was arranged by our supplier, but we need to pay transportation charges to them. In that case, for transportation charges, category selected should be Total and Valuation. With this INR 100 transportation charges will be
- added to actual purchase amount of INR 800. Also, INR 100 will reflect in the total, as it will be payable for us towards supplier.
- <br>
-</p>
\ No newline at end of file
diff --git a/erpnext/docs/user/manual/en/accounts/articles/what-is-the-differences-of-total-and-valuation-in-tax-and-charges.md b/erpnext/docs/user/manual/en/accounts/articles/what-is-the-differences-of-total-and-valuation-in-tax-and-charges.md
new file mode 100644
index 0000000..d4fd384
--- /dev/null
+++ b/erpnext/docs/user/manual/en/accounts/articles/what-is-the-differences-of-total-and-valuation-in-tax-and-charges.md
@@ -0,0 +1,37 @@
+#Purchase Tax or Charges Categories
+
+Consider Tax or Charge field in Purchase Taxes and Charges master has three values.
+<ol>
+ <li>Total</li>
+ <li>Valuation</li>
+ <li>Total and Valuation</li>
+ </ol>
+
+<img src="{{docs_base_path}}/assets/img/articles/Screen Shot 2015-04-15 at 6.04.02 pm.png"><br>
+
+Let's consider an example to understand an effect of value selected in Consider Tax or Charge field. We purchase 10 units of item, at the rate of 800, total purchase amount would be 800. Purchased item has 4% VAT tax and INR 100 transportation charges were incurred.
+
+####Total:
+
+=An amount of tax/charge categorized Total will be accounted in the total of purchase transactions, but not in the value of purchased item.
+
+If VAT 4% is applied on item, it will amount to INR 32. Since VAT is the
+<a href="https://frappe.io/blog/erpnext-features/managing-consumption-tax" target="_blank"> consumption tax</a>, its should be added value of Purchase Order/Invoice, since it will be included in payable towards supplier, but its should not be added to the value of Purchased item.
+
+Hence for tax or charge you wish to be added to transaction total but not to the valuation of item, it should be categorized as Total.
+
+When Purchase Invoice is submitted, value of tax/charge is booked in respective account.
+
+####Valuation:
+
+An amount of tax/charge categorized as Valuation will be added in the value of purchased item, but will not be added to the value of purchase transaction.
+
+Transportation charge of INR 100 should be categorized as valuation. With this, the value of purchased item will be increased from 800 to 900. Also, it will be not be added to the total of purchase transaction, because it should not be reflected to supplier, as it will be irrelevant for them.
+
+When Purchase Invoice is submitted, value of tax/charge is booked in respective account. Transportation expense will be booked
+
+####Total and Valuation:
+
+An amount of tax/charge categorized as for Total and Valuation will be added in the value of purchase item, as well as will be included in the totals of purchase transactions.
+
+Let's assume that transporter was arranged by our supplier, but we need to pay transportation charges to them. In that case, for transportation charges, category selected should be Total and Valuation. With this INR 100 transportation charges will be added to actual purchase amount of INR 800. Also, INR 100 will reflect in the total, as it will be payable for us towards supplier.
\ No newline at end of file
diff --git a/erpnext/docs/user/manual/en/accounts/articles/withdrawing-salary-from-owners-equity-account.md b/erpnext/docs/user/manual/en/accounts/articles/withdrawing-salary-from-owners-equity-account.md
index 860f6eb..b18ec6c 100644
--- a/erpnext/docs/user/manual/en/accounts/articles/withdrawing-salary-from-owners-equity-account.md
+++ b/erpnext/docs/user/manual/en/accounts/articles/withdrawing-salary-from-owners-equity-account.md
@@ -1,4 +1,4 @@
-<h1>WIthdrawing Salary from Owner's Equity Account</h1>
+#WIthdrawing Salary from Owner's Equity Account
### Question
diff --git a/erpnext/docs/user/manual/en/customize-erpnext/articles/index.txt b/erpnext/docs/user/manual/en/customize-erpnext/articles/index.txt
index a810705..6edbd72 100644
--- a/erpnext/docs/user/manual/en/customize-erpnext/articles/index.txt
+++ b/erpnext/docs/user/manual/en/customize-erpnext/articles/index.txt
@@ -12,5 +12,5 @@
perm-level-error-in-permission-manager
search-record-by-specific-field
set-language
-set-precision-for-float-currency-and-percent-fields
+set-precision
user-restriction
diff --git a/erpnext/docs/user/manual/en/customize-erpnext/articles/managing-dynamic-link-fields.md b/erpnext/docs/user/manual/en/customize-erpnext/articles/managing-dynamic-link-fields.md
index c14ef39..7030387 100644
--- a/erpnext/docs/user/manual/en/customize-erpnext/articles/managing-dynamic-link-fields.md
+++ b/erpnext/docs/user/manual/en/customize-erpnext/articles/managing-dynamic-link-fields.md
@@ -1,46 +1,47 @@
-<h1>Managing Dynamic Link Fields</h1>
+#Managing Dynamic Link Fields
-Dynamic Link field is one which can search and hold value of any document/doctype. Let's consider an example to learn how Dynamic Link field can benefit us.
+Dynamic Link field is one which can search and hold value of any document/doctype. Let's consider an example to learn how Dynamic Link field works.
-While creating Opportunity or Quotation, we have to explicitly define if it is for Lead or Customer. Based on our selection (Lead/Customer), another link field shows up where we can select actual Lead or Customer for whom we are creating this Quotation.
+While creating Opportunity or Quotation, we have to explicitly define if it is for Lead or Customer. Based on our selection (Lead/Customer), another link field shows up where we can select actual Lead or Customer.
-If you set later field as Dynamic Link, where we select actual Lead or Customer, this field will be able to search Leads as well as Customers. Hence we need not insert separate link fields for Customer and Lead.
+If you set former field as Dynamic Link, where we select actual Lead or Customer, then the later field will be linked to master selected in the first field, i.e. Leads or Customers. Hence we need not insert separate link fields for Customer and Lead.
-Let's check steps to insert Custom Dynamic Field. For an instance, we will insert it under Journal Voucher Form.
+Below are the steps to insert Custom Dynamic Field. For an instance, we will insert Dynamic Link Field in Journal Entry.
-####Insert Link Field for Doctype
+#### Step 1: Insert Link Field for Doctype
Firstly we will create a link field which will be linked to the Doctype.
-
+<img alt="Custom Link Field" class="screenshot" src="{{docs_base_url}}/assets/img/articles/dynamic-field-1.gif">
-By **Doctype** mentioned in the Option field, we mean parent Doctype. So, just like Quotation is one Doctype, which has multiple Quotation under it. Same way, Doctype is also a Doctype which has Sales Order Doctype, Purchase Order Doctype and other form's doctype created under it as child Doctype.
+By **Doctype** mentioned in the Option field, we mean parent Doctype. So, just like Quotation is one Doctype, which has multiple Quotation under it. Same way, Doctype is also a Doctype which has Sales Order, Purchase Order and other doctypes created as Doctype records.
-- Doctype<br>
------ Sales Order<br>
------ Purchase Invoice<br>
------ Quotation<br>
------ Sales Invoice<br>
------ Employee<br>
------ Production Order<br>
-and so on, till all the forms/document of ERPNext is covered.
+---- Sales Order<br>
+---- Purchase Invoice<br>
+---- Quotation<br>
+---- Sales Invoice<br>
+---- Employee<br>
+---- Production Order<br>
+.. and so on.
-So linking this field with parent Doctype master list all the child doctypes/forms.
+So linking this field with parent Doctype will list all the Doctype records.
-
+<img alt="journal Voucher Link Field" class="screenshot" src="{{docs_base_url}}/assets/img/articles/dynamic-field-2.png">
-####Insert Dynamic Link Field
+#### Step 2: Insert Dynamic Link Field
-It will be "Dynamic Link" for Field Type, and field name of Doctype field mentioned in its Option field.
+This custom field's type will be "Dynamic Link". In the Option field, name of Doctype link field will be mentioned.
-
+<img alt="Custom Dynamic Field" class="screenshot" src="{{docs_base_url}}/assets/img/articles/dynamic-field-3.gif">
-This field will allow us to select document id, based on value selected in the Doctype link field. For example, if we select Sales Order in the prior field, this field will list all the Sales Orders id. If we select Purchase Invoice in the prior field, this field will render all the Purchase Order for our selection.
+This field will allow selecting document id, based on value selected in the Doctype link field. For example, if we select Sales Order in the prior field, Dynamic Link field will list all the Sales Orders ids.
-
+<img alt="Custom Dynamic Field" class="screenshot" src="{{docs_base_url}}/assets/img/articles/dynamic-field-4.gif">
-####Customizing options in the Doctype Link field
+<div class="well">
+**Customizing options in the Doctype Link field**
-Bydefault, Docytpe link field will provide all the forms/doctypes for selection. If you wish this field to show certain specific doctypes in the search result, you will need to write Custom Script for it.
+Bydefault, Docytpe link field will provide all the forms/doctypes for selection. If you wish this field to show certain specific doctypes in the search result, you will need to write Custom Script for it.</div>
<!-- markdown -->
\ No newline at end of file
diff --git a/erpnext/docs/user/manual/en/customize-erpnext/articles/module-visibility.md b/erpnext/docs/user/manual/en/customize-erpnext/articles/module-visibility.md
index 837ca92..191ce8a 100644
--- a/erpnext/docs/user/manual/en/customize-erpnext/articles/module-visibility.md
+++ b/erpnext/docs/user/manual/en/customize-erpnext/articles/module-visibility.md
@@ -1,17 +1,19 @@
-<h1>Module Visibility</h1>
+#Module Visibility
-If you have permission on specific module, but it is still not visible to you, following is how you should go about checking setting to make it visible again.
+If you have permission on specific module, but it is still not visible, following are the possibilities of issues you should look at. Let's consider a scenario that user is permission of Website module, but not able to access it.
-As step zero, reassure that you have role assigned which is required for accessing Website and Shopping Cart module. For modules in question, you should have "Website Manager" role assigned. If permissions has been customized in your account, check Role Permission Manager to know which Role has permission on Website and Shopping Cart module.
+As step zero, ensure that you have "Website Manager" role assigned. It is a standard Role which grants permission on Website module. If permissions has been customized in your account, check Role Permission Manager to know which Role has permission on Website, and then check if same Role is assigned to User.
-If modules are hidden in-spite of assignment of required permission, then you should check if Website and Shopping Cart module is not disabled from All Application option on your desk/home page.
+If module is hidden in-spite of assignment of required Role, then you should check if Website is not disabled from All Application.
-
+<img alt="All Applications" class="screenshot" src="{{docs_base_url}}/assets/img/articles/module-visibility-1.gif">
-If modules are still not visible, check if it is hidden by System Manager from Show/Hide Modules option in the Setup module.
+If Website is checked in All Application, but still not visible for the User, check if is hidden by System Manager. In the Setup module, feature called Show/Hide Modules allows System Manager to hide specific module from all the Users.
-<div class="well">Setup >> Settings >> Show / Hide Modules</div>Ensure required module are checked, and not disabled in this page. If you just enabled/activated it, update Show/Hide Module page, and check your home page after Help >> Clear Cache.
+`Setup > Settings > Show / Hide Modules`
-<div class="well">Note: In this help page, Website and Shopping Cart module is considered as an example. You can troubleshoot visibility issues for other modules following same steps.</div>
+Ensure Website module is checked. If you just enabled/activated it, update Show/Hide Module page, and then Reload tab of your ERPNext account. After reload, changes made in the Setup module will be applied and will be visible in the system.
+
+On the same lines, you can check for the visibility issue of other modules as well.
<!-- markdown -->
\ No newline at end of file
diff --git a/erpnext/docs/user/manual/en/customize-erpnext/articles/perm-level-error-in-permission-manager.md b/erpnext/docs/user/manual/en/customize-erpnext/articles/perm-level-error-in-permission-manager.md
index 2fb27b6..2562740 100644
--- a/erpnext/docs/user/manual/en/customize-erpnext/articles/perm-level-error-in-permission-manager.md
+++ b/erpnext/docs/user/manual/en/customize-erpnext/articles/perm-level-error-in-permission-manager.md
@@ -1,12 +1,12 @@
-<h1>Perm Level Error in Permission Manager</h1>
+#Perm Level Error in Permission Manager
-While customizing rules in the [Permission Manager](https://erpnext.com/user-guide/setting-up/permissions/role-based-permissions), you might receive an error message saying:
+While customizing rules in the [Permission Manager]({{docs_base_url}}/user/erpnext/user/manual/en/setting-up/users-and-permissions/role-based-permissions), you might receive an error message saying:
-`For System Manager_ (or other role) _at level 2_ (or other level) _in Customer_ (or document) _in row 8: Permission at level 0 must be set before higher levels are set`.
+`For System Manager _(or other role)_ at level 2 _(or other level)_ in Customer _(or other document)_ in row 8: Permission at level 0 must be set before higher levels are set.`
-Error message indicates problem in the existing permission setting for this document.
+Error message indicates problem is in the existing permission setting for this document.
-For any role, before assigning permission at Perm Level 1, 2, permission at Perm Level 0 must be assigned. Error message says that System Manager has been assigned permission at Perm Level 1 and 2, but not at level 0. You should first correct the permission for System Manager's role by:
+For any role, before assigning permission at Perm Level 1 or 2 (and so on), permission at Perm Level 0 must be assigned. Error message says that System Manager has been assigned permission at Perm Level 1 and 2, but not at level 0. You should first correct the permission for System Manager's role by:
- Assigning permission to System Manager at level 0.
@@ -14,6 +14,6 @@
- By removing permission at level 1 and 2.
-After executing one of the above step, you should try adding additional rules in the Role Permission Manager.
+After executing one of the above step, you should be able to successfully add new permissions rules in the Role Permission Manager.
<!-- markdown -->
\ No newline at end of file
diff --git a/erpnext/docs/user/manual/en/customize-erpnext/articles/search-record-by-specific-field.md b/erpnext/docs/user/manual/en/customize-erpnext/articles/search-record-by-specific-field.md
index 1505964..92b2f80 100644
--- a/erpnext/docs/user/manual/en/customize-erpnext/articles/search-record-by-specific-field.md
+++ b/erpnext/docs/user/manual/en/customize-erpnext/articles/search-record-by-specific-field.md
@@ -1,21 +1,27 @@
-<h1>Search Record by Specific Field</h1>
+#Search Record by Specific Field
-While creating any document in ERPNext, you might have to select other record id in it (like selecting Customer in Quotation). For ease in selecting other record, you can search them based on value in various fields of that record. Search By functionality enables you searching and filtering records based on value in the specific fields of that record.
+While creating any document (say Sales Invoice), you have to select other document id in it (say Serial No). For ease in selection, you can also make value of oother field of that visible in the search result. Search By functionality enables to define field whos value will be visible in the search result.
-Let's consider an example to learn Search By functionality better. While creating Sales Order, we need to select Customer in it. If we need to filter search result of Customer for specific Customer Group, we should go about following these steps to achieve it.
+Let's assume that while creating Sales Invoice, you wish to see Serial No result, with respective Warehouse.
-####Search By in Customize Form
+#### Step 1: Customize Form
-In the Customize Form tool, you will find field called Search Field. You should enter field names based on which we can search and filter result for this document.
+`Setup > Customize > Customize Form`
-Considering our scenario, we should update name of Customer Group field for Customer in the Customize Form.
+#### Step 2: Select Document
-![Search By in Customize Form]()
+`Document Type = Serial No.`
-####Searching in Another Record.
+#### Step 3: Search Field
+
+Update Warehouse field name in the Search By field.
+
+<img alt="Search By in Customize Form" class="screenshot" src="{{docs_base_url}}/assets/img/articles/search-by-1.png">
+
+#### Searching in Another Record.
While creating transaction, to get filtered result for Customer, you should firstly click on search magnifier.
-![Search for master]()
+<img alt="Search By in Customize Form" class="screenshot" src="{{docs_base_url}}/assets/img/articles/search-by-2.png">
<!-- markdown -->
\ No newline at end of file
diff --git a/erpnext/docs/user/manual/en/customize-erpnext/articles/set-language.md b/erpnext/docs/user/manual/en/customize-erpnext/articles/set-language.md
index 4b372c7..ede54f2 100644
--- a/erpnext/docs/user/manual/en/customize-erpnext/articles/set-language.md
+++ b/erpnext/docs/user/manual/en/customize-erpnext/articles/set-language.md
@@ -1,6 +1,6 @@
-<h1>Change the Language</h1>
+#Change the Language
-ERPNext is an multi-lingual application, which means user can select a preferred language for one's ERPNext account.
+ERPNext is an multi-lingual application. It allows each user to select preferred lannguage. Following is how User can customize language in one's account.
### 1. Setting Language in User's Account
@@ -14,6 +14,8 @@
<img alt="Select Language" class="screenshot" src="{{docs_base_url}}/assets/img/articles/change-language-2.png">
+<img alt="Select Language" class="screenshot" src="{{docs_base_url}}/assets/img/articles/set-language-1.gif">
+
#### 1.3 Save User
On saving User after selecting language, your ERPNext account will be refresh automatically. Then you will see ERPNext translated in your selected language.
@@ -34,5 +36,7 @@
Save System Settings, and refresh your EPRNext account. On refreshing, you should language in your ERPNext account changed as per your preference.
+<img alt="Select Language" class="screenshot" src="{{docs_base_url}}/assets/img/articles/set-language-2.gif">
+
Note: For now, we have translation available only for few languages. You can contribute to make translation better, and add new languages from [here](https://translate.erpnext.com).
<!-- markdown -->
\ No newline at end of file
diff --git a/erpnext/docs/user/manual/en/customize-erpnext/articles/set-precision-for-float-currency-and-percent-fields.md b/erpnext/docs/user/manual/en/customize-erpnext/articles/set-precision-for-float-currency-and-percent-fields.md
deleted file mode 100644
index 2cc39e1..0000000
--- a/erpnext/docs/user/manual/en/customize-erpnext/articles/set-precision-for-float-currency-and-percent-fields.md
+++ /dev/null
@@ -1,26 +0,0 @@
-<h1>Set Precision for Float, Currency and Percent fields</h1>
-
-In ERPNext, default precision for `Float`, `Currency` and `Percent` field is 3. So, you can enter any number up-to 3 decimals in such fields.
-
-You can also change / customize the precision settings globally or for a specific field.
-
-To change the precision globally, go to `Setup > Settings > System Settings`.
-
-
-You can also set field specific precision. To do that go to `Setup > Customize > Customize Form` and select the DocType there. Then go to the specific field row and change precision. Precision field is only visible if field-type is one of the Float, Currency and Percent.
-
-
-**Note:**
-If you are changing precision of a field to a higher number, all the related fields should also be set to the same precision.
-
-For example, if you want to calculate invoice total upto 5 decimals, you need to change the precision of all related fields, which resulted total. In this case you have to change following fields to get correct total.
-
- Sales Invoice Item: price_list_rate, base_price_list_rate, rate, base_rate, amount and base_amount
-
- Taxes and Charges: tax_amount, total and tax_amount_after_discount
-
- Sales Invoice: net_total, other_charges_total, discount_amount and grand_total
-
-And precision should be changed in all related documents as well, to get correct mapping. In this case, same precision should be set for Quotation, Sales order, Delivery Note and Sales Invoice.
-
-<!-- markdown -->
\ No newline at end of file
diff --git a/erpnext/docs/user/manual/en/customize-erpnext/articles/set-precision.md b/erpnext/docs/user/manual/en/customize-erpnext/articles/set-precision.md
new file mode 100644
index 0000000..4ed070f
--- /dev/null
+++ b/erpnext/docs/user/manual/en/customize-erpnext/articles/set-precision.md
@@ -0,0 +1,18 @@
+#Set Precision
+
+In ERPNext, default precision for `Float`, `Currency` and `Percent` field is three. It allows you to enter value having value upto three decimal places.
+
+You can also change/customize the precision settings globally or for a specific field.
+
+To change the precision globally, go to:
+
+`Setup > Settings > System Settings`.
+
+<img alt="Global Precision" class="screenshot" src="{{docs_base_url}}/assets/img/articles/precision-1.png">
+
+You can also set field specific precision. To do that go to `Setup > Customize > Customize Form` and select the DocType there. Then go to the specific field row and change precision. Precision field is only visible if field-type is one of the Float, Currency and Percent.
+
+<img alt="Field-wise Precision" class="screenshot" src="{{docs_base_url}}/assets/img/articles/precision-2.png">
+
+
+<!-- markdown -->
\ No newline at end of file
diff --git a/erpnext/docs/user/manual/en/customize-erpnext/articles/user-restriction.html b/erpnext/docs/user/manual/en/customize-erpnext/articles/user-restriction.html
deleted file mode 100644
index 09f9cb1..0000000
--- a/erpnext/docs/user/manual/en/customize-erpnext/articles/user-restriction.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<h1>Owner Restriction</h1>
-
-To restricting user based on Owner (creator of record), form/document should have field linked with User master. If that document is not linked with user, then you should create <a href="https://erpnext.com/user-guide/customize-erpnext/custom-field" target="_blank">custom field</a> and link it with User master.
-<br>
-<br>Following are the steps to restrict User based on Owner.
-<br>
-<br><b>Step 1: </b>Go to:
-<br>
-<br>Setup > Permissions > Role Permissions Manager
-<br>
-<br><b>Step 2:</b> Select Document Type for which you want to set user permission. After permissions are loaded for selected document, scroll to role for which you want to set restriction.
-<br>
-<img src="{{docs_base_path}}/assets/img/articles/Selection_0045d151c.png"><br>
-<br><b>Step 3:</b> For Role to be resricted (Sales User in this case), check "Apply User Restriction". On checking Apply User Permission, two links will be show up called:
-<br>
-<br>- Select Document Type
-<br>- Select User Permissions
-<br>
-<br>Click on "Select Document Type".
-<br>
-<br>
-<img src="{{docs_base_path}}/assets/img/articles/Selection_0028834c2.png" height="168" width="691">
-<br>
-<br><b>Step 4:</b> Check mark on User, and un-check for others. If you want user to be restricted based on some other criteria as well, like territory, customer groups, then that should be checked as well.
-<br>
-<br>
-<img src="{{docs_base_path}}/assets/img/articles/Selection_003fea339.png">
-<br>
-<div class="well">When restricting User based on User master itself, then there is no need to create User Permission Setting.</div>
diff --git a/erpnext/docs/user/manual/en/customize-erpnext/articles/user-restriction.md b/erpnext/docs/user/manual/en/customize-erpnext/articles/user-restriction.md
new file mode 100644
index 0000000..75007e8
--- /dev/null
+++ b/erpnext/docs/user/manual/en/customize-erpnext/articles/user-restriction.md
@@ -0,0 +1,19 @@
+# Restricting based on Owner
+
+Following are the steps to restrict User to a document based on Owner/creator.
+
+#### Step 1: Role Permission Manager
+
+`Setup > Permissions > Role Permissions Manager`
+
+#### Step 2: Select Document Type
+
+Select Document Type for which you want to set user permission. After permissions are loaded for selected document, scroll to role for which you want to set restriction.
+
+<img alt="Sales Order" class="screenshot" src="{{docs_base_url}}/assets/img/articles/owner-restriction-1.png">
+
+#### Step 3: Apply User Permission
+
+For Role to be resricted (Sales User in this case), check "If Owner".
+
+<img alt="S" class="screenshot" src="{{docs_base_url}}/assets/img/articles/owner-restriction-2.png">
\ No newline at end of file
diff --git a/erpnext/hooks.py b/erpnext/hooks.py
index 8e6b2c6..79a38cb 100644
--- a/erpnext/hooks.py
+++ b/erpnext/hooks.py
@@ -7,7 +7,7 @@
app_description = """ERP made simple"""
app_icon = "icon-th"
app_color = "#e74c3c"
-app_version = "6.15.0"
+app_version = "6.15.1"
app_email = "info@erpnext.com"
app_license = "GNU General Public License (v3)"
source_link = "https://github.com/frappe/erpnext"
@@ -23,6 +23,7 @@
setup_wizard_requires = "assets/erpnext/js/setup_wizard.js"
setup_wizard_complete = "erpnext.setup.setup_wizard.setup_wizard.setup_complete"
+before_install = "erpnext.setup.install.check_setup_wizard_not_completed"
after_install = "erpnext.setup.install.after_install"
boot_session = "erpnext.startup.boot.boot_session"
diff --git a/erpnext/setup/install.py b/erpnext/setup/install.py
index dcb6eb3..b4e19da 100644
--- a/erpnext/setup/install.py
+++ b/erpnext/setup/install.py
@@ -17,6 +17,14 @@
add_web_forms()
frappe.db.commit()
+def check_setup_wizard_not_completed():
+ if frappe.db.get_default('desktop:home_page') == 'desktop':
+ print
+ print "ERPNext can only be installed on a fresh site where the setup wizard is not completed"
+ print "You can reinstall this site (after saving your data) using: bench --site [sitename] reinstall"
+ print
+ return False
+
def feature_setup():
"""save global defaults and features setup"""
doc = frappe.get_doc("Features Setup", "Features Setup")
diff --git a/erpnext/setup/setup_wizard/setup_wizard.py b/erpnext/setup/setup_wizard/setup_wizard.py
index 4d4cc6d..9892e71 100644
--- a/erpnext/setup/setup_wizard/setup_wizard.py
+++ b/erpnext/setup/setup_wizard/setup_wizard.py
@@ -106,8 +106,23 @@
}).insert()
# Bank Account
+ create_bank_account(args)
args["curr_fiscal_year"] = curr_fiscal_year
+
+def create_bank_account(args):
+ if args.get("bank_account"):
+ bank_account_group = frappe.db.get_value("Account",
+ {"account_type": "Bank", "is_group": 1, "root_type": "Asset"})
+ if bank_account_group:
+ frappe.get_doc({
+ "doctype": "Account",
+ 'account_name': args.get("bank_account"),
+ 'parent_account': bank_account_group,
+ 'is_group':0,
+ 'company':args.get('company_name').strip(),
+ "account_type": "Bank",
+ }).insert()
def create_price_lists(args):
for pl_type, pl_name in (("Selling", _("Standard Selling")), ("Buying", _("Standard Buying"))):
diff --git a/erpnext/stock/doctype/item/item.js b/erpnext/stock/doctype/item/item.js
index 55295f4..2caade6 100644
--- a/erpnext/stock/doctype/item/item.js
+++ b/erpnext/stock/doctype/item/item.js
@@ -236,7 +236,7 @@
frappe.call({
method:"erpnext.controllers.item_variant.get_variant",
args: {
- "item": cur_frm.doc.name,
+ "template": cur_frm.doc.name,
"args": d.get_values()
},
callback: function(r) {
@@ -320,6 +320,10 @@
frm.toggle_display("attributes", frm.doc.has_variants || frm.doc.variant_of);
frm.fields_dict.attributes.grid.toggle_reqd("attribute_value", frm.doc.variant_of ? 1 : 0);
frm.fields_dict.attributes.grid.set_column_disp("attribute_value", frm.doc.variant_of ? 1 : 0);
+
+ frm.toggle_enable("attributes", !frm.doc.variant_of);
+ frm.fields_dict.attributes.grid.toggle_enable("attribute", !frm.doc.variant_of);
+ frm.fields_dict.attributes.grid.toggle_enable("attribute_value", !frm.doc.variant_of);
}
});
diff --git a/erpnext/stock/doctype/item/item.py b/erpnext/stock/doctype/item/item.py
index dfe17e8..6a3cf6f 100644
--- a/erpnext/stock/doctype/item/item.py
+++ b/erpnext/stock/doctype/item/item.py
@@ -30,9 +30,18 @@
self.get("__onload").sle_exists = self.check_if_sle_exists()
def autoname(self):
- if frappe.db.get_default("item_naming_by")=="Naming Series" and not self.variant_of:
- from frappe.model.naming import make_autoname
- self.item_code = make_autoname(self.naming_series+'.#####')
+ if frappe.db.get_default("item_naming_by")=="Naming Series":
+ if self.variant_of:
+ if not self.item_code:
+ item_code_suffix = ""
+ for attribute in self.attributes:
+ attribute_abbr = frappe.db.get_value("Item Attribute Value",
+ {"parent": attribute.attribute, "attribute_value": attribute.attribute_value}, "abbr")
+ item_code_suffix += "-" + str(attribute_abbr or attribute.attribute_value)
+ self.item_code = str(self.variant_of) + item_code_suffix
+ else:
+ from frappe.model.naming import make_autoname
+ self.item_code = make_autoname(self.naming_series+'.#####')
elif not self.item_code:
msgprint(_("Item Code is mandatory because Item is not automatically numbered"), raise_exception=1)
@@ -563,11 +572,10 @@
frappe.throw(_("Please specify Attribute Value for attribute {0}").format(d.attribute))
args[d.attribute] = d.attribute_value
- if self.variant_of:
- # test this during insert because naming is based on item_code and we cannot use condition like self.name != variant
- variant = get_variant(self.variant_of, args)
- if variant and self.get("__islocal"):
- frappe.throw(_("Item variant {0} exists with same attributes").format(variant), ItemVariantExistsError)
+ variant = get_variant(self.variant_of, args, self.name)
+ if variant:
+ frappe.throw(_("Item variant {0} exists with same attributes")
+ .format(variant), ItemVariantExistsError)
def validate_end_of_life(item_code, end_of_life=None, disabled=None, verbose=1):
if (not end_of_life) or (disabled is None):
diff --git a/erpnext/stock/doctype/item/test_item.py b/erpnext/stock/doctype/item/test_item.py
index bd6fe28..f8b6393 100644
--- a/erpnext/stock/doctype/item/test_item.py
+++ b/erpnext/stock/doctype/item/test_item.py
@@ -107,6 +107,7 @@
# doing it again should raise error
variant = create_variant("_Test Variant Item", {"Test Size": "Large"})
+ variant.item_code = "_Test Variant Item-L-duplicate"
self.assertRaises(ItemVariantExistsError, variant.save)
def test_make_item_variant_with_numeric_values(self):
diff --git a/setup.py b/setup.py
index 3b3fa7e..d28e555 100644
--- a/setup.py
+++ b/setup.py
@@ -1,7 +1,7 @@
from setuptools import setup, find_packages
from pip.req import parse_requirements
-version = "6.15.0"
+version = "6.15.1"
requirements = parse_requirements("requirements.txt", session="")
setup(