diff --git a/erpnext/__version__.py b/erpnext/__version__.py index 4844236079..c40beacc1f 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 b10b72f3fb..2a6ab88a31 100644 --- a/erpnext/buying/doctype/purchase_order/purchase_order.py +++ b/erpnext/buying/doctype/purchase_order/purchase_order.py @@ -140,7 +140,7 @@ class PurchaseOrder(BuyingController): 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 @@ class PurchaseOrder(BuyingController): 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 @@ class PurchaseOrder(BuyingController): 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 5890b5d1e9..350827790f 100644 --- a/erpnext/controllers/item_variant.py +++ b/erpnext/controllers/item_variant.py @@ -12,7 +12,7 @@ class InvalidItemAttributeValueError(frappe.ValidationError): pass 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 @@ def get_variant(item, args): 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 @@ def validate_item_variant_attributes(item, args): 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 @@ def find_variant(item, args): 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 5091620f0a..0000000000 Binary files a/erpnext/docs/assets/img/articles/$SGrab_223.png and /dev/null 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 dec84682c3..0000000000 Binary files a/erpnext/docs/assets/img/articles/$SGrab_349.png and /dev/null 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 aa5793ab28..0000000000 Binary files a/erpnext/docs/assets/img/articles/$SGrab_350.png and /dev/null 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 0c34c11351..0000000000 Binary files a/erpnext/docs/assets/img/articles/$SGrab_352.png and /dev/null 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 159d2e2099..0000000000 Binary files a/erpnext/docs/assets/img/articles/$SGrab_353.png and /dev/null 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 d67bcb2396..0000000000 Binary files a/erpnext/docs/assets/img/articles/$SGrab_384.png and /dev/null 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 c2cad13cef..0000000000 Binary files a/erpnext/docs/assets/img/articles/$SGrab_385.png and /dev/null 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 e5300643f8..0000000000 Binary files a/erpnext/docs/assets/img/articles/$SGrab_386.png and /dev/null 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 c7ec59b298..0000000000 Binary files a/erpnext/docs/assets/img/articles/$SGrab_387.png and /dev/null 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 9ba5acfaba..0000000000 Binary files a/erpnext/docs/assets/img/articles/$SGrab_393.png and /dev/null 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 222a5dcb70..0000000000 Binary files a/erpnext/docs/assets/img/articles/$SGrab_394.png and /dev/null 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 ae9f7fc456..0000000000 Binary files a/erpnext/docs/assets/img/articles/Screen Shot 2015-02-26 at 3.52.10 pm.png and /dev/null 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 cc167769b4..0000000000 Binary files a/erpnext/docs/assets/img/articles/Screen Shot 2015-02-26 at 3.58.45 pm.png and /dev/null 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 186732cd28..0000000000 Binary files a/erpnext/docs/assets/img/articles/Screen Shot 2015-02-26 at 4.10.37 pm.png and /dev/null 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 1095cb57a4..0000000000 Binary files a/erpnext/docs/assets/img/articles/Screen Shot 2015-02-26 at 4.20.30 pm.png and /dev/null 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 a1acd6c86a..0000000000 Binary files a/erpnext/docs/assets/img/articles/Selection_080.png and /dev/null 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 a346a74005..0000000000 Binary files a/erpnext/docs/assets/img/articles/Selection_084.png and /dev/null 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 d8a5151164..0000000000 Binary files a/erpnext/docs/assets/img/articles/Selection_085.png and /dev/null 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 0000000000..c1cd86b466 Binary files /dev/null and b/erpnext/docs/assets/img/articles/change-parent-1.png 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 0000000000..2ba16e93b3 Binary files /dev/null and b/erpnext/docs/assets/img/articles/change-parent-2.png 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 0000000000..819e849945 Binary files /dev/null and b/erpnext/docs/assets/img/articles/change-parent-3.png 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 0000000000..ad2ef28cc8 Binary files /dev/null and b/erpnext/docs/assets/img/articles/change-parent-account-1.gif 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 0000000000..a161638347 Binary files /dev/null and b/erpnext/docs/assets/img/articles/depreciation-1.png 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 0000000000..edc04448bc Binary files /dev/null and b/erpnext/docs/assets/img/articles/depreciation-2.png 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 0000000000..dc3a599246 Binary files /dev/null and b/erpnext/docs/assets/img/articles/depreciation-3.png 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 0000000000..237a233761 Binary files /dev/null and b/erpnext/docs/assets/img/articles/depreciation-4.png 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 0000000000..231b331bb1 Binary files /dev/null and b/erpnext/docs/assets/img/articles/difference-entry-1.png 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 0000000000..74c924fdfa Binary files /dev/null and b/erpnext/docs/assets/img/articles/difference-entry-2.gif 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 0000000000..53d8d4d258 Binary files /dev/null and b/erpnext/docs/assets/img/articles/dynamic-field-1.gif 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 0000000000..db550fa37d Binary files /dev/null and b/erpnext/docs/assets/img/articles/dynamic-field-2.png 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 0000000000..19144958ef Binary files /dev/null and b/erpnext/docs/assets/img/articles/dynamic-field-3.gif 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 0000000000..c2b12e06ee Binary files /dev/null and b/erpnext/docs/assets/img/articles/dynamic-field-4.gif 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 0000000000..9e3b28ce97 Binary files /dev/null and b/erpnext/docs/assets/img/articles/fiscal-year-error-1.png 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 0000000000..73e3895d54 Binary files /dev/null and b/erpnext/docs/assets/img/articles/fiscal-year-error-2.png 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 0000000000..4c38cb7a56 Binary files /dev/null and b/erpnext/docs/assets/img/articles/module-visibility-1.gif 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 0000000000..048a4181c3 Binary files /dev/null and b/erpnext/docs/assets/img/articles/owner-restriction-1.png 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 0000000000..38ecb30314 Binary files /dev/null and b/erpnext/docs/assets/img/articles/owner-restriction-2.png 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 0000000000..bf8e33e0c6 Binary files /dev/null and b/erpnext/docs/assets/img/articles/precision-1.png 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 0000000000..ea194d4644 Binary files /dev/null and b/erpnext/docs/assets/img/articles/precision-2.png 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 45ad6c0619..0000000000 Binary files a/erpnext/docs/assets/img/articles/precision-fieldwise.png and /dev/null 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 6a5cbc05de..0000000000 Binary files a/erpnext/docs/assets/img/articles/precision-global.png and /dev/null 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 0000000000..1c8e1b28a6 Binary files /dev/null and b/erpnext/docs/assets/img/articles/project-cost-center-1.png 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 0000000000..6076601a1e Binary files /dev/null and b/erpnext/docs/assets/img/articles/project-cost-center-2.png 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 0000000000..99bfb962b6 Binary files /dev/null and b/erpnext/docs/assets/img/articles/project-cost-center-3.png 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 0000000000..973e5d537e Binary files /dev/null and b/erpnext/docs/assets/img/articles/project-cost-center-4.png 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 0000000000..4312899078 Binary files /dev/null and b/erpnext/docs/assets/img/articles/project-cost-center-5.png 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 0000000000..fa856de00f Binary files /dev/null and b/erpnext/docs/assets/img/articles/project-cost-center-6.png 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 0000000000..044ed2c9bc Binary files /dev/null and b/erpnext/docs/assets/img/articles/search-by-1.png 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 0000000000..9a3f60d1dc Binary files /dev/null and b/erpnext/docs/assets/img/articles/search-by-2.png 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 0000000000..3f1a3efbb0 Binary files /dev/null and b/erpnext/docs/assets/img/articles/set-language-1.gif 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 0000000000..62d24cfb2f Binary files /dev/null and b/erpnext/docs/assets/img/articles/set-language-2.gif differ diff --git a/erpnext/docs/current/index.html b/erpnext/docs/current/index.html index 4c5fc54b83..4247622382 100644 --- a/erpnext/docs/current/index.html +++ b/erpnext/docs/current/index.html @@ -35,7 +35,7 @@ Version - 6.14.1 + 6.15.0 diff --git a/erpnext/docs/current/models/accounts/account.html b/erpnext/docs/current/models/accounts/account.html index bbc0203e32..5b3103d65c 100644 --- a/erpnext/docs/current/models/accounts/account.html +++ b/erpnext/docs/current/models/accounts/account.html @@ -946,10 +946,6 @@ Credit - - - -
  • diff --git a/erpnext/docs/current/models/accounts/shipping_rule.html b/erpnext/docs/current/models/accounts/shipping_rule.html index 8f859cbc60..beadc90ff4 100644 --- a/erpnext/docs/current/models/accounts/shipping_rule.html +++ b/erpnext/docs/current/models/accounts/shipping_rule.html @@ -413,15 +413,6 @@ Net Weight
  • - -
  • - - -Shopping Cart Shipping Rule - -
  • - - diff --git a/erpnext/docs/current/models/setup/company.html b/erpnext/docs/current/models/setup/company.html index 27e2294966..bafb0191ae 100644 --- a/erpnext/docs/current/models/setup/company.html +++ b/erpnext/docs/current/models/setup/company.html @@ -111,8 +111,7 @@ Legal Entity / Subsidiary with a separate Chart of Accounts belonging to the Org
    Distribution
     Manufacturing
     Retail
    -Services
    -Education
    +Services diff --git a/erpnext/docs/current/models/stock/price_list.html b/erpnext/docs/current/models/stock/price_list.html index 28e2cec31e..60d5b2eabe 100644 --- a/erpnext/docs/current/models/stock/price_list.html +++ b/erpnext/docs/current/models/stock/price_list.html @@ -391,8 +391,6 @@ Price List Master - -
  • diff --git a/erpnext/docs/current/models/stock/warehouse.html b/erpnext/docs/current/models/stock/warehouse.html index 2d7108b2b0..c0fa5d3d6b 100644 --- a/erpnext/docs/current/models/stock/warehouse.html +++ b/erpnext/docs/current/models/stock/warehouse.html @@ -629,8 +629,6 @@ A logical Warehouse against which stock entries are made. - -
  • 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 6eba28843c..0000000000 --- a/erpnext/docs/user/manual/en/accounts/articles/accounting-for-projects.md +++ /dev/null @@ -1,72 +0,0 @@ -

    Accounting for Projects

    - -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. - -![Project Default Cost Center]({{docs_base_url}}/assets/img/articles/Screen Shot 2015-02-26 at 3.52.10 pm.png) - -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. - -![Cost Center in Sales]({{docs_base_url}}/assets/img/articles/Screen Shot 2015-02-26 at 3.58.45 pm.png) - -#### 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. - -![Cost Center in Purchase]({{docs_base_url}}/assets/img/articles/Screen Shot 2015-02-26 at 4.20.30 pm.png) - -### 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. - -![Financial Analytics for a Project]({{docs_base_url}}/assets/img/articles/Screen Shot 2015-02-26 at 4.10.37 pm.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 for detailed help on how to do budgeting from Cost Center](https://erpnext.com/user-guide/accounts/budgeting). - - 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 c2f2061475..3c6e09113f 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 @@ -

    C-Form

    +#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 02cbd66fc9..ccb89da45f 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 @@ -

    Changing Parent Account

    +#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 @@ Click on Account for which Parent Account is to be changed. ####2. Edit Account -![Account]({{docs_base_url}}/assets/img/articles/Selection_080.png) +Project Default Cost Center ####3. Change Parent Account Search and select preferred Parent Account and save. -![Account]({{docs_base_url}}/assets/img/articles/Selection_084.png) +Project Default Cost Center Refresh system from Help menu to experience the change. -![Account]({{docs_base_url}}/assets/img/articles/Selection_085.png) +Project Default Cost Center + +
    Note: Parent cannot be customized for the Root Accounts, like Asset, Liability, Income, Expense, Equity.
    + +#### Quick Help + +Project Default Cost Center -
    Note: Change of Parent Account is not applicable for Root Accounts.
    \ 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 6770fa3dd1..0000000000 --- a/erpnext/docs/user/manual/en/accounts/articles/customer-for-multiple-company.md +++ /dev/null @@ -1,27 +0,0 @@ -

    Customer for Multiple Company

    - -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. - -![Common Customer]({{docs_base_url}}/assets/img/articles/$SGrab_306.png) - ->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. - -![Common Customer Account]({{docs_base_url}}/assets/img/articles/$SGrab_307.png) - - \ 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 026657f408..5eae30dbab 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 @@ -

    Depreciation for Fixed Asset Items

    +#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. -![Fixed Asset Account]({{docs_base_url}}/assets/img/articles/$SGrab_384.png) +#### 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. +Project Default Cost Center -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: -![Fixed Asset Depreciation]({{docs_base_url}}/assets/img/articles/$SGrab_385.png) +`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. -![Fixed Asset Depreciation]({{docs_base_url}}/assets/img/articles/$SGrab_386.png) +#### 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. -![Fixed Asset General Ledger]({{docs_base_url}}/assets/img/articles/$SGrab_387.png) +Project Default Cost Center -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. + +Project Default Cost Center + +#### Step 5: Submit + +On submission of Stock Reconciliation, depreciation will booked for items asset items. + +Project Default Cost Center + +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. \ 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 30cae4e470..0000000000 --- a/erpnext/docs/user/manual/en/accounts/articles/difference-entry-button.html +++ /dev/null @@ -1,16 +0,0 @@ -

    Difference Entry Button

    - -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. -
    -
    -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. -
    - -
    -
    On selecting account under new row, you will be able to submit Journal Entry. -
    -
    -
    If debit and credit amount entered for accounts are already tallying, then you need not click on "Make Difference Entry" button.
    - - - \ 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 0000000000..acac407fa3 --- /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. + +Debit Credit Not Equal + +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. + +Debit Credit Not Equal + +On selecting account under new row, debit and credit an entry will be tallying, and you should be able to submit Journal Entri correctly. + + \ 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 e22a3efccc..8da261e35c 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 @@ -

    Fixing Fiscal Year's Error

    +# 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. -![Fiscal Year Default]({{docs_base_url}}/assets/img/articles/$SGrab_393.png) +Debit Credit Not Equal 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` -![Fiscal Year Global Default]({{docs_base_url}}/assets/img/articles/$SGrab_394.png) +Debit Credit Not Equal -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. \ 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 38ecaf5ae3..0000000000 --- a/erpnext/docs/user/manual/en/accounts/articles/how-to-freeze-accounting-entries-upto-a-specific-date.html +++ /dev/null @@ -1,3 +0,0 @@ -

    How to freeze accounting entries upto a specific date?

    - -To freeze accounting entries upto a certain date, follow these steps:

    1. Go to Accounts -> Setup -> Accounts Settings.
    2. Set the date in Accounts Frozen Upto field.


    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-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 0000000000..1bc623121d --- /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. + + + +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 d76a331b49..f21bf2d99e 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 @@ -

    How To Freeze Accounting Ledger?

    +#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 5ba6d17dc0..0000000000 --- a/erpnext/docs/user/manual/en/accounts/articles/how-to-nullify-balance-from-temporary-accounts.md +++ /dev/null @@ -1,16 +0,0 @@ -

    How to Nullify Balance From Temporary Accounts?

    - -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 - -![Journal Entry]({{docs_base_url}}/assets/img/articles/$SGrab_432.png) - -On submit of this journal entry, balances of these temporary accounts will be set to Zero. - - \ 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 08a69e3843..05819278b6 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 6e24f86f54..054c9790a3 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 @@ -

    Manage Foreign Exchange Difference

    +# 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 3757a698d7..159402cf91 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 @@ -

    Managing Transactions In Multiple Currency

    +#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 5b6c10f873..0000000000 --- a/erpnext/docs/user/manual/en/accounts/articles/new-fiscal-year-auto-create-feature.html +++ /dev/null @@ -1,3 +0,0 @@ -

    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.

    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.


    \ 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 0000000000..ace7c40b3d --- /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. + +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.



    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/pos-view.md b/erpnext/docs/user/manual/en/accounts/articles/pos-view.md new file mode 100644 index 0000000000..1bf769d0e4 --- /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. + + + +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 12957d9809..305fc5984a 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 @@ -

    Post Dated Cheque Entry

    +#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 f1caf62aab..dbd00e4690 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 @@ -

    Pricing Rule

    +#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 6893761096..0000000000 --- a/erpnext/docs/user/manual/en/accounts/articles/recurring-order-and-invoices.html +++ /dev/null @@ -1,3 +0,0 @@ -

    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.



    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/recurring-order-and-invoices.md b/erpnext/docs/user/manual/en/accounts/articles/recurring-order-and-invoices.md new file mode 100644 index 0000000000..5db9940f83 --- /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. + +Recurring Invoice + +**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 0000000000..1129585cc5 --- /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` + +Project Default Cost Center + +#### 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. + +Project Default Cost Center + +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. + +Project Default Cost Center + +#### 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. + +Project Default Cost Center + +### 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** + +Project Default Cost Center + +**Overall Profitability** + +Project Default Cost Center + +#### 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). + + \ 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 106f38335e..0000000000 --- a/erpnext/docs/user/manual/en/accounts/articles/update-stock-option-in-sales-invoice.html +++ /dev/null @@ -1,3 +0,0 @@ -

    Update Stock Option in Sales Invoice

    - -The Update Stock check box is available in the Items section within Sales Invoice form.



    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/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 0000000000..5cc610482d --- /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 Update Stock check box is available in the Items section within Sales Invoice form. + + + +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 4962b826f8..d78715cba5 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 @@ -

    Updating Opening Balance in Accounts using Temporary Account

    +# 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 3d1c7db04f..0000000000 --- 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 @@ -

    Purchase Tax or Charges Categories

    - -Consider Tax or Charge field in Purchase Taxes and Charges master has three values.

      -
    1. Total
    2. -
    3. Valuation
    4. -
    5. Total and Valuation


    6. -
    -

    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 consumption tax, 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/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 0000000000..d4fd384d18 --- /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. +
      +
    1. Total
    2. +
    3. Valuation
    4. +
    5. Total and Valuation
    6. +
    + +
    + +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 + consumption tax, 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 860f6eb760..b18ec6c66e 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 @@ -

    WIthdrawing Salary from Owner's Equity Account

    +#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 a810705e38..6edbd720e3 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 @@ module-visibility 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 c14ef394c4..70303877fd 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 @@ -

    Managing Dynamic Link Fields

    +#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. -![Custom Link Field]({{docs_base_url}}/assets/img/articles/$SGrab_349.png) +Custom Link Field -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
    ------ Sales Order
    ------ Purchase Invoice
    ------ Quotation
    ------ Sales Invoice
    ------ Employee
    ------ Production Order
    -and so on, till all the forms/document of ERPNext is covered. +---- Sales Order
    +---- Purchase Invoice
    +---- Quotation
    +---- Sales Invoice
    +---- Employee
    +---- Production Order
    +.. 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. -![journal Voucher Link Field]({{docs_base_url}}/assets/img/articles/$SGrab_352.png) +journal Voucher Link Field -####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. -![Custom Dynamic Field]({{docs_base_url}}/assets/img/articles/$SGrab_350.png) +Custom Dynamic Field -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. -![Journal Voucher Dynamic Field ]({{docs_base_url}}/assets/img/articles/$SGrab_353.png) +Custom Dynamic Field -####Customizing options in the Doctype Link field +
    +**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.
    \ 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 837ca92d66..191ce8a830 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 @@ -

    Module Visibility

    +#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. -![All Applications]({{docs_base_url}}/assets/img/articles/$SGrab_223.png) +All Applications -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. -
    Setup >> Settings >> Show / Hide Modules
    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` -
    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.
    +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. \ 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 2fb27b65c3..2562740127 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 @@ -

    Perm Level Error in Permission Manager

    +#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 @@ Or - 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. \ 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 15059640a1..92b2f809a7 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 @@ -

    Search Record by Specific Field

    +#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. + +Search By in Customize Form + +#### Searching in Another Record. While creating transaction, to get filtered result for Customer, you should firstly click on search magnifier. -![Search for master]() +Search By in Customize Form \ 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 4b372c7660..ede54f24e9 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 @@ -

    Change the Language

    +#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 @@ Following are the steps to set language in your ERPNext account. Select Language +Select Language + #### 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 @@ Being a System Manager, you can set language in other user's master as well. Save System Settings, and refresh your EPRNext account. On refreshing, you should language in your ERPNext account changed as per your preference. +Select Language + 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). \ 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 2cc39e19d4..0000000000 --- a/erpnext/docs/user/manual/en/customize-erpnext/articles/set-precision-for-float-currency-and-percent-fields.md +++ /dev/null @@ -1,26 +0,0 @@ -

    Set Precision for Float, Currency and Percent fields

    - -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`. -![Global Precision]({{docs_base_url}}/assets/img/articles/precision-global.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. -![Field-wise Precision]({{docs_base_url}}/assets/img/articles/precision-fieldwise.png) - -**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. - - \ 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 0000000000..4ed070fcd7 --- /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`. + +Global Precision + +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. + +Field-wise Precision + + + \ 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 09f9cb1a5c..0000000000 --- a/erpnext/docs/user/manual/en/customize-erpnext/articles/user-restriction.html +++ /dev/null @@ -1,29 +0,0 @@ -

    Owner Restriction

    - -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 custom field and link it with User master. -
    -
    Following are the steps to restrict User based on Owner. -
    -
    Step 1: Go to: -
    -
    Setup > Permissions > Role Permissions Manager -
    -
    Step 2: 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. -
      -
    -
    Step 3: 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: -
    -
    - Select Document Type -
    - Select User Permissions -
    -
    Click on "Select Document Type". -
    -
    - -
    -
    Step 4: 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. -
    -
    -  -
    -
    When restricting User based on User master itself, then there is no need to create User Permission Setting.
    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 0000000000..75007e8841 --- /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. + +Sales Order + +#### Step 3: Apply User Permission + +For Role to be resricted (Sales User in this case), check "If Owner". + +S \ No newline at end of file diff --git a/erpnext/hooks.py b/erpnext/hooks.py index 8e6b2c6889..79a38cbb89 100644 --- a/erpnext/hooks.py +++ b/erpnext/hooks.py @@ -7,7 +7,7 @@ app_publisher = "Frappe Technologies Pvt. Ltd." 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 @@ web_include_css = "assets/erpnext/css/website.css" 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 dcb6eb3111..b4e19da0a0 100644 --- a/erpnext/setup/install.py +++ b/erpnext/setup/install.py @@ -17,6 +17,14 @@ def after_install(): 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 4d4cc6d144..9892e71eae 100644 --- a/erpnext/setup/setup_wizard/setup_wizard.py +++ b/erpnext/setup/setup_wizard/setup_wizard.py @@ -106,8 +106,23 @@ def create_fiscal_year_and_company(args): }).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 55295f4c02..2caade633c 100644 --- a/erpnext/stock/doctype/item/item.js +++ b/erpnext/stock/doctype/item/item.js @@ -236,7 +236,7 @@ $.extend(erpnext.item, { 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 @@ $.extend(erpnext.item, { 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 dfe17e89fc..6a3cf6fed1 100644 --- a/erpnext/stock/doctype/item/item.py +++ b/erpnext/stock/doctype/item/item.py @@ -30,9 +30,18 @@ class Item(WebsiteGenerator): 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 @@ class Item(WebsiteGenerator): 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 bd6fe285a1..f8b63936bd 100644 --- a/erpnext/stock/doctype/item/test_item.py +++ b/erpnext/stock/doctype/item/test_item.py @@ -107,6 +107,7 @@ class TestItem(unittest.TestCase): # 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 3b3fa7e404..d28e55587c 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(